SCXML State Chart XML

Size: px
Start display at page:

Download "SCXML State Chart XML"

Transcription

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

2 Previously, in this course... Running Example all actions omitted wasn t it supposed to help?

3 Previously, in this course... Running Example all actions omitted Substates may be nested to any level. A nested state machine may have at most one initial state and one final state. Substates are used to simplify to complex wasn t it supposed help?flat state machines by showing that some states are only possible within a particular (the State enclosing Finite context State Machine, Charts state). A composite state factorizes the possible exits from all (most of) the states

4 Previously, in this course... Running Example all actions omitted A simple state is one which has no substructure. A state which has substates (nested states) is called a composite state (or compound state). Substates may be nested to any level. A nested state machine may have at most one initial state and one final state. Substates are used to simplify complex flat state machines by showing that some states are only possible within a particular context (the enclosing state). A composite state factorizes the possible exits from all (most of) the states

5 Previously in this course... Stopwatch A simple state is one which has no substructure. A state which has substates (nested states) is called a composite state (or compound state). Substates may be nested to any level. A nested state machine may have at most one initial state and one final state. Substates are used to simplify complex flat state machines by showing that some states are only possible within a particular context (the enclosing state). A composite state factorizes the possible exits from all (most of) the states Taken and modified from

6 Previously, in this course... History state Deep or shallow... <history> <history> allows allows for for pause pause and and resume resume semantics semantics in in compound compound states states.. Before Before the the state state machine machine exits exits aa compound compound state, state, itit records records the the state's state's active active descendants. descendants. IfIf the the 'type' 'type' attribute attribute of of the the <history> <history> state state is is set set to to "deep", "deep", the the state state machine machine saves saves the the state's state's full full active active descendant descendant configuration, configuration, down down to to the the atomic atomic descendant(s). descendant(s). IfIf 'type' 'type' is is set set to to "shallow", "shallow", the the state state machine machine remembers remembers only only which which immediate immediate child child was was active. active. After After that, that, ifif aa transition transition takes takes aa <history> <history> child child of of the the state state as as its its target, target, the the state state machine machine rereenters enters not not only only the the parent parent compound compound state state but but also also the the state(s) state(s) in in the the saved saved configuration. configuration. Thus Thus aa transition transition with with aa deep deep history history state state as as its its target target returns returns to to exactly exactly where where the the state state was was when when itit was was last last exited, exited, while while aa transition transition with with aa shallow shallow history history state state as as aa target target re-enters re-enters the the previously previously active active child child state, state, but but will will enter enter the the child's child's default default initial initial state state (if (if the the child child is is itself itself compound.). compound.).

7 TD stopwatch

8 TD stopwatch Column 1 Column 2 Column Row 1 Row 2 Row 3 Row 4

9 TD stopwatch Est-ce correct?

10 TD stopwatch

11 TD stopwatch Composite states are also named OR-states since, if the machine is in the StopWatchMode, then it can be in the ready substate, OR the stopped substate OR the TimePassing substate I believe this can be missleading...

12 TD stopwatch and hierarchy! revisited

13 SCXML State Chart XML Parallel regions, communications and a little bit more

14 State Charts David Harel Statecharts: A visual formalism for complex systems Science of computer programming 8 (3),

15 Parallel states Also named Orthogonal regions in UML or AND-States (Since after initialization, the machine is in substate State_2_1 AND State_3_1.) Everything is working as if State_2 and State_3 were independent. When the machine is in a parallel state, all event received are broadcasted to all the parallel states. They can consume them or not like any normal state machine

16 Parallel states external queue external queue Also named Orthogonal regions in UML or AND-States (Since after initialization, the machine is in substate State_2_1 AND State_3_1.) Everything is working as if State_2 and State_3 were independent. When the machine is in a parallel state, all event received are broadcasted to all the parallel states. They can consume them or not like any normal state machine

17 Parallel states The Cartesian product of the states allows for sequential equivalence of the input language but warning about the actions, i.e., the behavior of the system!! By using parallel states, the complexity in number of state is the sum of the number of states in each parallel states while otherwise it is the product of them (if we add another parallel state with 3 states, the sequential result have 12 states)

18 Parallel states Other representations and naming: UML From Charles André s slides

19 Parallel states Other representations and naming: UML From Charles André s slides UML syntax is more complex than scxml since no reuse is done (e.g., about the datamodel)

20 Parallel states Yet another representation and naming concurrent substates specify two or more state machines that execute in parallel in the context of the enclosing object Execution of these concurrent substates continues in parallel. These substates waits for each other to finish to joins back into one flow A nested concurrent state machine does not have an initial, final, or history state Mix with the vocabulary from activity diagrams

