Steps in Using COMET/UML

Size: px
Start display at page:

Download "Steps in Using COMET/UML"

Transcription

1 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, VA Copyright 2011 Hassan Gomaa All rights reserved. No part of this document may be reproduced in any form or by any means, without the prior written permission of the author. This electronic course material may not be distributed by or posted on any other World Wide Web site without the prior written permission of the author. Steps in Using COMET/UML 1 Develop Software Requirements Model 2 Develop Software Analysis Model Develop static model of problem domain (Chapter 7) Structure system into objects (Chapter 8) Develop statecharts for state dependent objects (Chapter 10) Develop object interaction diagrams for each use case (Chapter 9, 11) 3 Develop Software Design Model User 1 Requirements 2 Modeling Analysis Modeling 4 Throwaway Prototyping 3 5 Design Modeling 6 Incremental Software Construction 7 Incremental Software Integration 8 Customer Incremental Prototyping 9 15 System Testing

2 Finite State Machines and Statecharts 5. Section FSM Hassan Gomaa References: H. Gomaa, Chapter 10 - Software Modeling and Design, Cambridge University Press, February 2011 H. Gomaa, Chapter 10 - Designing Concurrent, Distributed, and Real-Time Applications with UML, Addison Wesley Object Technology Series, July, 2000 Copyright 2011 Hassan Gomaa All rights reserved. No part of this document may be reproduced in any form or by any means, without the prior written permission of the author. Finite State Machines and Statecharts Many information and real-time systems are state dependent Action depends not only on input event Also depends on state of system Finite State Machine Finite number of states Only in one state at a time Statechart Graphical representation of finite state machine States are rounded boxes Transitions are arcs Statechart relates events and states fsm-4 2

3 Figure 2.7 UML notation for statechart: composite state with sequential substates Composite state A Initial State Event Substate A1 Entry / Action Exit / Action Event [condition] / Action Substate A2 Event / Action Final State fsm-5 States and Events State A recognizable situation Exists over an interval of time Represents an interval between successive events Event A discrete signal that happens at a point in time Also known as a stimulus Has no duration Causes change of state Referred to as state transition fsm-6 3

4 Figure 10.1 Example of Events and States Card Inserted Waiting for PIN PIN Entered Validating PIN Valid PIN Waiting for Customer Choice 7 Events and Conditions State transition label Event [Condition] Condition is a Boolean function Conditions are optional on statecharts Condition is true for finite period of time When event occurs, condition must be true for state transition to occur. If condition is false, state transition does not occur fsm-8 4

5 Figure 10.6 Example of Events and Conditions 9 Actions State transition label Event / action(s) Event [condition] / action(s) Action Executed as a result of state transition Executes instantaneously at state transition Terminates itself Is optional fsm-10 5

6 Figure 10.8 Example of actions Card Inserted / Get PIN PIN entered / Validate PIN Waiting for PIN Invalid PIN / Invalid PIN Prompt Validating PIN Third Invalid, Stolen / Confiscate Valid PIN / Display menu Waiting for Customer Choice Confiscating fsm-11 Entry and Exit Actions Entry action Action executed on entry into state Entry / action E.g., Start Cooking Exit action Action executed on exit from state Exit / action E.g, Stop Cooking fsm-12 6

7 Figure Example of entry action Fig a: Actions on state transitions Fig b: Entry action 13 Figure Example of exit action Fig a Actions on state transitions Fig b: Exit action 14 7

8 Hierarchical Statecharts Disadvantages of State Transition Diagrams and Flat Statecharts Complex State Transition Diagrams get very cluttered Limited capability for managing complexity Hierarchical Statecharts Based on Harel Statecharts Notation for hierarchical decomposition of state transition diagrams Composite state decomposed into substates Default entry states Transition out of composite state corresponds to transition out of every substate 15 Figure 10.9 Example of same event and action on different state transitions 16 8

9 Figure Example of hierarchical statechart showing composite state and substates Card Inserted / Get PIN Entry / Display Welcome Customer Input Waiting for PIN Cancel / Eject Ejecting PIN Entered / Validate PIN Invalid PIN / Invalid PIN Prompt Third Invalid PIN, Card Stolen, Card Expired / Confiscate Validating PIN Confiscating Valid PIN / Display Menu Waiting for Customer Choice 17 Hierarchical Statecharts Sequential decomposition When object is in composite state It is in one and only one of substates Transition into composite state Must be to one and only one of substates Aggregation g of state transitions If same event causes transition out of every substate Then aggregate into transition out of composite state 18 9

