Object-Oriented Analysis and Design

Size: px
Start display at page:

Download "Object-Oriented Analysis and Design"

Transcription

1 Object-Oriented Analysis and Design Session 5: Behavioral Modeling State machine diagrams Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 1

2 2 Outline Introduction to State Machine State Machine Diagrams Syntax and Semantics State Hierarchy State History Mechanism State Concurrency Concluding Example State Machine Diagrams and UML Summary

3 Introduction to State Machine Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 3

4 Characterization of reactive systems Continuous interaction with the environment inputs and outputs are asynchronous in time. Respond to interrupts. Stringent time requirements. Multiple possible scenarios of operation, depending on the history of previous behavior. Based on interacting processes that operate in parallel. Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 4

5 Automata A machine whose output behavior is not only a direct consequence of the current input, but also of some past history of its inputs. Characterized by an internal state which represents this past experience. ON OFF Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 5

6 What are Statecharts? Statecharts are visual formalism for specifying behavior of complex systems. Developed by David Harel. Employee rest[break] Working Resting Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 6

7 7 State Machine (Automaton) Diagram Graphical rendering of automata behavior Lamp On on on off off Lamp Off

8 8 Outputs and Actions As the automaton changes state it can generate outputs: off Lamp On Lamp Off on on/print( on ) off Lamp On print( on ) off Lamp Off on on off Mealy automaton Moore automaton

9 9 Extended State Machines (1) Addition of variables ( extended state ) on ctr : Integer Lamp On on/ctr := ctr + 1 off off Lamp Off

10 Extended State Machines (2) An extended (Mealy) state machine is defined by: a set of input signals (input alphabet) a set of output signals (output alphabet) a set of states a set of transitions triggering signal action a set of extended state variables an initial state designation a set of final states (if terminating automaton) Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 10

11 State Machine Diagrams Syntax and Semantics Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 11

12 12 State Machine Diagram Initial pseudostate top top state State Trigger Ready Transition Final state Done stop/ctr := 0 stop Action

13 States Statechart Diagram Elements Any component or object within the system can be at a specific state in a given time. When holding the state, an object (or a component) can perform activities (which can be interrupted). Transitions Specification of rules for moving between states. A transition may consist of a trigger, condition, and an action. Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 13

14 14 Initial and Final States start black moves White s turn Black s turn checkmate Black wins stalemate white Draw moves stalemate checkmate White wins

15 15 Activity and Action An activity: can be performed within a state. can be continuous. can be sequential. takes time. An action: can be performed within a state or during a transition. can not be interrupted. is atomic. can take time.

16 Event-Driven Behavior Event = a type of observable occurrence interactions: object operation invocation (call event). asynchronous signal reception (signal event). occurrence of time instants (time event) interval expiry. calendar/clock time. change in value of some entity (change event). Event Instance = an instance of an event (type) occurs at a particular time instant and has no duration. Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 16

17 17 Transitions A transition is enabled if the object is at a state preceding the transition. An enabled transition is activated upon its trigger activation. S1 E1 S2 E2 S3 An initial transition indicates that the default is entering S2. A transition can connect the same state.

18 18 State Entry and Exit Actions LampOn entry/lamp.on(); exit/lamp.off(); e2 e1

19 Order of Actions: Simple Case Entry actions are performed after (entering) transition actions. Exit actions are performed before (exiting) transition actions. LampOn entry/lamp.on(); exit/printf( exiting ); off/printf( to off ); LampOff entry/lamp.off(); exit/printf( exiting ); Resulting action sequence: printf( exiting ); printf( to off ); lamp.off(); off/printf( needless ); printf( exiting ); printf( needless ); lamp.off(); Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 19

20 20 Internal Transitions Self-transitions that bypass entry and exit. actions Internal transition triggered by an off event LampOff entry/lamp.off(); exit/printf( exiting ); off/null;

21 State ( Do ) Activities Forks a concurrent thread that executes until: the action completes or the state is exited. Error do activity entry/printf( error! ) do/while (true) alarm.ring(); Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 21

22 22 Guards Conditional execution of transitions side-effect free bid [value < 100] /reject Selling bid [value >= 200] /sell Happy bid [(value >= 100) & (value < 200)] /sell Unhappy

23 23 Guards and Events (1) S1 E1 S2 Entered C S3 S1 E1 S2 [C] S3

24 24 Traffic Light Example N/S may go straight tm(1) [cars in N/S left lanes] N/S may turn left tm(1) tm(1)[no cars in E/W left lanes] tm(1)[no cars in N/S left lanes] tm(1) E/W may turn left tm(1)[cars in E/W left lanes] E/W may go straight