21 Parallel states Yet another representation and naming concurrent substates specify two or more state machines that execute in parallel in the context of the enclosing object Execution of these concurrent substates continues in parallel. These substates waits for each other to finish to joins back into one flow A nested concurrent state machine does not have an initial, final, or history state

22 Parallel states Parallel Parallel States: States: The The child child states states execute execute in in parallel parallel in in the the sense sense that that any any event event that that is is processed processed is is processed processed in in each each child child state state independently, independently, and and each each child child state state may may take take aa different different transition transition in in response response to to the the event. event. (Similarly, (Similarly, one one child child state state may may take take aa transition transition in in response response to to an an event, event, while while another another child child ignores ignores it.) it.) When When all all of of the the children children reach reach final final states, states, the the <parallel> <parallel> element element itself itself is is considered considered to to be be in in aa final final state, state, and and aa completion completion event event done.state.id done.state.id is is generated, generated, where where id id is is the the id id of of the the <parallel> <parallel> element. element. Transitions Transitions within within the the individual individual child child elements elements operate operate normally. normally. However However whenever whenever aa transition transition is is taken taken with with aa target target outside outside the the <parallel> <parallel> element, element, the the <parallel> <parallel> element element and and all all of of its its child child elements elements are are exited exited and and the the corresponding corresponding <onexit> <onexit> handlers handlers are are executed. executed. The The handlers handlers for for the the child child elements elements execute execute first, first, in in document document order, order, followed followed by by those those of of the the parent parent <parallel> <parallel> element, element, followed followed by by an an action action expression expression in in the the <transition> <transition> element, element, and and then then the the <onentry> <onentry> handlers handlers in in the the "target" "target" state. state. Note Note that that the the semantics semantics of of the the <parallel> <parallel> element element does does not not call call for for multiple multiple threads threads or or truly truly concurrent concurrent processing. processing. The The children children of of <parallel> <parallel> execute execute in in parallel parallel in in the the sense sense that that they they are are all all simultaneously simultaneously active active and and each each one one independently independently selects selects transitions transitions for for any any event event that that is is received. received. However, However, the the parallel parallel children children process process the the event event in in aa defined, defined, serial serial order, order, so so no no conflicts conflicts or or race race conditions conditions can can occur. occur. See See D D Algorithm Algorithm for for SCXML SCXML Interpretation Interpretation for for aa detailed detailed description description of of the the semantics semantics of of <parallel> <parallel> and and the the rest rest of of SCXML. SCXML.

23 Parallel states Parallel Parallel States: States: The The child child states states execute execute in in parallel parallel in in the the sense sense that that any any event event that that is is processed processed is is processed processed in in each child state independently, and each child state may take a different transition in response to each child state independently, and each child state may take a different transition in response to the the event. event. (Similarly, (Similarly, one one child child state state may may take take aa transition transition in in response response to to an an event, event, while while another another child child ignores ignores it.) it.) When When all all of of the the children children reach reach final final states, states, the the <parallel> <parallel> element element itself itself is is UML: considered considered to to be be in in aa final final state, state, and and aa completion completion event event done.state.id done.state.id is is generated, generated, where where id id is is the id <parallel> Even regions imply independence of execution (allowing more or less thethough id of of the theorthogonal <parallel> element. element. Transitions the child elements However whenever aa transition Transitions within within the individual individual child does elements operate normally. normally. Howeverthread whenever transition concurrency), the UML specification not operate require that a separate of execution is aa target outside <parallel> element, and of child is taken taken with with target outside the the <parallel> element, the <parallel> element and all all fact, of its itsmost child be assigned to each orthogonal region (although thisthe can<parallel> be doneelement if desired). In elements elements are are exited exited and and the the corresponding corresponding <onexit> <onexit> handlers handlers are are *executed. executed. The The handlers handlers for for the the commonly, orthogonal regions execute within the same thread. The UML specification child child elements elements execute execute first, first, in in document document order, order, followed followed by by those those of of the the parent parent <parallel> <parallel> requires only that the designer does not rely on any particular order for event instances to element, followed by an action expression in the <transition> element, and then the <onentry> element, followed by an action expression in the <transition> element, and then the <onentry> handlers state. be dispatched handlers in in the the to "target" "target" the relevant state. orthogonal regions. Note Note that that the the semantics semantics of of the the <parallel> <parallel> element element does does not not call call for for multiple multiple threads threads or or truly truly concurrent concurrent processing. processing. The The children children of of <parallel> <parallel> execute execute in in parallel parallel in in the the sense sense that that they they are are all all simultaneously simultaneously active active and and each each one one independently independently selects selects transitions transitions for for any any event event that that is is received. received. However, However, the the parallel parallel children children process process the the event event in in aa defined, defined, serial serial order, order, so so no no conflicts conflicts or or race race conditions conditions can can occur. occur. See See D D Algorithm Algorithm for for SCXML SCXML Interpretation Interpretation for for aa detailed detailed description description of of the the semantics semantics of of <parallel> <parallel> and and the the rest rest of of SCXML. SCXML. * Douglass, Bruce Powel (1999). Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns. Addison Wesley. p ISBN

