Aktyorlarni modellashtirish - Actor modeling

Informatika fanida, Aktyorlarni modellashtirish shaklidir dasturiy ta'minotni modellashtirish qaysi yo'naltirilgan dasturiy ta'minot aktyorlari. Aktyorlarni modellashtirish talablarning dastlabki modellashtirishda eng ko'zga ko'ringan; bu orqali foydalanuvchilar va kim kimligini tushunish mumkin bo'ladi manfaatdor tomonlar tizimning manfaatlari va ehtiyojlari bunga bog'liq tizim. Bugungi tizimlarning tobora murakkablashib borishi an'anaviy, ko'proq mexanik yo'naltirilgan yondashuv o'rniga, ushbu yondashuvni qo'llashni maqsadga muvofiqdir. Foydalanuvchilarning o'lchamlari va ularning ehtiyojlari bo'yicha fikr yuritganda, tizim nimani amalga oshirishga mo'ljallanganligini tushunish osonroq. Ushbu yondashuv, shuningdek, foydalanuvchilarga tizimga qo'yiladigan talablarni aniqlashga yordam beradi, aktyor modellashtirish yondashuvi odatda foydalanuvchi qanday vaziyatda ekanligini yaxshiroq tushunish uchun maqsad va vazifalarni modellashtirish bilan birlashtiriladi. modellashtirish tillari aktyor modellashtirishni qo'llab-quvvatlovchi; misollar kiradi men * va EEML.

Aktyor

Aktyor modellashtirishning markaziy sub'ekti - aktyorning o'zi - harakat (lar) ni amalga oshiruvchi har qanday shaxs bo'lishi mumkin. Masalan, shaxs, bo'lim yoki tashkilot bo'lishi mumkin. Aktyor modellashtirishning maqsadi aktyorni yaxshiroq tushunishdir. Buning uchun aktyorni, uning kimligini va nima uchun u nima bilan shug'ullanishini tushunish muhimdir, aktyorda uni belgilaydigan atributlar mavjud:

  • Aktyorning maqsadi, mahorati va mas'uliyati bor.
  • Aktyor vazifalarni ma'lum maqsadni ko'zlagan holda bajaradi.
  • Aktyor boshqa aktyorlarga, manbalarga yoki vazifalarga bog'liq.

Actor kontseptsiyasi dastlab tarmoqdagi bir nechta mustaqil protsessorlar platformasida ishlab chiqilgan. Multiprotsessorli mashinada amalga oshirish bir qator asosiy parallel funktsiyalarni, shu jumladan parallel sinxronizatsiya va xabarlarni ketma-ket qayta ishlashni inkassatsiya qilishni ta'minlaydi, bu esa yuqori darajadagi bir vaqtning o'zida funktsiyalarga imkon beradi, masalan, vilkalar / qo'shilish, async / kutish, quvurlarni qayta ishlash va boshqalar. Aktyor kodi vklyuchatel va sinxronizatsiya boshqaruvini o'z ichiga oladi, shunda undan olingan sinf past darajadagi sanitariya-tesisat detallarini amalga oshirmasdan vintlardek texnikadan foydalanishi mumkin.

Munosabatlar

Modeldagi turli xil aktyorlar umuman o'zaro bog'liq emas. Shuning uchun aktyorlarni kontekstga qo'yishni bilish kerak. Buni turli xil munosabatlar orqali amalga oshirish mumkin:

  • Aktyorlar o'rtasidagi aloqalar (aktyorlar o'rtasidagi munosabatlar qanday)
  • Vazifalar bilan aloqalar (foydalanuvchi nima qiladi)
  • Maqsadlarga aloqalar (foydalanuvchining maqsadi nima)
  • Bog'liqliklar (foydalanuvchi boshqa sub'ektlarga bog'liq: foydalanuvchilar, vazifalar, maqsadlar)

Rollar

Rollar aktyorning shaxssiz tarzda namoyish etilishiga imkon berish. Rolni modellashtirish va ushbu rolni ushbu rolni to'ldirayotgan aktyor bilan bog'lash mumkin. Agar rolni to'ldiradigan aktyor biron bir sababga ko'ra buni qilishni to'xtatsa, uni o'sha paytdan boshlab rolni to'ldiradigan boshqa aktyor bilan osongina almashtirish mumkin; bu vaqtincha almashtirish yoki uzoq muddatli kelishuv sifatida bo'lishi mumkin. Bundan tashqari, allaqachon mavjud bo'lgan aktyorga yangi va / yoki turli xil rollarni tayinlash mumkin. Buning afzalligi shundaki, modelning o'zi o'zgarishi shart emas; faqat aktyorlar va rollar o'rtasidagi aloqalarni qayta tiklash kerak.

Aktyor modelining cheklovlari

Aktyorlardan foydalanish poyga sharoitlari mexanizmlarini kamaytiradi, ammo ularni yo'q qilmaydi. Ma'lumotlar poygasi shartlari, agar aktyor ob'ektlari ta'sir qiladigan xabarlar yoki mantiq asosida o'zgaruvchan umumiy ob'ektlar mavjud bo'lsa, mumkin. Haqiqiy bir vaqtning o'zida ma'lumotlar tuzilmalarini amalga oshirish ahamiyatsiz emas. Aktyor modeli ushbu muammolarning bir qismini yaxshilaydi, ammo barcha muammolarni hal qilmaydi, bir qator vaziyatlarda blokirovka qilish mumkin, aktyor modeli aktyor yo'nalishi bo'yicha xabarni amalga oshiradi, ammo so'rov yuborish va qabul qilishni osonlashtirmaydi. ma'lum bir maqom yoki so'rovga javob. Sinxron javoblar qandaydir blokirovka qilish mantig'ini talab qiladi. Ushbu xatti-harakatni ta'minlaydigan narsalar to'g'risida ma'lumot olish uchun "fyucherslar" ga qarang.

Shuningdek qarang