25 25 Phone Line Example on hook on hook Busy tone do: sound busy tone digit (n) on hook on hook busy on hook / disconnect line on hook Idle Dial tone do: sound dial tone Dialing Ringing Connected Disconnected off hook digit (n) valid number Connecting do: find connection routed time out time out on hook invalid number called phone answers / connect line called phone hangs up / disconnect line Time out Recorded message do: play message message done

26 26 Static Conditional Branching Merely a graphical shortcut for convenient rendering of decision trees. Selling Happy bid [value < 100] /reject [value >= 200] /sell [(value >= 100) & (value < 200)] /sell Unhappy

27 27 Dynamic Conditional Branching Choice pseudostate: guards are evaluated only when the decision point is reached. Selling Happy bid /gain := calculatepotentialgain(value) [gain < 100] /reject [gain >= 200] /sell Dynamic choicepoint Unhappy [(gain >= 100) & (gain < 200)] /sell

28 State Hierarchy Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 28

29 States Hierarchy (1) Intended to cluster together alternative states of a single aspect / object. Results: OR states. An OR state is a super-state of its sub-states. A state that has no sub-states is a basic state. Indentation-status On The states in an IndentationStatus statechart: Off Left Right Center Justify Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 29

30 30 States Hierarchy (2) States hierarchy is used for describing different levels of abstraction. High Level Detailed Level

31 31 States Hierarchy (3) States hierarchy is used for clustering. Un clustered clustered

32 States Hierarchy (4) Initial States one per state. To be in a state is to be in ONE of its sub states. Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 32

33 33 States Hierarchy (5) Graduated attack on complexity states decomposed into state machines off/ LampOff entry/lamp.off() flash/ LampFlashing FlashOn entry/lamp.on() LampOn on/ entry/lamp.on() on/ on/ 1sec/ 1sec/ FlashOff entry/lamp.off()

34 34 States Hierarchy (6) Higher-level transitions Default transition to the initial pseudostate LampOff entry/lamp.off() off/ on/ LampOn entry/lamp.on() flash/ on/ LampFlashing FlashOn entry/lamp.on() 1sec/ 1sec/ FlashOff entry/lamp.off()

35 35 States Hierarchy (7) Triggered by a completion event generated automatically when an immediately nested state machine terminates. Committing Phase1 completion transition (no trigger) Phase2 CommitDone

36 States Hierarchy (8) Two or more transitions may have the same triggered event inner transition takes precedence. if no transition is triggered, event is discarded. LampFlashing FlashOn on/ off/ FlashOff on/ Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 36

37 37 States Hierarchy (9) Same approach as for the simple case S1 exit/exs1 S11 exit/exs11 E/actE S2 entry/ens2 inits2 S21 entry/ens21 Actions execution sequence: exs11 exs1 acte ens2 inits2 ens21

38 State History Mechanism Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 38

39 History Mechanism (1) Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 39

40 History Mechanism (2) Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 40

41 41 History Mechanism (3) G

42 History Mechanism (4) Return to a previously visited hierarchical state deep and shallow history options suspend/ Diagnostic1 Diagnosing Diagnostic2 Step11 Step21 resume/ H* Step12 Step22 Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 42

43 State Concurrency Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 43

44 44 Orthogonality and Concurrency (1) Multiple simultaneous perspectives on the same entity age employee Child Adult Staff Member Retiree Manager

45 45 Orthogonality and Concurrency (2) Describe independent components of a behavior. Behavior of parts of an aggregate object. Enforce synchronization of concurrent activities. Concurrency is an AND-decomposition of a state. To be in a state S is to be in ALL of its components. S is an AND state.

46 46 Orthogonality and Concurrency (3) Combine multiple simultaneous descriptions age employee Child Adult age employee Staff Member Retiree Child Adult Staff Member Manager Retiree Manager

47 Orthogonality and Concurrency (4) A a B C b (in G) D g E G d a m F Use of Orthogonal Regions B,E m g B,F d B,G No Use of Orthogonal Regions a C,E m g C,F a a d a b C,G Object-Oriented Analysis and Design 47

48 48 Orthogonality and Concurrency (5) All mutually orthogonal regions detect the same events and respond to them simultaneously. legalstatus financialstatus LawAbiding Poor Outlaw robbank/ Rich robbank/

49 49 Orthogonality and Concurrency (6) Typically through shared variables or awareness of other regions state changes. sane : Boolean Catch22 sanitystatus flying : Boolean flightstatus request Grounding/ Crazy entry/sane := false; (flying)/ Sane entry/sane := true; Flying entry/flying := true; (~sane)/ Grounded entry/flying := false; (sane)/

50 Transition Sequence A transition might be a trigger An event can trigger additional transitions Several transition can be triggered within a single step Solution The number of triggered transition should be limited A C b/d a/c d/a c/b B D Object-Oriented Analysis and Design 50

51 51 Transition Forks and Joins For transitions into/out of orthogonal regions: age Child Adult Retiree Staff Member Manager employee