10 Figure Example of hierarchical statechart showing composite state without substates 19 Guidelines on Statecharts State name must be passive not active Represents time period when something is happening, e.g., Waiting for PIN Identifiable situation, e.g.,, Initial State names must be unique Must be able to exit from every state Flat statechart Statechart is only in one state at a time Hierarchical statechart sequential decomposition Statechart is only in one substate at a time fsm-20 10

11 Guidelines on Statecharts Event is the cause of the state transition Event happens at a moment in time Event name indicates something has just happened e.g, Card Inserted, Door Closed Action is the result of the state transition Action is a command, e.g., Dispense Cash, Start Cooking Action executes instantaneously Activity executes throughout a given state More than one action possible with a state transition No sequential dependency between actions Condition is a Boolean value Event [Condition] State transition only occurs if Event happens & Condition is True Condition is True over some interval of time Actions, Activities and Conditions are optional fsm-21 Developing Statechart from Use Case Develop state dependent use case Start with scenario (one path through use case) Consider sequence of interactions between actor and system Consider sequence of external events Input event from external environment Causes state transition to new state Action may result from state transition Initially develop flat statechart fsm-22 11

12 Figure 19.1 Banking System use case model Withdraw Funds «include» Query Account «include» «include» Validate PIN ATM Customer Transfer Funds Add Cash Startup Shutdown Operator fsm-23 Figure Statechart for ATM Control - Validate PIN use case Card Inserted / Get PIN Entry/ Display Welcome Waiting for PIN PIN Entered / Validate PIN Validating PIN Waiting for Customer Choice Valid PIN / Display Menu, Udt Update Statust fsm-24 12

13 Figure Statechart for ATM Control - Withdraw Funds use case Entry / Display Welcome After (Elapsed Time) [Closedown Not Requested] Terminating Ejecting Card Ejected / Display Ejected Receipt Printed / Eject Waiting For Customer Choice Withdrawal Selected / Request Withdrawal, Printing Cash Dispensed / Print Receipt, Display Cash Dispensed Confirm Cash Dispensed Withdrawal Withdrawal Approved / Dispense Cash, Update Status Dispensing fsm-25 Developing Statechart from Use Case (continued) Consider alternative external events Could result in additional states Could result in additional state transitions Develop hierarchical statechart States that can be aggregated to form composite state Event causing transition from several states Create composite state t with one transition out of composite state Instead of many transitions out of substates fsm-26 13

14 Example of integrated statechart Waiting for PIN PIN entered Invalid PIN Card Inserted Cancel Cancel Card Confiscated Insufficient Cash After (Elapsed Time) Terminating Card Ejected Validating PIN Valid PIN Waiting for Customer Choice Third Invalid, Stolen Transfer Selected Confiscating Transfer Cancel Rejected Transfer Approved Ejecting Printing Receipt Printed Query Selected Query Rejected Query Approved Cash Dispensed Withdrawal Selected Withdrawal Withdrawal Approved Dispensing Rejected fsm-27 Example of hierarchical statechart Customer Input Card Inserted Startup Closed Down Closedown Insufficient Cash After (Elapsed Time) [Closedown Was Requested] After (Elapsed Time) [Closedown Not Requested] Terminating Transaction PIN entered Waiting for PIN Validating PIN Invalid PIN Cancel Third Invalid, Stolen Card Confiscated Confiscating Terminating Ejecting Card Ejected Valid PIN Waiting for Customer Choice Transfer Selected Transaction Transfer Rejected Transfer Approved Printing Receipt Printed Query Selected Withdrawal Selected Query Withdrawal Query Approved Withdrawal Approved Dispensing Cash Dispensed fsm-28 14

