Unified Modeling Language 2

Similar documents
Ingegneria del Software Corso di Laurea in Informatica per il Management

UNIT-4 Behavioral Diagrams

State Machine Diagrams

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

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

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

12 Tutorial on UML. TIMe TIMe Electronic Textbook

visualstate Reference Guide

Thirty one Problems in the Semantics of UML 1.3 Dynamics

SCXML State Chart XML

STATE MACHINES. Figure 1: State Machines

UML 2.0 State Machines

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

Dynamic Modeling - Finite State Machines

UML Metamodel version September 1997

Contents Contents 1 Introduction Entity Types... 37

EE249 Lab September 30 h, 2008 Hugo A. Andrade

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

Combined Modeling and Programming with State Machines

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

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

Actor-eUML for Concurrent Programming

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

ModelicaML: Getting Started Issue April 2012

System Analysis and Design. Statecharts

Appendix D: Mapping BPMN to BPD Profile

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

Activities Radovan Cervenka

Remote Control. IMMS.de

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

Finite State Machines and Statecharts

Meltem Özturan

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

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

UML- a Brief Look UML and the Process

4: Specifying State-based Behavior With UML Statechart Diagrams

Lecture 16: Hierarchical State Machines II

OMG Modeling Glossary B

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

Section 8. The Basic Step Algorithm

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Transforming UML Collaborating Statecharts for Verification and Simulation

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

Specifications Part 1

EVENTS AND SIGNALS. Figure 1: Events. kinds of events Signal Event

Element. ModelElement. GeneralizableElement isroot : Boolean isleaf : Boolean isabstract : Boolean. +type. Method body : ProcedureExpression

Enterprise Architect - UML Dictionary

IV. State Diagrams. State Diagrams (Statecharts)

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour

Steps in Using COMET/UML

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Motivation State Machines

ATL: Atlas Transformation Language. ATL Transformation Description Template - version 0.1 -

The Unified Modeling Language (UML)

Formalising Concurrent UML State Machines Using Coloured Petri Nets 1

An Agent Modeling Language Implementing Protocols through Capabilities

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

Introduction to Software Engineering. 6. Modeling Behaviour

On Formalizing UML State Machines Using ASMs

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

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

FlexFlow: Workflow for Interactive Internet Applications

Business Process Modeling. Version /10/2017

LabVIEW Statechart Module Tutorial

CISC836: Models in Software Development: Methods, Techniques and Tools

EL6483: Basic Concepts of Embedded System ModelingSpring and Hardware-In-The-Loo

UML Diagrams MagicDraw UML Diagrams

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

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

EdROOM. Automatic C++ Code Generator for Real Time Systems Modelled with ROOM.

Design and Implementation of Composite Protocols

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification

Modeling with Activity Diagram

What's New in UML 2.0

Enterprise Architect Training Courses

Architecture-Centric Evolution in Software Product Lines:

The etrice Eclipse Project Proposal

INF5120, Lecture 10 March 19th, 2018 UML Interactions (Sequence Diagrams) and UML State Machines

The Fujaba Statechart Synthesis Approach

********************************************************************

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"

Petri Nets" Computer Science 520/620 Spring 2011 Prof. L. Osterweil" Software Models and Representations" Part 3" Some Semantics"

Computer Science 520/620 Spring 2011 Prof. L. Osterweil" Software Models and Representations" Part 3" Petri Nets"

Übungsfragen für den Test zum OMG Certified UML Professional (Intermediate) Download

Model Checking Dynamic and Hierarchical UML State Machines

JOURNAL OF OBJECT TECHNOLOGY

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

Execution of UML State Machines Using Modelica

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

SCXML. Michael Bodell.

Composition of State Machines

Concurrent Models of Computation

Hippo Software BPMN and UML Training

Process and data flow modeling

Hardware Description Languages & System Description Languages Properties

Hardware Description Languages & System Description Languages Properties

SysML State Machines: a formal model for refinement. COMPASS White Paper WP03. July Public Document

Developing Shlaer-Mellor Models Using UML

Transcription:

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 1990 s: Objectcharts adaptation to object orientation 1994: ROOM Charts run-to-completion (RTC) step 110

Usage scenarios Object life cycle Behaviour of objects according to business rules in particular for active classes Use case life cycle Integration of use case scenarios Alternative: activity diagrams Control automata Embedded systems Protocol specification Communication interfaces 111

States and transitions State machines model behaviour using states interconnected with transitions triggered by event occurrences. initial Pseudostate trigger (CallEvent) guard (Constraint) simple State Transition effect (CallAction) FinalState 112

Relation to class diagrams State machines are defined in the context of a BehavioredClassifier. Context defines which events can occur features are available Operation corresponding CallEvent CallAction called Operation 113

Triggers and events (1) SignalEvent deferred event completion event (no explicit trigger) TimeEvent (relative) ChangeEvent 114

Triggers and events (2) CallEvent receipt of a (a)synchronous Operation call triggering after Behavior of Operation executed SignalEvent receipt of an asynchronous Signal instance reaction declared by a Reception for the Signal TimeEvent absolute reference to a time point (at t) relative reference to trigger becoming active (after t) presumably meaning relative to state entry ChangeEvent raised each time condition becomes true may be raised at some point after condition changes to true could be revoked if condition changes to false 115

Triggers and events (3) Completion event raised when all internal activities of a state are finished do activity, subregion no metamodel element for completion events dispatched before all other events in the event pool Deferred events events that cannot be handled in a state but should be kept in the event pool reconsidered when state is changed no predefined deferring policy Internal transitions are executed without leaving and entering their containing state normally, on transition execution states are left and entered 116

Behaviours exit Behavior (on exiting a state) do activity Behavior (concurrently while in state, may be interrupted) entry Behavior (on entering a state) 117

How state machines communicate event pool event pool during run-to-completion (RTC) network starts new RTC-step signals: asynchronous (no waiting) calls: asynchronous or synchronous (waiting for RTC of callee) No assumptions are made on timing between event occurrence, event dispatching, and event consumption. Event occurrences for which no trigger exists may be discarded (if they are not deferred). 118

Hierarchical states (1) Hierarchical states allow to encapsulate behaviour and facilitate reuse. However, they are rarely used this way. UML 2.0 provides concepts supporting this usage. entry and exit points composite State Transition triggering is prioritized inside-out, i.e., transitions deeper in the hierarchy are considered first. 119

Hierarchical states (2) detailed (non-orthogonal) composite State default entry Region substates 120

Orthogonal regions Simple State: containing no Region Composite State: containing at least one Region simple composite State: exactly one orthogonal composite State: at least two orthogonal Regions, both active if Client/Server active orthogonal states are concurrent as a single event may trigger a transition in each orthogonal region simultaneously 121

Forks and joins all Regions must be entered simultaneously all Regions are left simultaneously (if FinalStates are reached) join Pseudostate (restrictions dual to forks) fork Pseudostate (one incoming, at least two outgoing Transitions; outgoing Transitions must target States in different Regions of an orthogonal State) 122

Entry and exit points (1) Entry and exit points (Pseudostates) provide better encapsulation of composite states help avoid unstructured transitions exit point (on border of state machine diagram or composite state) entry point 123