Ringvorlesung Einführung in das Graduiertenkolleg (INF 3)

Slides:



Advertisements
Ähnliche Präsentationen
Multimediaentwicklungen mit PowerPoint
Advertisements

1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Prüfung objektorientierter Programme -1
Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Eingebettete Systeme Qualität und Produktivität
Institut für Informatik Abt. Intelligente Systeme
Finale Semantik und beobachtbares Verhalten
Kapitel 7 State-Machines/Zustandsautomaten
8 Behandlung von Begriffen 8.1 Grundlagen aus Logik und Psychologie
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
Kooperierende autonome Fahrzeuge
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim)
Petrinetz Stufenweises Vorgehen beim Modellieren
Nebenläufigkeit Teil I
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Prof. Dr. Holger Schlingloff
On a Buzzword: Hierachical Structure David Parnas.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Motivation Richard Göbel.
Baumstrukturen Richard Göbel.
Objektorientierte Konzepte
Vortrag im Rahmen des Seminars
Symbolisches Model Checking mit Binary Decision Diagrams
7.4 State-based Test Design Nils Foken. Steuerungsfehler fehlende / falsche Transition fehlendes / falsches Ereignis fehlende / falsche Aktion zusätzlicher.
Rational Unified Process (RUP) - Definitionen
1 Kap. 2 Graphen Kap. 2.1 Netze Beispiele: MVV, Autobahnen, WIN, E/R, LH-Flüge, Stützgraphen, Petri-Netze, SIPs, ISA-Hierarchien, Operator-Graphen, Wartegraphen.
Seminar: Architekturbeschreibungssprachen
GROOVE Graphs for Object-Oriented Verification Seminar: SEFSIS Sommersemester 2006 Basil Becker
Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld
Kurzüberblick über ereignisgesteuerte Prozessketten (EPK)
Grundkurs Theoretische Informatik
Entwicklung verteilter eingebetteter Systeme - Einführung
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Systementwurf Überblick: Entwicklung der globalen Problemlösungsstrategie.
Vorgehensmodelle: Schwergewichtige Modelle
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Unified Modeling Language Repetition / Einführung zu UML
Effiziente Algorithmen
LVA , SS021 Im Mittelpunkt aller Bemühungen steht der Kunde und die Steigerung des Kundennutzens. Deswegen: Wer alles reinlässt kann nicht.
Verteidigung der Bachelor-Thesis Objektorientierte Geschäftsprozessmodellierung mit BPMN und UML Patrick Heydorn.
UML-Kurzüberblick Peter Brusten.
UML Modellierung des Verhaltens von Klassen und Objekten
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
- CS-Objekt-Netze Motivation und NutzenMotivation und Nutzen Aufbau und BedienungAufbau und Bedienung - CS-Petri-Netze Definition der Petri-NetzeDefinition.
Vorlesung Automatisierungsprojekte Seite 6/1
Klassen und Klassenstruktur
Software Engineering Grundlagen
1 Strukturierung von Situationen (Strukturierung als Lernkomponente) Thomas Höpfel Seminar für Rechtstheorie und Rechtsinformatik WS 2004/05.
Unified Modeling Language UML
Software Engineering Strukturierte Analyse
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Aufgabe 4 Betrachten Sie das unten dargestellte Klassendiagramm, das für eine Bibliothek zur Verwaltung ihrer Buchbestände modelliert wurde. Modellieren.
- Studienarbeit - Entwurf und Umsetzung von kombinierten Anfragen für die Ähnlichkeitssuche auf digitalen Bilder auf der Basis von Regionen und Features.
Modellierung: MATLAB – Simulink - Stateflow
Vorlesung Grundlagen der computergestützten Produktion und Logistik W1332 Fakultät für Wirtschaftswissenschaften W. Dangelmaier.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Petri-Netze mathematisch fundierte Theorie zur formalen Beschreibung von (Informations-) Transformationsprozessen Entwicklung einer allgemeinen Theorie,
Objektorientierte Programmierung Was ist das eigentlich ?
A. Steininger TU Vienna 1 Multicore eleganter Work-Around um die Design-Crisis Problemverschiebung in die SW (= auf höhere Ebene) ABER: hohe Parallelität.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Aufgaben Petrinetze Aufgabe 1
IEC Ablaufsprache / Sequential Function Chart
 Präsentation transkript:

Ringvorlesung 02.11. Einführung in das Graduiertenkolleg (INF 3) 09.11. Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Graph. Verfahren (INF 2) 16.11., 23.11. Aufgaben und Auswirkungen der Konstruktion in der Produktentwicklung (KTmfk) 30.11. Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs, Math. Methoden (INF 2) 07.12., 14.12. Gestaltungsspielräume beim Entwurf von Betriebssystemen (INF 4) 21.12., 11.01. Entwurf und Planung von Rechnernetzen und Kommunikationssystemen (INF 7) 18.01., 25.01. Entwurfssicherheit und Verläßlichkeitsbewertung (INF 3) 01.02., 08.02. Entwurf verläßlicher Systeme aus der Sicht des IC-Entwurfs (LRS)

Spezifikationsverfahren in den verschiedenen Phasen des Software-Entwurfs Graphische Verfahren Mark Minas

Software-Projektmodell (nach Denert) Benutzer- Schnittstelle Daten- modell Funktionen- Requirements analysis System design Coding System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration

Software-Projektmodell (nach Denert) Modulari- sierung Datenbasis- entwurf Prozeß- organisation Requirements analysis System design Coding System-Spezifikation System-Konstruktion Modul-Programmierung System-Integration

Software-Projektmodell (nach Denert) Requirements analysis System design Coding System-Spezifikation Modul- spezifikation Modul-- konstruktion test System-Konstruktion Modul-Programmierung System-Integration

Software-Projektmodell (nach Denert) Requirements analysis System design Coding System-Spezifikation Subsystem- definition test System- System-Konstruktion Modul-Programmierung System-Integration

System-Spezifikation Modellierung mit Petri-Netzen Statecharts

Modellierung mit Petri-Netzen Multitechnologiesysteme verschiedene, kooperierende Teilsysteme Spezifikation auf abstraktem Niveau Simulation, Analyse und Optimierung schon in der frühen Phase Petri-Netze (C.A. Petri) abstraktes Beschreibungsmittel einfach, modular, anschaulich (graphischer Entwurf) Nebenläufigkeit, Sequenzen, Synchronisation gut darstellbar

Petri-Netze: Idee Modellierung auf abstraktem Niveau Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph Identifikation von Teilsystemen mit Stellen Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1

Petri-Netze: Idee Modellierung auf abstraktem Niveau Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph Identifikation von Teilsystemen mit Stellen Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1

Petri-Netze: Idee Modellierung auf abstraktem Niveau Darstellung der Prozeßzusammenhänge als gerichteter, bipartiter Graph Identifikation von Teilsystemen mit Stellen Übergänge (Transitionen und Kanten) definieren Schnittstellen zwischen Modulen 1

Petri-Netze: Idee Nebenläufigkeit Analyse des Prozeßzustands Mehrfachkanten ~ parallel ablaufende Prozesse Übergangsbedingungen ~ Synchronisation der Teilsysteme Analyse des Prozeßzustands Markierung der Knoten ~ Modellierung versch. Zustände