15 Figure Top level statechart for ATM Control Card Inserted / Get PIN Customer Input Startup Closed Down Entry / Display System Down Closedown Entry / Display Welcome Insufficient Cash / Eject After(Elapsed Time) [Closedown Requested] After(Elapsed Time)[Closedown not Requested] Third Invalid, Stolen / Confiscate,Update Status Cancel / Eject, Display Cancel Terminating Transaction Transfer Selected / Request Transfer, Query Selected / Request Query, Withdrawal Selected / Request Withdrawal, Transaction Rejected / Eject, Display Apology Transfer Approved / Print Receipt, Update Status Query Approved / Print Receipt, Update Status Withdrawal Approved / Dispense Cash, Update Status 29 Figure Statechart for ATM Control - Customer Input composite state Customer Input PIN Entered / Validate PIN Waiting for PIN Validating PIN Card Inserted / Get PIN Invalid PIN / Invalid PIN Prompt, Update Status Entry/ Display Welcome Cancel / Eject, Display Cancel Third Invalid, Stolen / Confiscate, Update Status Waiting for Customer Choice Valid PIN / Display Menu, Udt Update Statust Transfer Selected / Request Transfer, Withdrawal Selected / Request Withdrawal, Query Selected / Request Query, 30 15

16 Figure Statechart for ATM - Transaction composite state Transaction Rejected / Eject, Display Apology Transfer Selected / Request Transfer, Query Selected / Request Query, Transfer Query Transfer Approved / Print Receipt, Update Status Query Approved / Print Receipt, Update Status Withdrawal Selected / Request Withdrawal, Withdrawal Withdrawal Approved / Dispense Cash, Udt Update Statust 31 Figure Statechart for ATM Control - Terminating Transaction composite state Closed Down After(Elapsed Time)[Closedown Requested] Entry / Display System Down Entry / Display Welcome After(Elapsed Time)[Closedown not Requested] Terminating Transaction Cancel / Eject, Display Cancel Third Invalid, Stolen / Confiscate Rejected / Eject, Display Apology Card Confiscated / Display Confiscated Confiscating Terminating Ejecting Card Ejected / Display Ejected Receipt Printed / Eject Insufficient Cash / Eject Printing Transfer Approved / Print Receipt, Update Status Cash Dispensed / Query Approved / Print Receipt, Update Status Print Receipt, Display Cash Dispensed ACK Cash Dispensed Withdrawal Approved / Dispense Cash, Update Status Dispensing 32 16

17 Steps in Using COMET/UML 1 Develop Software Requirements Model 2 Develop Software Analysis Model Develop static model of problem domain (Chapter 7) Structure system into objects (Chapter 8) Develop statecharts for state dependent objects (Chapter 10) Develop object interaction diagrams for each use case (Chapter 9, 11) 3 Develop Software Design Model User 1 Requirements 2 Modeling Analysis Modeling 4 Throwaway Prototyping 3 5 Design Modeling 6 Incremental Software Construction 7 Incremental Software Integration 8 Customer Incremental Prototyping 9 15 System Testing

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

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 14 - Course Review

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 14 - Course Review SWE 6: and Architectural Design Lecture Notes on Design Lecture 4 - Course Review Hassan Gomaa Dept of Computer Science George Mason University it Fairfax, VA Copyright 0 Hassan Gomaa All rights reserved.

More information

Dynamic Modeling - Finite State Machines

Dynamic Modeling - Finite State Machines Dynamic Modeling - Finite State Machines SWE 321 Fall 2014 Rob Pettit 1 Finite State Machines Finite number of states Only in one state at a time Transition Change of state Caused by event Transition to

More information

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

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

More information

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 8 Architectural Design of Distributed Applications Hassan Gomaa Dept of Computer Science George Mason University

More information

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 11 - DtildSft Detailed Software Design

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 11 - DtildSft Detailed Software Design SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 11 - Detailed Software Design Hassan Gomaa Dept of Computer Science George Mason University it Fairfax, VA Copyright

More information

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

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U

More information

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University

More information

Object-Oriented Static Modeling of the Banking System - I. Lecture # 31

Object-Oriented Static Modeling of the Banking System - I. Lecture # 31 Object-Oriented Static Modeling of the Banking System - I Lecture # 31 1 Steps in Object-Oriented Analysis Identify classes within the problem domain Define the attributes and methods of these classes

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

Feature Modeling for Software Product Lines. Feature Modeling

Feature Modeling for Software Product Lines. Feature Modeling SWE 721 / IT 821 Reusable Software Architectures Feature Modeling for Software Product Lines Hassan Gomaa Department of Information and Software Engineering George Mason University Reference: Hassan Gomaa,

More information

Modeling variability in software product lines with the variation point model

Modeling variability in software product lines with the variation point model Science of Computer Programming 53 (2004) 305 331 www.elsevier.com/locate/scico Modeling variability in software product lines with the variation point model Diana L. Webber a,, Hassan Gomaa b a Booz Allen

More information

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