52 Reducing Multiple Transitions (1) Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 52

53 Reducing Multiple Transitions (2) Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 53

54 Concluding Example Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 54

55 55 Mini Organ Example (1) ON\OFF a Display STYLE b Name Mode SONG c Number START

56 56 Mini Organ Example (2) 1. The button a is used for switch the organ on and off 2. The organ enables a song selection and its style. When the organ is turned on the display shows the mode: STYLE or SONG and its number. The default is song #1/sytle #1 and the mode is STYLE. 3. To select a style one need to press the b button and the required style number (1-9). Each style has a function that return its name StyleName(x). 4. To select a song one need to press the c button and the required song number(1-9). Each song has a function that return its name SongName(x). 5. Pressing the start button plays the current song following the current style. Another press stop the music. It is possible to change the song or style during music playing.

57 57 Mini Organ Example (3) Events a - pressing the a button b - pressing the b button c - pressing the c button s - pressing the START button i - pressing the a digit button (2-9) 1 - pressing the 1 button songend end of song playing Variables i,j can get values between 2-9 k,m can get values between 1-9 w can get a song or style name

58 58 Mini Organ Example (4) off a a on play mode song# style# display s or songend disable enable s Do: if song# in k and style# in m then play song k in style m style b song c 1[c1] j[c1] 1 j i[c2] 1 i 1[c2] disp-mode x style name [c4] b w [c2] c [c1] song number k y [c3]

59 State Machine and UML Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design 59

60 60 Dishwasher Class Diagram Dishwasher cycles : int rinsetime : int washtime : int drytime : int Tank evtankdrain() evtankfill() 1 itstank Dishwasher() setup() evstart() evopen() evclose() evquick() evnormal() evintensive() evservice() 1 itsjet Jet evjetoff() evjetspray() evjetpulse() itsheater 1 Heater evheateroff() evheateron()

61 61 Dishwasher State Machine Diagram AcmeHeater AcmeJet Dishwasher off evheateron evheateroff idle on evjetspray evjetoff evjetpulse AcmeTank evtankfill tm(4000)/ itsdishwasher->gen(evfull); filling running spraying pulsing empty> full> tm(4000)/ itsdishwasher->gen(evempty); draining evtankdrain

62 62 Summary UML uses a variant of Harel s statecharts adjusted to software modeling needs Used to model event-driven (reactive) behavior well-suited to the server model inherent in the object paradigm Includes a number of sophisticated features that realize common state-machine usage patterns: entry/exit actions state activities dynamic and static conditional branching Also, provides hierarchical modeling for dealing with very complex systems hierarchical states hierarchical transitions orthogonality

State modeling. Marlon Dumas. Institute of Computer Science

State modeling. Marlon Dumas. Institute of Computer Science State modeling Marlon Dumas Institute of Computer Science Where are we? Notation Class diagrams Use case diagrams/use cases Sequence diagrams Statecharts Petri nets Decision trees & DMN Purpose Domain

More information

Object Modeling Approach! Object Modeling Approach!

Object Modeling Approach! Object Modeling Approach! Object Modeling Approach! 1 Object Modeling Approach! Start with a problem statement! High-level requirements! Define object model! Identify objects and classes! Prepare data dictionary! Identify associations

More information

Information System Design IT60105

Information System Design IT60105 n IT60105 Lecture 13 Statechart Diagrams Lecture #13 What is a Statechart diagram? Basic components in a state-chart diagram and their notations Examples: Process Order in OLP system What is a Statechart

More information

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal.

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal. Embedded Systems 2 REVIEW: Actor models A system is a function that accepts an input signal and yields an output signal. The domain and range of the system function are sets of signals, which themselves

More information

Design and Analysis of Distributed Interacting Systems

Design and Analysis of Distributed Interacting Systems Design and Analysis of Distributed Interacting Systems Organization Prof. Dr. Joel Greenyer April 11, 2013 Organization Lecture: Thursdays, 10:15 11:45, F 128 Tutorial: Thursdays, 13:00 13:45, G 323 first

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 2 Finite Automata & SyncCharts Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Some things I forgot to mention 2 Remember the HISPOS registration

More information

TRANSITION CONFLICTS DETECTION IN BINARY MODULAR STATECHART DIAGRAMS 1. Grzegorz Łabiak

TRANSITION CONFLICTS DETECTION IN BINARY MODULAR STATECHART DIAGRAMS 1. Grzegorz Łabiak TRANSITION CONFLICTS DETECTION IN BINARY MODULAR STATECHART DIAGRAMS 1 Grzegorz Łabiak Computer Engineering & Electronics Department, University of Zielona Góra, Podgórna 50, 65-246 Zielona Góra, Poland.

More information

Opus: University of Bath Online Publication Store