24 SCXML State Chart XML Parallel regions, communications and a little bit more

25 State Charts David Harel Statecharts: A visual formalism for complex systems Science of computer programming 8 (3),

26 Communication: intuition Usually, parallel states are not truly independent. The different state machines can communicate through different mechanism (e.g., shared variable or timings) to synchronize their behaviors. The most common way to coordinate behaviors from parallel states is by sending events to each others. /ping /pong onentry: send dopong after 1s

27 Communication: intuition Usually, parallel states are not truly independent. The different state machines can communicate through different mechanism (e.g., shared variable or timings) to synchronize their behaviors. The most common way to coordinate behaviors from parallel states is by sending events to each others. /ping /pong onentry: send dopong after 1s

28 Communication: intuition Usually, parallel states are not truly independent. The different state machines can communicate through different mechanism (e.g., shared variable or timings) to synchronize their behaviors. The most common way to coordinate behaviors from parallel states is by sending events to each others. /ping /pong onentry: send dopong after 1s

29 Communication: intuition The coordination between the parallel states can reduce the resulting behavior /ping /pong onentry: send dopong after 1s

30 Communication: intuition The coordination between the parallel states can reduce the resulting behavior /ping /pong onentry: send dopong after 1s Demo...

31 Communication: intuition The coordination between the parallel states can reduce the resulting behavior /ping /pong onentry: send dopong after 1s onentry: send dopong after 1s

32 Communication: intuition The coordination between the parallel states can reduce the resulting behavior If ping or pong is not sent from the outside! /ping /pong onentry: send dopong after 1s onentry: send dopong after 1s

33 SCXML State Chart XML Parallel regions, communications and a little bit more

34 No target transition IfIf the the 'target' 'target' on on aa <transition> <transition> is is omitted, omitted, then then the the value value of of 'type' 'type' does does not not have have any any effect effect and and taking taking the the transition transition does does not not change change the the state state configuration configuration but but does does invoke invoke the the executable executable content content that that is is included included in in the the transition. transition. Note Note that that this this is is different different from from aa <transition> <transition> whose whose 'target' 'target' is is its its source source state. state. In In the the latter latter case, case, the the state state is is exited exited and and reentered, reentered, triggering triggering execution execution of of its its <onentry> <onentry> and and <onexit> <onexit> executable executable content content

35 Non Determinism? N.B. N.B. IfIf two two transitions transitions conflict, conflict, then then taking taking them them both both may may lead lead to to an an illegal illegal configuration. configuration. Hence, Hence, only only one one of of the the transitions transitions may may safely safely be be taken. taken. In In order order to to resolve resolve conflicts conflicts between between transitions, transitions, we we assign assign priorities priorities to to transitions transitions as as follows: follows: let let transitions transitions T1 T1 and and T2 T2 conflict, conflict, where where T1 T1 is is optimally optimally enabled enabled in in atomic atomic state state S1, S1, and and T2 T2 is is optimally optimally enabled enabled in in atomic atomic state state S2, S2, where where S1 S1 and and S2 S2 are are both both active. active. We We say say that that T1 T1 has has aa higher higher priority priority than than T2 T2 ifif a) a) T1's T1's source source state state is is aa descendant descendant of of T2's T2's source source state, state, or or b) b) S1 S1 precedes precedes S2 S2 in in document document order. order.

36 Raise vs send / send action1 / send action2 / raise in2 / send action2 The The <raise> <raise> element element raises raises an an event event in in the the current current SCXML SCXML session. session. Note Note that that the the event event will will not not be be processed processed until until the the current current block block of of executable executable content content has has completed completed and and all all events events that that are are already already in in the the internal internal event event queue queue have have been been processed. processed. For For example, example, suppose suppose the the <raise> <raise> element element occurs occurs first first in in the the <onentry> <onentry> handler handler of of state state S S followed followed by by executable executable content content elements elements ec1 ec1 and and ec2. ec2. IfIf event event e1 e1 is is already already in in the the internal internal event event queue queue when when S S is is entered, entered, the the event event generated generated by by <raise> <raise> will will not not be be processed processed until until ec1 ec1 and and ec2 ec2 have have finished finished execution execution and and e1 e1 has has been been processed. processed. <send> <send> is is used used to to send send events events and and data data to to external external systems, systems, including including external external SCXML SCXML Interpreters, Interpreters, or or to to raise raise events events in in the the current current SCXML SCXML session. session.

37 Datamodel It is possible to add data and data manipulation directly inside the state machine. SCXML supports the ecmascript data model (some sort of C++ in Qt Creator and a specific action langage in Yakindu) Usually*, only data directly associated with the control is used in the state machine To avoid mixing the application logic between the code and the state chart To ease the V&V activities * it strongly depends on what the state chart is used for but it seems to be a good practice, even for understanding

38 Datamodel When ecmascript data model is used, the log expr must not be null and it must conform the ecmascript syntax otherwise no log is printed

39 Datamodel Variables are declared and initialized in a specific section id: The name of the data item. See 3.14 IDs for details. src: Gives the location from which the data object should be fetched. See Legal Data Values and Value Expressions for details. expr: Evaluates to provide the value of the data item. See Legal Data Values and Value Expressions for details.

40 Datamodel Variables are declared and initialized in a specific section id: The name of the data item. See 3.14 IDs for details. src: Gives the location from which the data object should be fetched. See Legal Data Values and Value Expressions for details. expr: Evaluates to provide the value of the data item. See Legal Data Values and Value Expressions for details.

41 Datamodel Label is any string and expr any legal ecmascript expression (if no expression, needs to be )

42 Datamodel

43 Datamodel What do you think?

44 Guarded transition cond: is evaluated after each micro step and fired when the condition holds

45 Guarded transition

46 Guarded transition QtCreator and SCXML more generally consider the time to be the physical wall clock time. It is obviously not the case for all timed (and critical) systems for which symbolic reasoning is done

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

SCXML. Michael Bodell.

SCXML. Michael Bodell. SCXML Michael Bodell bodell@tellme.com Prologue (VXML 2.0/2.1) VoiceXML 2.0/2.1 is a standard out of the Voice Browser Working Group of the W3C VXML is to networked phone browsers as HTML is to internet

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

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

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

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

Voice Browser Working Group (VBWG) Input on application backplane topics. Scott McGlashan (HP) Rafah Hosn (IBM)

Voice Browser Working Group (VBWG) Input on application backplane topics. Scott McGlashan (HP) Rafah Hosn (IBM) Voice Browser Working Group (VBWG) Input on application backplane topics Scott McGlashan (HP) Rafah Hosn (IBM) W3C Backplane Meeting, Amsterdam, November 2006 Agenda Key points VBWG specifications Data-Flow-Presentation

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

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

SCXML Overview. Jim Barnett. Genesys

SCXML Overview. Jim Barnett. Genesys SCXML Overview Jim Barnett Genesys Multimodal Applications Are: Unpredictable Don t know what user will do next Procedural languages a bad choice Event processing is the paradigm Stateful What does cancel

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

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

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

Finite State Machine Modeling for Software Product Lines. Finite State Machines and Statecharts

Finite State Machine Modeling for Software Product Lines. Finite State Machines and Statecharts SWE 721 / IT 821 Advanced Software Design: Reusable Software Architectures Finite State Machine Modeling for Software Product Lines Hassan Gomaa Department of Information and Software Engineering George

More information

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION Statecharts INDEX 1.- Introduction 2.- When to use Statecharts 3.- Basic components 4.- Connectors and compound transitions Mª Ángeles Martínez Ibáñez University of Bergen Selected topics in programming

More information

UNIVERSITY OF OSLO Department of Informatics. Exploration of UML State Machine implementations in Java. Master thesis. Morten Olav Hansen

UNIVERSITY OF OSLO Department of Informatics. Exploration of UML State Machine implementations in Java. Master thesis. Morten Olav Hansen UNIVERSITY OF OSLO Department of Informatics Exploration of UML State Machine implementations in Java Master thesis Morten Olav Hansen February 15, 2011 Contents 1 Introduction 8 1.1 Motivation...............................

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

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

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands

Subject: Scheduling Region Questions and Problems of new SystemVerilog commands Subject: Scheduling Region Questions and Problems of new SystemVerilog commands I have read and re-read sections 14-17 of the SystemVerilog 3.1 Standard multiple times and am still confused about exactly

More information

Embedded Systems. Problem 1: Getting started with STATEFLOW. Starting STATEFLOW

Embedded Systems. Problem 1: Getting started with STATEFLOW. Starting STATEFLOW Prof. Bernd Finkbeiner, Ph.D. Winter term 2008/2009 Dipl.-Inf. Rüdiger Ehlers Problem Set 2 Dipl.-Inf.Hans-Jörg Peter Due: Thursday,6 th November 2008 Michael Gerke, B.Sc. Embedded Systems STATEFLOW is

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

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

IT 540 Operating Systems ECE519 Advanced Operating Systems

IT 540 Operating Systems ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (3 rd Week) (Advanced) Operating Systems 3. Process Description and Control 3. Outline What Is a Process? Process

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

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

Embedded System Design and Modeling EE382V, Fall 2008

Embedded System Design and Modeling EE382V, Fall 2008 Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 3 The SpecC System-Level Design Language Dates: Sep 9&11, 2008 Scribe: Mahesh Prabhu Languages: Any language would have characters, words

More information

States Transitions Connectors Esterel Studio

States Transitions Connectors Esterel Studio Time in Differences SyncCharts differ from other implementations of : Synchronous framework Determinism Compilation into backend language Esterel No interpretation for simulations No hidden behaviour Multiple

More information

Composition of State Machines

Composition of State Machines Chapter 5 Composition of State Machines Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline Concurrent

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

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1 Slide 27-1 Chapter 27 XML: Extensible Markup Language Chapter Outline Introduction Structured, Semi structured, and Unstructured Data. XML Hierarchical (Tree) Data Model. XML Documents, DTD, and XML Schema.

More information

4: Specifying State-based Behavior With UML Statechart Diagrams

4: Specifying State-based Behavior With UML Statechart Diagrams Outline UML Design Supplement 4: Specifying State-based Behavior With UML Statechart Diagrams Introduction to Statecharts Statechart building blocks States Transitions Advanced Characteristics Composite

More information

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev Transactum Business Process Manager with High-Performance Elastic Scaling November 2011 Ivan Klianev Transactum BPM serves three primary objectives: To make it possible for developers unfamiliar with distributed

More information

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin Specification and design of distributed embedded middleware applications with SDL-2000 Dr. Eckhardt Holz Humboldt-Universität zu Berlin SDL-2000 ITU-T Specification and Description Language graphical language

More information

Statecharts and Class Diagram XML A general-purpose textual modelling formalism

Statecharts and Class Diagram XML A general-purpose textual modelling formalism Statecharts and Class Diagram XML A general-purpose textual modelling formalism Glenn De Jonghe Supervisor: Prof. Dr. Hans Vangheluwe Faculty of Science University of Antwerp Antwerp, Belgium March 1,

More information

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads Today s Topics COS 318: Operating Systems Implementing Threads u Thread implementation l Non-preemptive versus preemptive threads l Kernel vs. user threads Jaswinder Pal Singh and a Fabulous Course Staff

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

Concurrent & Distributed Systems Supervision Exercises

Concurrent & Distributed Systems Supervision Exercises Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights

More information

Stateflow Best Practices By Michael Burke

Stateflow Best Practices By Michael Burke Stateflow Best Practices By Michael Burke 2012 The MathWorks, Inc. 1 Topics Background Overview of terms Readability Stateflow hierarchy Modeling tips Basic rules: MAAB style guide 2 Background Objective

More information

CAMEO SIMULATION TOOLKIT. version 1.0. user guide

CAMEO SIMULATION TOOLKIT. version 1.0. user guide CAMEO SIMULATION TOOLKIT version 1.0 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced

More information

Binary Heaps in Dynamic Arrays

