Aktyor modeli va jarayon hisob-kitoblari tarixi - Actor model and process calculi history

The Aktyor modeli va jarayon toshlari qiziqarli baham ko'ring tarix va birgalikda rivojlanish.

Erta ish

Birinchi marta 1973 yilda nashr etilgan aktyor modeli,[1] ning matematik modeli bir vaqtda hisoblash. Aktyor modeli "Aktyorlar" ga bir vaqtning o'zida raqamli hisoblashning universal ibtidosi sifatida qaraydi: u olgan xabarga javoban, aktyor mahalliy qarorlar qabul qilishi, ko'proq aktyorlar yaratishi, ko'proq xabarlarni yuborishi va keyingi xabarga qanday javob berishni belgilashi mumkin. .

Keyingi jarayonlarni tuzishga asoslangan avvalgi yondashuvdan farqli o'laroq, Actor modeli o'ziga xos parallel model sifatida ishlab chiqilgan. Aktyor modelida ketma-ketlik tushuntirilganidek bir vaqtda hisoblashdan kelib chiqadigan maxsus holat edi Aktyor modeli nazariyasi.

Robin Milner O'sha yildan boshlab paralellik bo'yicha dastlabki nashr etilgan asar[2] Shuningdek, u muloqot jarayonlarining matematik semantikasini turli xil ta'sir qiluvchi vositalarni, shu jumladan kompyuterning xotira bilan o'zaro ta'sirini tushunish uchun asos sifatida joylashtirganligi bilan ajralib turardi. Modellashtirish doirasi Skott domenlari modeliga asoslangan edi va ketma-ket jarayonlarga asoslanmagan edi. Uning faoliyati aktyor modelidan quyidagi jihatlari bilan ajralib turardi:

  • Aktyor modelidan farqli o'laroq, belgilangan sonli jarayonlar mavjud bo'lib, ular aktyorlar sonini dinamik ravishda o'zgartirishga imkon beradi
  • Xabarlarda uzatilishi mumkin bo'lgan yagona miqdor - bu aktyorlarning manzillarini xabarlarda o'tkazishga imkon beruvchi Actor modelidan farqli o'laroq butun sonlar va satrlar.
  • Jarayonlar o'zgaruvchan topologiyaga imkon beradigan Actor modelidan farqli ravishda aniq topologiyaga ega
  • Aloqa aktyor modelidan farqli o'laroq sinxron bo'lib, unda xabar yuborish va qabul qilish o'rtasida cheksiz vaqt o'tishi mumkin.
  • Semantika cheksiz nondeterminizmga ega bo'lgan aktyor modelidan farqli o'laroq cheklangan nondeterminizmni ta'minladi. Shu bilan birga, cheklangan nondeterminizm bilan server o'z mijozlariga xizmatni kafolatlashi mumkin emas, ya'ni, mijoz mumkin ochlik.