Opus: University of Bath Online Publication Store Lam, V. S. W. (2006) A formal execution semantics and rigorous analytical approach for communicating UML statechart diagrams. Other. Department of Computer Science, University of Bath. Link to official

More information

Theoretical Foundations of the UML Lecture 18: Statecharts Semantics (1)

Theoretical Foundations of the UML Lecture 18: Statecharts Semantics (1) Theoretical Foundations of the UML Lecture 18: Statecharts Semantics (1) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ws-1415/uml/

More information

Finite State Machines. CS 447 Wireless Embedded Systems

Finite State Machines. CS 447 Wireless Embedded Systems Finite State Machines CS 447 Wireless Embedded Systems Outline Discrete systems Finite State Machines Transitions Timing Update functions Determinacy and Receptiveness 1 Discrete Systems Operates in sequence

More information

Module 7. Software Engineering Issues. Version 2 EE IIT, Kharagpur 1

Module 7. Software Engineering Issues. Version 2 EE IIT, Kharagpur 1 Module 7 Software Engineering Issues Version 2 EE IIT, Kharagpur 1 Lesson 35 Modelling Timing Constraints Version 2 EE IIT, Kharagpur 2 Specific Instructional Objectives At the end of this lesson, the

More information

Formal Methods in Software Engineering

Formal Methods in Software Engineering Formal Methods in Software Engineering Modeling Prof. Dr. Joel Greenyer October 21, 2014 Organizational Issues Tutorial dates: I will offer two tutorial dates Tuesdays 15:00-16:00 in A310 (before the lecture,

More information

UML Model Refactoring

UML Model Refactoring UML Model Refactoring Viktor Stojkovski University of Antwerpen, Faculty of Computer Science, Master Studies - Software Engineering, Antwerpen, Belgium Abstract Creating a complex UML statechart diagrams

More information

Foundations of System Development

Foundations of System Development Foundations of System Development Martin Wirsing in cooperation with Axel Rauschmayer WS 05/06 Ausblick: Systematische Entwicklung Mobiler Systeme 2 Goals Modelling and Developing Systems Using UML and

More information

Outline F eria AADL behavior 1/ 78

Outline F eria AADL behavior 1/ 78 Outline AADL behavior Annex Jean-Paul Bodeveix 2 Pierre Dissaux 3 Mamoun Filali 2 Pierre Gaufillet 1 François Vernadat 2 1 AIRBUS-FRANCE 2 FéRIA 3 ELLIDIS SAE AS2C Detroit Michigan April 2006 FéRIA AADL

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

7. Queueing Systems. 8. Petri nets vs. State Automata

7. Queueing Systems. 8. Petri nets vs. State Automata Petri Nets 1. Finite State Automata 2. Petri net notation and definition (no dynamics) 3. Introducing State: Petri net marking 4. Petri net dynamics 5. Capacity Constrained Petri nets 6. Petri net models

More information

The STATEMATE Semantics of Statecharts. Presentation by: John Finn October 5, by David Harel

The STATEMATE Semantics of Statecharts. Presentation by: John Finn October 5, by David Harel The STATEMATE Semantics of Statecharts Presentation by: John Finn October 5, 2010 by David Harel Outline Introduction The Basics System Reactions Compound Transitions History Scope of Transitions Conflicting

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros

More information

Formal Methods Engineering Nasreen Iqbal De Montfort University

Formal Methods Engineering Nasreen Iqbal De Montfort University Formal Methods Engineering Nasreen Iqbal De Montfort University EX: 2.C13. DESCRIBE THE FINITE STATE MACHINE The finite state machine is an approach to the mathematical model of computation, exploited

More information

Formalizing Non-Concurrent UML State Machines Using Colored Petri Nets

Formalizing Non-Concurrent UML State Machines Using Colored Petri Nets 1 Formalizing Non-Concurrent UML State Machines Using Colored Petri Nets Étienne André, Christine Choppy, Kais Klai LIPN, CNRS UMR 7030, Université Paris 13, France e-mail: {first.last}@lipn.univ-paris13.fr

More information

Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Recap: Actor Model An actor is a mapping of input signals to output signals S: R R k R R m where k is the number

More information

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department Page 1 of 13 COE 202: Digital Logic Design (3-0-3) Term 112 (Spring 2012) Final

More information

Expressing Dynamics of Mobile Programs by Typing

Expressing Dynamics of Mobile Programs by Typing 5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Expressing Dynamics of Mobile Programs by Typing Martin Tomášek Department

More information

Review for B33DV2-Digital Design. Digital Design

Review for B33DV2-Digital Design. Digital Design Review for B33DV2 The Elements of Modern Behaviours Design Representations Blocks Waveforms Gates Truth Tables Boolean Algebra Switches Rapid Prototyping Technologies Circuit Technologies TTL MOS Simulation

More information

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

More information

A test sequence selection method for statecharts

A test sequence selection method for statecharts SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. 2000; 10: 203 227 A test sequence selection method for statecharts Hyoung Seok Hong 1,*, Young Gon Kim 1, Sung Deok Cha 1,*, Doo

More information

A Sample State Machine

A Sample State Machine A Sample State Machine Environment Signatures An environment signature is a triple of sets of guards, actions, and messages. H = (G H, A H, M H ) Guards: formulas in some logical language, e.g. OCL. Actions

More information

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2 Embedded Systems 5-1 - Synchronous Composition Lee/Seshia Section 6.2 Important semantic model for concurrent composition Here: composition of actors Foundation of Statecharts, Simulink, synchronous programming

More information

6.852: Distributed Algorithms Fall, Class 10

6.852: Distributed Algorithms Fall, Class 10 6.852: Distributed Algorithms Fall, 2009 Class 10 Today s plan Simulating synchronous algorithms in asynchronous networks Synchronizers Lower bound for global synchronization Reading: Chapter 16 Next:

More information

Process Algebras and Concurrent Systems

Process Algebras and Concurrent Systems Process Algebras and Concurrent Systems Rocco De Nicola Dipartimento di Sistemi ed Informatica Università di Firenze Process Algebras and Concurrent Systems August 2006 R. De Nicola (DSI-UNIFI) Process

More information

Discrete Event Systems

Discrete Event Systems DI DIPARTIMENTO DI INGEGNERIA DELL INFORMAZIONE E SCIENZE MATEMATICHE Lecture notes of Discrete Event Systems Simone Paoletti Version 0.3 October 27, 2015 Indice Notation 1 Introduction 2 1 Basics of systems

More information

Finite-state machines (FSMs)

Finite-state machines (FSMs) Finite-state machines (FSMs) Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada January 10, 2017 1/19 Finite-state machines (FSMs) and state

More information

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML)

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML) Where are we? Systeme hoher Sicherheit und Qualität Universität Bremen, WS 2017/2018 Lecture 05: High-Level Design with SysML Christoph Lüth, Dieter Hutter, Jan Peleska 01: Concepts of Quality 02: Legal

