Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universeller Sequenzer für das CS Framework Inhalt 1.Zielsetzung 2.Anforderungen 3.Die Sequenzer-Klassenbibliothek.

Ähnliche Präsentationen


Präsentation zum Thema: "Universeller Sequenzer für das CS Framework Inhalt 1.Zielsetzung 2.Anforderungen 3.Die Sequenzer-Klassenbibliothek."—  Präsentation transkript:

1 Universeller Sequenzer für das CS Framework Inhalt 1.Zielsetzung 2.Anforderungen 3.Die Sequenzer-Klassenbibliothek

2 Zielsetzung Erweiterung des bestehenden CS Frameworks um eine generische Sequenzer-Klassenbibliothek Anwendungsgebiete:- Inbetriebnahme und Konfiguration von Experimentaufbauten -Test- und Diagnose-Software Kapselung der allgemeinen Ablaufsteuerung durch die Klassenbibliothek Entwurfsmuster für den Entwickler zur Anpassung an spezielle Anwendungen reduzierter Programmieraufwand durch bereits vorhandene Basisklassen (konfigurieren statt programmieren) Konfigurierbarkeit zur Laufzeit der Anwendung

3 Anforderungen Zusammenfassen einzelner Ereignisgesteuerter Funktionsaufrufe zu elementaren Sequenzen konfigurierbare Kontrollstrukturen zur Ablaufsteuerung innerhalb einer Sequenz (Wiederholung, Verzweigung) Kompatibilität mit beliebigen CS-Klassen modulare Sequenzen (Wiederverwendbarkeit) Parallelisierung bzw. Nebenläufigkeit von Sequenzen Reservierungsmechanismus zur Synchronisation nebenläufiger Sequenzen

4 Integration in das CS Framework

5 Funktionen der CS-Sequenzerklassen CSSeqExecCSList CSDuT CSProxy CS-Prozessklassen CSSeqControl CSProxy steuern editieren liest Steuer- und Ausführungsanweisungen initiiert elementare Sequenzen liefert Ergebnisse Statusabfrage und Steuerung des Sequenzers Konfiguration und Ergebnisse der Listenelemente stellen Funktionen über Ereignisse zur Verfügung, z.B. Zugriff auf externe Geräte speichert Verarbeitungslogik zusammen hängender elementarer Sequenzen in einer doppelt verketteten Liste definiert elementare Sequenzen Reihenfolge der Ereignisse und Analysemethoden zur Ergebnisfindung reserviert CS-Prozesse und verwaltet die Reservierungen führt mehrere elementare Sequenzen nebenläufig aus und synchronisiert diese führt die Listeninhalte aus verfügt über 2 Betriebsmodi (auto/single) ermöglicht Schachtelung ruft Funktionen per Ereignis auf liefert Rückgabe erfragt Namen der elementaren Sequenzen realisiert die Reservierung beliebiger CS-Prozesse reserviert leitet Ergebnisse weiter vom Entwickler zu implementieren bzw. anzupassen durch den Benutzer zu konfigurierenkann bei Bedarf ausgetauscht werden

6 Beziehungen zwischen den CS-Basisklassen und den Sequenzerklassen CS-Basisklassen CS-Sequenzerklassen

7 Elementare Sequenzen - CSDuT Sequentielle Verarbeitung von Ereignissen Muss durch Entwickler im Quellcode hinterlegt werden. Für den Benutzer eine untrennbare bzw. atomare Aktion Mehrere elementare Sequenzen können asynchron ausgeführt werden. Wechselseitige Zugriffe auf gleiche Prozesse werden durch Reservierungen synchronisiert. Reservierung der beteiligten Prozesse Start eines neuen threads Warten auf Reservierungen Verarbeitung der Ereignisse Reservierungen erfolgreich Reservierungen fehlgeschlagen Ergebnisse erstellen Aufheben der Reservierungen und Rückgabe des Ergebnisses an aufrufenden Sequenzer TIMEOUT Reservierungen erhalten

8 Realisierung im CS Framework

9 Listengesteuerter Sequenzer - CSSeqExec Sequenzer1 > Testobjekt1 > Testobjekt2 > Stellvertreter1 > Stellvertreter2 > Prozess1 > Prozess2 > Liste1 > Stellvertreter3 > Prozess3 > Schleifen- deklaration Step#1 Testobjekt1 Sequenz1 Bedingung Step#2_0 Testobjekt2 Sequenz1 Step#2_1 Testobjekt2 Sequenz2 FOR/WHILE Liste repräsentiert Schleifenanweisung Listenelemente können durch Verzweigungen miteinander verknüpft werden TRUE FALSE

10 Realisierung im CS Framework Zustandsmaschine: Zustandsmaschine: -Verarbeitung der Liste Ereignisschleife: Ereignisschleife: - Interaktion mit Benutzer und anderen Prozesse Zustandsdiagramm der Klasse CSSeqExec

11 Hierarchische Sequenzer Sequenzer1 > Liste1 > Sequenzer2 > Liste2 > Testobjekt1 > Testobjekt2 > Testobjekt3 > Testobjekt4 > Sequenzer3 > Liste3 > Hierarchische Gliederung ermöglicht geschachtelte Schleifen und Wiederverwendbarkeit vorhandener Listen

12 Nebenläufige Sequenzer Sequenzer1 > Liste1 > Sequenzer2 > Liste2 > Testobjekt1 > Testobjekt2 > Stellvertreter4 > Stellvertreter1 > Stellvertreter2 > Prozess1 > Prozess2 > Stellvertreter3 > Prozess3 > Asynchron arbeitende Sequenzer greifen auf dieselben Testobjekte zu jede elementare Sequenz wird in einem separatem thread abgearbeitet Reservierung der Prozesse synchronisiert threads Reservierung der Testobjekte innerhalb einer Liste ermöglicht Priorisierung der Sequenzer

13 Das Sequenzer GUI - CSSeqControl Listeninhalt Status des Sequenzers Ergebnisse der Listen- elemente Konfiguration der Listen- elemente Sequenzer- steuerung


Herunterladen ppt "Universeller Sequenzer für das CS Framework Inhalt 1.Zielsetzung 2.Anforderungen 3.Die Sequenzer-Klassenbibliothek."

Ähnliche Präsentationen


Google-Anzeigen