Актерлік модельдеу: Қазіргі жүйелерді талдау және қажеттіліктерді анықтау
Actor modeling
Акторлық модельдеу – жүйе пайдаланушылары мен қажеттіліктерін анықтауға көмектесетін бағдарламалық модельдеу әдісі. Қазіргі күрделі жүйелер үшін тиімді!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік ғылымда актерлік модельдеу – бағдарламалық қамтамастың модельдеуінің бір түрі, ол бағдарламалық актерлерге назар аударады. Актерлік модельдеу ең көп талаптарды алдын ала модельдеу үшін қолданылады; осылайша жүйенің пайдаланушылары мен мүдделі тараптары кім екенін және олардың жүйеге қатысты қызығушылықтары мен қажеттіліктері қандай екенін түсінуге болады. Бүгінгі күнгі жүйелердің күрделілігінің артуы дәстүрлі, көбінесе механикалық тәсілге қарағанда осы көзқарасты қолдануды тиімді етеді. Пайдаланушылар мен олардың қажеттіліктерін ескере отырып, жүйенің қандай мақсатта жасалғанын ұғу оңайырақ. Бұл тәсіл сондай-ақ пайдаланушыларға жүйеге қойылатын талаптарды анықтауға көмектеседі. Актерлік модельдеу әдетте мақсаттар мен міндеттерді модельдеумен біріктіріледі, бұл пайдаланушының жағдайын жақсырақ түсінуге мүмкіндік береді. Актерлік модельдеуді қолдайтын түрлі модельдеу тілдері бар; мысалы, i* және EEML.
In computer science, Actor modeling is a form of software modeling which focuses on software actors. Actor modeling is most prominently used for the early modeling of requirements; through this it becomes possible to understand who the users and stakeholders of a system are and what their interests and needs are regarding that system. The increasing complexity of today's systems makes it more appropriate to take this approach, instead of a traditional, more mechanically focused approach. When thinking along the dimensions of users and their needs, it is easier to comprehend what the system is designed to accomplish. This approach furthermore helps the users to define the requirements for the system. The approach of actor modeling is normally combined with the modeling of goals and tasks to give a better understanding of the situation the user is in. There are different modeling languages that support actor modeling; examples include i* and EEML.
Рөлдер
Рольдер актердің жеке тұлғасын жасыратын бейнелеуге мүмкіндік береді. Рөлді модельдеуге және сол рөлді атқаратын актермен байланыстыруға болады. Егер рөлді атқарушы актер қандай да бір себеппен тоқтап қалса, оны сол сәттен бастап басқа актер оңай алмастыра алады; бұл уақытша немесе ұзақ мерзімді ауыстыру болуы мүмкін. Сонымен қатар, бұрыннан бар актерге жаңа және/немесе басқа рөлдерді тағайындауға болады. Бұл модельдің өзін өзгерту қажеттілігін жояды; актерлер мен рөлдер арасындағы байланыстарды жаңартса жеткілікті.
Roles allow an impersonalized representation of an actor. It is possible to model a role and connect that role to the actor that is filling that role. If the actor that fills the role stops to do so for whatever reason, it can be easily replaced by another actor that from that point on fills the role; this can be as a temporary replacement or as a long term arrangement. It is furthermore possible to assign new and/or different roles to an already existing actor. The advantage of this is that the model itself doesn't need to be changed; only the connections between the actors and the roles need to be redone.
Актерлік модельдің шектеулі жақтары
Актерлерді пайдалану жарыс жағдайларының механизмдерін азайтады, бірақ оларды толығымен жоймайды. Егер актер объектілерімен өңделiнетiн хабарлар немесе негізгі логика өзгертілетін ортақ объектілерді қамтитын болса, деректер жарысы жағдайлары пайда болуы мүмкін. Нағыз бір уақытта жұмыс істейтін дерек құрылымдарын іске асыру оңай емес. Актерлік модель осы мәселелердің кейбіреулерін жақсартады, бірақ барлық проблемаларды шешпейді. Көптеген жағдайларда тұйыққа тірелу мүмкіндігі бар. Актерлік модель актерге хабар жіберуді іске асырады, бірақ сұрау жіберу және нақты статус немесе сұрауға жауап алуды жеңілдетпейді. Синхронды жауаптар үшін қандай да бір тоқтату логикасы қажет. Осы мүмкіндікті қамтамасыз ететін объектілер туралы ақпарат алу үшін "futures" (болашақ) қараңыз.
Use of actors reduces mechanisms for race conditions but does not eliminate them. Data race conditions are possible if the messages or underlying logic touched by the actor objects includes mutable shared objects. Implementation of truly concurrent data structures is non trivial. The actor model improves on some of these issues, but does not solve all of the problems. Deadlocks are possible under a number of situations. The Actor model implements message passing in the direction of the actor, but does not facilitate sending a request and receiving a specific status or a reply to a request. Synchronous replies require some sort of blocking logic. For information on objects which can provide this behavior, look at "futures".