Privacy Policy Cookie Policy Terms and Conditions Statechart - Wikipedia

Statechart

aus Wikipedia, der freien Enzyklopädie

Die Artikel Statechart, Zustandsübergangsdiagramm und Zustandsdiagramm überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Die Diskussion über diese Überschneidungen findet hier statt. Bitte äußere dich dort, bevor du den Baustein entfernst. Avron 18:42, 21. Nov. 2006 (CET)

Statechart (engl. Zustandsdiagramm) ist eine Darstellungsform eines Endlichen Automaten in der Informatik, die von David Harel eingeführt wurde. Die Notation erlaubt die präzise Spezifikation von zustandsbasierten Systemen.

Zu unterscheiden von Zustandsdiagrammen nach Harel sind die Zustandsdiagramme der UML, die eine andere Notation und Erweiterungen verwenden.

[Bearbeiten] Beschreibung

David Harel führte mehrere Notationselemente ein, um die Komplexität großer Systeme mittels Endlicher Automaten handhabbar zu machen:

  • Hierarchie mit Unterzustandsautomaten, in denen in einem Zustand einer höheren Ebene ein weiterer vollständiger Zustandsautomat steckt. Die Unterzustandsautomaten können entweder einen eigenen Startzustand haben, oder aber können Unterzustände direkt angesprungen werden.
  • Komposition für die Darstellung von parallelen Zustandsautomaten. Hierbei sind AND und OR-Komposition möglich, die ein gleichzeitiges oder abwechselndes Schalten der Automaten vorsehen
  • Inter-Level-Transitionen, welche auch einen Unterzustand in einen Zustand einer anderen Ebene überführen können und vice versa.
  • History-Konnektor, der für einen Unterzustandsautomat bei dessen Verlassen den zuletzt eingenommenen Zustand speichert, um beim Wiedereintritt in den Unterzustandsautomat diesen Zustand wieder einzunehmen. Der History-Konnektor wird mit einem eingekreisten H notiert.
  • Condition-Konnektor, der einen Zustandsübergang (eine Transition) abhängig von einer Bedingung in disjunkt in verschiedene Zielzustände überführt. Der Condition-Konnektor wird mit einem eingekreisten C notiert.
  • Temporale Logik kann in den Transitionen verwendet werden, um beispielsweise Timeouts anzugeben.
  • Entry-, Exit-, Throughout-Actions von Zuständen, welche Aktionen angeben, die beim Eintreten, Verlassen bzw. während des Aufenthalts in einem Zustand ausgeführt werden. Die Anzahl der Ausführungen der Throughout-Aktion hängt somit auch von der Taktung des Zustandsautomaten ab.

[Bearbeiten] Werkzeuge

Neben den UML-Werkzeugen sind Statecharts auch in einer Reihe weiterer sowohl offener als auch kommerzieller Werkzeuge implementiert, z.B. (Liste unvollständig)

[Bearbeiten] Literatur

  • David Harel: Statecharts: A visual approach to complex systems, CS84-05, Department of Applied Mathematics, The Weizmann Institute of Science, 1984
  • David Harel: Statecharts: A Visual Formalism for Complex Systems. In: Science of Computer Programming. 8/1987, North Holland, S. 231-274, (PDF)
Andere Sprachen

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -