Advanced State Modeling

Size: px
Start display at page:

Download "Advanced State Modeling"

Transcription

1 Advanced State Modeling Or: Derek Zoolander Strikes Back Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box , Tucson, AZ 85721, USA Jonathan Sprinkle Advanced State Modeling 1

2 Abstract Abstract This lecture continues discussion of state modeling and state diagrams. Specific details to be discussed include concurrent models, and various instance models of states. Jonathan Sprinkle Advanced State Modeling 2

3 Previously, on ECE State models give the behavior of a particular class. States are an abstraction of the current value(s) of an object and its links Events are instantaneous (when they happen), and unique. Kinds of events can be classified Transitions can fire when an event occurs, and guard conditions are satisfied (recall event[guard]). Jonathan Sprinkle Advanced State Modeling 3

4 Outline 1 Reminders from State Modeling Definitions Sending Signals 2 Advanced State Modeling Concepts Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 3 In-Class Exercises Jonathan Sprinkle Advanced State Modeling 4

5 Definitions Transitions happen. State1 entry/action do/activity exit/action event/action(arguments) event[guard] State2 entry/action do/activity exit/action Jonathan Sprinkle Advanced State Modeling 5

6 Definitions Activities happen. State1 entry/action do/activity exit/action event/action(arguments) event[guard]/action State2 entry/action do/activity exit/action Jonathan Sprinkle Advanced State Modeling 6

7 Definitions Completion transitions When an activity is complete, or no activity exists, an unlabeled transition called the completion transition can be taken when activity is done. This is in response to the completion event, which fires only once. State1 State2 entry/action do/activity exit/action However, it may be possible get a state stuck if guard conditions prevent taking the transition, and no more completion transitions fire. Completion transitions should be used with care or not at all!! You will be heavily penalized on exams and homework assignments for state models with ambiguous completion transitions. Jonathan Sprinkle Advanced State Modeling 7

8 Sending Signals Race conditions An object can send a signal to another object, or objects. Generally, if a signal is directed at a group of objects, then each object received a unique signal, and they are processed concurrently. If an object can receive signals from more than one object, then it may be possible for the order of receipt to affect the final state of the object. This effect is called a race condition. Definition A race condition is a design consequence, wherein a particular object s final state is nondeterministic when considering the order of receipt of messages from more than one source. It is interesting to note that race conditions are not necessarily design flaws, but that many real-time of concurrent systems prefer that race conditions do not exist. Jonathan Sprinkle Advanced State Modeling 8

9 Outline 1 Reminders from State Modeling Definitions Sending Signals 2 Advanced State Modeling Concepts Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 3 In-Class Exercises Jonathan Sprinkle Advanced State Modeling 9

10 Advanced State Modeling Previously discussed concepts for state modeling are sufficient for toy examples, but systems which are deployed frequently require more advanced concepts. This information is from Chapter 6 of the text. Jonathan Sprinkle Advanced State Modeling 10

11 Nested State Diagrams Flat state diagrams can become unwieldy, and are often so large that they cannot be readily understood as a documentation tool. Furthermore, it may be the case that the complexity of a flattened state diagram may hide design flaws in the same way that the complexity of textual code, for a sufficiently large example. Enter, then, nested state diagrams, which allow subdiagrams to hide complexity, or refactor tasks. Consider a vending machine, with 10 different selections. The act of dispensing an item can be refactored as a single state, even though it may require several sub-states to complete its task. Jonathan Sprinkle Advanced State Modeling 11

12 Nested State Diagrams Example (From Figures 6.2, 6.3 in Chapter 6) Consider a vending machine, with more that one selectable item. Vending Machine start Idle cons in(amount) / set balance cancel / refund coins [item empty] Collecting money coins in(amount) / add to balance select(item) do / test item and compute change [change < 0] [change = 0] [change > 0] dispense : DispenseItem do / make change Figure: The Vending Machine state diagram Jonathan Sprinkle Advanced State Modeling 12

13 Nested State Diagrams A submachine: DispenseItem Example (The DispenseItem submachine) DispenseItem start do / move arm( item.getrow( ) ) arm ready do / move arm( item.getcol( ) ) end pushed do / push item off shelf arm ready Figure: The DispenseItem subdiagram Jonathan Sprinkle Advanced State Modeling 13

