Tato specificky zaměřená podskupina skupiny M&S se věnuje propojení simulace, softwarového inženýrství, metaúrovňových architektur, kybernetiky a umělé inteligence v souladu s myšlenkou počítačem podporované teorie systémů (computer-aided systems theory, CAST). Jde o pokračování jedné větve výzkumu, který započala v 90-tých letech minulého století skupina Petriho sítí v souvislosti s objektově orientovanými Petriho sítěmi (druhou větev původního výzkumu skupiny Petriho sítí zobecňuje a dále rozvíjí skupina Formální verifikace).
Výzkumné cíle
Cílem našeho výzkumu je zlepšit stávající a přinést nové metody vývoje počítačových systémů tak, aby bylo dosaženo vyšší kvality těchto systémů (ve smyslu spolehlivosti, bezpečnosti). V centru pozornosti jsou zejména systémy inteligentní, resp. systémy s nejasnou specifikací. Náš přístup staví na kombinaci modelm řízeného návrhu (model based design) a interaktivního inkrementálního vývoje (exploratory programming, evolutionary programming).
Tento výzkum je součástí výzkumného záměru FIT a je podprován grantem GAČR GA102/07/0322.
Proveditelné modely, na simulaci založený vývoj systémů
Aktuální vývoj v oblasti softwarového inženýrství ukazuje významný trend posunout se od statických k dynamickým (proveditelným) modelům, které umožňují efektivně analyzovat i dynamickou stránku vyvíjeného systému. Jako příklady lze uvést dosavadní pokusy opírající se o simulátory stavových diagramů (Harel, Aegyed) spolu s tendencí zachovat proveditelný model v průběhu celého vývoje systému, včetně cílového nasazení (Zeigler). Tady se prolínají tendence softwarových inženýrů se simulačním přístupem ke studiu dynamických systémů. Tyto techniky jsou označovány pojmy model-based design, model continuity a simulation-driven development. Obvykle zahnují také techniky simulace HIL (hardware-in-the-loop simulation) a SIL (software-in-the-loop simulation), které umožňují propojovat reálné a simulované komponenty za účelem testování a verifikace. Myšlenka propojení modelování s programováním vede k programovacím jazykům založeným na proveditelných modelech jako alternativě k běžným programovacím jazykům - jde o programování modely.
D. Harel. Executable Object Modeling with Statecharts. In Proceedings of the 18th International Conference on Software Engineering, pages 246–257. IEEE Computer Society Press, January 1996. http://citeseer.ist.psu.edu/harel97executable.html
Hu, X., Zeigler, B.P., "A Simulation-Based Virtual Environment to Study Cooperative Robotic Systems", Integrated Computer-Aided Engineering - An International Journal, Issue 12:4, October, http://www.acims.arizona.edu/PUBLICATIONS/publications.shtml
Exploratory programming (česky snad experimentální programování nebo interaktivní inkrementální programování) je technika programování, umožňující inkrementálně realizovat nejasná zadání. Je založená na rychlé tvorbě, bezprostředním zkoumání, inkrementální modifikaci a okamžitém testování programů, což umožňuje vývojáři interaktivně prohledávat prostor všech možných realizací. Tento styl programování v současné době umožňuje s dostatečnou mírou komfortu pouze Smalltalk. Náš tým Smalltalk používá jednak jako nástroj pro vývoj experimentálního softwaru, jednak jako zdroj inspirace pro vývoj nových architektur pro vývoj softwaru. Jako další zdroj inspirace slouží Self, na prototypech založený objektově orientovaný jazyk, přímo vycházející ze Smalltalku. Self je významný především svojí flexibilitou a postupem od konkrétního k obecnému.
Náš tým se pokuší umožnit využití formálních modelů místo tradičních programovacích jazyků v rámci EP, aby bylo možné efektivněji verifikovat vyvíjený systém.
Petriho sítě a DEVS - nástroje pro model-based development, vyvíjené a používané skupinou M&S na FIT
Petriho sítě umožňují srozumitelně modelovat paralelní a distribuované systémy a současně poskytují teorii pro analýzu a verifikaci.
PNtalk je experimentální modelovací formalismus založený na objektově-orientovaných vysokoúrovňových Petriho sítích (OOPN). Kombinuje vlastnosti Petriho sítí s výhodami objektově orientovaného návrhu systémů. Původním záměrem projektu PNtalk bylo prověřit možnost přímého použití matematického formalismu pro programování. Uvažuje se o aplikacích v oblasti workflow, plánování, logistiky a řízení.
DEVS je modelovací formalismus založený bezprostředně na obecné teorii systémů. Systém se skládá z propojených komponent, přičemž každá komponenta může být opět složena z komponent. Atomické komponenty jsou specifikovány jako stavové stroje, modelující vlastní aktivitu, reakce na vnější podněty a generování výstupů. Takto specifikovaný systém (model) může byt simulován a verifikován, a to vcelku i po komponentách, případně může běžet v reálném čase jako cílová aplikace nebo její část.
SmallDEVS je experimentální implementace formalismu DEVS, zaměřená obecně na modelování a prototypování, ze zvláštním důrazem na aplikace v oblasti adaptivních a inteligentních systémů. Umožňuje vývoj struktur i chování komponent za běhu, propojování simulovaných a reálných subsystémů a kombinaci s jinými formalismy, což je v těchto aplikacích nezbytné. V současné době SmallDEVS slouží jako operační systém pro PNtalk – poskytuje mu vývojové a prováděcí prostředí, uložiště modelů, vstupy-výstupy a komponentní zapouzdření.
Jak u PNtalku, tak u SmallDEVSu je kladen důraz na propojitelnost jak se systémy, vyvíjenými a používanými skupinou Inteligentní systémy, tak s verifikačními nástroji, používanými skupinou Formální verifikace.
Adaptivní a vyvíjející se systémy - aplikační doména pro PNtalk a SmallDEVS
Výzvou pro modelovací a simulační techniky i pro metody návrhu a realizace jsou adaptivní a sebemodifkující systémy. PNtalk a SmallDEVS jsou navrženy právě pro tuto doménu a s dynamikou vyvíjeného systému se vyrovnávají díky vlastní adaptivní metaúrovňové architektuře, poskytující potřebnou otevřenost a reflektivitu.
Jako příklady možných aplikací OOPN/PNtalku a SmallDEVSu lze uvést agentní (resp. multiagentní) systémy, robotické systémy, komunikační protokoly, inteligentní senzorové sítě apod. Zkoumání aplikovatelnosti uvedených přístupů v těchto oblastech je předmětem probíhajícího výzkumu.