Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Petri Netze II Vorlesung 2 SWS WS ‘99/00 Gisbert Dittrich FBI UniDo

Ähnliche Präsentationen


Präsentation zum Thema: "Petri Netze II Vorlesung 2 SWS WS ‘99/00 Gisbert Dittrich FBI UniDo"—  Präsentation transkript:

1 Petri Netze II Vorlesung 2 SWS WS ‘99/00 Gisbert Dittrich FBI UniDo

2 Gliederung Kapitel 7: Tools
Einleitung/Hintergrund: Was sind PNs und was will ich mit PNs ? - Ziel Netzbasierte Repräsentationen Idee von “Verfeinerung” am Beispiel Toollandschaft Toolbeschreibungen im Netz Tool: PetriLab Anforderungen an Tools PetriLab Inhalt der Vorführungen Methodik Schlußbemerkungen

3 Ziel Repräsentation von Systemen Beiträge zur
in den frühen Phasen der Entwicklung insbesondere: für Systeme mit Nebenläufigkeit Software/Hardwaresysteme, dort v.a.: Anforderungsbeschreibungen v. a. funktionale Anforderungen Ist-Analyse ---> Validierung Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

4 Netzbasierte Repräsentationen
Bipartite, gerichtete Graphen (mit An-/Inschriften) Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

5 Netzbasierte Repräsentationen
Netze mit präziser Semantik Bedingungs/Ereignis Netze Place/Transition Nets Prädikat/Transitions PN/Coloured PN Stochastische, timed PNs .... Netze mit präformaler Semantik: Kanal/Instanz Netze Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

6 Netzbasierte Repräsentationen

7 Netzbasierte Repräsentationen

8 Netzbasierte Repräsentationen
Behandlung komplexer Darstellungen Mittel für Abstraktion: Vergröberung <---> Verfeinerung Erste Vorstellung der Idee am Ausschnitt eines Beispiels: Pipelined Prozessor Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

9 Netzbasierte Repräsentationen

10 Bemerkungen: Toollandschaft
Tools zur Systemerstellung Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

11 Bemerkungen: Toollandschaft
Tools zur Systemerstellung Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

12 Tools im Netz World of Petri Nets Petri Net Tools
Petri Net Tools Petri Net Classification (Stand: ) Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

13 Anforderungen an Tools
Aufgabengerecht: unterstützt Methodik für Neuentwicklungen (from scratch) ---> top-down Modellierung Verwendung schon existierender Dokumente ---> bottom-up Modellierung Akzeptanz gut dokumentiert u.a. Portierbarkeit Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

14 Anforderungen: Akzeptanz
umfangreiche Funktionalität Fehlervermeidung/-suche (syntaktisch) Modellierung-Validierung niedrige "semantische Distanz“ niedrige "artikulatorische Distanz“ intuitive, benutzergesteuerte Darstellung (graphisch) direkte Manipulation Modifizierbarkeit inkrementelles Modellieren Zulassen zwischenzeitlicher Inkonsistenzen Wiederverwendbarkeit : u.a. Bausteine Performance: • stabil • schnell • komfortabel • Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

15 Petri Lab Prototyp eines Tools unterstützt implementiert:
zur Modellierung komplexer (v.a. konkurrenter)Systeme unter Verwendung von Petrinetzen unterstützt Modellieren: Editor Validation: (integrierter) Simulator implementiert: in Object Pascal/MPW auf Apple Macintosh (ca. 1990) Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

16 Petri Lab Editor Simulator Erzeugung und hierarchische Repräsentation
von Kanal-Instanz-Netzen Unterstützt die Verfeinerung von Stellen und Transitionen simultan in einer Diagrammhierarchie ! Layer für Substrukturen in einem Diagramm Simulator P/T- Netze timed/stochastische Netze (GSPN/DSPN) Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

17 Vorführungen Modellierung von Hierarchie
---> Prozeßregelung Inspektion einer mittelgroßen Modellierung ---> Funktionale Spezifikation des Kerns von PetriLab Simulation/Aufzeichnung ---> Produzent-Konsument Layer/STTI Netze/Auswertung ---> Produzent-Konsument Fortsetzung Simulation hierarchischer Netze ---> be-/entladen --> Pipelining Modell Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