14 Concurrency and States Aggregation Concurrency State models by their appearance and definition support concurrency well; however, it is entirely possible that certain objects may require interdependence at certain points in their life. The aggregate state refers to the combined state of all state diagrams in a collection. Definition Aggregation Concurrency is an and relationship between concurrent states. Two state which employ aggregation concurrency are both active at the same time. Jonathan Sprinkle Advanced State Modeling 14

15 Concurrency and States When employing Aggregation Concurrency, it is most interesting for contained states to interact (e.g., transitions for one object may depend on the state of another object). Example (Car example.) Car Transmission Accelerator Brake Jonathan Sprinkle Advanced State Modeling 15

16 Concurrency and States Aggregation s Concurrent State Diagram Transmission start select(reverse) Park Reverse select(park)[v=0] select(park)[v=0] select(drive) Drive when( v > v_max ) First when( v < v_min ) Second Accelerator Idle do / decrease v push down Depressed do / increase v release Brake Idle Depressed push down do / decrease v release Jonathan Sprinkle Advanced State Modeling 16

17 Concurrency within an Object When modeling an object which may have a concurrent set of states, it is possible to partition the state with a dotted line, to show that the state of the object is a tuple of single states from each concurrent region. State State1 State2 StateA StateB The state can be State1 and StateB, for example, but not StateA and StateB since exactly one state from each partition must be active. Jonathan Sprinkle Advanced State Modeling 17

18 Concurrency within an Object Example (Tennis Game) Jonathan Sprinkle Advanced State Modeling 18

19 Synchronization of Concurrent Activities For atomic synchronization, it is possible to use splitting and merging. Definition Splitting control requires that all following activities occur concurrently. A splitting fork (heavy bar with one input and 2..* outputs) denotes splitting of control. Definition Merging control is the collection of completion of all incoming activities before continuing. A merging (or joining) fork (heavy bar with 2..* inputs and one output) denotes merging of control. Jonathan Sprinkle Advanced State Modeling 19

20 Synchronization of Concurrent Activities A few notes... Merge and split are themselves transitions, and fire based on events, guards, and can produce actions. It is not necessary for concurrent states (after splitting control) to occur simultaneously. Implicit merges and simple splitting can cause headaches if states (and substates) do not contain default states. You should specify a default state for all concurrent substates to avoid confusion. Jonathan Sprinkle Advanced State Modeling 20

21 Outline 1 Reminders from State Modeling Definitions Sending Signals 2 Advanced State Modeling Concepts Nested State Diagrams Concurrency and States Concurrency within an Object Synchronization of Concurrent Activities 3 In-Class Exercises Jonathan Sprinkle Advanced State Modeling 21

22 Example (Completion Confusion) Create 2-3 example state models where completion transitions are used to describe a specific design of your choosing. Have some be clear, and others be unclear. Create sequence diagrams for unclear state models. Example (Current Concurrent) Create a state model using concurrent substates, to describe how capacitors in an example circuit are charging. Make sure to show the example circuit, but no specific equations need be given. Example (Substate Mate) Create a state model with explicit substates, that describe a chess game, and various strategies that either player will use as parts of each substate. Be general in your algorithms, not specific. Jonathan Sprinkle Advanced State Modeling 22

Introduction Events States Transition State Diagrams State Diagram Behavior Advanced State Modeling In-Class Exercises.

Introduction Events States Transition State Diagrams State Diagram Behavior Advanced State Modeling In-Class Exercises. State Models Or: Frenemies of the state: BYOB.... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 27, 2012 Jonathan

More information

Object Behaviours UML Statecharts

Object Behaviours UML Statecharts Object Behaviours UML Statecharts Software Requirements and Design CITS 4401 Lecture 5 Based on Ch 5 Lecture Notes by Bruegge & Dutoit Finite state machine flip switch on light off light on flip switch

More information

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Chapter 5, Analysis: Dynamic Modeling Using UML, Patterns, and Java Object-Oriented Software Engineering Dynamic Modeling with UML Diagrams for dynamic modeling Interaction diagrams describe the dynamic

More information

Course "Softwaretechnik" Book Chapter 5 Analysis: Dynamic Modeling

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

More information

System Modeling III: Dynamic Modeling

System Modeling III: Dynamic Modeling System Modeling III: Dynamic Modeling Introduction into Software Engineering Lecture 7 9 May 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Reverse Engineering Challenge

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

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 5, Analysis: Dynamic Modeling ü Requirements Elicitation (Ch.4) ü Introduction (Ch 1-3) OOSE- Galaxy ü Nonfunctional Requirements