Header Description: This use case describes how the ATM user withdraws cash from the ATM. Use Case: Withdraw Cash Use Case #: UC1 Author: Iteration: JAD Team Detailed Header Description: This use case describes how the ATM user withdraws cash from the ATM. Business Trigger(s): Customer needs

More information

Static Modeling. SWE 321 Fall2014

Static Modeling. SWE 321 Fall2014 Static Modeling SWE 321 Fall2014 Copyright 2014 Hassan Gomaa and Robert Pettit All rights reserved. No part of this document may be reproduced in any form or by any means, without the prior written permission

More information

SWE 760. Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems

SWE 760. Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems SWE 760 Lecture 9: Component-based Software Architectures for Real-Time Embedded Systems Reference: H. Gomaa, Chapter 12 - Real-Time Software Design for Embedded Systems, Cambridge University Press, 2016

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

Architecture-Centric Evolution in Software Product Lines:

Architecture-Centric Evolution in Software Product Lines: Architecture-Centric Evolution in Software Product Lines: Position Paper Hassan Gomaa Department of Information and Software Engineering George Mason University Fairfax, Virginia 22030, USA hgomaa@gmu.edu

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

Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination

Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination Model-based Run-Time Software Adaptation for Distributed Hierarchical Service Coordination Hassan Gomaa, Koji Hashimoto Department of Computer Science George Mason University Fairfax, VA, USA hgomaa@gmu.edu,

More information

Fourth International Workshop on Model Based Architecting and Construction of Embedded Systems

Fourth International Workshop on Model Based Architecting and Construction of Embedded Systems ACES MB 2011 FourthInternationalWorkshopon ModelBasedArchitectingandConstruction ofembeddedsystems October18 th,2011,wellington,newzealand OrganizedinconjunctionwithMoDELS2011 14 th InternationalConferenceonModelDrivenEngineeringLanguagesandSystems

More information

Computational Paradigms and Process Frameworks. State-Oriented Models. Toggle Switch State Diagram

Computational Paradigms and Process Frameworks. State-Oriented Models. Toggle Switch State Diagram Computational Paradigms and Process Frameworks State-Oriented Models Examples: Automata (DFAs, NFAs, PDAs) Turing Machines A finite state machine is a hypothetical machine that can be in only one of a

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

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account ID: CIS375-01 Title: Login Description: Customer logs into the system by inserting the card and entering pin code. Preconditions: Customer has a bank account and an ATM Card. Postconditions: Customer logged

More information

XIV. The Requirements Specification Document (RSD)

XIV. The Requirements Specification Document (RSD) XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John

More information

Feature/Class Modeling for Software Product Lines

Feature/Class Modeling for Software Product Lines SWE 721 / IT 821 Advanced Software Design: Reusable Software Architectures Feature/Class Modeling for Software Product Lines Hassan Gomaa Department of Information and Software Engineering George Mason

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

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

Frequently Asked Questions

Frequently Asked Questions Frequently Asked Questions 1. What is Cardless Withdrawal? PSBank Cardless Withdrawal allows you to conveniently and securely withdraw cash from any PSBank ATM without using your PSBank ATM Card. You simply

More information

Requirements document for an automated teller machine. network

Requirements document for an automated teller machine. network Requirements document for an automated teller machine network August 5, 1996 Contents 1 Introduction 2 1.1 Purpose : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2 Scope

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba Dr. Marenglen Biba In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience.

More information

Introduction to Software Engineering. 6. Modeling Behaviour

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

More information

Outline of Unified Process

Outline of Unified Process Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,

More information

UML-based Integration Testing for Component-based Software

UML-based Integration Testing for Component-based Software UML-based Integration Testing for Component-based Software Ye Wu 1 and Mei-Hwa Chen 2 and Jeff Offutt 1 1 Information and Software Engineering Department George Mason University Fairfax, VA 22030, USA

More information

Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases

Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 6-2018 Selection

More information

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70 ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying

More information

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification Object Oriented Design Part 2 Analysis Design Implementation Program Design Analysis Phase Functional Specification Completely defines tasks to be solved Free from internal contradictions Readable both

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

Actor-eUML for Concurrent Programming

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

More information

Ingenico iwl220 Payment Terminal Manual

Ingenico iwl220 Payment Terminal Manual Ingenico iwl220 Payment Terminal Manual This payment terminal manual is for merchants to provide them with secure processing of card payments via the payment terminal. This manual constitutes an integral

