View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

Dokumentace, články

PNtalk 2005 je součástí dlouhodobého projektu PNtalk, který směřuje k ideálům projektu Otevřené, reflektivní a metaúrovňové architektury simulačních a operačních systémů. Na této stránce najdete informace a myšlenky související s novým přístupem k projektu PNtalk a jeho novou implementaci.

PNtalk je koncipován jako systém pro modelování, simulaci a prototypování dynamických paralelních systémů. Primárním vyjadřovacím prostředkem byly zvoleny Objektově orientované Petriho sítě (OOPN), které kombinují výhody objektové orientace a Petriho sítí. Základní formalismus paradigmatu OOPN je tvořen vysokoúrovňovou variantou Petriho sítí, které umožňují přirozeným způsobem popsat tok řízení modelu a paralelismus. OOPN přistupují k objektu podobným způsobem jako jazyk a systém Smalltalk s jedním podstatným rozdílem – metoda není popsána jako sekvence příkazů, ale prostřednictvím vysokoúrovňových Petriho sítí. Stejně jako ve Smalltalku mohou být struktury či chování tříd OOPN vytvářeny za běhu modifikací nebo přídáním metody, můžeme tedy uvažovat o dynamických změnách struktur (či chování) modelu. Změna struktury se nemusí týkat pouze modifikací Petriho sítí – zajímavým případem změny struktury je možnost nahrazení paradigmatu, např. jinou variantou Petriho sítí či sekvenčním výpočtem ve Smalltalku.

Pro architekturu systému PNtalk byly využity principy otevřených implementací, zejména principy reflektivních a metaúrovňových architektur. Přirozeným prostředím pro aplikaci těchto principů jsou objektově orientovaná prostředí, protože ta s sebou nesou jasně definovanou strukturu. Struktury jsou zapouzdřeny v objektech, které mohou přistupovat (ovlivňovat) struktury jiných objektů pouze prostřednictvím daného a jasného rozhraní (rozhraní bývá v metaúrovňových systémech označováno jako protokol). Základní ideou otevřené implementace je, že umožňuje aplikaci (tj. v našem pojetí modelu) nahlížet do vnitřních aspektů objektů, tedy nahlížet za poskytované rozhraní, a ovlivňovat tyto aspekty. Klasickým případem jsou metaúrovňové architektury. Můžeme si je představit tak, že ke každému klasickému objektu existuje nějaký jiný (meta) objekt, který poskytuje protokol pro inspekci a změnu vybraných aspektů klasického objektu. Principy otevřených implementací umožňují nejen ovlivňovat vlastní struktury objektů, ale i jejich výpočetní chování, tedy jak reagují na zprávy, jaké další operace se vykonají v důsledku zaslání či přijetí zprávy apod.





Link to this Page