Binary Heaps in Dynamic Arrays Yufei Tao ITEE University of Queensland We have already learned that the binary heap serves as an efficient implementation of a priority queue. Our previous discussion was based on pointers (for getting

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

Unit 20: Extensions in ActiveBPEL

Unit 20: Extensions in ActiveBPEL Unit 20: Extensions in ActiveBPEL BPEL Fundamentals This is Unit #20 of the BPEL Fundamentals course. In past Units we ve looked at ActiveBPEL Designer, Workspaces and Projects, created the Process itself

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

Specifications Part 1

Specifications Part 1 pm3 12 Specifications Part 1 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Introduction 12, 2008-2 - 1 Specification

More information

Signals: Management and Implementation. Sanjiv K. Bhatia Univ. of Missouri St. Louis

Signals: Management and Implementation. Sanjiv K. Bhatia Univ. of Missouri St. Louis Signals: Management and Implementation Sanjiv K. Bhatia Univ. of Missouri St. Louis sanjiv@aryabhat.umsl.edu http://www.cs.umsl.edu/~sanjiv Signals Mechanism to notify processes of asynchronous events

More information

Finite State Machines and Statecharts

Finite State Machines and Statecharts Finite State Machines and Statecharts Hassan Gomaa Dept of Information & Software Engineering George Mason University Reference: H. Gomaa, Chapter 10 - Designing Concurrent, Distributed, and Real-Time

More information

Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5

Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5 Concurrency, Mutual Exclusion and Synchronization C H A P T E R 5 Multiple Processes OS design is concerned with the management of processes and threads: Multiprogramming Multiprocessing Distributed processing

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

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 49 Plan of the course 1 Relational databases 2 Relational database design 3 Conceptual database design 4

More information

Remote Control. IMMS.de

Remote Control. IMMS.de Remote Control Statecharts Kurzdefinition [Harel88]: Statecharts = state-diagrams + depth + orthogonality + broadcast communication Statecharts Elements (1) Events (e.g. txt)» Typeless» no value (it exists

More information

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES

ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES 49. Internationales Wissenschaftliches Kolloquium Technische Universität Ilmenau 27.-30. September 2004 Holger Rath / Horst Salzwedel ANSI C CODE SYNTHESIS FOR MLDESIGNER FINITE STATE MACHINES Abstract

More information

Introduction to Software Engineering. 6. Modeling Behaviour

Introduction to Software Engineering. 6. Modeling Behaviour Introduction to Software Engineering 6. Modeling Behaviour Roadmap > Use Case Diagrams > Sequence Diagrams > Collaboration (Communication) Diagrams > Activity Diagrams > Statechart Diagrams Nested statecharts

More information

Performance Evaluation

Performance Evaluation Performance Evaluation Chapter 4 A Complicated Queuing System (Acknowledgement: These slides have been prepared by Prof. Dr. Holger Karl) 1 Goal of this chapter! Understand implementation issues and solutions

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

Lecture 08. Spring 2018 Borough of Manhattan Community College

Lecture 08. Spring 2018 Borough of Manhattan Community College Lecture 08 Spring 2018 Borough of Manhattan Community College 1 The SQL Programming Language Recent versions of the SQL standard allow SQL to be embedded in high-level programming languages to help develop

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

1 Process Coordination

1 Process Coordination COMP 730 (242) Class Notes Section 5: Process Coordination 1 Process Coordination Process coordination consists of synchronization and mutual exclusion, which were discussed earlier. We will now study

More information

CS243 Homework 1. Winter Due: January 23, 2019 at 4:30 pm

CS243 Homework 1. Winter Due: January 23, 2019 at 4:30 pm CS243 Homework 1 Winter 2019 Due: January 23, 2019 at 4:30 pm Directions: Submit via Gradescope. You may use up to two of your remaining late days for this assignment, for a late deadline of January 25,

More information

G Programming Languages Spring 2010 Lecture 13. Robert Grimm, New York University

G Programming Languages Spring 2010 Lecture 13. Robert Grimm, New York University G22.2110-001 Programming Languages Spring 2010 Lecture 13 Robert Grimm, New York University 1 Review Last week Exceptions 2 Outline Concurrency Discussion of Final Sources for today s lecture: PLP, 12

More information

Specifying Precise Use Cases with Use Case Charts

Specifying Precise Use Cases with Use Case Charts Specifying Precise Use Cases with Use Case Charts Jon Whittle Dept of Information & Software Engineering George Mason University 4400 University Drive Fairfax, VA 22030 jwhittle@ise.gmu.edu Abstract. Use

More information

Signals and Session Management. Signals. Mechanism to notify processes of system events

Signals and Session Management. Signals. Mechanism to notify processes of system events Signals and Session Management Signals Mechanism to notify processes of system events Primitives for communication and synchronization between user processes Signal generation and handling Allow an action

More information

Introduction to OpenMP. Tasks. N.M. Maclaren September 2017

Introduction to OpenMP. Tasks. N.M. Maclaren September 2017 2 OpenMP Tasks 2.1 Introduction Introduction to OpenMP Tasks N.M. Maclaren nmm1@cam.ac.uk September 2017 These were introduced by OpenMP 3.0 and use a slightly different parallelism model from the previous

More information

Enterprise Architect - UML Dictionary

Enterprise Architect - UML Dictionary Enterprise Architect is an intuitive, flexible and powerful UML analysis and design tool for building robust and maintainable software. This dictionary explains the way in which Enterprise Architect represents

More information

Statecharts Based GUI Design. Statecharts Based GUI Design

Statecharts Based GUI Design. Statecharts Based GUI Design Chenliang Sun csun1@cs.mcgill.ca School of Computer Science McGill University March 5, 2003 1.1 Overview What s GUI? Why GUI? Why Statechart Based GUI Design? What s Statechart? How? Case Study Testing

More information

Review -Chapter 4. Review -Chapter 5

Review -Chapter 4. Review -Chapter 5 Review -Chapter 4 Entity relationship (ER) model Steps for building a formal ERD Uses ER diagrams to represent conceptual database as viewed by the end user Three main components Entities Relationships

More information

Reinhard v. Hanxleden 1, Michael Mendler 2, J. Aguado 2, Björn Duderstadt 1, Insa Fuhrmann 1, Christian Motika 1, Stephen Mercer 3 and Owen Brian 3

Reinhard v. Hanxleden 1, Michael Mendler 2, J. Aguado 2, Björn Duderstadt 1, Insa Fuhrmann 1, Christian Motika 1, Stephen Mercer 3 and Owen Brian 3 Sequentially Constructive Concurrency * A conservative extension of the Synchronous Model of Computation Reinhard v. Hanxleden, Michael Mendler 2, J. Aguado 2, Björn Duderstadt, Insa Fuhrmann, Christian

More information

Oracle PL/SQL - 12c & 11g [Basic PL/SQL & Advanced PL/SQL]

Oracle PL/SQL - 12c & 11g [Basic PL/SQL & Advanced PL/SQL] Chapter Overview of PL/SQL Programs Control Statements Using Loops within PLSQL Oracle PL/SQL - 12c & 11g [Basic PL/SQL & Advanced PL/SQL] Table of Contents Describe a PL/SQL program construct List the

More information

A state-based 3-way batch merge algorithm for models serialized in XMI

A state-based 3-way batch merge algorithm for models serialized in XMI A state-based 3-way batch merge algorithm for models serialized in XMI Aron Lidé Supervisor: Lars Bendix Department of Computer Science Faculty of Engineering Lund University November 2011 Abstract With

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

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process

More information

Representing Control Constructs in Object-Flow Process. Diagrams

Representing Control Constructs in Object-Flow Process. Diagrams 1 Representing Control Constructs in Object-Flow Process Diagrams or Peleg and Dov Dori Faculty of Industrial Engineering and anagement Technion Israel Institute of Technology Haifa 32000, Israel {mor,

More information

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM)

Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) ECE 474A/57A Computer-Aided Logic Design Outline Models vs. Languages Lecture 6B Hierarchical/Concurrent State Machine Models (HCFSM) State Machine Model FSM/FSMD HCFSM and Statecharts Language Program-State

More information

Introduction to Computer Science and Business

Introduction to Computer Science and Business Introduction to Computer Science and Business The Database Programming with PL/SQL course introduces students to the procedural language used to extend SQL in a programatic manner. This course outline

More information

The STATEMATE Semantics of Statecharts

The STATEMATE Semantics of Statecharts The STATEMATE Semantics of Statecharts DAVID HAREL The Weizmann Institute of Science and AMNON NAAMAD i-logix, Inc. We describe the semantics of statecharts as implemented in the STATEMATE system. This

More information

CSE 12 Abstract Syntax Trees

CSE 12 Abstract Syntax Trees CSE 12 Abstract Syntax Trees Compilers and Interpreters Parse Trees and Abstract Syntax Trees (AST's) Creating and Evaluating AST's The Table ADT and Symbol Tables 16 Using Algorithms and Data Structures

More information

Tcl/Tk lecture. What is the Wish Interpreter? CIS 410/510 User Interface Programming

Tcl/Tk lecture. What is the Wish Interpreter? CIS 410/510 User Interface Programming Tcl/Tk lecture CIS 410/510 User Interface Programming Tool Command Language TCL Scripting language for developing & using GUIs Allows generic programming variables, loops, procedures Embeddable into an

More information

Computer Systems II. First Two Major Computer System Evolution Steps

Computer Systems II. First Two Major Computer System Evolution Steps Computer Systems II Introduction to Processes 1 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent processes) 2 1 At First (1945 1955) In the beginning,

More information

FlexFlow: Workflow for Interactive Internet Applications

FlexFlow: Workflow for Interactive Internet Applications FlexFlow: Workflow for Interactive Internet Applications Rakesh Mohan, Mitchell A. Cohen, Josef Schiefer {rakeshm, macohen, josef.schiefer}@us.ibm.com IBM T.J. Watson Research Center PO Box 704 Yorktown

More information

Starting the System & Basic Erlang Exercises

Starting the System & Basic Erlang Exercises Starting the System & Basic Erlang Exercises These exercises will help you get accustomed with the Erlang development and run time environments. Once you have set up the Erlang mode for emacs, you will

More information

Chapter 2. DB2 concepts

Chapter 2. DB2 concepts 4960ch02qxd 10/6/2000 7:20 AM Page 37 DB2 concepts Chapter 2 Structured query language 38 DB2 data structures 40 Enforcing business rules 49 DB2 system structures 52 Application processes and transactions

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

EMPATH LANGUAGE REFERENCE MANUAL

EMPATH LANGUAGE REFERENCE MANUAL EMPATH LANGUAGE REFERENCE MANUAL Jeremy Posner jp2288@columbia.edu Nalini Kartha nkk2106@columbia.edu Sampada Sonalkar ss3119@columbia.edu William Mee wjm2107@columbia.edu COMS4115 Programming Languages

More information

CPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.

CPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts. CPSC/ECE 3220 Fall 2017 Exam 1 Name: 1. Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.) Referee / Illusionist / Glue. Circle only one of R, I, or G.

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

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 7 Introduction to Structured Query Language (SQL)

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management Tenth Edition Chapter 7 Introduction to Structured Query Language (SQL) Objectives In this chapter, students will learn: The basic commands and