More information

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods

System models Abstract descriptions of systems whose requirements are being analysed. System modelling. Structured methods System models Abstract descriptions of systems whose requirements are being analysed Ian Sommerville 995/2000 (Modified by Spiros Mancoridis 999) Software Engineering, 6th edition. Chapter 7 Slide System

More information

Modularization and Software Architectures

Modularization and Software Architectures Modularization and Software Architectures 1 Improving Cohesion in the Butterfly Valve Example interface Throttle { } bool TurnThrottleOnOff(bool onoff); bool SetThrottlePosition(float angle); // 0..90

More information

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1. Outline of UML and Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule Feb. 27th 13:00 Scope and Goal 14:30 Basic Concepts on Representing the World (object, class, association,

More information

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1 System models Slide 1 Objectives To explain why the context of a system should be modelled as part of the RE process To describe behavioural modelling, data modelling and object modelling To introduce

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

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

Importance of Rational ROSE in Software Development Process Models

Importance of Rational ROSE in Software Development Process Models Importance of Rational ROSE in Software Development Process Models Dr. Ahmad Al-Rababah Rational ROSE An introduction The advantages of visual modeling Modeling is a way of thinking about the problems

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

MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS

MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS MODELING INTERACTIVE SYSTEMS WITH HIERARCHICAL COLORED PETRI NETS Mohammed Elkoutbi and Rudolf K. Keller Université de Montréal, DIRO, C.P. 6128, Succursale Centre-ville, Montréal, Canada, H3C 3J7 {elkoutbi,

More information

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM 534 202 LABORATORY MANUAL IV B.Tech I Sem CSE Unified Modeling Language & Design Patterns Lab DEPARTMENT OF CSE OUR MISSION LEARN TO EXCEL Regd.No

More information

Modeling the Dialogue Aspects of an Information System

Modeling the Dialogue Aspects of an Information System Association for Information Systems AIS Electronic Library (AISeL) ECIS 2000 Proceedings European Conference on Information Systems (ECIS) 2000 Modeling the Dialogue Aspects of an Information System M.

More information

Content(2) Contribution of OOT in Software Engineering History of SE Technologies and Contribution of OOT JAIST Koichiro Ochimizu

Content(2) Contribution of OOT in Software Engineering History of SE Technologies and Contribution of OOT JAIST Koichiro Ochimizu Content(2) Object-oriented Software Development Methodology Outline of Unified Process and Use-case Driven Approach Elevator Control System: Problem Description and Use-case Model Elevator Control System:

More information

State Names. Nik Boyd. Copyright 2004 Nikolas S. Boyd. All rights reserved. Naming Conventions. Intent

State Names. Nik Boyd. Copyright 2004 Nikolas S. Boyd. All rights reserved. Naming Conventions. Intent Copyright 2004 Nikolas S. Boyd. All rights reserved. Nik Boyd State Names Naming Conventions Intent Consistently name the states that form complex finite state machines (FSMs). Motivation The State pattern

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

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

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification Software Engineering Object-Oriented Analysis (State and Interaction Diagrams) James Gain (jgain@cs.uct.ac.za) http://people.cs.uct.ac.za/~jgain 1. Show the object-behaviour design process Objectives 2.

More information

TDDD04 Software Testing

TDDD04 Software Testing TDDD04 Software Testing Lecture Notes 7 March June 2010 Mohsen Torabzadeh-Tari (presenter), (originator) Department of Computer and Information Science Linköping University, Sweden Outline of the Lecture

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

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

Specification of Model Behavior

Specification of Model Behavior Specification of Model Behavior Lecture Topics Behavioral Model Relation to Other Behavioral Models Derivation of for Single Classes Derivation of from System Level 1 Behavioral Models 1. Software system

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

Connecting with Computer Science Chapter 13 Review: Chapter Summary:

Connecting with Computer Science Chapter 13 Review: Chapter Summary: Connecting with Computer Science Chapter 13 Review: Chapter Summary: Software engineering involves many different steps to create an application that meets end user s needs. The process of building an

More information

CH 13 APPLICATION ANALYSIS

CH 13 APPLICATION ANALYSIS CH 13 APPLICATION ANALYSIS APPLICATION INTERACTION MODEL Steps: Determine system boundary Find actors Find use case Find initial & final events Prepare a normal scenario Add exception scenario Prepare

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (Requirements Specification).

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

ATM Audio Users Guide

ATM Audio Users Guide ATM Audio Users Guide FINAL 7 November 2017 Table of contents Introduction... 5 ATM audio prompts... 5 Getting started... 6 Tip for getting started... 6 Keypad orientation... 6 Tip for orienting yourself

More information

The Object-Oriented Design Process

The Object-Oriented Design Process The Object-Oriented Design Process Part 1: Techniques & Tools OOdesignProcess 1 Program development In theory, 3 phase development process: Analysis: figure out the problem Design: develop the solution

More information

Journal Viewer Release Notes Contents

Journal Viewer Release Notes Contents Journal Viewer Release Notes Contents Revision History... 2 Installation Notes... 3 Introduction... 3 Main Dialog... 3 Open Journal File... 4 Navigation Section... 5 Filtering Listed Records... 6 None...

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

IS 0020 Program Design and Software Tools

IS 0020 Program Design and Software Tools 1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005 What is UML? 2 The Unified Modelling Language is a standard notation to model [object oriented] systems.

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

Software Specification 2IX20

Software Specification 2IX20 Software Specification 2IX20 Julien Schmaltz (slides from A. Serebrenik) Lecture 06: (Behavioural diagrams) Activity diagrams and state machines Instructions - Status» Low interest in passive sessions

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

SCXML. Michael Bodell.

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

More information

Statecharts 1.- INTRODUCTION 1.- INTRODUCTION

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

More information

UML- a Brief Look UML and the Process

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

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1.17 Software Engineering Case Study: Introduction to Object Technology and the UML (Required) Object orientation A natural way of thinking about the world and computer programs Unified Modeling Language

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

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

Ch t 8 Chapter 8. System Models

Ch t 8 Chapter 8. System Models Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling

More information

Chapter 5 System modeling

Chapter 5 System modeling Chapter 5 System Modeling Lecture 1 1 Topics covered Context models Interaction models Structural models Behavioral models Model-driven driven engineering 2 System modeling System modeling is the process

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

Software Design And Modeling BE 2015 (w. e. f Academic Year )

Software Design And Modeling BE 2015 (w. e. f Academic Year ) Software Design And Modeling BE 2015 (w. e. f Academic Year 2018-2019) 1 The Team Prof. Ravi Patki, I 2 IT Hinjawadi Pune Prof. Sangita Jaibhaiye SCOE Prof. D.D.Londhe PICT Prof. P. A. Joshi, ZCOER 2 The

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 8: Identifying Object Relationships, Attributes, and Methods Goals Analyzing relationships among classes. Identifying association.

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

USE CASE BASED REQUIREMENTS VERIFICATION

USE CASE BASED REQUIREMENTS VERIFICATION USE CASE BASED REQUIREMENTS VERIFICATION Verifying the consistency between use cases and assertions Stéphane S. Somé, Divya K. Nair School of Information Technology and Engineering (SITE), University of

More information

Concurrent Object-Oriented Development with Behavioral Design Patterns

Concurrent Object-Oriented Development with Behavioral Design Patterns Concurrent Object-Oriented Development with Behavioral Design Patterns Benjamin Morandi 1, Scott West 1, Sebastian Nanz 1, and Hassan Gomaa 2 1 ETH Zurich, Switzerland 2 George Mason University, USA firstname.lastname@inf.ethz.ch

More information

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. Introduction p. xxi Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. 7 Understanding UML Diagrams p. 10 Visual Modeling

More information

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 1: An Overview of Object- Oriented Systems Development Goals The object-oriented philosophy and why we need to study it.

More information

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

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

More information

VX 675 Series APACS 40 User Guide

VX 675 Series APACS 40 User Guide VX 675 Series APACS 40 User Guide 2010 VeriFone. All rights reserved. VeriFone, the VeriFone logo, VX are either trademarks or registered trademarks of VeriFone. No part of the contents of this document

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

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

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

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

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

UML Is Not a Methodology

UML Is Not a Methodology UML COSC 4354 1 UML Is Not a Methodology UML is an acronym for Unified Modeling Language UML is a language A language is simply a tool for communication and exchanging ideas UML is a notation, not a methodology

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML

CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML CS211 Lecture: Modeling Dynamic Behaviors of Systems; Interaction Diagrams and Statecharts Diagrams in UML Objectives: 1. To introduce the notion of dynamic analysis 2. To show how to create and read Sequence

More information

Concurrent Models of Computation

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

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information