Message Sequence Charts, Live Sequence Charts

Ähnliche Dokumente
7. MSC / LSC. 7.1 Message Sequence Charts. Grundideen. Elementare MSC. Nachrichten in MSC. Lokale Aktionen. Kommunikation mit der Umgebung

Aussagenlogische Testspezifikation

Inhalt. " DiaGen Historie und Beschreibung. " Architektur eines DiaGen-Editors. " Hypergraphen. " DiaGen-Editoren Komponenten

Spezifikation von Kommunikationssystemen

Übungen Softwaretechnik I

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43

Einführung: Zustandsdiagramme Stand:

2. Übung zu Software Engineering

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

REMiDEMMI Dokumentation

Motivation. Motivation

Techniken der Projektentwicklungen

Zeit als Mittel der Reihenfolgebestimmung

Modellierung verteilter Systeme (Grundlagen der Programm- und Systementwicklung II)

Thomas Schirrmann Nebenläufigkeit. Nebenläufigkeit. Vortrag Thomas Schirrmann. Seminar Systementwurf Dozentin Daniela Weinberg

Modellbildung und Analyse eingebetteter Systeme für mechatronische Anwendungen mit höheren Petri-Netze unter Verwendung verschiedener Erweiterungen

Sequenz- und Kommunikationsdiagrammen. Systemmodellierung mit SysML von Michel Manthey

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung





Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Endliche Automaten. Endliche Automaten J. Blömer 1/23

WS 2008/09. Diskrete Strukturen

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

a) Folgender Graph ist durch seine Inzidenzmatrix gegeben! Zeichnen Sie ihn!

Grundbegriffe der Informatik Tutorium 8

Warum Modellierung? OE-Vorlesung 2016 Einführung in Petrinetze. Was ist ein Modell? Und warum Petrinetze? Petrinetze sind ein Modellierungswerkzeug.

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 8 -

Aktivitätsdiagramm (Activity Diagram)

Testen mit Use Cases. Chris Rupp Dr. Stefan Queins

Das Prinzip der Suchmaschine Google TM

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

NACHRICHTENTECHNISCHER SYSTEME

Diskrete Ereignissysteme. Spezielle Netzstrukturen- Übersicht. Beispiele zu speziellen Netzstrukturen. Petri-Netze und Zustandsautomaten

Software-Engineering SS03. Zustandsautomat

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Perkolation Christina Sander

bzw. die Entscheidugen anderer Spieler (teilweise) beobachten Erweitert das Analysespektrum erheblich Beschreibung des Spiels (extensive Form)

Zeichnen von Graphen

Informatik in L A TEX (Bäume, Graphen, MSC)

Algorithmen und Datenstrukturen

1 Beispiele für Graphen

Informatik in L A TEX (Bäume, Graphen, MSC)

Kürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr

Ausarbeitung über den Satz von Menger und den Satz von König

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

Objektorientierte Softwareentwicklung

KAPITEL 4. Posets Hasse Diagramm

Egon Börger (Pisa) S-BPM. Über den praktischen Gewinn. einer wissenschaftlichen Fundierung

WS 2013/14. Diskrete Strukturen

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

OOA-Dynamische Konzepte

Einführung in die Theoretische Informatik

Isomorphie von Bäumen

Verkettete Datenstrukturen: Bäume

UML - Aktivitätsdiagramm

Algorithmische Graphentheorie

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Handbuch für die Programmierung mit LabVIEW

Unified. Copyright Adriano Gesué UML 2.0 UML 1.4 UML 1.3 UML 1.2 UML 1.1 UML 1.0 UML 0.9. Method 0.8

WS 2009/10. Diskrete Strukturen

Seminarvortrag über den Satz von Nielsen-Schreier

Ecken des Zuordnungsproblems

Lösungsskizzen Mathematik für Informatiker 5. Aufl. Kapitel 11 Peter Hartmann

Einheit 11 - Graphen

Grundlagen verteilter Systeme

Lösungen zu Kapitel 5

Kapitel 4 Ereignisdiskrete Systeme (V)

Software Engineering Ergänzung zur Vorlesung

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Transkript:

Message Sequence Charts, Live Sequence Charts SE Systementwurf WS 05/06 Evgeniya Ershova Message Sequence Charts, Live Sequence Charts 1

Gliederung Heute basic MSC s Message Sequence Graphs Hierarchical Message Sequence Charts Anwendung 01.12.2005 Live Sequence Charts Demo mit Play-Engine Message Sequence Charts, Live Sequence Charts 2

