Herecké modelování - Actor modeling

V počítačové vědě Herecké modelování je forma softwarové modelování který se zaměřuje na softwaroví herci. Herecké modelování se nejvýrazněji používá pro rané modelování požadavků; díky tomu bude možné pochopit, kdo jsou uživatelé a zúčastněné strany systému a jaké jsou jejich zájmy a potřeby Systém. Vzhledem ke vzrůstající složitosti dnešních systémů je vhodnější zvolit tento přístup namísto tradičního mechanicky zaměřeného přístupu. Když uvažujeme o dimenzích uživatelů a jejich potřebách, je snazší pochopit, k čemu je systém navržen. Tento přístup dále pomáhá uživatelům definovat požadavky na systém. Přístup modelování aktérů se obvykle kombinuje s modelováním cílů a úkolů, aby lépe porozuměl situaci, v níž se uživatel nachází. Existují různé modelovací jazyky které podporují modelování herců; příklady zahrnují já * a EEML.

Herec

Ústřední entitou hereckého modelování - samotným aktérem - může být jakýkoli druh entity, která provádí akci (akce). Může to být například osoba, oddělení nebo organizace. Cílem hereckého modelování je lépe porozumět herci. K tomu je důležité pochopit herce, kdo je a proč dělá to, co dělá. Herec má atributy, které to definují:

  • Herec má cíle, dovednosti a povinnosti.
  • Herec plní úkoly s určitým úmyslem.
  • Aktér závisí na jiných aktérech, zdrojích nebo úkolech.

Koncept herce byl původně vyvinut na platformě několika nezávislých procesorů v síti. Implementace na víceprocesorovém počítači poskytuje několik základních funkcí souběžnosti, včetně zapouzdření paralelní synchronizace a zpracování serializovaných zpráv, které umožňují souběžné funkce vyšší úrovně, jako je fork / join, async / await, zpracování potrubí a další. Kód herec zapouzdřuje správu vláken a synchronizaci, takže třída odvozená z ní může používat techniky vláken bez nutnosti implementovat podrobnosti instalace na nízké úrovni.

Vztahy

Různí aktéři modelu obecně nejsou vzájemně závislí. Je proto nutné umět dát aktéry do souvislostí. Toho lze dosáhnout prostřednictvím různých druhů vztahů:

  • Spojení mezi aktéry (jaký je vztah mezi aktéry)
  • Vztahy k úkolům (co dělá uživatel)
  • Vztahy k cílům (jaký je cíl uživatele)
  • Závislosti (uživatel je závislý na jiných entitách: uživatelé, úkoly, cíle)

Role

Role umožnit neosobní zastoupení herce. Je možné modelovat roli a spojit tuto roli s aktérem, který tuto roli plní. Pokud herec, který plní roli, to z jakéhokoli důvodu přestane dělat, lze jej snadno nahradit jiným aktérem, který od tohoto okamžiku plní roli; může to být dočasná náhrada nebo dlouhodobá dohoda. Dále je možné přiřadit nové a / nebo různé role již existujícímu aktérovi. Výhodou je, že samotný model není třeba měnit; je třeba znovu vytvořit pouze spojení mezi aktéry a rolemi.

Omezení hereckého modelu

Použití herců omezuje mechanismy pro rasové podmínky, ale nevylučuje je. Podmínky běhu dat jsou možné, pokud zprávy nebo podkladová logika, kterých se dotýkají objekty herec, zahrnují proměnlivé sdílené objekty. Implementace skutečně souběžných datových struktur je netriviální. Model herec vylepšuje některé z těchto problémů, ale nevyřeší všechny problémy. Modely her jsou možné v řadě situací. Model herec implementuje zprávu předávající ve směru herec, ale neusnadňuje odesílání žádosti a příjem konkrétní stav nebo odpověď na požadavek. Synchronní odpovědi vyžadují určitý druh blokovací logiky. Informace o objektech, které mohou poskytnout toto chování, najdete v části „futures“.

Viz také