Petri-Netze: Formale Definition Petri-Netz PN=(P,T,I,O,m) P: Stellen (Plätze) T: Transitionen (endliche Mengen!) PÈT ¹ Æ PÇT = Æ I: P´T ® N: Eingabefunktion (Kantengewichte) O: P´T ® N: Ausgabefunktion (Kantengewichte) m: P ® N: Markierungsvektor (#Marken pro Stelle)

Petri-Netze: Formale Definition Transition tÎT aktiviert Û "pÎP: m(p) ³ I(p,t) t aktiviert mit Markierung m Þ Feuern Þ neue Markierung m‘ mit: "pÎP: m‘(p) = m(p)+O(p,t)-I(p,t) 2 1 P2 I(P1,T) I(P2,T) O(P3,T) P1 P3 T Aktiv

Petri-Netze: Formale Definition Transition tÎT aktiviert Û "pÎP: m(p) ³ I(p,t) t aktiviert mit Markierung m Þ Feuern Þ neue Markierung m‘ mit: "pÎP: m‘(p) = m(p)+O(p,t)-I(p,t) P2 I(P1,T) I(P2,T) O(P3,T) P1 P3 T 1 2 1 1 2

Petri-Netze: Formale Definition Transition tÎT aktiviert Û "pÎP: m(p) ³ I(p,t) t aktiviert mit Markierung m Þ Feuern Þ neue Markierung m‘ mit: "pÎP: m‘(p) = m(p)+O(p,t)-I(p,t) P2 I(P1,T) I(P2,T) O(P3,T) P1 P3 T 1 2 1 1 2

Petri-Netze: Abbildung realer Objekte Keine Vorgabe durch formale Definition Plätze: oft Zustand, Position, Materialien, ... Markenfuß « Daten-, Kontroll-, Materialfluß hilfreich: Festlegung verschiedener Platz- und Transitionsklassen Þ Restriktionen und Verifikationsmöglichkeiten (z.B. „Transporttransition“ erlaubt keine Änderung der Markenzahl, „Pufferstelle“ kann bis zu N Marken enthalten)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K „Auf“ Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: Aufzugsteuerung Erdge- schoß (E) „Ab“ K®E E®K EÚK „Auf“ Start Keller (K)

Petri-Netze: zu primitiv! Bei komplexen Spezifikationen/Modellierungen: große Graphen Þ Netze unübersichtlich Zeitabhängigkeiten schwer modellierbar keine Unterscheidung zwischen Flußkontrolle, Nutzdaten, Material verschiedenen Material-, Nutzdatentypen keine inhibitorischen Kanten

Petri-Netze: w-Funktionen wT: T ® ExprBool Zusätzliche Schaltbedingung: Transition t kann nur aktiv sein, wenn wT (t) erfüllt ist wP: P ® VarBool "vÎVarBool: (v = true Û $pÎP: (wP(p) = v Ù m(p) > 0))

Petri-Netze & Zeit: TPN Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 2 1

Petri-Netze & Zeit: TPN Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 1 2 1 1 2

Petri-Netze & Zeit: TPN Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 1 2 1 1 2

Petri-Netze & Zeit: TPN Jeder Transaktion wird eine Zeitfunktion zugewiesen Zeitfunktion deterministisch oder stochastisch (~SPN) Zu Beginn des Feuerns werden Markierungen auf den Eingangsstellen entfernt Erst nach Ablauf der „Feuerzeit“ werden Markierungen auf den Ausgangsstellen aufgebracht 1 2 1 1 2

Petri-Netze: gefärbte Netze (CPN) Gefärbte/attributierte Marken Farbkonvertierungsfunktion an den Kanten z.B. Teile in verschiedenen Bearbeitungszuständen oder verschiedenen Orten modellierbar neu: Farbkonflikt „normales“ Petri-Netz: gefärbtes Petri-Netz: ? ?

Petri-Netze: gefärbte Netze (CPN) „Normales“ Petri-Netz: Gefärbtes Petri-Netz Waschen Fertig 1 Marke Î {1,2} Marke = 3 Fertig incr Waschen

Petri-Netze: sonstiges Inhibitorkanten Informations-Transitions-Netze (ITN) schwarze Plätze: üblicher Kontrollfluß/Prozeßablauf weiße Plätze: Fluß interner Datenobjekte zusätzliche Gewichte für Informationsverarbeitung und Schaltbedingungen ...

Statecharts 1987 von D. Harel als visuelle Spezifikationssprache für reaktive Systeme eingeführt Semantik erstmals 1996 definiert („Statemate-Semantik“) Erweiterung konventioneller Zustandsdiagramme: Hierarchisierung Kommunikationsmechanismen On Mute SoundOn mute/{} sound/{} Image Sound txt/{} Normal Videotext off/{} on/{} StandBy

Statecharts: Zustände Startzustände einfache Zustände (basic states) Oder-Zustände (or-states) Und-Zustände (and-states)

Statecharts: Zustände History-Zustände On 1/{} Kanal 1 on/{} H 2/{} 1/{} Kanal 2 2/{} off/{} on/{} standby/{} Off StandBy off/{}

Statecharts: Transitionen Transitionen zwischen unterschiedlichen Hierarchiestufen erlaubt:

Statecharts: Transitionen Transitionen sind beschriftet mit Ereignis [Bedingung] / Aktion Ereignis: Signal für 1 Zeitschritt Bedingung: boolesches Prädikat Aktion: Erzeugung anderer Ereignisse Aber wann??? I-Feedback D-Feedback M-Feedback

Zusammenfassung Graphische Verfahren sind nicht unbedingt anschaulich Formale Fundiertheit ist keine Voraussetzung für (wirtschaftlichen) Erfolg Petri-Netze: + einfache Struktur - unübersichtlich für nichttriviale Beispiele Statecharts: + Hierarchie vermeidet Zustandsexplosion - Ereignisse sind Broadcast-Ereignisse