XNet, ein echtzeitfähiges Ausführungsmodell für Petri-Netz-basierte Komponentenbeschreibungen in der Steuerungstechnik
Autoři
Více o knize
In dieser Arbeit wird ein neues ereignisdiskretes Ausführungsmodell - das handlerbasierte Ausführungsmodell (HB-AFM) - vorgestellt, das die vollautomatische Codegenerierung für Petri-Netz-basierte Steuerungskomponenten in CNet ermöglicht. Das HB-AFM abstrahiert von den Details der CNet-Sprachmittel und präzisiert gleichzeitig die Art und Weise, wie einzelne CNet-Sprachmittel in der Implementierung berücksichtigt werden sollen. Zur Darstellung dieser abstrahierten Verhaltensmodelle wird eine eigene Notation - genannt XNet (execution nets) - eingeführt. CNet geht zurück auf die Arbeiten von Wurmus und stellt ein Konzept zur Modellierung komponentenbasierter Steuerungen auf Basis einer speziellen Klasse farbiger Petri-Netze dar. Mit der Möglichkeit zur automatischen Codegenerierung aus den Steuerungsmodellen ist CNet nunmehr nicht nur ein Mittel zur Modellierung und Spezifizierung von Steuerungen, sondern bildet ein vollständiges Entwurfs- und Programmiersystem. Wesentliche Merkmale des HB-AFM sind (a) die Ausnutzung vorhandener Nebenläufigkeiten, (b) die Verknüpfung der Veränderungen von gespeicherten Prozesswerten mit Ereignissen und (c) die Beschränkung der Synchronisation zweier oder mehrerer Ausführungsstränge auf den unmittelbaren Zugriff auf gemeinsame Ressourcen. Die Schaltregel von CNet wird angepasst, so dass sich verschiedene Ausführungsstränge weitestgehend entkoppeln lassen. Dies ermöglicht gleichzeitig die Partitionierung und Verteilung der Steuerungsalgorithmen auf mehrere Steuergeräte oder Rechnerknoten. Das HB-AFM beruht auf den Basiskonzepten Ereignis, Ressource und Handler. Ressourcen beschreiben Systemzustände. Ereignisse werden von Ressourcen ausgelöst und zeigen eine Zustandsveränderung an. Ein Handler kapselt eine Aktivität, die als Reaktion auf ein Ereignis ausgeführt wird und weitere Ereignisse auslösen kann. Ein XNet-Modell beschreibt die Abbildung eines Steuerungsalgorithmus auf diese Basiskonzepte. In XNet kann ausgedrückt werden, wann die einzelnen Aktivitäten eines Steuerungsmodells ausgeführt werden sollen und wie sich die Teile eines Steuerungsmodells gegenseitig beeinflussen. XNet wird hinreichend allgemein und erweiterbar gehalten, um auch das ereignisdiskrete Verhalten von Steuerungsalgorithmen, die in anderen Sprachen wie z. B. der Funktionsbausteinsprache nach IEC 61499 spezifiziert sind, darstellen zu können. Mittels so genannter Schnittstellenadapter können Modelle verschiedener Beschreibungssprachen gekoppelt, in ein gemeinsames XNet-Modell transformiert und der Codegenerierung zugeführt werden. Voraussetzung dafür ist lediglich, dass sich semantisch äquivalente Schnittstellen formulieren lassen. Der Entwurfsprozess in CNet wird um einen Analyseschritt erweitert: Mit der Ermittlung des „Erweiterten Erreichbarkeitsgrafen“ können frühzeitig Modellierungsfehler in Komponenten aufgedeckt werden. Zur Sicherstellung der korrekten äußeren Beschaltung von Komponenten wird eine formal prüfbare Konsistenzregel formuliert, die die vormals informell angegebenen Entwurfsregeln ersetzt.