Eine formale Semantik für die Verknüpfung von Verhaltensbeschreibungen in der UML 2

State Machines In diesem Kapitel wird der Formalismus der Abstract State Machines (ASMs) eingeführt. Mit den ASMs kann das Verhalten eines Systems formal beschrieben werden, wie im nächsten Abschnitt erläutert wird. In dieser Arbeit werden die ASMs verwendet, um die formalen Semantiken der einzelnen UML 2 Modelle und die Semantik für deren Verknüpfung zu spezifizieren (siehe Kapitel 4). Für eine detaillierte Einführung in die ASMs wird auf [Rei08] verwiesen. Umfassende Grundlagen und ausführliche Beispiele finden sich in [BS03]. 3.1 Einführung und Grundlagen Die Theorie hinter den Abstract State Machines beruht auf der Idee, dass ein Zustand eines Systems als mathematische Struktur beschrieben werden kann. Als Struktur werden Algebren verwendet, die einen Systemzustand mit Hilfe einer nicht–leeren Menge, des so genannten Universums, und Funktionen auf dieser Menge beschreiben. Um die Dynamik von Systemen auszudrücken, wird ein System von einem Zustand durch definierte Regeln in einen anderen Zustand gebracht. Gurevich beschrieb diese sich entwickelnden Algebren — evolving algebras — in [Gur93] und formulierte darauf aufbauend das Konzept der ASMs. Im Folgenden werden für ein besseres Verständnis der ASMs die Grundlagen für die Beschreibung eines Systems mit Zuständen und deren Überführung kurz erläutert. Die folgenden Definitionen 1 bis 7 werden aus [Gla05] übernommen. In der Arbeit von Glausch wird anhand eines Beispiels anschaulich die Theorie der sich verändernden Algebren eingeführt. Eine Signatur ist eine Menge von Funktionssymbolen, denen eine Stelligkeit zugeordnet ist. Definition 1 (Signatur). Eine Signatur Σ ist ein Tupel (f1, . . . , fk, n1, . . . , nk), wobei gilt: k ∈ N+, n1, . . . , nk ∈ N und f1, . . . , fk sind Funktionssymbole. Um semantische Informationen zu den rein syntaktischen Funktionssymbolen der Signatur hinzuzufügen, wird eine Σ–Algebra definiert. Sie weist den Funktionssymbolen f1, ..., fk Funktionen g1, . . . , gk zu und definiert ein Universum, auf dem die Funktionen operieren. Definition 2 (Σ–Algebra). Sei Σ = (f1, . . . , fk, n1, . . . , nk) eine Signatur. Sei A = (U, g1, . . . , gk) ein Tupel mit: U ist eine nicht–leere Menge, das Universum von A und für i = 1, . . . , k ist gi eine ni–stellige Funktion über U . Dann ist A eine Σ–Algebra. Mit einer Σ–Algebra lässt sich der Zustand eines Systems beschreiben. Zur Beschreibung von dynamischen Systemen, bei denen sich Zustände ändern und in Nachfolgezustände überführt werden,

[1]  Elvinia Riccobene,et al.  On formalizing UML state machines using ASM , 2004, Inf. Softw. Technol..

[2]  Jan Jürjens A UML statecharts semantics with message-passing , 2002, SAC '02.

[3]  Harald Fecher,et al.  UML 2.0 State Machines: Complete Formal Semantics Via core state machine , 2006, FMICS/PDMC.

[4]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[5]  Wolfgang Reisig Abstract State Machines for the Classroom , 2008 .

[6]  Walter Guttmann,et al.  Unifying the Semantics of UML 2 State, Activity and Interaction Diagrams , 2009, Ershov Memorial Conference.

[7]  Yuri Gurevich,et al.  Sequential abstract-state machines capture sequential algorithms , 2000, TOCL.

[8]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[9]  Walter Guttmann,et al.  An ASM Semantics of Token Flow in UML 2 Activity Diagrams , 2006, Ershov Memorial Conference.

[10]  Harald Störrle,et al.  Semantics of Control-Flow in UML 2.0 Activities , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[11]  Michelle L. Crane,et al.  Slicing the Three-layer Architecture: A Semantic Foundation for Behavioural Specification , 2007, MoDELS.

[12]  Elvinia Riccobene,et al.  Formal Analysis of the Kerberos Authentication System , 1997, J. Univers. Comput. Sci..

[13]  Júlio Henrique Araújo Pereira Machado,et al.  Defining Atomic Composition in UML Behavioral Diagrams , 2006, J. Univers. Comput. Sci..

[14]  Egon Börger,et al.  A high-level modular definition of the semantics of C# , 2005, Theor. Comput. Sci..

[15]  Stefan Kowalewski,et al.  Direct Support for Model Checking Abstract State Machines by Utilizing Simulation , 2008, ABZ.

[16]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[17]  Bernhard Thalheim,et al.  Modeling Workflows, Interaction Patterns, Web Services and Business Processes: The ASM-Based Approach , 2008, ABZ.

[18]  Jifeng He,et al.  A formal semantics of UML sequence diagram , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[19]  Willem P. de Roever,et al.  29 New Unclarities in the Semantics of UML 2.0 State Machines , 2005, ICFEM.

[20]  Conrad E. Bock UML 2 Activity and Action Models, Part 4: Object Nodes. , 2004 .

[21]  Ileana Ober An ASM Semantics of UML Derived from the Meta-model and Incorporating Actions , 2003, Abstract State Machines.

[22]  Thomas Baar,et al.  Semantics of OCL specified with QVT , 2008, Software & Systems Modeling.