More information

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc.

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc. Finite State Machines Introduction Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc. Such devices form

More information

Part I. Principles and Techniques

Part I. Principles and Techniques Introduction to Formal Methods Part I. Principles and Techniques Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr Introduction Text System and Software Verification : Model-Checking Techniques and Tools In this

More information

Actions and Activities

Actions and Activities STATE DIAGRAM Actions and Activities Internal transition compartmen t State Name Internal actions and activities for a state Name compartment entry / action expression exit/ action expression do / activity

More information

Formal Conformance Testing 2006

Formal Conformance Testing 2006 Formal Conformance Testing 2006 Lecture 1 14th Sep 2006 Welcome! This is T-79.5304: Formal Conformance Testing Lectures from 10 to 12 am, no regular tutorials Cancellations and other notes at the web page

More information

The Discrete EVent System specification (DEVS) formalism

The Discrete EVent System specification (DEVS) formalism The Discrete EVent System specification (DEVS) formalism Hans Vangheluwe The DEVS formalism was conceived by Zeigler [Zei84a, Zei84b] to provide a rigourous common basis for discrete-event modelling and

More information

Semantics of S.S.M. (Safe State Machine)

Semantics of S.S.M. (Safe State Machine) Semantics of S.S.M. (Safe State Machine) Charles André I3S Laboratory UMR 6070 University of Nice-Sophia Antipolis / CNRS BP 121 F 06903 Sophia Antipolis cédex andre@unice.fr April 2003 1 2 Semantics of

More information

Formal Semantics for Grafcet Controlled Systems 1 Introduction 2 Grafcet

Formal Semantics for Grafcet Controlled Systems 1 Introduction 2 Grafcet Formal Semantics for Grafcet Controlled Systems JANAN ZAYTOON Laboratoire d'automatique et de Microélectronique Faculté des Sciences Moulin de la Housse, BP 1039, 51687 Reims cedex 2 FRANCE Abstract: Grafcet

More information

Co-simulation of embedded systems: a PVS-Simulink integrated environment

Co-simulation of embedded systems: a PVS-Simulink integrated environment Co-simulation of embedded systems: a PVS-Simulink integrated environment Cinzia Bernardeschi 1 Andrea Domenici 1 Paolo Masci 2 1 Department of Information Engineering, University of Pisa 2 INESC-TEC and

More information

Chapter 5: Linear Temporal Logic

Chapter 5: Linear Temporal Logic Chapter 5: Linear Temporal Logic Prof. Ali Movaghar Verification of Reactive Systems Spring 94 Outline We introduce linear temporal logic (LTL), a logical formalism that is suited for specifying LT properties.

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Property of Monitronics Inc

