On Formalizing UML State Machines Using ASMs

Size: px
Start display at page:

Download "On Formalizing UML State Machines Using ASMs"

Transcription

1 1 On Formalizing UML State Machines Using ASMs Egon Börger a Alessandra Cavarra b Elvinia Riccobene c a Dipartimento di Informatica Università di Pisa, Italy b Oxford University Computing Laboratory, Wolfson Building Parks Road, Oxford, OX1 3QD, UK c Dipartimento di Matematica e Informatica Univerisità di Catania, Italy 1. INTRODUCTION UML (Unified Modeling Language [1]) is a standard notation based on a set of diagrams to describe the structure and the behavior of software systems. In [2] the authors claim that UML is more than just a graphical language. Rather, behind every part of its graphical notation there is a specification that provides a textual statement of the syntax and semantics of that building block. However, the UML semantics document [1] only gives an unambiguous textual definition of the syntax for the UML notations and leaves the behavioral content of various UML constructs largely open. The necessity to develop the UML as a precise (i.e. well defined) modeling language is widely felt [11,10,24] and the puml (precise UML) group has been created to achieve this goal [23]. With this paper we want to survey previous work [3 5] done to provide a precise definition of some basic concepts of UML which are related to the dynamics of systems. Technical details are left out for lack of space but they are duly referenced. Our goal here is to discuss a framework for the rigorous description and analysis of different possible logically consistent interpretations of the intuitions which underly UML concepts: how (a) it faithfully reflects the original intuitions as far as possible; (b) it makes the so-called semantic variations points explicit; (c) clarifies some dark but semantically relevant points in the UML documents. This includes the event deferring and completion mechanism, the meaning of atomic and durative actions, concurrent internal activities and conflict situations which may arise through the concurrent behavior of active objects. We develop this framework for one of the principal diagram types which are used in UML for the description of system behavior, namely statecharts or UML state machines. 2. ABSTRACT STATE MACHINES ASMs are transition systems, their states are multi-sorted first-order structures, i.e. sets with relations and functions, where for technical convenience relations are considered as characteristic boolean-valued functions. The transition relation is specified by rules describing the modification of the functions from one state to the next, namely in the form of guarded updates ( rules ) if Condition then Updates where U pdates is a set of function updates f(t 1,..., t n ) := t, which are simultaneously executed when Condition is true. We use multi-agent ASMs [14] to model the concurrent substates and the internal activities which may appear in a UML state machine. A multi-agent ASM is given by a set of (sequential) agents, each executing a program consisting of ASM rules. Multi-agent runs are defined in [14]. Since ASMs offer the most general notion of state, namely structures of arbitrary data and operations which can be tailored to any desired level of abstraction, this allows us on the one side to reflect in a simple and coherent way the integration of control and data structures, resulting from mapping state machines to the UML object model. In fact, machine transitions are described

2 2 by ASM rules where the actions become updates of data (function values for given arguments). On the other side also the interaction between objects is naturally reflected by the notion of state of multi-agent (distributed) ASMs. For the constructs of sequentialization, iteration and submachine of sequential ASMs we use the definitions which have been given in [6]. They provide the concept of stable state needed to guarantee that the event triggered sequential exit from and entry into nested diagrams is not interrupted by a too early occurrence of a next event. 3. UML STATE DIAGRAMS State diagrams focus on the event-ordered behavior of an object, a feature which is specially useful in modeling reactive systems. A state reflects a situation in the life of an object during which this object satisfies some condition, performs some action, or waits for some event. Transitions are viewed in UML as relationships between two states indicating that an object in the first state will enter the second state and perform specific actions when a specified event occurs provided that certain conditions are satisfied [1]. Accordingly, we introduce the abstract sets STATE and TRANSITION (more details can be found in [3,4]) Handling State Diagrams Control To formalize the control in a state machine, we introduce a set of AGENT s which move through the diagram, each executing what is required for its currently active state. A state becomes active when it is entered as result of some transition, and becomes inactive if it is exited as result of a transition. In a hierarchical state machine more then one state can be active at once. If the control is on a simple state that is contained in a composite state, then all the composite states that either directly or transitively contain the simple state are also active [1]. To maintain the current configuration of active states, we introduce a dynamic function currstate : AGENT P(STATE) whose updates follow the control flow of the given state machine. The function deepest : AGENT STATE yields the last (innermost) state reached by an agent. The agents execute UML state machines, i.e. all use the same ASM rule. As a consequence, in the formulation of these rules below, we use the 0-ary function Self which is interpreted by each agent a as a. When a new agent is created to perform a concurrent subcomputation (defined by one of the substates in a concurrent composite state), it is linked to the parent agent by the dynamic function parent : AGENT AGENT {undef}.the active subagents of an agent a are collected in the set SubAgent(a) = {a AGENT parent(a ) = a}. The function descendents : AGENT P(AGENT) yields the set of all the active subagents of an agent at any depth of concurrency. At the beginning of the computation, we require that there is a unique agent positioned on the initial state of the top state, and whose program consists of the rules Transition Selection (described below) for selecting and executing a transition, and Generate Completion Event (see [3,4] for a complete explanation) to handle completion events. These two rules define the top level behavior of UML state diagrams Event Handling An event is received when it is placed on the event queue of its target. An event is dispatched when it is dequeued from the event queue and delivered to the state machine for processing. At this point, it is referred as the current event. Finally, it is consumed when event processing is complete. A consumed event is no longer available for processing [1]. Since the particular event enqueuing and dispatching mechanisms are deliberately not furthermore specified in UML, we model them explicitly as semantic variation points and therefore use a monitored predicate dispatched indicating which event is dequeued to be processed. The run to completion assumption requires that a state diagram processes one event at a time and finishes all the consequences of that event before processing another event [1]. We reflect this requirement by a constraint on dispatched. At any moment, the only transitions that are eligible to fire when an event e occurs are the ones