18 Methodik Eine Methode:
(Sammle erste Informationen über das angestrebte System) Beginne mit einer Grobmodellierung in Form eines einzelnen Kanal-Instanz Netzes Erzeuge eine Netzhierarchie (mit Hilfe von Verfeinerungen). Erprobe Variationen: ändere, erweitere, entferne. Reichere mit präziser Semantikbeschreibung an: simuliere analysiere Nutze die erzeugten, validierten Dokumente zur weiteren Systementwicklung. Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

19 Schlußbemerkungen Rückblick
Modellieren mit PNs Tool PetriLab Mögliche Vorhaben (für die nähere Zukunft?) Überprüfen der methodischen Ansätze mit den jetzt existierenden/revidierten Werkzeugen (---> Modellieren komplexerer Systeme) weitere Arbeiten an der Toollandschaft: Literatur Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

20 Bemerkungen: Toollandschaft
Redesign von PetriLab: Neuimplementierung unter Benutzung einer neuen Datenstruktur. Erweiterungen Simulation von sog. “high level nets” Wiederverwendbarkeit hierarchischer Netze über copy/paste hinaus. Integration von “Bausteinen“ Mehr Komfort: u.a. visuelle Darstellung von Knoten/Verbindungen/Marken. Aggregierte Informationen in visueller Form. Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

21 Bemerkungen: Toollandschaft
Entwicklung weiterer Werkzeugkomponenten Extraktion dedizierter Editoren/Simulatoren Analysator für komplexere Netzklassen Prototyper. Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

22 Literatur 1 [Aign 87] Aigner, H.: RAPPS- Rapid Prototyper für formale Petrinetz-Spezifikationen, Diplomarbeit am FB Informatik, Universität Dortmund, 1987 [BrBu 90] Brodda, A.-Buttler, P. : PetriLab, Diplomarbeit am FB Informatik, Universität Dortmund, 1990 [BrRR 87a] Brauer, W.-Reisig, W.-Rozenberg, G. (Edts.): Petri Nets: Central Models and Their Properties, LNCS Vol. 254, Springer Verlag 1987 [BrRR 87b] Brauer, W.-Reisig, W.-Rozenberg, G. (Edts.): Petri Nets: Applications and Relationships to Other Models of Concurrency, LNCS Vol. 255, Springer Verlag 1987 [Busc 89] Buschmann, F.: PETENET- ein multi-user-fähiger Petrinetzeditor für hierarchische Petrinetze, Diplomarbeit am FB Informatik, Universität Dortmund, 1989 [DiEv 89] Dittrich, G.-Evertz-Jägers, B.: Der Kanal-Instanz-Netz Editor KINED, Forschungsbericht Nr. 308 des Fachbereichs Informatik, Universität Dortmund, 1989 [Ditt 89a] Dittrich, G.: Specification with Nets, p in [PiMo 90] [Ditt 89b] Dittrich, G.: Tools for Modelling with Petri-Net like Nets, p in [PiMo 90] [Ever 88] Evertz-Jägers, B.: Objektorientierte Entwicklung eines Editors zur Erstellung hierarchischer K/I-Netze, Diplomarbeit am FB Informatik, Universität Dortmund, 1988 [Fabi 87] Fabian, D.: Ein Tool zur Analyse von Petrinetzen, speziell S/T-Netzen, Diplomarbeit am FB Informatik, Universität Dortmund, 1987 Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

23 Literatur 2 [Fehl 92] Fehling,R.:Hierarchische Petrinetze:Beiträge zur Theorie und formale Basis für zugehörige Werkzeuge, Dissertation, Dortmund 1991, Verlag Dr. Kovac, Hamburg 1992 [Gers 90] Gers, T.: PetriLab-STTI, ein Simulator für stochastische uind zeitbehaftete Petrinetze, Diplomarbeit am FB Informatik, Universität Dortmund, 1990 [Hamm 88] Hammerhofer, M.: Beiträge zu Timed Petri Netzen. Diplomarbeit am FB Informatik, Universität Dortmund, 1988 [KPR 87] Kühnel, B.-Partsch, H.-Reinshagen, K.P: Requirements Engineering, Versuch einer Begriffsklärung, Informatikspektrum 10, 6 ,12.87, p [LeWo 89] Leufke, A.- Wolberg, D.: Bausteine für Petri-Netze - Konzept und Einsatz, Diplomarbeit am FB Informatik, Universität Dortmund, 1989 [Mary 88] Maryniak, A: Petri-Netze: Allgemeine Begriffsklärung und anwendungsorientierte Einführung in die Modellierung. Diplomarbeit am FB Informatik, Universität Dortmund, 1988 [Mese 87] Mesewinkel, U.: Pr/T-Systembausteine für die Modellierung der Interprozeßkommunikation in verteilten Systemen. Diplomarbeit am FB Informatik, Universität Dortmund, 1987 [Pete 87] Dittrich, G.- Szwillus, G.(Edts): PETE - Ein Petrinetz-Editor, Abschlußbericht der Projektgruppe PETE, Interne Berichte des FB Informatik, Dortmund 1987 Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.

