Кіріспе

Компьютерлік ғылымда актерлік модельдеу – бағдарламалық қамтамастың модельдеуінің бір түрі, ол бағдарламалық актерлерге назар аударады. Актерлік модельдеу ең көп талаптарды алдын ала модельдеу үшін қолданылады; осылайша жүйенің пайдаланушылары мен мүдделі тараптары кім екенін және олардың жүйеге қатысты қызығушылықтары мен қажеттіліктері қандай екенін түсінуге болады. Бүгінгі күнгі жүйелердің күрделілігінің артуы дәстүрлі, көбінесе механикалық тәсілге қарағанда осы көзқарасты қолдануды тиімді етеді. Пайдаланушылар мен олардың қажеттіліктерін ескере отырып, жүйенің қандай мақсатта жасалғанын ұғу оңайырақ. Бұл тәсіл сондай-ақ пайдаланушыларға жүйеге қойылатын талаптарды анықтауға көмектеседі. Актерлік модельдеу әдетте мақсаттар мен міндеттерді модельдеумен біріктіріледі, бұл пайдаланушының жағдайын жақсырақ түсінуге мүмкіндік береді. Актерлік модельдеуді қолдайтын түрлі модельдеу тілдері бар; мысалы, i* және EEML.

Рөлдер

Рольдер актердің жеке тұлғасын жасыратын бейнелеуге мүмкіндік береді. Рөлді модельдеуге және сол рөлді атқаратын актермен байланыстыруға болады. Егер рөлді атқарушы актер қандай да бір себеппен тоқтап қалса, оны сол сәттен бастап басқа актер оңай алмастыра алады; бұл уақытша немесе ұзақ мерзімді ауыстыру болуы мүмкін. Сонымен қатар, бұрыннан бар актерге жаңа және/немесе басқа рөлдерді тағайындауға болады. Бұл модельдің өзін өзгерту қажеттілігін жояды; актерлер мен рөлдер арасындағы байланыстарды жаңартса жеткілікті.

Актерлік модельдің шектеулі жақтары

Актерлерді пайдалану жарыс жағдайларының механизмдерін азайтады, бірақ оларды толығымен жоймайды. Егер актер объектілерімен өңделiнетiн хабарлар немесе негізгі логика өзгертілетін ортақ объектілерді қамтитын болса, деректер жарысы жағдайлары пайда болуы мүмкін. Нағыз бір уақытта жұмыс істейтін дерек құрылымдарын іске асыру оңай емес. Актерлік модель осы мәселелердің кейбіреулерін жақсартады, бірақ барлық проблемаларды шешпейді. Көптеген жағдайларда тұйыққа тірелу мүмкіндігі бар. Актерлік модель актерге хабар жіберуді іске асырады, бірақ сұрау жіберу және нақты статус немесе сұрауға жауап алуды жеңілдетпейді. Синхронды жауаптар үшін қандай да бір тоқтату логикасы қажет. Осы мүмкіндікті қамтамасыз ететін объектілер туралы ақпарат алу үшін "futures" (болашақ) қараңыз.