Property of Monitronics Inc Enter Program 4140 + 8 + 0 + 0 (Display should show 00, also try 4130 and 5130) or Power down then back up and press * and # within 1 minute (If exiting programming you can re-enter within 1 minute by

More information

A Random Walk from Async to Sync. Paul Cunningham & Steev Wilcox

A Random Walk from Async to Sync. Paul Cunningham & Steev Wilcox A Random Walk from Async to Sync Paul Cunningham & Steev Wilcox Thank You Ivan In the Beginning March 2002 Azuro Day 1 Some money in the bank from Angel Investors 2 employees Small Office rented from Cambridge

More information

Chapter 5. Finite Automata

Chapter 5. Finite Automata Chapter 5 Finite Automata 5.1 Finite State Automata Capable of recognizing numerous symbol patterns, the class of regular languages Suitable for pattern-recognition type applications, such as the lexical

More information

Distributed Deadlock-Avoidance. IMDEA Software Institute, Spain

Distributed Deadlock-Avoidance. IMDEA Software Institute, Spain Distributed Deadlock-voidance César Sánchez IMDE Software Institute, Spain DRV Workshop, ertinoro 19-May, 216 Distributed Deadlock-voidance little story about how static knowledge can help solve unsolvable

More information

Embedded Systems. Embedded Systems

Embedded Systems. Embedded Systems Embedded Systems - 1 - Embedded Systems Bernd Finkbeiner (finkbeiner@cs.uni-sb.de) Rüdiger Ehlers (ehlers@cs.uni-sb.de) Hans-Jörg Peter (peter@cs.uni-sb.de) Michael Gerke (micge@hotmail.com) Lectures:

More information

EECS150 - Digital Design Lecture 23 - FSMs & Counters

EECS150 - Digital Design Lecture 23 - FSMs & Counters EECS150 - Digital Design Lecture 23 - FSMs & Counters April 8, 2010 John Wawrzynek Spring 2010 EECS150 - Lec22-counters Page 1 One-hot encoding of states. One FF per state. State Encoding Why one-hot encoding?

More information

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview

ECE 407 Computer Aided Design for Electronic Systems. Simulation. Instructor: Maria K. Michael. Overview 407 Computer Aided Design for Electronic Systems Simulation Instructor: Maria K. Michael Overview What is simulation? Design verification Modeling Levels Modeling circuits for simulation True-value simulation

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

T4 TIMER - PROJECT DESCRIPTION - rev. 5.10

T4 TIMER - PROJECT DESCRIPTION - rev. 5.10 1. Display Logic A. When displaying in HH:MM, it will not be obvious from the display that the timer is counting, the 4 dots at the bottom of the display chase from left to right to indicate its counting

More information

{},{a},{a,c} {},{c} {c,d}

{},{a},{a,c} {},{c} {c,d} Modular verication of Argos Programs Agathe Merceron 1 and G. Michele Pinna 2 1 Basser Department of Computer Science, University of Sydney Madsen Building F09, NSW 2006, Australia agathe@staff.cs.su.oz.au

More information

Algorithmic verification

Algorithmic verification Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification

More information

The AADL behavior annex - experiments and roadmap

The AADL behavior annex - experiments and roadmap The AADL behavior annex - experiments and roadmap R. B. França 1 J-P. Bodeveix 1 M. Filali 1 J-F. Rolland 1 D. Chemouil 2 D. Thomas 3 1 Institut de Recherche en Informatique de Toulouse Université Paul

More information

Embedded Systems 14. Overview of embedded systems design

Embedded Systems 14. Overview of embedded systems design Embedded Systems 14-1 - Overview of embedded systems design - 2-1 Point of departure: Scheduling general IT systems In general IT systems, not much is known about the computational processes a priori The

More information

SEMANTICS OF SYNCCHARTS

SEMANTICS OF SYNCCHARTS LABORATOIRE INFORMATIQUE, SIGNAUX ET SYSTÈMES DE SOPHIA ANTIPOLIS UMR 6070 SEMANTICS OF SYNCCHARTS Charles André Projet SPORTS Rapport de recherche ISRN I3S/RR 2003-24 FR Octobre2003 LABORATOIRE I3S: Les

More information

ECE 448 Lecture 6. Finite State Machines. State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code. George Mason University

ECE 448 Lecture 6. Finite State Machines. State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code. George Mason University ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code George Mason University Required reading P. Chu, FPGA Prototyping by VHDL Examples

More information

Lab 1 Uniform Motion - Graphing and Analyzing Motion

Lab 1 Uniform Motion - Graphing and Analyzing Motion Lab 1 Uniform Motion - Graphing and Analyzing Motion Objectives: < To observe the distance-time relation for motion at constant velocity. < To make a straight line fit to the distance-time data. < To interpret

