Кіріспе

Компьютерлік ғылымда Актер моделі мен процесс калькулдары – бір мезгілдегі цифрлық есептеулерді модельдеуге арналған екі тығыз байланысты тәсіл. Актер моделі және процесс калькулдары тарихына көз жүгіртіңіз. Екі тәсілдің арасында көптеген ұқсастықтар бар, бірақ сонымен қатар бірнеше айырмашылықтар бар (кейде философиялық, кейде техникалық): Бар болғаны бір ғана Актер моделі бар (дегенмен, оның дизайн, талдау, тексеру, модельдеу және т.б. үшін көптеген формалды жүйелері бар); әр түрлі деңгейдегі әр түрлі қатарлы жүйелерді талдау үшін әзірленген көптеген процесс калькулдары бар (оның ішінде уақытты, стохастикалық өтулерді немесе қауіпсіздік талдауы сияқты салаларға тән конструкцияларды қамтитын калькулдар бар). Актер моделі физика заңдарынан шабыттанды және оның негізгі аксиомалары үшін оларға сүйенеді, яғни физикалық заңдарға (Актер моделі теориясын қараңыз); ал процесс калькулдары бастапқыда алгебрадан шабыттанды. Процесс калькулдарындағы процестер анонимді болып табылады және атаулы арналар (синхронды немесе асинхронды) арқылы немесе амбиенттер арқылы (олар да арналар сияқты байланысты модельдеу үшін қолданылуы мүмкін) хабарларды жіберу арқылы байланысады. Керісінше, Актер моделіндегі актерлер өзіндік сәйкестікке ие және басқа актерлердің пошталық мекенжайларына хабарламалар жіберу арқылы байланысады (осы байланыс стилі арналар сияқты байланысты модельдеу үшін де қолданылуы мүмкін). Актер моделі және процесс калькулдары туралы жарияланымдарда көптеген сілтемелер, алғы сөздер және өзара сілтемелер кездеседі (Актер моделі және процесс калькулдары тарихына көз жүгіртіңіз).

Қаналдар қалай жұмыс істейді

Каналдар арқылы жанама байланыс (мысалы, Гилл Кан және Дэвид Маккуин [1977]) қатар және бірдей орындалатын есептеулердегі коммуникация үшін маңызды мәселе болып табылады, бұл семантика мен өнімділікке әсер етеді. Кейбір процесс есептеулері тікелей коммуникацияға қарағанда арналарды пайдалану арқылы Актерлік модельден өзгешеленеді.

Синхронды арналар

Синхронды арналардың ерекшелігі – хабарды арнаға салған жіберуші, хабарды алушы алып шыққанша күтіп отыруы керек, содан ғана жіберуші өз жұмысын жалғастыра алады.

Қарапайым синхронды арналар

Синхронды арнаны хабар алмасатын және алатын Актер модельдей алады. Қарапайым синхронды арна үшін Актердің мінез-құлқы төмендегідей: Әрбір put хабарына хабарлама және хабарлама FIFO тәртібімен арнадан get хабары арқылы алынғанда, растама жіберілетін мекенжай қоса беріледі. Әрбір get хабарына алынған хабарлама жіберілетін мекенжай болады.

Тиімділік

Knabe [1992] көрсеткендей, жоғарыдағы протоколдың (Жай таратылған протокол) бір мәселесі – синхронды арна арқылы хабар жіберу үшін қол алысу процедурасын жүзеге асыру үшін қажетті көптеген хабар алмасулар. Шындығында, бұрынғы бөлімде (Livelock) көрсетілгендей, хабар алмасулар саны шексіз болуы мүмкін.

Асинхронды арналар

Асинхронды арналардың ерекшелігі, хабарды арнаға жіберген жіберуші, оны алушы алғанша күтуі міндетті емес.

Қарапайым асинхронды арналар

Асинхронды арна put және get хабарларын қабылдайтын Actor арқылы модельделуі мүмкін. Қарапайым асинхронды арна үшін Актердің әрекеті төмендегідей: Әрбір put хабарламасы бір хабарламаны және дереу растау жіберілетін мекенжайды қамтиды (хабарлама get хабарламасымен алынғанша күтілмейді). Әрбір get хабарламасы алынған хабарлама жіберілетін мекенжайды қамтиды.

Процесс есептеулеріндегі асинхронды арналар

Join calculus бағдарламалау тілі (1996 жылы жарық көрді) жергілікті және таратылған параллель есептеулерді іске асырды. Ол асинхронды арналарды, сондай-ақ процедура шақырулары үшін қолданылатын синхронды арнаны қамтыды. Ағаның Aπ Актерлік есептеуі асинхронды π есептеуінің типтелген түріне негізделген.

Алгебралар

Алгебралық техникаларды қолдану процестік есептеулерде алғаш рет қолданылды. Кейіннен, акторлық жүйелер туралы алгебралық қорытуды қамтамасыз ету мақсатымен бірнеше түрлі процестік есептеулер әзірленді.

Денотациялық семантика

Уилл Клингер (Ирен Грейфтің [1975], Гордон Плоткиннің [1976], Генри Бейкердің [1978], Майкл Смиттің [1978], және Франц, Хоар, Леман, де Ровердің [1979] жұмыстарына сүйене отырып) 1981 жылы өзінің диссертациясында Актер моделінің алғашқы қанағаттанарлық математикалық денотациялық теориясын жариялады. Оның семантикасы Актер моделінің шексіз нондертиминизмін CSP [Hoare 1978] және бір мезгілде орындалатын процестер [Milne and Milner 1979] модельдерінің шектелген нондертиминизмімен салыстырды (денотациялық семантикаға қараңыз). Роскоо [2005] Communicating Sequential Processes Hoare [1985] моделінің кейінгі нұсқасы үшін шексіз нондертиминизмді қолданатын денотациялық семантиканы әзірледі. Соңғы кезде Карл Хьюит [2006b] уақыт диаграммаларына негізделген Актерлерге арналған денотациялық семантиканы жасады. Уго Монтанари мен Кэролин Талкотт [1998] Актерлерді процесс калькулустарымен үйлестіруге тырысты.