More information

Lesson 4 Transcript: DB2 Architecture

Lesson 4 Transcript: DB2 Architecture Lesson 4 Transcript: DB2 Architecture Slide 1: Cover Welcome to Lesson 4 of the DB2 on campus series. Today we are going to talk about the DB2 architecture. My name is Raul Chong and I am the DB2 on Campus

More information

H2 Spring B. We can abstract out the interactions and policy points from DoDAF operational views

H2 Spring B. We can abstract out the interactions and policy points from DoDAF operational views 1. (4 points) Of the following statements, identify all that hold about architecture. A. DoDAF specifies a number of views to capture different aspects of a system being modeled Solution: A is true: B.

More information

An Agent Modeling Language Implementing Protocols through Capabilities

An Agent Modeling Language Implementing Protocols through Capabilities An Agent Modeling Language Implementing Protocols through Capabilities Nikolaos Spanoudakis 1,2 1 Technical University of Crete, Greece nikos@science.tuc.gr Pavlos Moraitis 2 2 Paris Descartes University,

More information

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 2018 Lecture 10: Monitors Monitors A monitor is a programming language construct that controls access to shared data Synchronization code added by compiler, enforced

More information

Processes Prof. James L. Frankel Harvard University. Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved.

Processes Prof. James L. Frankel Harvard University. Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Processes Prof. James L. Frankel Harvard University Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Process Model Each process consists of a sequential program