More information

SPECIFICATION MODELS. Chapter 3. Overview. Introducing Hierarchy. StateCharts

SPECIFICATION MODELS. Chapter 3. Overview. Introducing Hierarchy. StateCharts hapter SPEIFITION MOELS Overview Stateharts Hierarchy oncurrency Events and ctions Simulation Semantics Non-eterminism and onflicts Petri Nets Notation oncurrency Petri Net Languages ehavioral Properties

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 3" Graphs Other than DFGs"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 3 Graphs Other than DFGs Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 3 Graphs Other than DFGs Formalizing DFGs as Relations (i, j) ε DataFlow G if de i creates data that de

More information

MODEL CHECKING. Arie Gurfinkel

MODEL CHECKING. Arie Gurfinkel 1 MODEL CHECKING Arie Gurfinkel 2 Overview Kripke structures as models of computation CTL, LTL and property patterns CTL model-checking and counterexample generation State of the Art Model-Checkers 3 SW/HW

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 3" Graphs Other than DFGs" Hierarchy"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 3 Graphs Other than DFGs Hierarchy Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 3 Graphs Other than DFGs Formalizing DFGs as Relations (i, j) ε DataFlow G if de i creates data that de

More information

Introduction to Computers & Programming

Introduction to Computers & Programming 16.070 Introduction to Computers & Programming Theory of computation: What is a computer? FSM, Automata Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Models of Computation What is a computer? If you

More information

Combining STATEMATE and FNLOG for the specification and the verification of complex real time systems

Combining STATEMATE and FNLOG for the specification and the verification of complex real time systems GESTS Int l Trans. Computer Science and Engr., Vol.20, No.1 65 Combining STATEMATE and FNLOG for the specification and the verification of complex real time systems Leila JEMNI BEN AYED 1 and Olfa MOSBAHI

More information

MODELLING THE WORLD IN STATES

MODELLING THE WORLD IN STATES INTERNATIONAL CONFERENCE ON ENGINEERING DESIGN, ICED 07 28-31 AUGUST 2007, CITE DES SCIENCES ET DE L'INDUSTRIE, PARIS, FRANCE MODELLING THE WORLD IN STATES Tapio Korpela 1 and Jussi A. Karjalainen 1 1

More information

Test Statistique Structurel et Fonctionnel

Test Statistique Structurel et Fonctionnel Test Statistique Structurel et Fonctionnel Pascale Thévenod-Fosse, Hélène Waeselynck {thevenod,waeselyn}@laas.fr Journée Club SEE "Systèmes informatiques de confiance" Thème : Test Paris, le 1er juin 1999

More information

TECHNICAL MANUAL 820 LX / 910 LX / 1300 LX

TECHNICAL MANUAL 820 LX / 910 LX / 1300 LX TECHNICAL MANUAL 820 LX / 910 LX / 1300 LX LANCER reserves the right to modify, constantly its documentation for its improvement. The values of adjustments indicated in the displays of this manual are

More information

Formal Verification of Mobile Network Protocols

Formal Verification of Mobile Network Protocols Dipartimento di Informatica, Università di Pisa, Italy milazzo@di.unipi.it Pisa April 26, 2005 Introduction Modelling Systems Specifications Examples Algorithms Introduction Design validation ensuring

More information

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems Luca Abeni luca.abeni@unitn.it Interacting Tasks Until now, only independent tasks... A job never blocks or suspends A task only blocks on job termination In real world, jobs

More information

Synthesis of Designs from Property Specifications

Synthesis of Designs from Property Specifications Synthesis of Designs from Property Specifications Amir Pnueli New York University and Weizmann Institute of Sciences FMCAD 06 San Jose, November, 2006 Joint work with Nir Piterman, Yaniv Sa ar, Research

More information

Interacting Vehicles: Rules of the Game

Interacting Vehicles: Rules of the Game Chapter 7 Interacting Vehicles: Rules of the Game In previous chapters, we introduced an intelligent control method for autonomous navigation and path planning. The decision system mainly uses local information,

More information

Finite Automata. Mahesh Viswanathan

Finite Automata. Mahesh Viswanathan Finite Automata Mahesh Viswanathan In this lecture, we will consider different models of finite state machines and study their relative power. These notes assume that the reader is familiar with DFAs,

More information

Digital Control of Electric Drives

Digital Control of Electric Drives Digital Control of Electric Drives Logic Circuits - equential Description Form, Finite tate Machine (FM) Czech Technical University in Prague Faculty of Electrical Engineering Ver.. J. Zdenek 27 Logic

More information

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling

More information

Information System Design IT60105