[23]  Dominik Gessenharter,et al.  Mapping the UML2 Semantics of Associations to a Java Code Generation Model , 2008, MoDELS.

[24]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[25]  Roberto W. S. Rodrigues Formalising UML Activity Diagrams using Finite State Processes , 2000 .

[26]  Stefan Sarstedt Semantic foundation and tool support for model-driven development with UML 2 activity diagrams , 2006 .

[27]  Stefan Sarstedt,et al.  A New Approach to Combine Models and Code in Model Driven Development , 2005, Software Engineering Research and Practice.

[28]  Dirk Riehle,et al.  The architecture of a UML virtual machine , 2001, OOPSLA '01.

[29]  Egon Börger,et al.  Abstract State Machines , 2003 .

[30]  Kiwon Chong,et al.  The Technique of Test Case Design Based on the UML Sequence Diagram for the Development of Web Applications , 2005, ICCSA.

[31]  Jens Kohlmeyer Executing UML 2 Diagrams in ActiveCharts - A formal Semantics for the Combination of Behavior Specifications in the UML 2 , 2008 .

[32]  Egon Börger,et al.  A Programmer Friendly Modular Definition of the Semantics of Java , 1999, Formal Syntax and Semantics of Java.

[33]  Michael von der Beeck A structured operational semantics for UML-statecharts , 2002, Software and Systems Modeling.

[34]  Harald Störrle Semantics of interactions in UML 2.0 , 2003, HCC.

[35]  Andreas Blass,et al.  Abstract state machines capture parallel algorithms , 2003, TOCL.

[36]  Wolfgang Reisig On Gurevich's theorem on sequential algorithms , 2003, Acta Informatica.

[37]  Conrad E. Bock,et al.  UML 2 Activity and Action Models, Part 2 , 2003, J. Object Technol..

[38]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[39]  Gunnar Övergaard,et al.  Interacting Subsystems in UML , 2000, UML.

[40]  Bran Selic On the Semantic Foundations of Standard UML 2.0 , 2004, SFM.

[41]  Gianna Reggio,et al.  Towards a Rigorous Semantics of UML Supporting Its Multiview Approach , 2001, FASE.

[42]  Harald Störrle,et al.  Towards a Formal Semantics of UML 2.0 Activities , 2005, Software Engineering.

[43]  Elvinia Riccobene,et al.  An ASM Semantics for UML Activity Diagrams , 2000, AMAST.

[44]  Stefan Sarstedt Overcoming The Limitations of Signal Handling when Simulating UML 2 Activity Charts , 2005 .

[45]  Elvinia Riccobene,et al.  Modeling the meaning of transitions from and to concurrent states in UML state machines , 2003, SAC '03.

[46]  Bernhard Rumpe,et al.  Model-Based Testing of Object-Oriented Systems , 2002, FMCO.

[47]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[48]  Michelle L. Crane,et al.  UML vs. classical vs. rhapsody statecharts: not all models are created equal , 2005, MoDELS'05.

[49]  María Victoria Cengarle,et al.  System model for UML -- The interactions case , 2006, MMOSS.

[50]  Paul Francis,et al.  Model Driven Architecture with Executable UML , 2004 .

[51]  Elvinia Riccobene,et al.  Modeling the Dynamics of UML State Machines , 2000, Abstract State Machines.

[52]  Egon Börger,et al.  Abstract State Machines , 2003 .

[53]  David Harel,et al.  The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML) - Preliminary Version , 2004, SoftSpez Final Report.

[54]  Jing Liu,et al.  Unifying Views of UML , 2004, CVUML.

[55]  Andreas Blass,et al.  General Interactive Small Step Algorithms , 2005 .

[56]  Egon Börger,et al.  An ASM Specification of C# Threads and the .NET Memory Model , 2004, Abstract State Machines.

[57]  Stefan Sarstedt,et al.  Model-driven development with ActiveCharts - Tutorial , 2006 .

[58]  Anthony J. H. Simons,et al.  Control-flow semantics of use cases in UML , 1999, Inf. Softw. Technol..

[59]  Bernhard K. Aichernig,et al.  A Coalgebraic Semantic Framework for Component-based Development in UML , 2004, CTCS.

[60]  Jan Hendrik Hausmann,et al.  Dynamic META modeling: a semantics description technique for visual modeling languages , 2005 .

[61]  Michelle L. Crane,et al.  Towards a UML virtual machine: implementing an interpreter for UML 2 actions and activities , 2008, CASCON '08.

[62]  Manfred Broy,et al.  Modulare hierarchische Modellierung als Grundlage der Software- und Systementwicklung , 2007, Informatik-Spektrum.

[63]  Alan Hartman,et al.  A UML simulator based on a generic model execution engine , 2006, MoDELS'06.

[64]  Wolfgang Reisig,et al.  ASM-based Semantics for BPEL: The Negative Control Flow , 2005, Abstract State Machines.

[65]  Harald Störrle,et al.  Trace Semantics of Interactions in UML 2.0 , 2004 .

[66]  Jan Jürjens Formal Semantics for Interacting UML subsystems , 2002, FMOODS.

[67]  Andreas Blass,et al.  Ordinary interactive small-step algorithms, I , 2006, TOCL.

[68]  Yuri Gurevich,et al.  Evolving Algebras: an Attempt to Discover Semantics , 1993, Current Trends in Theoretical Computer Science.

[69]  Margus Veanes,et al.  Universal Plug and Play Machine Models , 2002, DIPES.