More information

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test

More information

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series UML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents UML Models UML Diagrams UML Structural Models Class Diagram Composite

More information

An Implementation of Hybrid A Concurrent, Object-Oriented Language

An Implementation of Hybrid A Concurrent, Object-Oriented Language An Implementation of Hybrid A Concurrent, Object-Oriented Language D. Konstantas O. Nierstrasz M. Papathomas Abstract This paper is a report on a prototype implementation of Hybrid, a strongly-typed, concurrent,

More information

Figure 4.1: The evolution of a rooted tree.

Figure 4.1: The evolution of a rooted tree. 106 CHAPTER 4. INDUCTION, RECURSION AND RECURRENCES 4.6 Rooted Trees 4.6.1 The idea of a rooted tree We talked about how a tree diagram helps us visualize merge sort or other divide and conquer algorithms.

More information

UNIT 5 : Advanced Behavioral Modeling

UNIT 5 : Advanced Behavioral Modeling UNIT 5 : Advanced Behavioral Modeling Syllabus :Events and signals,statemachines,processes and Threads,time and space chart diagrams, Component, Deployment, Component Diagrams and Deployment diagrams Events

More information

JSON & MongoDB. Introduction to Databases CompSci 316 Fall 2018

JSON & MongoDB. Introduction to Databases CompSci 316 Fall 2018 JSON & MongoDB Introduction to Databases CompSci 316 Fall 2018 2 Announcements (Tue. Oct. 30) Homework #3 due next Tuesday Project milestone #2 due next Thursday See email about new requirement on weekly

More information

Bluespec-4: Rule Scheduling and Synthesis. Synthesis: From State & Rules into Synchronous FSMs

Bluespec-4: Rule Scheduling and Synthesis. Synthesis: From State & Rules into Synchronous FSMs Bluespec-4: Rule Scheduling and Synthesis Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology Based on material prepared by Bluespec Inc, January 2005 March 2, 2005

More information

Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays)

Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays) Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays) In this lecture, you will: Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of

More information

Section 8. The Basic Step Algorithm

Section 8. The Basic Step Algorithm Section 8. The Basic Step Algorithm Inputs The status of the system The current time A list of external changes presented by the environment since the last step Comments Scheduled action appears in the

More information