24 Literatur 3 [PetS 89] Dittrich, G. - Fehling, R.(Edts): Endbericht der Projektgruppe PetSi, Interne Berichte des FB Informatik der UniDo, Dortmund 1989 [Pick 91] Pickers, M. : MOVE, Diplomarbeit am FB Informatik, Universität Dortmund, 1991 [PiMo 90] Pichler, F.- Moreno-Diaz, R. (Edts.): Computer Aided Systems Theory - EUROCAST ´89, LNCS 410, Springer Verlag 1990 [Reis 85] Reisig, W.:Systementwurf mit Petrinetzen, Springer 1985 [Schm 87] Schmenner, M.:Entwurf und Implementierung eines Programms zur Überprüfung der syntaktischen Korrektheit von Beschriftungen verschiedener PN -Typen. Diplomarbeit am FB Informatik, Universität Dortmund, 1987 [Reck 88] Reck, M.:Von informellen zu formalen Spezifikationen durch Petri-Netze und Abstrakte Datentypen. Diplomarbeit am FB Informatik, Universität Dortmund, 1988 [Rüpi 88] Rüping, A.:Beiträge zur Methodik hierarchischer Petrinetze. Ein Konzept für eine hierarchiebezogene Modellierung mit interpretierten Netzen auf der Basis von Netzmorphismen, Diplomarbeit am FB Informatik, Universität Dortmund, 1988 [Soma 86] Dittrich, G. -Eising, G.(Edts.): Software für Materialflußsysteme. Abschlußbericht der Projektgruppe SOMAT, Interne Berichte des FB Informatik, Universität Dortmund, 1986 [Viet 88] Viethen, R.:Petri-Netze: Methodikansätze und anwendungsorientierte Einführung in die Modellierung. Diplomarbeit am FB Informatik, Universität Dortmund, 1988 Wir haben bis jetzt die Eingabe relativ einfach gehalten, indem wir von der Standardeingabe gelesen haben (d. h. wir haben die entsprechenden Eingaben über die Tastatur eingetippt), und wir haben auch die Standardausgabe geschrieben, so daß also die Ausgaben auf dem Bildschirm erschienen sind. Bei umfangreicheren Texten ist das natürlich nicht besonderes praktisch, so daß wir in der Lage sein sollten, Daten direkt aus Dateien zu lesen und auch wieder in Dateien zu schreiben. Die Einzelheiten des Dateisystems sind für uns an dieser Stelle nicht interessant, wir nehmen an, daß Dateien dazu dienen, Informationen zu speichern, diese Informationen können geschrieben und gelesen werden. Die zentralen Operationen auf einer solchen Datei bestehen zunächst einmal darin, eine Datei für die vorgesehene Operation (Lesen oder Schreiben) zu öffnen und sie nach dieser Operation zu schließen. Dateien werden im Programm über Variablen, also über die üblichen Namen angesprochen. Im Dateisystem, also außerhalb des Programms, haben solche Dateien ebenfalls Namen und wir müssen nun den internen Namen in einem Programm mit dem externen Namen im Dateisystem in Verbindung bringen (dies geschieht, wenn wir ankündigen, daß wir von einer Datei lesen oder auf sie schreiben wollen). Umgekehrt ist es notwendig, diese Bindung auch wieder zu lösen, damit andere Programme auf diese Datei zugreifen können oder damit derselbe Bezeichner sich auf andere Dateien beziehen kann.


Herunterladen ppt "Petri Netze II Vorlesung 2 SWS WS ‘99/00 Gisbert Dittrich FBI UniDo"

Ähnliche Präsentationen


Google-Anzeigen