Information System Design IT60105 Information System Design IT60105 Lecture 6 Object-Oriented Design Paradigms Concepts of objects Lecture #5 Object-Oriented Paradigms Class Encapsulation Relation between classes Association Aggregation

More information

A Theory for Composing Distributed Components, Based on Temporary Interference

A Theory for Composing Distributed Components, Based on Temporary Interference A Theory for Composing Distributed Components, Based on Temporary Interference I.S.W.B. Prasetya T.E.J. Vos S.D. Swierstra B. Widjaja Abstract Compositionality provides the foundation of software modularity,

More information

Sequential programs. Uri Abraham. March 9, 2014

Sequential programs. Uri Abraham. March 9, 2014 Sequential programs Uri Abraham March 9, 2014 Abstract In this lecture we deal with executions by a single processor, and explain some basic notions which are important for concurrent systems as well.

More information

Security as a Resource in Process-Aware Information Systems

Security as a Resource in Process-Aware Information Systems Security as a Resource in Process-Aware Information Systems 14 October 2011 Joint Work with: Jason Crampton Information Security Group Royal Holloway Jim Huan-Pu Kuo Department of Computing Imperial College

More information

Complex Systems Design & Distributed Calculus and Coordination

Complex Systems Design & Distributed Calculus and Coordination Complex Systems Design & Distributed Calculus and Coordination Concurrency and Process Algebras: Theory and Practice Francesco Tiezzi University of Camerino francesco.tiezzi@unicam.it A.A. 2014/2015 F.

More information

How to deal with uncertainties and dynamicity?

How to deal with uncertainties and dynamicity? How to deal with uncertainties and dynamicity? http://graal.ens-lyon.fr/ lmarchal/scheduling/ 19 novembre 2012 1/ 37 Outline 1 Sensitivity and Robustness 2 Analyzing the sensitivity : the case of Backfilling

More information

Introduction to Automata

Introduction to Automata Introduction to Automata Seungjin Choi Department of Computer Science and Engineering Pohang University of Science and Technology 77 Cheongam-ro, Nam-gu, Pohang 37673, Korea seungjin@postech.ac.kr 1 /

More information

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department

King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department King Fahd University of Petroleum and Minerals College of Computer Science and Engineering Computer Engineering Department Page of COE 22: Digital Logic Design (3--3) Term (Fall 22) Final Exam Sunday January

More information

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: Specification Patterns Copyright 2001-2002, Matt Dwyer, John Hatcliff, Robby. The syllabus and all lectures for this

More information

An Indian Journal FULL PAPER ABSTRACT KEYWORDS. Trade Science Inc.

An Indian Journal FULL PAPER ABSTRACT KEYWORDS. Trade Science Inc. [Type text] [Type text] [Type text] ISSN : 0974-7435 Volume 10 Issue 11 BioTechnology 2014 An Indian Journal FULL PAPER BTAIJ, 10(11), 2014 [5576-5583] Research on the probability of extended UML state

More information

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control

Logic and Computer Design Fundamentals. Chapter 8 Sequencing and Control Logic and Computer Design Fundamentals Chapter 8 Sequencing and Control Datapath and Control Datapath - performs data transfer and processing operations Control Unit - Determines enabling and sequencing

More information

Time and Schedulability Analysis of Stateflow Models

Time and Schedulability Analysis of Stateflow Models Time and Schedulability Analysis of Stateflow Models Marco Di Natale Scuola Superiore S. Anna Haibo Zeng Mc Gill University Outline Context: MBD of Embedded Systems Relationship with PBD An Introduction

More information

Introduction: Computer Science is a cluster of related scientific and engineering disciplines concerned with the study and application of computations. These disciplines range from the pure and basic scientific

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

Hybrid Control and Switched Systems. Lecture #4 Simulation of hybrid systems

Hybrid Control and Switched Systems. Lecture #4 Simulation of hybrid systems Hybrid Control and Switched Systems Lecture #4 Simulation of hybrid systems João P. Hespanha University of California at Santa Barbara Summary 1. Numerical simulation of hybrid automata simulations of

More information

Synchronous Sequential Circuit Design. Dr. Ehab A. H. AL-Hialy Page 1

Synchronous Sequential Circuit Design. Dr. Ehab A. H. AL-Hialy Page 1 Synchronous Sequential Circuit Design Dr. Ehab A. H. AL-Hialy Page Motivation Analysis of a few simple circuits Generalizes to Synchronous Sequential Circuits (SSC) Outputs are Function of State (and Inputs)

More information

HRML: a hybrid relational modelling language. He Jifeng

HRML: a hybrid relational modelling language. He Jifeng HRML: a hybrid relational modelling language He Jifeng Hybrid Systems Systems are composed by continuous physical component and discrete control component The system state evoles over time according to

More information

Theoretical Foundations of the UML

Theoretical Foundations of the UML Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.

More information