3 3 departing from an active state (i.e. belonging to currstate) and whose associated guard evaluates to true. This is expressed by the condition enabled(t, e, a) event(t) = e & guard(t) & source(t) currstate(a). It is possible for more than one transition to be enabled by the same event, but UML allows only those transitions to be fired simultaneously which occur in concurrent substates [1]. In all the other cases, the enabled transitions are said to be in conflict with each other. A number of conflicting situations are reported in the UML official documentation. In general, these conflicts are left open as semantic variation points. In UML the selection among conflicting transitions is constrained only when two or more transitions with different source states, but belonging to the same active state configuration, are enabled by the occurrence of an event. In this case priority is given to the innermost enabled transition. Let enabled(e) be the set of all transitions (simultaneously) enabled by e. On enabled(e) we define an equivalence relation: t 1, t 2 enabled(e), t 1 t 2 iff source(t 1 ) = source(t 2 ). The nesting of states induces the total order relation on the quotient set enabled(e)/, defined as [t 1 ] a [t 2 ] b, a, b AGENT, iff (a = b & source(t 1 ) is a direct or a transitively nested substate of source(t 2 )) (a descendants(b) & source(t 1 ) currstate(a) & source(t 2 ) currstate(b) & source(t 1 ) is a direct or a transitively nested substate of concurrentcomp(source(t 2 )). Let FirableTrans(e) be the minimum equivalence class in enabled(e)/. It reflects the UML requirement that among transitions enabled by the same event and with different source states, priority is given to an innermost one. The choice among those innermost ones is left open as semantic variation point (see the choose construct in the Transition Selection rule). Remark. More conflict situations, not reported in the UML official documentation and mainly concerning transitions in concurrent substates, have been discovered by simulating our model in [7]. For a complete description of conflicting situations we refer the reader to [4]. Deferred Events. Events may be specified by a state as being possibly deferred. They are actually deferred if, when occurring, they do not trigger any transition. This will last until a state is reached where they are no more deferred or where they trigger a transition. An event deferred in a composite state is automatically deferred in all its directly or transitively nested substates [1]. If a dispatched event does not trigger any transition in the current state, it is lost unless it occurs in the deferred set of the deepest active state. This is formalized by the following predicate deferrable on EVENT: deferrable(e) = true enabled(e) = & e defer(deepest). To store deferred events we associate to each agent a list deferqueue of events that is dynamically updated during the computation. We can therefore define deferred(e) to mean e defer- Queue. We call a deferred event releasable when it is ready to be consumed, i.e. when it can trigger a transition in the current state: releasable(e) = true deferred(e) & enabled(e). 4. STATE DIAGRAMS BEHAVIOR To describe the dynamic semantics of state diagrams by ASM rules, we proceed in a modular and top down fashion. At the top level, we describe the run-to-completion (rtc) step which is the passage between two state configurations, and then we define in more details the sequence of steps a machine performs in changing state. The Run To Completion Step. A rtc step of a state machine consists in choosing an event with an enabled transition and firing the enabled transition. Apparently, UML leaves it unspecified how to choose between dispatched and releasable events. We reflect this by using a selection function which, at any step, chooses either a dispatched event triggering a transition, or an event that has been deferred. A dispatched event, if deferrable, has to be inserted into the deferqueue. A releasable event, when chosen for execution, has to be deleted from deferqueue. This implies that when choosing an event which is simultaneously dispatched and releasable, that event will be deleted from the deferred events. The submachine statemachineexecution is responsible for the execution of transitions. Its pa-

4 4 rameterization by transitions allows us to modularize the definition for the different types of transitions and the involved states. Rule Transition Selection choose e : dispatched(e) releasable(e) choose trans in FirableTrans(e) statemachineexecution(trans) if deferrable(e) then insert(e,deferqueue) if releasable(e) then delete(e,deferqueue) State machine execution. If an internal transition is triggered, then the corresponding action is executed (no exit or entry actions are performed). Otherwise, if an external transition is triggered, we must determine the correct sequence of exit and entry actions to be executed according to the transition source and target state. Transitions outgoing from composite states are inherited from their substates so that a state may be exited because a transition fires that departs from some of its enclosing states. If a transition crosses several state boundaries, several exit and entry actions may be executed in the given order. To this purpose, we seek the innermost composite state that encloses both the source and the target state, i.e. their least common ancestor. Then the following actions are executed sequentially: (a) the exit actions of the source state and of any enclosing state up to, but not including, the least common ancestor ToS, innermost first; (b) the action on the transition; (c) the entry actions of the target state and of any enclosing state up to, but not including, the least common ancestor FromS, outermost first; finally (d) the nature of the target state is checked and the corresponding operations are performed. (Details on the macros can be found in [3,4].) statemachineexecution(trans) if internal(trans) then action(trans) else seq exitstate(source(trans),tos) action(trans) enterstate(froms,target(trans)) case target(trans) SequentialState: enterinitialstate(target(trans)) ConcurrentState: startconcurrcomput(target(trans)) HistoryState: restoreconfig(target(trans)) endcase The ASM constructs for sequentialization and iteration defined in [6] provide the combination of black box (atomic step) view and the white box (durative) view which is needed in the definition of the parameterized macro statemachineexecution to guarantee that when the ASM rule is executed, all the updates which occur in the called macros are performed before the next event is dispatched or becomes releasable. Transitions to/from Concurrent Substates If a transition drawn from a concurrent state boundary fires, any active states in all its subregions are properly exited according to the statemachineexecution macro. However, transitions may be drawn directly from states within a concurrent state region at any nesting depth to outside states. All exit actions are performed for any states that are exited on any transition [1]. In case a triggered transition overcomes the boundary of a concurrent sub-region, the run-tocompletion step has to be performed by the ancestor agent lying in the transition s source/target least common ancestor state. The statemachineexecution performed by this agent guarantees the correct semantics. In order to guarantee the reaction of the correct agent to the firing of a transition, we have redefined the predicate enabled(t, e, a). (See [5] for details). A transition drawn to a concurrent state boundary indicates a transition to the initial pseudostate of each of its concurrent substates. However, transitions may be drawn directly to states within a concurrent composite state region at any nesting depth. All entry actions are performed for any states that are entered on any transition. The transition target state is entered, whereas any other concurrent regions start with their default initial pseudostate. To formalize the complex entering mechanism when the triggered transition overcomes the boundary of a concurrent region, we have refined the entering state procedure, as given by the macro enterstate, in order to guarantee that the following actions are executed sequentially: (a) entering the sequence of nested states crossed by the transition from the direct substate of the transition s source/target least common ancestor state, to the first concurrent state of the chain; (b) starting the concurrent computation of as many

5 5 new sub-agents as the number of concurrent subregions of the concurrent state; all the newly created agents are set on the initial states of their associated subcomponents, except the agent lying in the subregion crossed by the transition, which must (c) proceed the entering action through the down chain of nested states till the next concurrent nested state. Details on the enterstate macro refinement can be found in [5]. 5. DISCUSSION In this section we discuss some ambiguities in the official semantics of UML state machines [1] which are resolved in the ASM model and show how the UML requirements for statecharts are satisfied by our model. The state machine execution is formalized through the macro statemachineexecution that reflects the scheme of a generic control machine. The resulting ASM statecharts reflect all the characteristics of the state machines metamodel in [1] and add to its structural, static definition the underlying control flow semantics. It answers subtle questions related to the execution of ongoing state activities. E.g. what does happen when an internal transition occurs? Does the activity interrupt and then restart from the same computation point, or does it never interrupt? The way we model internal activities guarantees the second, to our understanding reasonable, alternative. However, our model can be easily adapted to formalize other behaviors. By replacing the informal UML terms of action and activity with ASM rule in its structured form [6], we provide a precise mathematical content to these terms without loosing the generality intended by the designers of UML. In particular, a precise meaning of the informal UML term ongoing internal activity is obtained, namely as execution of an ASM in a multi-agent distributed run as defined in [14]. The sequentialization, iteration and ASM submachine constructs defined in [6] clarify in what sense sequences of nested exit and entry actions can be guaranteed to be executed in one run to completion step, as postulated by the UML documents, namely before the next event may trigger the next step. Our model also makes explicit some semantically relevant features e.g. whether abortion of internal activities and exit actions of concurrent agents should be synchronized or not which have not been considered in the official UML specification. Many papers on the semantics of statecharts exist in the literature (see next section), nevertheless, the debate is still ongoing on what exactly should be considered as the authoritative definition of UML State Machines which integrate statecharts with the UML object model. Unless necessary to avoid inconsistencies, we do not take any position on which of these understandings of UML state machine concepts is reasonable or desirable but build a framework which shows the freedom offered to implementors by the semantic variations points, read: different possible logically consistent interpretations of the intuitions which underly the UML concepts. Our specific goals concerning UML state machines are to: (a) accurately define the UML event handling scheme making its semantic variation points explicit, including the event-deferring and the event-triggered run-to-completion mechanisms; (b) encapsulate the run-to-completion step in two simple rules (Transition Selection and Generate Completion Events), where the peculiarities relative to entry/exit or transition actions and sequential, concurrent or history states are dealt with in a modular way; (c) clarify various difficulties concerning the scheduling scheme for internal ongoing (really concurrent) activities, including an analysis of the conflict situations which may arise through the concurrent behavior of active objects; (d) describe all the UML state machine features that break the thread-of-control, including transitions from and to concurrent states in the context of event deferring and run-to-completion. Note that this involves the sequential execution, respectively the termination, of entry and exit actions, in the order prescribed by the diagram structure as well as starting or terminating all the subcomputations encountered at the boundaries of concurrent substates between source and target state; (e) integrate smoothly the state machine control structure with the data flow; (f) provide a precise computational content to the UML terms of

6 6 atomic and durative actions/activities, without losing the intended generality of these concepts. Our model can also serve as reference model for implementing tools for code generation, simulation and verification of UML models. A. Cavarra has extended the ASM interpreter AsmGofer [26] to build a simulator for UML state machines that can be used for high-level simulation [8,7]. 6. RELATED WORK Several semantics for statecharts have been proposed in the literature. Differently from the formalization of UML state machines in [13,19, 24,27], our model reflects the original structure of machines as described in the UML documents, without imposing any graphical transformation or flattening of diagrams. [13] uses graph rewriting techniques to transform UML state machines into a normal form, without considering the execution of actions and activities. A similar approach based on graph transformation is used in [19] where however history states, actions, and guards are not formalized. Also in the model in [24], which uses an algebraic specification approach, some state machines features are left out or covered by semantical equivalences. A partial definition of UML state machine semantics is given in [27] using Labelled Transition Systems. Latella et al. [21] exploit hierarchical automata as an intermediate language for formulating the semantics in terms of Kripke structures. Lilius and Paltor [22] develop an operational semantics of UML statechart on the basis of a termrewriting system and a predetermined static priority relation on transitions. This then serves as the theoretical basis of their vuml tool. Schäfer et al. propose in [25] a dynamic computation algorithm; they model states as individual processes communicating through channels. In order to determine firable transitions, the control is transferred from the top state process down to leaf state processes. Translations of UML models into the SPIN input language Promela for verification in SPIN are provided in [22,25,20,12]. Compton et al. present in [9] an ASM model for statecharts in order to develop a tool for UML model properties verification. They built an extended statechart by adding a transition for every affected state of a firing transition. In [17,18] Jürjens provides an ASM semantics for a part of UML that allows one to use UML subsystems to group together several diagrams making use of the statechart semantics from [3]. Using ASMs, Jin et al. present in [16] a generic approach to integrating a visual language in a heterogeneous modeling and simulation environment; they use UML diagrams as an example for their approach. REFERENCES 1. OMG Unified Modeling Languages Specification, version 1.4, G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language User Guide. Addison Wesley, E. Börger, A. Cavarra, E. Riccobene. Modeling the dynamics of UML state machines. LNCS 1912, pages , E. Börger, A. Cavarra, E. Riccobene. A precise semantics of UML State Machines: making semantic variation points and ambiguities explicit. In Proc. SFEDL02 - ETAPS 2002, E. Börger, A. Cavarra, E. Riccobene. Modeling the meaning of transitions from and to concurrent states in UML State Machines. In SAC E. Börger, J. Schmid. Composition and submachine concepts for sequential ASMs. Number 1862 in LNCS, pages 41 60, A. Cavarra. Applying Abstract State Machines to Formalize and Integrate the UML Lightweight Method. PhD thesis, A. Cavarra, E. Riccobene. Simulating uml statecharts. In Proc. EUROCAST 2001, K. Compton, J. Huggins, W. Shen. A semantic model for the state machine in the Unified Modeling Language. In Dynamic Behavior in UML Models: Semantic Questions UML 2000 workshop, A. S. Evans, J-M. Bruel, K. Lano R. France, B. Rumpe. Making UML precise. In OOP- SLA 98, R. B. France, A. S. Evans, K. C. Lano, B. Rumpe. Developing the UML as a formal modeling notation. Computer Standards and Interfaces: Special Issues on Formal Development Techniques, Accepted for publication, S. Gnesi, D. Latella, M. Massink. Model checking UML statechart diagrams using JACK. In

7 7 Proc. of the Fourth IEEE International Symposium on High Assurance Systems Engineering. IEEE, M. Gogolla, F. P. Presicce. State diagrams in UML: A formal semantics using graph transformations. In Proc. PSMT 98. TUM-I Y. Gurevich. Evolving Algebras 1993: Lipari Guide. In E. Börger, editor, Specification and Validation Methods, pages Oxford University Press, D. Harel, E. Gery. Executable object modeling with statecharts. Computer, IEEE Computer Society, 30(7):31 42, Y. Jin, R. Esser, and J.W. Janneck. Describing the Syntax and Semantics of UML Statecharts in a Heterogeneous Modelling Environment. In Diagrams 2002, volume LNAI, J. Jürjens. A UML statecharts semantics with message-passing. In SAC2002, ACM. 18. J. Jürjens. Formal Semantics for Interacting UML subsystems. In FMOODS Kluwer. 19. S. Kuske. A formal semantics of UML State Machines based on structured graph transformation. In Proc. UML 2001, volume 2185 of LNCS. 20. D. Latella, I. Majzik, M. Massink. Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker. FAC99, 11(6). 21. D. Latella, I. Majzik, M.Massink. Towards a formal operational semantics of UML statechart diagrams. In Proc. FMOODS I. Paltor, J. Lilius. Formalising UML state machines for model checking. In Proc. UML 99, volume 1723 of LNCS. Springer. 23. The precise UML group G. Reggio, E. Astesiano, C. Choppy, H. Hussmann. Analysing UML Active Classes and Associated State Machines A Lightweight Formal Approach. In Proc. FASE 2000, LNCS T. Schfer, A. Knapp, S. Merz. Model Checking UML State Machines and Collaborations. ENTCS, 47:1 13, J. Schmid. Executing ASM specifications with AsmGofer M. von der Beeck. Formalization of UML- Statecharts. In Proc. UML 2001, volume 2185 of LNCS. Springer, 2001.

Thirty one Problems in the Semantics of UML 1.3 Dynamics

Thirty one Problems in the Semantics of UML 1.3 Dynamics Thirty one Problems in the Semantics of UML 1.3 Dynamics G. Reggio R.J. Wieringa September 14, 1999 1 Introduction In this discussion paper we list a number of problems we found with the current dynamic

More information

(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2

(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2 A Semantic Model for the State Machine in the Unied Modeling Language Kevin Compton 1, James Huggins 3, and Wuwei Shen 1? 1 EECS Department, University of Michigan 1301 Beal Avenue, Ann Arbor, MI 48109-2122

More information

State Machine Diagrams

State Machine Diagrams State Machine Diagrams Introduction A state machine diagram, models the dynamic aspects of the system by showing the flow of control from state to state for a particular class. 2 Introduction Whereas an

More information

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 State machines 109 History and predecessors 1950 s: Finite State Machines Huffmann, Mealy, Moore 1987: Harel Statecharts conditions hierarchical (and/or) states history states

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management

Ingegneria del Software Corso di Laurea in Informatica per il Management Ingegneria del Software Corso di Laurea in Informatica per il Management UML: State machine diagram Davide Rossi Dipartimento di Informatica Università di Bologna State machine A behavioral state machine

More information

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Static Safety Analysis of UML Action Semantics for Critical Systems Development Static Safety Analysis of UML Action Semantics for Critical Systems Development Zsigmond Pap, Dániel Varró Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Checking consistency between architectural models using SPIN

Checking consistency between architectural models using SPIN ing consistency between architectural models using SPIN Paola Inverardi & Henry Muccini & Patrizio Pelliccione Dipartimento di Matematica Universitá dell Aquila - Via Vetoio, 1 67100 L Aquila, Italy finverard,

More information

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic Exercise Unit 2: Modeling Paradigms - RT-UML UML: The Unified Modeling Language Statecharts RT-UML in AnyLogic Simulation and Modeling I Modeling with RT-UML 1 RT-UML: UML Unified Modeling Language a mix

More information

A Formal V&V Framework for UML Models Based on Model Transformation Techniques

A Formal V&V Framework for UML Models Based on Model Transformation Techniques A Formal V&V Framework for UML Models Based on Model Transformation Techniques Soon-Kyeong Kim and David Carrington Information Technology and Electrical Engineering The University of Queensland, St. Lucia,

More information

Lecture 16: Hierarchical State Machines II

Lecture 16: Hierarchical State Machines II Software Design, Modelling and Analysis in UML Lecture 6: Hierarchical State Machines II 206-0-9 6 206-0-9 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Checking General Safety Criteria on UML Statecharts

Checking General Safety Criteria on UML Statecharts Checking General Safety Criteria on UML Statecharts Zsigmond Pap, István Majzik 1 and András Pataricza Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

How useful is the UML profile SPT without Semantics? 1

How useful is the UML profile SPT without Semantics? 1 How useful is the UML profile SPT without Semantics? 1 Susanne Graf, Ileana Ober VERIMAG 2, avenue de Vignate - F-38610 Gières - France e-mail:{susanne.graf, Ileana.Ober}@imag.fr http://www-verimag.imag.fr/~{graf,iober}

More information

An Automatic Approach to Model Checking UML State Machines

An Automatic Approach to Model Checking UML State Machines An Automatic Approach to Model Checking UML State Machines Shao Jie Zhang NUS Graduate School for Integrative Sciences and Engineering National University of Singapore Singapore shaojiezhang@nus.edu.sg

More information

Completeness and Consistency Analysis of UML Statechart Specifications

Completeness and Consistency Analysis of UML Statechart Specifications Completeness and Consistency Analysis of UML Statechart Specifications Zs. Pap, I. Majzik 1, A. Pataricza and A. Szegi Dept. of Measurement and Information Systems Budapest University of Technology and

More information

USING ABSTRACT STATE MACHINES TO SUPPORT UML MODEL INSTANTIATION CHECKING

USING ABSTRACT STATE MACHINES TO SUPPORT UML MODEL INSTANTIATION CHECKING USING ABSTRACT STATE MACHINES TO SUPPORT UML MODEL INSTANTIATION CHECKING Wuwei Shen Department of Computer Science Western Michigan University Kalamazoo, MI 49008, USA email: wwshen@cs.wmich.edu Weng

More information

STATE MACHINES. Figure 1: State Machines

STATE MACHINES. Figure 1: State Machines STATE MACHINES Figure 1: State Machines state machine A state machine is a behavior that specifies the sequences of states an object goes through during its lifetime in response to events. Graphically,

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2003 Vol. 2, No. 6, November-December 2003 UML 2 Activity and Action Models Part 3:

More information

Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth

Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth Verification Framework for Detecting Safety Violations in UML State chart Models of Reactive Systems C.M. Prashanth Dept. of Computer Engineering N.I.T.K, Surathkal INDIA-575 025 +91 9448185670 prashanth_bcs@yahoo.co.in

More information

Interpretation Problems in Code Generation from UML State Machines - a Comparative Study

Interpretation Problems in Code Generation from UML State Machines - a Comparative Study Interpretation Problems in Code Generation from UML State Machines - a Comparative Study Anna Derezińska, Marian Szczykulski Institute of Computer Science, Warsaw University of Technology, Nowowiejska

More information

AsmL Specification and Verification of Lamport s Bakery Algorithm

AsmL Specification and Verification of Lamport s Bakery Algorithm Journal of Computing and Information Technology - CIT 13, 2005, 4, 313-319 313 AsmL Specification and Verification of Lamport s Bakery Algorithm Matko Botinčan Department of Mathematics, University of

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems

Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems Towards Design Verification and Validation at Multiple Levels of Abstraction * Correct Design of Distributed Production Control Systems Holger Giese, Martin Kardos, and Ulrich Nickel University of Paderborn,

More information

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University

More information

SCXML State Chart XML

SCXML State Chart XML SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction We hardly need to point out the importance of business process modelling and of respective automation in this place (see, e.g. [39, 45, 58, 110, 141]). Also the advantages and shortcomings

More information

Introduction to Formal Methods

Introduction to Formal Methods 2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette

More information

Activity Nets: A UML profile for modeling workflow and business processes

Activity Nets: A UML profile for modeling workflow and business processes Activity Nets: A UML profile for modeling workflow and business processes Author: Gregor v. Bochmann, SITE, University of Ottawa (August 27, 2000) 1. Introduction 1.1. Purpose of this document Workflow

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

Model Checking Dynamic and Hierarchical UML State Machines

Model Checking Dynamic and Hierarchical UML State Machines Model Checking Dynamic and Hierarchical UML State Machines Toni Jussila 1, Jori Dubrovin 2, Tommi Junttila 2, Timo Latvala 3, and Ivan Porres 4 1 Johannes Kepler Universität Linz 2 Helsinki University

More information

Realization of UML Class and State Machine Models in the C# Code Generation and Execution Framework

Realization of UML Class and State Machine Models in the C# Code Generation and Execution Framework Informatica 33 (2009) 431-440 431 Realization of UML Class and State Machine Models in the C# Code Generation and Execution Framework Anna Derezińska and Romuald Pilitowski Institute of Computer Science,

More information

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0

Object-Oriented Modeling. State Machine Diagram. Slides accompanying Version 1.0 Object-Oriented Modeling State Machine Diagram Slides accompanying UML@Classroom Version 1.0 Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology

More information

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University

More information

In This Lecture You Will Learn: Specifying Control. Statechart. Event, State and Transition

In This Lecture You Will Learn: Specifying Control. Statechart. Event, State and Transition In This Lecture You Will Learn: Specifying Control Lecture 11 How to identify requirements for control in an application How to model object life cycles using statecharts How to develop statechart diagrams

More information

A Formal Semantics for UML Statecharts

A Formal Semantics for UML Statecharts A Formal Semantics for UML Statecharts Alexandre David Johann Deneux Julien d Orso Dept. of Computer Systems P.O. Box 325 S-751 05 Uppsala, Sweden {adavid,johannd,juldor}@docs.uu.se Abstract The UML language

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Combined Modeling and Programming with State Machines

Combined Modeling and Programming with State Machines Combined Modeling and Programming with State Machines Kjetil Andresen Master s Thesis Spring 2014 Combined Modeling and Programming with State Machines Kjetil Andresen 1st May 2014 ii Abstract As part

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland)

Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) UML STATECHARTS AND PETRI NETS MODEL COMPARIS FOR SYSTEM LEVEL MODELLING Łabiak G., Miczulski P. (IIE, UZ, Zielona Góra, Poland) The system level modelling can be carried out with using some miscellaneous

More information

Explicit Modeling of Semantics Associated with Composite States in UML Statecharts 1

Explicit Modeling of Semantics Associated with Composite States in UML Statecharts 1 Explicit Modeling of Semantics Associated with Composite States in UML Statecharts 1 Zhaoxia Hu and Sol M. Shatz Concurrent Software Systems Laboratory Department of Computer Science University of Illinois

More information

A Teaching Environment to Model and Simulate Computer Processors

A Teaching Environment to Model and Simulate Computer Processors A Teaching Environment to Model and Simulate Computer Processors Sebastiano PIZZUTILO and Filippo TANGORRA Dipartimento di Informatica Università degli Studi di Bari via Orabona 4, 70126 Bari ITALY Abstract:

More information

Direct Semantics of Extended State Machines

Direct Semantics of Extended State Machines Vol. 6, No. 9, 2007 Direct Semantics of Extended State Machines K. Lano, D. Clark In this paper we present semantic profiles for UML 2 state machines, which are based directly upon the structure of a state

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.

More information

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16

CA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 CA314 Object Oriented Analysis & Design - 7 File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 Table of Contents 7. UML State & Activity Diagrams (see ref 1, Chap. 11, 12)...3 7.1 Introduction...3

More information

OMG Modeling Glossary B

OMG Modeling Glossary B OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,

More information

these developments has been in the field of formal methods. Such methods, typically given by a

these developments has been in the field of formal methods. Such methods, typically given by a PCX: A Translation Tool from PROMELA/Spin to the C-Based Stochastic Petri et Language Abstract: Stochastic Petri ets (SPs) are a graphical tool for the formal description of systems with the features of

More information

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis

Detecting Structural Refactoring Conflicts Using Critical Pair Analysis SETra 2004 Preliminary Version Detecting Structural Refactoring Conflicts Using Critical Pair Analysis Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut B-7000 Mons, Belgium Gabriele Taentzer

More information

Analysing UML Active Classes and Associated State Machines - A Lightweight Formal Approach

Analysing UML Active Classes and Associated State Machines - A Lightweight Formal Approach Analysing UML Active Classes and Associated tate Machines - A Lightweight Formal Approach G. Reggio 1,E.Astesiano 1, C. Choppy 2, and H. Hussmann 3 1 DII, Università digenova-italy 2 LIPN, Institut Galilée

More information

SCXML State Chart XML. Previously, in this course...

SCXML State Chart XML. Previously, in this course... SCXML State Chart XML Previously, in this course... Previously, in this course... Running Example all actions omitted wasn t it supposed to help? Previously, in this course... Running Example all actions

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Capturing Requirements by Abstract State Machines:

Capturing Requirements by Abstract State Machines: Capturing Requirements by Abstract State Machines: The Light Control Case Study Egon Börger (Università di Pisa, Dipartimento di Informatica, I-56125 Pisa, Italy boerger@di.unipi.it Visiting Microsoft

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Automated Check of Architectural Models Consistency using SPIN

Automated Check of Architectural Models Consistency using SPIN Automated Check of Architectural Models Consistency using SPIN Paola Inverardi, Henry Muccini & Patrizio Pelliccione Dipartimento di Informatica Universitá dell Aquila - Via Vetoio, 1 67100 L Aquila, Italy

More information

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches

Exploiting Visual Languages Generation and UML Meta Modeling to Construct Meta-CASE Workbenches Electronic Notes in Theoretical Computer Science 72 No. 3 (2003) URL: http://www.elsevier.nl/locate/entcs/volume72.html 11 pages Exploiting Visual Languages Generation and UML Meta Modeling to Construct

More information

On the Concurrent Object Model of UML *

On the Concurrent Object Model of UML * On the Concurrent Object Model of UML * Iulian Ober, Ileana Stan INPT-ENSEEIHT, 2, rue Camichel, 31000 Toulouse, France Phone (+33) 5.61.19.29.39, Fax (+33) 5.61.40.84.52 {iulian.ober, ileana.stan}@enseeiht.fr

More information

visualstate Reference Guide

visualstate Reference Guide COPYRIGHT NOTICE Copyright 2000 2014 IAR Systems AB. No part of this document may be reproduced without the prior written consent of IAR Systems. The software described in this document is furnished under

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

Egon Borger (Pisa) Capturing Design Pattern Abstractions by ASMs

Egon Borger (Pisa) Capturing Design Pattern Abstractions by ASMs Egon Borger (Pisa) Capturing Design Pattern Abstractions by ASMs Universita di Pisa, Dipartimento di Informatica, I-56127 Pisa, Italy boerger@di.unipi.it visiting SAP Research, Karlsruhe, Germany egon.boerger@sap.com

More information

Introduction to Model Checking

Introduction to Model Checking Introduction to Model Checking René Thiemann Institute of Computer Science University of Innsbruck WS 2007/2008 RT (ICS @ UIBK) week 4 1/23 Outline Promela - Syntax and Intuitive Meaning Promela - Formal

More information

NAME CHSM-C++ Concurrent, Hierarchical, Finite State Machine specification language for C++

NAME CHSM-C++ Concurrent, Hierarchical, Finite State Machine specification language for C++ NAME CHSM-C++ Concurrent, Hierarchical, Finite State Machine specification language for C++ SYNOPSIS declarations description user-code DESCRIPTION The CHSM specification language is a text-based means

More information

Execution of UML State Machines Using Modelica

Execution of UML State Machines Using Modelica Execution of UML State Machines Using Modelica Wladimir Schamai 1, Uwe Pohlmann 2, Peter Fritzson 3, Christiaan J.J. Paredis 4, Philipp Helle 1, Carsten Strobel 1 1 EADS Innovation Works, Germany 2 University

More information

Visualizing the Synchronization of Java-Threads with UML

Visualizing the Synchronization of Java-Threads with UML Visualizing the Synchronization of Java-Threads with UML Katharina Mehner Annika Wagner University of Paderborn Department of Computer Science D-33095 Paderborn, Germany {mehner awa@upb.de Abstract Concurrent

More information

AN OBJECT-ORIENTED VISUAL SIMULATION ENVIRONMENT FOR QUEUING NETWORKS

AN OBJECT-ORIENTED VISUAL SIMULATION ENVIRONMENT FOR QUEUING NETWORKS AN OBJECT-ORIENTED VISUAL SIMULATION ENVIRONMENT FOR QUEUING NETWORKS Hussam Soliman Saleh Al-Harbi Abdulkader Al-Fantookh Abdulaziz Al-Mazyad College of Computer and Information Sciences, King Saud University,

More information

The architecture of Eiffel software 3.1 OVERVIEW classes clusters systems

The architecture of Eiffel software 3.1 OVERVIEW classes clusters systems 3 Draft 5.02.00-0, 15 August 2005 (Santa Barbara). Extracted from ongoing work on future third edition of Eiffel: The Language. Copyright Bertrand Meyer 1986-2005. Access restricted to purchasers of the

More information

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved Chapter 12 UML and Patterns Copyright 2008 Pearson Addison-Wesley. All rights reserved Introduction to UML and Patterns UML and patterns are two software design tools that can be used within the context

More information

Motivation State Machines

Motivation State Machines Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions

More information

A Design Rationale Representation for Model-Based Designs in Software Engineering

A Design Rationale Representation for Model-Based Designs in Software Engineering A Design Rationale Representation for Model-Based Designs in Software Engineering Adriana Pereira de Medeiros, Daniel Schwabe, and Bruno Feijó Dept. of Informatics, PUC-Rio, Rua Marquês de São Vicente

More information

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process

More information

INCONSISTENT DATABASES

INCONSISTENT DATABASES INCONSISTENT DATABASES Leopoldo Bertossi Carleton University, http://www.scs.carleton.ca/ bertossi SYNONYMS None DEFINITION An inconsistent database is a database instance that does not satisfy those integrity

More information

Formalising Concurrent UML State Machines Using Coloured Petri Nets 1

Formalising Concurrent UML State Machines Using Coloured Petri Nets 1 Under consideration for publication in Formal Aspects of Computing Formalising Concurrent UML State Machines Using Coloured Petri Nets 1 Étienne André, Mohamed Mahdi Benmoussa and Christine Choppy Abstract.

More information

A FORMALIZATION OF UML STATECHARTS FOR REAL-TIME SOFTWARE MODELING

A FORMALIZATION OF UML STATECHARTS FOR REAL-TIME SOFTWARE MODELING Integrated Design and Process Technology, IDPT-2002 Printed in the United States of America, June, 2002 2002 Society for Design and Process Science A FORMALIZATION OF UML STATECHARTS FOR REAL-TIME SOFTWARE

More information

Modelling and verification of BPEL business processes

Modelling and verification of BPEL business processes Modelling and verification of BPEL business processes Marina Mongiello Dipartimento di Elettronica ed Elettrotecnica Politecnico di Bari, Italy mongiello@poliba.it Daniela Castelluccia Dipartimento di

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: , Q.1 What is Object Orientation? Explain the concept of class, objects, instance, generalization, and associations. Ans :-- In the past, information systems used to be defined primarily by their functionality:

More information

A Virtual Machine Supporting Multiple Statechart Extensions

A Virtual Machine Supporting Multiple Statechart Extensions A Virtual Machine Supporting Multiple Statechart Extensions Thomas Huining Feng Modelling, Simulation and Design Lab McGill University, Canada http://msdl.cs.mcgill.ca/ Keywords: Statechart Extensions,

More information

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

Actor-eUML for Concurrent Programming

Actor-eUML for Concurrent Programming Actor-eUML for Concurrent Programming Kevin Marth and Shangping Ren Illinois Institute of Technology Department of Computer Science Chicago, IL USA martkev@iit.edu Abstract. The advent of multi-core processors

More information

Formal Specification of Software Systems

Formal Specification of Software Systems Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software

More information

Improving the Definition of UML

Improving the Definition of UML Improving the Definition of UML Greg O Keefe Computer Sciences Laboratory Australian National University Outline The UML definition claims to be Outline The UML definition claims to be precise Outline

More information

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT Otthein Herzog IBM Germany, Dept. 3100 P.O.Box 80 0880 D-7000 STUTTGART, F. R. G. ABSTRACT tn the IBM Boeblingen Laboratory some software was

More information

Towards Design Verification and Validation at Multiple Levels of Abstraction Correct Design of Distributed Production Control Systems

Towards Design Verification and Validation at Multiple Levels of Abstraction Correct Design of Distributed Production Control Systems Towards Design Verification and Validation at Multiple Levels of Abstraction Correct Design of Distributed Production Control Systems Holger Giese, Martin Kardos, and Ulrich Nickel University of Paderbom,

More information

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS

RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS RIGOROUSLY AUTOMATING TRANSFORMATIONS OF UML BEHAVIOR MODELS Jon Whittle 1, João Araújo 2, Ambrosio Toval 3, and Jose Luis Fernández Alemán 3 1 QSS / NASA Ames Research Center, M/S 269-2, Moffett Field,

More information

Modal Models in Ptolemy

Modal Models in Ptolemy Modal Models in Ptolemy Edward A. Lee Stavros Tripakis UC Berkeley Workshop on Equation-Based Object-Oriented Modeling Languages and Tools 3rd International Workshop on Equation-Based Object-Oriented Modeling

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016

Pieter van den Hombergh. Fontys Hogeschool voor Techniek en Logistiek. September 9, 2016 Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 9, 2016 Contents /FHTenL September 9, 2016 2/35 UML State Uses and application In behaviour is modeled with state charts (diagrams)

More information

ModelicaML: Getting Started Issue April 2012

ModelicaML: Getting Started Issue April 2012 ModelicaML: Getting Started Issue 1.6.5 13. April 2012 Wladimir Schamai EADS Innovation Works (Hamburg, Germany) Linkoping University (Linkoping, Sweden) Abstract: This document provides a short introduction

More information

NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java

NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java NAME CHSM-Java Concurrent, Hierarchical, Finite State Machine specification language for Java SYNOPSIS declarations description user-code DESCRIPTION The CHSM specification language is a text-based means

More information

Inference in Hierarchical Multidimensional Space

Inference in Hierarchical Multidimensional Space Proc. International Conference on Data Technologies and Applications (DATA 2012), Rome, Italy, 25-27 July 2012, 70-76 Related papers: http://conceptoriented.org/ Inference in Hierarchical Multidimensional

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

Universal Plug and Play Machine Models Modeling with Distributed Abstract State Machines

Universal Plug and Play Machine Models Modeling with Distributed Abstract State Machines Universal Plug and Play Machine Models Modeling with Distributed Abstract State Machines Uwe Glässer glaesser@upb.de Heinz Nixdorf Institute, Paderborn, Germany Margus Veanes margus@microsoft.com Microsoft

More information

Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1

Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1 Simulation-Based Analysis of UML Statechart Diagrams: Methods and Case Studies 1 Jiexin Lian, Zhaoxia Hu and Sol M. Shatz Department of Computer Science University of Illinois at Chicago Chicago, IL, U.S.A.

More information

2.2 Syntax Definition

2.2 Syntax Definition 42 CHAPTER 2. A SIMPLE SYNTAX-DIRECTED TRANSLATOR sequence of "three-address" instructions; a more complete example appears in Fig. 2.2. This form of intermediate code takes its name from instructions

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information