More information

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram.

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram. Dynamic Modeling How do you find classes? We have already established several sources for class identification: Application domain analysis: We find classes by talking to the client and identify abstractions

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

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

User Interface Design with Components

User Interface Design with Components User Interface Design with Components TIP X LIU, School of Computing, Napier University This chapter discuss the principals of user interface design, popular user interaction styles, UCM architecture,

More information

Advanced Class Diagrams and Intro to Interaction Modeling

Advanced Class Diagrams and Intro to Interaction Modeling Advanced Class Diagrams and Intro to Interaction Modeling Or: Advance to Illinois Avenue. Do not pass Go. Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO

More information

Motivation State Machines

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

More information

Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman Chapter 7 Requirements Modeling: Flow, Behavior, Patterns, and WebApps Slides in this presentation were taken from two sources: Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman

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

IV. State Diagrams. State Diagrams (Statecharts)

IV. State Diagrams. State Diagrams (Statecharts) IV. State Diagrams State Diagrams Events and States Superstates 2004 John Mylopoulos State Diagrams -- 1 State Diagrams (Statecharts) State diagrams model processes (business processes, machine processes,

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

Software Design and Analysis CSCI 2040

Software Design and Analysis CSCI 2040 Software Design and Analysis CSCI 2040 Introduce UML State Machine Diagram Notation. Create State Machine Diagrams for Classes and Use Cases. Advanced techniques in Activity Diagrams. Software Design and

More information

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

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

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

Unified Modeling Language I.

Unified Modeling Language I. Unified Modeling Language I. Software engineering Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline Software engineering Modeling Unified Modeling Language (UML) UML Diagrams: Use Case Diagram Activity

More information

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Object-Oriented Software Engineering Conquering Complex and Changing Systems Chapter 5, Analysis: Dynamic Modeling Bernd Brügge Allen H. Dutoit Technische Universität München Applied Software Engineering

More information

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Software technology Szoftvertechnológia Dr. Balázs Simon BME, IIT Outline UML Diagrams: Sequence Diagram Communication Diagram Interaction Overview Diagram Dr. Balázs Simon, BME,

More information

Applications of Finite State Machines

Applications of Finite State Machines 15-453 Formal Languages, Automata, and Computation Applications of Finite State Machines Mihai Budiu Lecture 3 January 24, 2000 Formal languages and automata are probably the biggest success story of theoretical

More information

The Road Map. SE203b: OO Design for Software Engineers. W8: OO Design Approach

The Road Map. SE203b: OO Design for Software Engineers. W8: OO Design Approach SE203b: OO Design for Software Engineers W8: OO Design Approach Statechart,, Activity, Components & Node Diagrams Architectural frameworks Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa The Road Map Introduction

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 16.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 16 Slide 16.2 MORE ON UML 1 Chapter Overview Slide

More information

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets)

Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2) (1) IBM Research - Zurich (2) ETH Zurich 1 Outline

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

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

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

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

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

Implementing GUI context-sensitive help... ECE450 Software Engineering II. Implementing GUI context-sensitive help... Context-sensitive help

Implementing GUI context-sensitive help... ECE450 Software Engineering II. Implementing GUI context-sensitive help... Context-sensitive help Implementing GUI context-sensitive help... ECE450 Software Engineering II Today: Design Patterns VIII Chain of Responsibility, Strategy, State ECE450 - Software Engineering II 1 ECE450 - Software Engineering

More information

Advanced UML Class Models

Advanced UML Class Models Advanced UML Class Models Or: Love s Labors Lost Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 27, 2012 Jonathan

More information

Appendix D: Mapping BPMN to BPD Profile

Appendix D: Mapping BPMN to BPD Profile Appendix D: Mapping BPMN to BPD Profile Members of bpmi.org and the OMG are interested in the unification of the UML 2.0 and BPMN notation for the support of the business user. This draft mapping is in

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

HCM Modeling Elements. Creating a better understanding of the process model standards used within the MHR-BPS Process Modeling initiative.

HCM Modeling Elements. Creating a better understanding of the process model standards used within the MHR-BPS Process Modeling initiative. HCM Modeling Elements Creating a better understanding of the process model standards used within the MHR-BPS Process Modeling initiative. HCMS Modeling Element Process This presentation will: o o o o Present

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

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

Lecture 34 SDLC Phases and UML Diagrams

Lecture 34 SDLC Phases and UML Diagrams That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome

More information

L20: Putting it together: Tree Search (Ch. 6)!