Message Sequence Charts : graphische Spezifikationssprache dient zur Beschreibung des Kommunikationsverhaltens zwischen Systemkomponenten und deren Umgebung ITU-T Standard Z.120 integriert als sequence diagramms in UML Message Sequence Charts, Live Sequence Charts 3

Message Sequence Charts : Definition (1) Prozesse (Instanzen) vertikale Linien Nachrichten - horizontale Pfeile, um den Zeitverlauf anzuzeigen Message Sequence Charts, Live Sequence Charts 4

Message Sequence Charts : Definition (2) M = {P, E, C, l, m, <}, wobei P - eine Menge von Prozessen E - eine Ereignis-Menge C eine endliche Namensmenge für Nachrichten und lokale Aktionen l : E Τ = {p!q(a), p?q(a), p(a) p q P, a C} Beschriftungsfunktion p!q(a) p sendet eine Nachricht a nach q p?q(a) p empfängt eine Nachricht a von q p(a) ein lokales Ereignis Message Sequence Charts, Live Sequence Charts 5

Message Sequence Charts : Definition (3) M = {P, E, C, l, m, <}, wobei m : S R - eine bijektive Funktion, die jedem Send- Ereignis das zugehörige Receive- Ereignis zuordnet eine Halbordnung < i auf den Ereignissen des Prozesses P i s < r, wenn m(s) = r legt die zeitliche/visuelle Reihenfolge der Ausführung der Ereignisse fest Message Sequence Charts, Live Sequence Charts 6

Message Sequence Charts : Linearisierung Die Erweiterung < zu einer totalen Ordnung client!server(request) server?client(request) server!database(lookup) database?server(lookup) server!client(wait) client?server(wait) Message Sequence Charts, Live Sequence Charts 7

Message Sequence Graph : Definition Graph deren Knoten MSC s und Kanten Konkatenation von MSC s G = {V, R, v 0, V f, λ}, wobei V eine Knotenmenge R eine Menge der Transitionen R V V v 0 V der Anfangsknoten V f V die Endknoten λ(v) Beschriftungsfunktion vom Knoten v Message Sequence Charts, Live Sequence Charts 8

Message Sequence Graph : Beispiel Ausführung von G: 1. M 1 M 2 2. M 1 M 3 Message Sequence Charts, Live Sequence Charts 9

Hierarchical MSC s (HMSC) High-level MSC s verbesserter Strukturierungsmechanismus - Graph deren Knoten MSC s oder andere HMSC s Verschachtelung von Graphen Beschrieftung verschiedener Knoten mit gleichen HMSC s Message Sequence Charts, Live Sequence Charts 10

HMSC : Definition H = {N, B, V I, V T, µ, E}, wobei N endliche Knotenmenge B endliche Menge von Boxen V I N B Anfangsknoten oder Box V T N B Endknoten oder Endbox µ Beschrieftungsfunktion: n N MSC b B HMSC (bereits definierte) E (N B) (N B) - eine Menge von Kanten Message Sequence Charts, Live Sequence Charts 11

MSC s : Anwendung werden an früheren Stadien des Systementwurfs angewandt Fehlererkennung Model-checking Überprüfung von speziellen MSC s Eigenschaften (z.b. race conditions) non-local choice process divergence mittels Automaten, Halbordnungslogik Message Sequence Charts, Live Sequence Charts 12

MSC s : race conditions s 1 < r 1 < s 2 < r 2 < s 3 < r 3 s 1 < r 1 < s 2 < r 2 < s 3 < r 3??? s 1 < s 2 < r 2 < s 3 < r 3 < r 1 Message Sequence Charts, Live Sequence Charts 13

MSC s : non-local choice Implementierung von einzelnen Prozessen ist nicht trivial zusätzliche Information über andere Prozesse notwendig Message Sequence Charts, Live Sequence Charts 14

MSC s : process divergence keine Information über die Nachrichtenverbindung, Queuestrategie, Prozessorgeschwindigkeit P 1 kann schneller als P 2 sein Folgen: P 2 ist überflutet mit Nachrichten Implementation unterscheidet sich von der Spezifikation (req 1 und req 2 werden überschrieben oder verworfen) Message Sequence Charts, Live Sequence Charts 15

Zusammenfassung basic MSC s parallele Prozesse asynchrone Kommunikation via Nachrichtenaustauch MSG Iterationen, Bedingungen, sequenzielle Ausführung HMSC mehrere Hierarchien möglich Fehlererkennung in der früheren Stadien der Entwicklung Message Sequence Charts, Live Sequence Charts 16