Keyinchalik Milner ushbu cheklovlarning ba'zilarini o'z ishida olib tashladi Pi hisoblash (bo'limga qarang Milner va boshq. quyida).

1978 yilda Toni Xoare tomonidan nashr etilgan asl nusxa Ketma-ket jarayonlar haqida ma'lumot berish aktyor modelidan farq qiladi:[3]

Ushbu maqolada kirish va chiqish dasturlashning asosiy ibtidosi ekanligi va ketma-ket jarayonlar bilan aloqa qilishning parallel tarkibi asosiy dasturni tuzish usuli ekanligi ta'kidlangan. Dijkstra-ning qo'riqlanadigan buyrug'ini ishlab chiqish bilan birlashganda, bu tushunchalar juda ko'p qirrali. Ulardan foydalanish turli xil tanish dasturlash mashqlarining namunaviy echimlari bilan tasvirlangan.
...
Tavsiya etilgan tilda ifoda etilgan dasturlar bitta asosiy do'konga ega an'anaviy mashina tomonidan ham, kirish / chiqish kanallari bilan bog'langan sobit protsessorlar tarmog'i tomonidan amalga oshirilishi mumkin (garchi har xil holatlarda juda xilma-xil optimallashtirish o'rinli bo'lsa ham). Binobarin, bu ancha statik tildir: dastur matni bir vaqtning o'zida ishlaydigan jarayonlar sonining yuqori chegarasini belgilaydi; rekursiya mavjud emas va jarayonni baholaydigan o'zgaruvchilar uchun imkoniyat yo'q. Boshqa jihatlarga ko'ra, til yanada yangi xususiyatlarini tushuntirish uchun zarur bo'lgan eng past darajaga tushirildi.
...
Ushbu maqolada kirish, chiqish va bir-biriga o'xshashlikni ko'plab tanish va unchalik tanish bo'lmagan dasturlash kontseptsiyalarining asosini tashkil etadigan dasturlashning ibtidoiy jihatlari deb hisoblash kerakligi aytilgan. Biroq, ushbu ibtidoiy dasturlash tilidagi boshqa tushunchalarni to'liq o'rnini bosishi mumkin degan xulosaga kelish asossiz bo'lar edi. Agar ko'proq ishlab chiqilgan qurilish (masalan, protsedura yoki monitor) tez-tez foydalansa, oddiyroq isbotlanadigan xususiyatlarga ega bo'lsa va shuningdek, umumiy holatga qaraganda samaraliroq amalga oshirilsa, dasturlash tiliga kiritish uchun kuchli sabab bor ushbu qurilish uchun maxsus yozuv. Qurilishni oddiyroq primitivlar nuqtai nazaridan aniqlash mumkinligi, uning kiritilishining foydali kafolati hisoblanadi mantiqan izchil tilning qolgan qismi bilan.

1978 yilgi CSP versiyasi Actor modelidan quyidagi jihatlari bilan ajralib turardi [Clinger 1981]:

  • CSP-ning bir-biriga mos keladigan primitivlari kirish, chiqish, qo'riqlanadigan buyruqlar va parallel tarkib edi aktyor modeli esa asenkron bir tomonlama xabarlarga asoslangan.
  • Ijro etishning asosiy birligi ketma-ket jarayon edi ijro etilishi asosan bir vaqtda bo'lgan aktyor modelidan farqli o'laroq. Ketma-ket bajarish muammoli, chunki ko'p protsessorli kompyuterlar o'zaro bir vaqtda.
  • Jarayonlar aniq aloqa topologiyasiga ega edi aktyorlar esa dinamik ravishda o'zgarib turadigan aloqa topologiyasiga ega edilar. Ruxsat etilgan topologiyaga ega bo'lish muammoli, chunki u o'zgaruvchan sharoitlarga dinamik moslashish imkoniyatini istisno qiladi.
  • Jarayonlar parallel kompozitsiya yordamida ierarxik tarzda tuzilgan aktyorlar yordamida ierarxik bo'lmagan ijroni yaratishga ruxsat berishdi fyucherslar [Beyker va Xyuitt 1977]. Ierarxik parallel kompozitsiya muammoli, chunki u yaratuvchisidan uzoqroq bo'lgan jarayonni yaratish imkoniyatini istisno qiladi. Shuningdek, xabarni uzatish Actor modelida parallellik hosil qilishning asosiy mexanizmi hisoblanadi; ko'proq xabar yuborish ko'proq parallellik imkoniyatini yaratadi.
  • Aloqa sinxron edi aktyor bilan aloqa esa asenkron edi. Sinxron aloqa muammoli, chunki o'zaro ta'sir qiluvchi jarayonlar bir-biridan uzoqlashishi mumkin.
  • Aloqa jarayonlar o'rtasida bo'lgan Holbuki, aktyor modelida aloqa aktyorlar uchun bir yo'ldir. Jarayonlar orasidagi sinxron aloqa muammoli bo'lib, jarayonni bir nechta jarayonlarni kutishini talab qiladi.
  • Ma'lumotlar tuzilmalari raqamlar, qatorlar va massivlardan iborat edi aktyor modelida esa ma'lumotlar tuzilmalari aktyorlar bo'lgan. Ma'lumotlar tuzilmalarini raqamlar, satrlar va massivlar bilan cheklash muammoli, chunki u programlanadigan ma'lumotlar tuzilmalarini taqiqlaydi.
  • Xabarlarda raqamlar va satrlar mavjud aktyor modelidagi xabarlarda aktyorlarning manzillari bo'lishi mumkin. Xatlardagi manzillarga yo'l qo'ymaslik muammoli, chunki u aloqada moslashuvchanlikni istisno qiladi, chunki boshqa jarayonni allaqachon ma'lum bo'lgan jarayon bilan aloqa qilish qobiliyati bilan ta'minlashning imkoni yo'q.
  • CSP modeli ataylab cheklangan nondeterminizmga ega edi [Francez, Hoare, Lehmann va de Roever 1979], aktyor modelida esa cheksiz nondeterminizm. Dijkstra [1976] Hoare-ni cheksiz nondeterminizmga ega dasturlash tilini amalga oshirib bo'lmasligiga ishontirgan edi. Binobarin, CSP-dan foydalangan holda serverlar bir nechta mijozlarga xizmat ko'rsatishini kafolatlashning imkoni bo'lmadi.

Jarayon kalkuli va aktyor modeli

Milner, va boshq.

Turing ma'ruzasida,[4] Milner quyidagicha ta'kidladi:

Endi sof lambda-kalkulyus faqat ikkita turdagi narsalar bilan qurilgan: shartlar va o'zgaruvchilar. Jarayonni hisoblash uchun biz bir xil iqtisodga erisha olamizmi? Karl Xevitt o'zining aktyorlari modeli bilan bu muammoga ancha oldin javob berdi; u qiymat, qiymatlar bo'yicha operator va jarayon bir xil turdagi bo'lishi kerakligini e'lon qildi: an Aktyor. Bu maqsad meni hayratga soldi, chunki bu ifoda bir hilligi va to'liqligini anglatadi ... Ammo algebraik hisob-kitob nuqtai nazaridan maqsadga qanday erishishni bilib olishimdan ancha oldin edi ... Shunday qilib, Xyuitt ruhida bizning birinchi qadamimiz atamalar bilan belgilanadigan yoki ularga nomlar bilan kiradigan barcha narsalar - qiymatlar, registrlar, operatorlar, jarayonlar, ob'ektlar - barchasi bir xil narsalardan iborat bo'lishini talab qilishdir; ular kerak barchasi jarayonlar bo'lish. Keyinchalik biz kirish nomini hisoblashning xomashyosi deb bilamiz ...

2003 yilda Ken Kan xabarida esladi Pi hisoblash:

Pi hisoblash sinxron (qo'l silkitib) muloqotga asoslangan. Taxminan 25 yil oldin men Karl Xyuitt va Robin Milner bilan (CCS va pi calculus shuhrati) kechki ovqatga bordim va ular sinxron va asenkron aloqa ibtidoiylari haqida bahslashishdi. Karl pochta aloqasi metaforasidan, Robin esa telefondan foydalangan. Ikkalasi ham birini ikkinchisini amalga oshirishi mumkinligini tezda tan oldi.

Hoare, va boshq.

Toni Xare, Stiven Bruklar va A. W. Roscoe ishlab chiqilgan va takomillashtirilgan nazariya zamonaviy shaklda CSP-ni yaratish.[5] CSPning nazariy versiyasini ishlab chiqishda yondashuv katta ta'sir ko'rsatdi Robin Milner ustida ishlash Aloqa tizimlarining hisob-kitobi (CCS) va aksincha. O'tgan yillar davomida CSP va CCS ustida ishlaydigan tadqiqotchilar o'rtasida ko'plab samarali fikr almashinuvlari bo'lib o'tdi.

Xevitt, va boshq.

Uill Klinger [1981] bir vaqtning o'zida hisoblash uchun birinchi denotatsion aktyor modelini ishlab chiqdi cheksiz nondeterminizm. Bill Kornfeld va Carl Hewitt [1981] aktyor modeli keng miqyosdagi o'zaro bog'liqlikni qamrab olishi mumkinligini ko'rsatdilar. Og'a aktyorlarni bir vaqtda hisoblashning asosiy modeli sifatida ishlab chiqdi. Uning aktyor mavhumligi va kompozitsiyasini aks ettirish va an operatsion semantika Asenkron aloqa daraxtlariga asoslangan aktyorlar uchun Milnerning ishi aniq ta'sir ko'rsatdi Aloqa tizimlarining hisob-kitobi (CCS).[6] shuningdek, Clingerning ishi.

Keyingi birgalikdagi evolyutsiya

The b-hisob Yuqorida Milner ta'riflaganidek, qisman aktyor modelidan ilhomlanib, jarayonlarning dinamik yaratilishiga va turli xil jarayonlar orasida nomlarning o'tishiga imkon berib, jarayon hisob-kitoblariga dinamik topologiyani kiritdi. Biroq, Milner va Xoarelarning algebraik hisob-kitoblarga erishishdan maqsadlari Actor modelidan juda muhim farqni keltirib chiqardi: jarayon hisob-kitoblarida aloqa aktyor modelidagi kabi to'g'ridan-to'g'ri emas, balki bilvosita kanallar (qarang Aktyor modeli va jarayon hisob-kitoblari ). Aksincha, aktyor modeli [Hewitt 2006, 2007a] ustida olib borilgan so'nggi ishda denotatsion modellar va Vakillik teoremasi.

Shunga qaramay, Aktyor modeli va Process Calculi o'rtasida qiziqarli qo'shma evolyutsiyalar mavjud. Montanari va Talkott[7] aktyor modeli va b-hisob bir-biriga mos keladimi-yo'qligini muhokama qildi. Sangiorgi va Uoker[iqtibos kerak ] aktyor boshqaruv tuzilmalarini xabarlarni uzatish naqshlari sifatida ko'rib chiqish bo'yicha qanday ishlashini ko'rsatdi[8] π-hisob yordamida modellashtirish mumkin.

Aktyor modeli uchun algebraik qonunlar ishlab chiqilgan bo'lsa-da, ular Serializatorlarga yuborilgan xabarlarni kafolatli etkazib berishning hal qiluvchi xususiyatlarini o'z ichiga olmaydi. Masalan, quyidagilarga qarang:

Shuningdek qarang

Adabiyotlar

  1. ^ Karl Xevitt, Piter Bishop va Richard Shtayger. Sun'iy aql uchun universal modulli aktyor formalizmi IJCAI 1973 yil.
  2. ^ Robin Milner. Jarayonlar: hisoblash agentlarining matematik modeli Logic Colloquium 1973 yilda.
  3. ^ C.A.R. Hoare. Ketma-ket jarayonlar haqida ma'lumot berish CACM. 1978 yil avgust.
  4. ^ Robin Milner: O'zaro ta'sir elementlari: Turing mukofoti ma'ruzasi, ACM aloqalari, vol. 36, yo'q. 1, 78-89-bet, 1993 yil yanvar. (DOI ).
  5. ^ S.D. Bruks, C.A.R. Xare va V.Rosko. Ketma-ket jarayonlarni etkazish nazariyasi JACM 1984 yil.
  6. ^ Gul Og'a (1986). "Aktyorlar: tarqatilgan tizimlarda bir vaqtda hisoblash modeli". Doktorlik dissertatsiyasi. MIT Press. hdl:1721.1/6952. Iqtibos jurnali talab qiladi | jurnal = (Yordam bering)
  7. ^ Ugo Montanari va Kerolin Talkott. Aktyorlar va Pi-agentlar birgalikda yashay oladimi? Nazariy kompyuter fanidagi elektron yozuvlar. 1998 yil.
  8. ^ Karl Xewitt. Xabarlarni uzatish namunasi sifatida boshqaruv tuzilmalarini ko'rish Sun'iy aql jurnali. 1977 yil iyun.
  9. ^ Mauro Gaspari; Janluiji Zavattaro (1997 yil may). "Aktyorlar algebrasi". UBLCS-97-4 texnik hisoboti. Boloniya universiteti. Iqtibos jurnali talab qiladi | jurnal = (Yordam bering)
  10. ^ M. Gaspari; G. Zavattaro (1999). "Aktyorlar algebrasi". Ochiq ob'ektlarga asoslangan tizimlar uchun rasmiy usullar. Iqtibos jurnali talab qiladi | jurnal = (Yordam bering)
  11. ^ Gul Og'a; Prasanna Tati (2004). "Aktyorlarning algebraik nazariyasi va uni oddiy ob'ektga asoslangan tilda qo'llash" (PDF). OO dan FM (Dahl Festschrift) LNCS 2635. Arxivlangan asl nusxasi (PDF) 2004-04-20. Olingan 2008-01-15. Iqtibos jurnali talab qiladi | jurnal = (Yordam bering)

Qo'shimcha o'qish

  • Edsger Dijkstra. Dasturlash intizomi Prentice Hall. 1976.
  • Karl Xevitt, va boshq. Aktyor induksiyasi va meta-baholash Dasturlash tillari asoslari bo'yicha ACM simpoziumining konferentsiya yozuvlari, 1974 yil yanvar.
  • Karl Xevitt, va boshq. Notekursiv boshqaruv strukturasining xulq-atvori semantikasi Colloque sur la Programming materiallari, 1974 yil aprel.
  • Irene Greif va Carl Hewitt. PLANNER-73 aktyorining semantikasi Dasturlash tillari printsiplariga bag'ishlangan ACM simpoziumining konferentsiya yozuvlari. 1975 yil yanvar.
  • Irene Greif. Parallel jarayonlar bilan aloqa qilish semantikasi MIT EECS doktorlik dissertatsiyasi. 1975 yil avgust.
  • Karl Xevitt va Genri Beyker Aktyorlar va doimiy funktsiyalar Dasturlash kontseptsiyalarining rasmiy tavsifi bo'yicha IFIP ishchi konferentsiyasi. 1977 yil 1-5 avgust.
  • Karl Xevitt va Genri Beyker Parallel jarayonlarni aloqa qilish qonunlari IFIP-77, 1977 yil avgust.
  • Genri Beyker va Karl Xevitt Jarayonlarni ko'paytiradigan axlat yig'ish Sun'iy intellektni dasturlash tillari bo'yicha simpozium materiallari to'plami. SIGPLAN xabarnomalari 1977 yil 12-avgust.
  • Aki Yonezava Xabarlarni uzatish semantikasi asosida parallel dasturlar uchun spetsifikatsiya va tasdiqlash usullari MIT EECS doktorlik dissertatsiyasi. 1977 yil dekabr.
  • Genri Beyker. Haqiqiy vaqtda hisoblash uchun aktyor tizimlari MIT EECS doktorlik dissertatsiyasi. 1978 yil yanvar.
  • Jorj Milne va Robin Milner. Bir vaqtda olib boriladigan jarayonlar va ularning sintaksisi JACM. 1979 yil aprel.
  • Nissim Fransz, C.A.R. Hoare, Daniel Lehmann va Willem de Roever. Nondetermizm, birdamlik va aloqa semantikasi Kompyuter va tizim fanlari jurnali. 1979 yil dekabr.
  • Nensi Linch va Maykl Fisher. Tarqatilgan tizimlarning xatti-harakatlarini tavsiflash to'g'risida Bir vaqtda hisoblash semantikasida. Springer-Verlag. 1979 yil.
  • Will Clinger. Aktyor semantikasining asoslari MIT matematikasi doktorlik dissertatsiyasi. 1981 yil iyun.
  • J.A. Bergstra va J.W. Klop. Sinxron aloqa uchun jarayon algebra Axborot va boshqarish. 1984 yil.
  • Eike Best. Bir vaqtda o'zini tutish: ketma-ketliklar, jarayonlar va aksiomalar Kompyuter fanidan ma'ruza yozuvlari.197 1984 yil.
  • Luka Kardelli. Uchrashuv aloqasini amalga oshirish modeli Hamjihatlik bo'yicha seminar. Kompyuter fanidan ma'ruza matnlari 197. Springer-Verlag. 1985 yil
  • Robin Milner, Yoaxim Parrou va Devid Uoker. Mobil jarayonlarning hisob-kitobi Kompyuter fanlari bo'limi Edinburg. ECS-LFCS-89-85 va ECS-LFCS-89-86 hisobotlari. Iyun 1989. mos ravishda 1990 yil sentyabr va 1990 yil oktyabrda qayta ko'rib chiqilgan.
  • Robin Milner. Polyadic pi-Calculus: O'quv qo'llanma Edinburg universiteti. LFCS hisoboti ECS-LFCS-91-180. 1991 yil.
  • Kohei Honda va Mario Tokoro. Asenkron aloqa uchun ob'ekt hisobi ECOOP 91.
  • Benjamin Pirs, Didye Remi va Devid Tyorner. Pi-hisoblash asosida yozilgan yuqori darajadagi dasturlash tili Nazariya turi va uni kompyuter tizimlarida qo'llash bo'yicha seminar. Kioto universiteti. 1993 yil iyul.
  • Cédric Fournet va Jorj Gontye. Refleksli kimyoviy abstrakt mashina va qo'shilish hisobi POPL 1996 yil.
  • Sedrik Furnet, Jorj Gontye, Jan-Jak Levi, Lyuk Maranget va Didye Remi. Mobil agentlarning hisob-kitobi CONCUR 1996 yil.
  • Jerar Boudol. To'g'ridan-to'g'ri uslubdagi pi-hisob POPL 1997 yil
  • Tatsurou Sekiguchi va Akinori Yonezava. Kodning harakatchanligi bilan hisoblash FMOODS 1997 yil.
  • Luka Kardelli va Endryu D. Gordon. Mobil vositalar Dasturiy ta'minot asoslari va hisoblash tuzilmalari, Moris Nivat (Ed.), Informatika bo'yicha ma'ruza yozuvlari, jild. 1378, Springer, 1998 yil.
  • Robin Milner. Aloqa va mobil tizimlar: Pi-Calculus Kembrij universiteti matbuoti. 1999 yil.
  • J. C. M. Baeten. Jarayon algebrasining qisqacha tarixi Nazariy kompyuter fanlari. 2005. (havola 2015_26_5_0004 holatida amal qiladi)
  • J.C.M. Baeten, T. Basten va M.A. Reniers. Aloqa jarayonlari algebrasi Kembrij universiteti matbuoti. 2005 yil.
  • U Jifeng va C.A.R. Hoare. Muvofiqlik nazariyalarini bog'lash Birlashgan Millatlar Universiteti Xalqaro dasturiy ta'minot texnologiyalari instituti UNU-IIST Hisobot № 328. 2005 yil iyul.
  • Luka Aseto va Endryu D. Gordon (muharrirlar). Algebraik jarayon hisob-kitoblari: dastlabki yigirma besh yil va undan keyingi davr Algebra jarayoni. Bertinoro, Forl`i, Italiya, 2005 yil 1-5 avgust.
  • Karl Xewitt. Majburiyat nima? Jismoniy, tashkiliy va ijtimoiy Tangalar @ AAMAS. 2006 yil 27 aprel.
  • Karl Xevitt (2007a) Majburiyat nima? Jismoniy, tashkiliy va ijtimoiy (qayta ko'rib chiqilgan) Pablo Noriega .va boshqalar. muharrirlar. LNAI 4386. Springer-Verlag. 2007 yil.
  • Carl Hewitt (2007b) Keng miqyosdagi tashkiliy hisoblashlar uchun tabaqalanmagan parakonsistentsiya va aks ettirish kerak Tangalar @ AAMAS'07.