19
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 1 Harald Detering Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harel‘s „Statecharts: A Visual Formalism for Complex Systems“, Science of Computer Programming 8 (1987)]

Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Embed Size (px)

Citation preview

Page 1: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 1Harald Detering

StatechartsEin visueller Formalismus für komplexe

Systeme[nach David Harel‘s „Statecharts: A Visual Formalism for Complex Systems“, Science of Computer

Programming 8 (1987)]

Page 2: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 2Harald Detering

Überblick

1. Einleitung2. Motivation3. Statecharts

1. Superstates2. Orthogonalität3. erweiterte Transitionen

4. Szenario: Fahrradcomputer5. Zusammenfassung

Page 3: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 3Harald Detering

1. Einleitung

System

„Gebilde, dessen Elemente sichals Einheit von

der Umwelt abgrenzen“

Def. nach Wikipedia (03.05.2006)

TransformationalesSystem

Reaktives System

Page 4: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 4Harald Detering

1. Einleitung

Klassische Zustands-Ereignis-Diagramme:

Deterministischer EndlicherAutomat

Moore-Automat Mealy-Automat

Page 5: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 5Harald Detering

2. Motivation

Defizite klassischer Zustands-Diagramme:

Gruppierung / Verfeinerung von Zuständen

Darstellen der Unabhängigkeit von Zuständen

Allgemeinere Transitionen Vielzahl von Zuständen, da „flach“

Zur Beschreibung komplexer,reaktiver Systeme ungeeignet!

Page 6: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 6Harald Detering

3. Statecharts

Entwickelt von David Harel in 1984

1978 Habilitation am Massachusetts Institute of Technology

(seit 1980 am Weizmann Institute of Science)

Fachgebiete: Komplexität Dynamische Logik Datenbanktheorie Automatentheorie Visuelle Programmierung (MDD)

Page 7: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 7Harald Detering

3. Statecharts

„Statecharts = Zustandsdiagramme+ Tiefe+ Orthogonalität+ Broadcast-Kommunikation“

Page 8: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 8Harald Detering

3. Statecharts

Notation:

A

B

Zustand

Default

Transition

Ereignis

Page 9: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 9Harald Detering

3. Statecharts

wesentliche Merkmale:1. Superstates2. Orthogonalität (Unabhängigkeit)3. Erweiterte Transitionen

Page 10: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 10Harald Detering

3.1 Superstates

Zustände können ineinander geschachtelt werden

Ermöglichen Gruppierung undVerfeinerung von Zuständen

Page 11: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 11Harald Detering

3.1 Superstates

Weiterer Vorteil: Zoom-In / -Out möglich

Page 12: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 12Harald Detering

3.2 Orthogonalität

Darstellung der Nebenläufigkeit, Unabhängigkeit von Zuständen:

•Konfiguration =Kombination ausZuständen allerSubstates

•Nebenläufige Stateskönnen Bezug auf-einander nehmen

Page 13: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 13Harald Detering

3.3 erweiterte TransitionenTransitionen erweitert um

HistorieBeim Eintritt in einen Zustand wird in den letztbesuchte Unterzustand gesprungen

AktionenTransitionen können selbst Ereignisse auslösen, die von allen anderen Zuständen wahrgenommen werden( Broadcast-Kommunikation)

Page 14: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 14Harald Detering

3.3 erweiterte TransitionenTransitionen erweitert

um

BedingungenTransition wird nur dann ausgeführt, wenn best. Bedingung zutrifft

SelektionAuswahl eines Unterzustandes aufgrund eines Selektionskriteriums

Page 15: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 15Harald Detering

4. Szenario

Funktionen: Tageskilometer Fahrzeit durchschn.

km/h max. km/h Uhrzeit Kilometer

gesamt Fahrzeit gesamt

a

b c

Page 16: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 16Harald Detering

4. Szenario

Resultierender Statechart:

Sigma BC 1106Display

Standby

aktivTages-km

Fahrzeit

a

durchschn. km/h

a

max. km/h

a

Uhrzeita

gesamt km

a

Gesamtzeit

a

a

aOR

i (in Rechner.stop)15 min.

keine Aktion

Rechner

run

stop

2 Sek.kein ii

Page 17: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 17Harald Detering

5. Zusammenfassung

Stärken: Graphische Beschreibung

komplexer Systeme Schwächen:

schwerer formalisierbar als „klassische“ Zustandsautomaten

Widersprüche/Zyklen möglich

Page 18: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 18Harald Detering

5. Zusammenfassung Hat in einer Variante Einzug in

die UML gefunden („UML-Statechart“)

diverse Tools: Rhapsody Statemate Poseidon

1997: Weiterentwicklung „Objektorientierte Statecharts“

Page 19: Harald Detering Proseminar Software Pioneers (Prof. Dr. Heike Wehrheim) 1 Statecharts Ein visueller Formalismus für komplexe Systeme [nach David Harels

Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim) 19Harald Detering

?Fragen?