L20: Putting it together: Tree Search (Ch. 6)! Administrative L20: Putting it together: Tree Search (Ch. 6)! November 29, 2011! Next homework, CUDA, MPI (Ch. 3) and Apps (Ch. 6) - Goal is to prepare you for final - We ll discuss it in class on Thursday

More information

Introduction to Concurrency

Introduction to Concurrency Introduction to Concurrency Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 3 01/22/2008 University of Colorado, 2008 1 Credit where Credit is Due Some text and images for this lecture

More information

JOURNAL OF OBJECT TECHNOLOGY

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

More information

UNIT V *********************************************************************************************

UNIT V ********************************************************************************************* Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common

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

CH 5:: STATE MODELING. Prepared by: Ms. Pankti Dharwa (SVBIT)

CH 5:: STATE MODELING. Prepared by: Ms. Pankti Dharwa (SVBIT) CH 5:: STATE MODELING Prepared by: Ms. Pankti Dharwa (SVBIT) EVENTS An event is something which happens outside the thing which is being considered, possibly requiring some action to be taken. i.e.an occurrence

More information

Lecture 5: Declarative Programming. The Declarative Kernel Language Machine. September 12th, 2011

Lecture 5: Declarative Programming. The Declarative Kernel Language Machine. September 12th, 2011 Lecture 5: Declarative Programming. The Declarative Kernel Language Machine September 12th, 2011 1 Lecture Outline Declarative Programming contd Dataflow Variables contd Expressions and Statements Functions

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

A Brief Introduction to Scheme (II)

A Brief Introduction to Scheme (II) A Brief Introduction to Scheme (II) Philip W. L. Fong pwlfong@cs.uregina.ca Department of Computer Science University of Regina Regina, Saskatchewan, Canada Lists Scheme II p.1/29 Lists Aggregate data

More information

8.1 Interaction Diagrams. Object-Oriented Software Engineering Practical Software Development using UML and Java. Interactions and messages

8.1 Interaction Diagrams. Object-Oriented Software Engineering Practical Software Development using UML and Java. Interactions and messages 8.1 Interaction Diagrams Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour Interaction diagrams are used to model the

More information

Simulative Evaluation of Internet Protocol Functions

Simulative Evaluation of Internet Protocol Functions Simulative Evaluation of Internet Protocol Functions Introduction Course Objectives & Introduction Performance Evaluation & Simulation A Manual Simulation Example Resources http://www.tu-ilmenau.de/fakia/simpro.html

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

CHAPTER 3 ASYNCHRONOUS PIPELINE CONTROLLER

CHAPTER 3 ASYNCHRONOUS PIPELINE CONTROLLER 84 CHAPTER 3 ASYNCHRONOUS PIPELINE CONTROLLER 3.1 INTRODUCTION The introduction of several new asynchronous designs which provides high throughput and low latency is the significance of this chapter. The

More information

Concurrency. State Models and Java Programs. Jeff Magee and Jeff Kramer. Concurrency: introduction 1. Magee/Kramer

Concurrency. State Models and Java Programs. Jeff Magee and Jeff Kramer. Concurrency: introduction 1. Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer Concurrency: introduction 1 What is a Concurrent Program? A sequential program has a single thread of control. A concurrent program

More information

Concurrent ML. John Reppy January 21, University of Chicago

