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

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

programmiert April-Juni 2003 von Knut Riechmann
Ziele von EINI I + II Einführen in „Informatik“
der Universität Oldenburg
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
der Universität Oldenburg
Objektorientierter Entwurf
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Ziel: externe Systemverhalten aus Anwendersicht
Sequenzdiagramm.
Gliederung Motivation / Grundlagen Sortierverfahren
Kapitel 6.1 Nebenläufigkeit und wechselseitiger Ausschluss
Threads Richard Göbel.
Kapitel 10 Nebenläufigkeit und wechselseitiger Ausschluss
Seminar zum pi-Kalkül betreut von Andreas Rossberg
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 2 Gisbert Dittrich; Claudio Moraga FBI Unido
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Imperative Programmierung Funktionen und Parameter
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
Eine objektorientierte Einführung in den Umgang mit Datenbanken
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang
Projekt Web Engineering
CRM Editor auf der Basis von Qt (Beispiel von Ubi erat Lupa)
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Kurzüberblick über ereignisgesteuerte Prozessketten (EPK)
Objektorientierte Modellierung
10. Vorlesung: Dynamische Konzepte
Delphi II - OOP IFB Fortbildung
Flexible Datenstrukturen
6.5 Lindas Tupelraum Interaktion von Prozessen über zentralen Umschlagplatz für alle zwischen Prozessen ausgetauschten Daten: Tupelraum (tuple space) (Carriero/Gelernter,
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Reiner Ganser Solution Architect 1stQuad Solutions GmbH Presentation Subtitle.
Einführung in die Programmierung
Wiederholte Programmausführung
1.5 Das Entwurfsmuster Kompositum
Wasserfallmodell und Einzelbegriffe
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Thread Synchronisation in JAVA
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Zustandsübergangsdiagramme (1)
Objectives Verstehen was unterDelegate verstanden wird
Einführung in PHP.
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
PHP: Operatoren und Kontrollstrukturen
Einführung OpenSTA. Agenda - über OGVIT - Warum Lasttests - Was ist OpenSTA - Wie arbeitet OpenSTA - Skripte für OpenSTA - OpenSTA Collectors - Tests.
Parallelisierung für Multiprozessor-Maschinen Teil 2.
2. Kommunikation und Synchronisation von Prozessen 2
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
2. April 2015Solveigh Matthies BioRem als FESA3-Klasse BioRem-Ansteuerung mit einer FESA3- Klasse Sinn&Zweck Funktionialit ä t Implementierung.
Sammlungsklassen Array.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen 1 SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:
IEC Ablaufsprache / Sequential Function Chart
Microsoft Student Partner
Opacc, CH-Kriens/LucerneOpaccConnect OpaccERP DIY-Konzept Anpassen ohne programmieren 1 G3.
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Tutorium Software-Engineering SS14 Florian Manghofer.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
IEC Ablaufsprache / Sequential Function Chart
 Präsentation transkript:

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

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

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

Integration in das CS Framework

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

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

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

Realisierung im CS Framework

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

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

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

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

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