Concurrent ML. John Reppy January 21, University of Chicago Concurrent ML John Reppy jhr@cs.uchicago.edu University of Chicago January 21, 2016 Introduction Outline I Concurrent programming models I Concurrent ML I Multithreading via continuations (if there is

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

David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.

David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms. Whitepaper Introduction A Library Based Approach to Threading for Performance David R. Mackay, Ph.D. Libraries play an important role in threading software to run faster on Intel multi-core platforms.

More information

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

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour 8.1 Interaction Diagrams Interaction diagrams are used to model the

More information

cs1120: Exam 1 Due: Wednesday, 06 October at 3:30pm (in class)

cs1120: Exam 1 Due: Wednesday, 06 October at 3:30pm (in class) cs1120: Exam 1 Due: Wednesday, 06 October at 3:30pm (in class) UVA ID (e.g., wrw6y) : Directions Work alone. You may not discuss these problems or anything related to the material covered by this exam

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

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS

INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS INCREMENTAL SOFTWARE CONSTRUCTION WITH REFINEMENT DIAGRAMS Ralph-Johan Back Abo Akademi University July 6, 2006 Home page: www.abo.fi/~backrj Research / Current research / Incremental Software Construction

More information

Principles of Programming Languages Topic: Functional Programming Professor L. Thorne McCarty Spring 2003

Principles of Programming Languages Topic: Functional Programming Professor L. Thorne McCarty Spring 2003 Principles of Programming Languages Topic: Functional Programming Professor L. Thorne McCarty Spring 2003 CS 314, LS, LTM: Functional Programming 1 Scheme A program is an expression to be evaluated (in

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

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 Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

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

More information

5Data. 5.1 Types. scalar. datatype

5Data. 5.1 Types. scalar. datatype 5Data From a bit to a few hundred megabytes, from a microsecond to half an hour of computing confronts us with the completely baffling ratio of 10 9!... By evoking the need for deep conceptual hierarchies,

More information

5Data. 5.1 Types. scalar

5Data. 5.1 Types. scalar 5Data From a bit to a few hundred megabytes, from a microsecond to half an hour of computing confronts us with the completely baffling ratio of 10 9!... By evoking the need for deep conceptual hierarchies,

More information

EE 231 Fall EE 231 Homework 8 Due October 20, 2010

EE 231 Fall EE 231 Homework 8 Due October 20, 2010 EE 231 Homework 8 Due October 20, 20 1. Consider the circuit below. It has three inputs (x and clock), and one output (z). At reset, the circuit starts with the outputs of all flip-flops at 0. x z J Q

More information

Parallel Code Smells: A Top 10 List

Parallel Code Smells: A Top 10 List Parallel Code Smells: A Top 10 List Luc Bläser Hochschule für Technik Rapperswil Multicore@Siemens 8 Feb. 2017, Nuremberg Code Smells Symptoms in code Indicators of potential design flaws Partly curable

More information

UmpleRun: a Dynamic Analysis Tool for Textually Modeled State Machines using Umple

UmpleRun: a Dynamic Analysis Tool for Textually Modeled State Machines using Umple UmpleRun: a Dynamic Analysis Tool for Textually Modeled State Machines using Umple Hamoud Aljamaan, Miguel Garzon, Timothy Lethbridge CRuiSE (Complexity Reduction in Software Engineering) Research Group

More information

cs1120: Exam 1 Due: Wednesday, 06 October at 3:30pm (in class)

cs1120: Exam 1 Due: Wednesday, 06 October at 3:30pm (in class) cs1120: Exam 1 Due: Wednesday, 06 October at 3:30pm (in class) UVA ID (e.g., wrw6y) : ANSWER KEY Directions Work alone. You may not discuss these problems or anything related to the material covered by

More information

Lectures 24 and 25: Scheduling; Introduction to Effects

Lectures 24 and 25: Scheduling; Introduction to Effects 15-150 Lectures 24 and 25: Scheduling; Introduction to Effects Lectures by Dan Licata April 12 and 17, 2011 1 Brent s Principle In lectures 17 and 18, we discussed cost graphs, which can be used to reason

More information

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

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

Lecture 9: Load Balancing & Resource Allocation

Lecture 9: Load Balancing & Resource Allocation Lecture 9: Load Balancing & Resource Allocation Introduction Moler s law, Sullivan s theorem give upper bounds on the speed-up that can be achieved using multiple processors. But to get these need to efficiently

More information

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD

EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD EXTENDED DISTRIBUTED UML-BASED PROTOCOL SYNTHESIS METHOD Jehad Al Dallal Department of Information Science, Kuwait University, Kuwait ABSTRACT Synthesizing specifications for real time applications that

More information

Activities Radovan Cervenka

Activities Radovan Cervenka Unified Modeling Language Activities Radovan Cervenka Activity Model Specification of an algorithmic behavior. Used to represent control flow and object flow models. Executing activity (of on object) is

More information

Chapter 5 Object-Oriented Software Development by SEC

Chapter 5 Object-Oriented Software Development by SEC Chapter 5 Object-Oriented Software Development Chapter 5 Object-oriented Software Development 5.1 Object orientation 5.2 Object-oriented analysis 5.3 Object-oriented Design 5.4 Design Pattern Exercises

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

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

More information

Chapter 17: Parallel Databases

Chapter 17: Parallel Databases Chapter 17: Parallel Databases Introduction I/O Parallelism Interquery Parallelism Intraquery Parallelism Intraoperation Parallelism Interoperation Parallelism Design of Parallel Systems Database Systems

More information

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA 2017-2018 Objectives Summary of finite state machines (Mealy, Moore) Description of FSMs in System Verilog Design of control blocks based

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

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

More information

Lecture 4: Memory Management & The Programming Interface

Lecture 4: Memory Management & The Programming Interface CS 422/522 Design & Implementation of Operating Systems Lecture 4: Memory Management & The Programming Interface Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken

More information

EE/CSCI 451 Spring 2017 Homework 3 solution Total Points: 100

EE/CSCI 451 Spring 2017 Homework 3 solution Total Points: 100 EE/CSCI 451 Spring 2017 Homework 3 solution Total Points: 100 1 [10 points] 1. Task parallelism: The computations in a parallel algorithm can be split into a set of tasks for concurrent execution. Task

More information

Workflow : Patterns and Specifications

Workflow : Patterns and Specifications Workflow : Patterns and Specifications Seminar Presentation by Ahana Pradhan Under the guidance of Prof. Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology,

More information

Chapter 7, System Design: Addressing Design Goals

Chapter 7, System Design: Addressing Design Goals Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 7, System Design: Addressing Design Goals Overview System Design I ü 0. Overview of System Design ü 1. Design Goals ü 2. Subsystem

More information

Overview of the Simulation Process. CS1538: Introduction to Simulations

Overview of the Simulation Process. CS1538: Introduction to Simulations Overview of the Simulation Process CS1538: Introduction to Simulations Simulation Fundamentals A computer simulation is a computer program that models the behavior of a physical system over time. Program

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Definition of a Distributed System (1) A distributed system is: A collection of

More information

lec3:nondeterministic finite state automata

lec3:nondeterministic finite state automata lec3:nondeterministic finite state automata 1 1.introduction Nondeterminism is a useful concept that has great impact on the theory of computation. When the machine is in a given state and reads the next

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 149/249A Fall 2015 2008-2015: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter 3: Discrete Dynamics,

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

UML behavior models. Kristian Sandahl

UML behavior models. Kristian Sandahl UML behavior models Kristian Sandahl 2016-09-13 2 Maintenance Validate Requirements, Verify Specification Requirements System Design (Architecture, High-level Design) Verify System Design Acceptance Test

More information

Flat (Draft) Pasqualino Titto Assini 27 th of May 2016

Flat (Draft) Pasqualino Titto Assini 27 th of May 2016 Flat (Draft) Pasqualino Titto Assini (tittoassini@gmail.com) 27 th of May 206 Contents What is Flat?...................................... Design Goals...................................... Design Non-Goals...................................

More information

L21: Putting it together: Tree Search (Ch. 6)!

L21: Putting it together: Tree Search (Ch. 6)! Administrative CUDA project due Wednesday, Nov. 28 L21: Putting it together: Tree Search (Ch. 6)! Poster dry run on Dec. 4, final presentations on Dec. 6 Optional final report (4-6 pages) due on Dec. 14

More information

Steps in Using COMET/UML

Steps in Using COMET/UML SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 5- Finite State Machines and Statecharts Hassan Gomaa Dept of Computer Science George Mason University it Fairfax,

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

Portland State University ECE 588/688. Dataflow Architectures

Portland State University ECE 588/688. Dataflow Architectures Portland State University ECE 588/688 Dataflow Architectures Copyright by Alaa Alameldeen and Haitham Akkary 2018 Hazards in von Neumann Architectures Pipeline hazards limit performance Structural hazards

More information

Introduction to Sets and Logic (MATH 1190)

Introduction to Sets and Logic (MATH 1190) Introduction to Sets and Logic () Instructor: Email: shenlili@yorku.ca Department of Mathematics and Statistics York University Dec 4, 2014 Outline 1 2 3 4 Definition A relation R from a set A to a set

More information

CSSE 374: UML Activity Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: UML Activity Diagrams. Shawn Bohner Office: Moench Room F212 Phone: (812) CSSE 374: UML Activity Diagrams Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Patterns, Tradeoffs Identify criteria for the design of a software

More information

Restricted Use Case Modeling Approach

Restricted Use Case Modeling Approach RUCM TAO YUE tao@simula.no Simula Research Laboratory Restricted Use Case Modeling Approach User Manual April 2010 Preface Use case modeling is commonly applied to document requirements. Restricted Use

More information

Modelling. What!is!Modelling?!

Modelling. What!is!Modelling?! Software Engineering Modelling! Dr. Raimundas Matulevičius University of Tartu rma@ut.ee Partially based on Prof. Steve Easterbrook lecturers on Requirements Engineering, University of Toronto KAOS A.

More information