Goals of this Lecture States and State Diagrams

Similar documents
State Machine Diagrams

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

Finite State Machines and Statecharts

Dynamic Modeling - Finite State Machines

Software Design and Analysis CSCI 2040

OPERATING SYSTEMS. Systems with Multi-programming. CS 3502 Spring Chapter 4

the field practice setting. Prerequisites: Concurrent enrollment in SOWK 6056: Foundation

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

Today s Lecture. A Sample Ada Program to Test. Flow Graphs. Lecture 25: Data Flow and Dependence Graphs. White-Box Testing.

Meltem Özturan

Processes and Threads

STATE MACHINES. Figure 1: State Machines

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Goals of this Lecture Events

User Interface Design with Components

State Machine Diagrams

Motivation State Machines

Steps in Using COMET/UML

University Core Curriculum Requirements

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

System Analysis and Design. Statecharts

Implementing Mutual Exclusion. Sarah Diesburg Operating Systems CS 3430

IV. State Diagrams. State Diagrams (Statecharts)

Ingegneria del Software Corso di Laurea in Informatica per il Management

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

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

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

Structure of Programming Languages Lecture 5

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

CSCE Introduction to Computer Systems Spring 2019

SCXML State Chart XML

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Chapter 5, Analysis: Dynamic Modeling

Credit where Credit is Due. Goals for this Lecture. Introduction to Design

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

University Core Curriculum Requirements

Transition Plan (TP)

How to Request a Client using the UCC Self Serve Website. The following provides a detailed description of how to request a client...

ENGR 3950U / CSCI 3020U UOIT, Fall 2012 Quiz on Process Synchronization SOLUTIONS

Threads CS1372. Lecture 13. CS1372 Threads Fall / 10

CSC 4320 Test 1 Spring 2017

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Inside the Stateflow 4

Engineering Design w/embedded Systems

Operating System Structure

CSC 210 COMPUTER SCIENCE II

Learning from Bad Examples. CSCI 5828: Foundations of Software Engineering Lecture 25 11/18/2014

ITIL 2011 Intermediate Capability Operational Support and Analysis (OSA) Course Outline

Unified Modeling Language 2

Introduction to Computing Lecture 05: Selection (continued)

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

G52CON: Concepts of Concurrency

March 29, Display Information for a Selected Period and Teacher Change Class Data. 9. Scheduling Master Schedule (SMS) Builder

Developing Shlaer-Mellor Models Using UML

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog

SE350: Operating Systems. Lecture 3: Concurrency

Exam IST 441 Spring 2014

Appendix D: Mapping BPMN to BPD Profile

Unified Modeling Language for Real-Time Systems Design

OPT/Applying for authorization to work off campus

CSCI 5828: Foundations of Software Engineering

User s Guide Editing Experiment Method

Application Instructions for Incoming Reciprocal Exchange Students

Problem Set: Processes

Need for synchronization: If threads comprise parts of our software systems, then they must communicate.

Lecture 16+17: Modeling with UML

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

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

Lecture 5: Concurrency and Threads

COMPUTER SCIENCE (CSCI)

Course Topics - Outline

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

Modules in Joomla. Instructor for this Workshop Laura Gordon. Web Development. School of Arts and Sciences

Some Applications of Stack. Spring Semester 2007 Programming and Data Structure 1

Object-Interaction Diagrams: Sequence Diagrams UML

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

UML- a Brief Look UML and the Process

System Modeling III: Dynamic Modeling

This tutorial explains the process for entering effort in the new FACET module.

SOFTWARE TESTING FOUNDATION COURSE CURRICULUM

Object Oriented Programming CS104 LTPC:

Concurrent Architectures - Unix: Sockets, Select & Signals

Course "Softwaretechnik" Book Chapter 5 Analysis: Dynamic Modeling

MAUI Final Exam Assignment Needs Submission Instructions for Academic Department Administrators

This course provides basic digital literacy skills to support a wide range of varying industry occupations.

Lab 7 (All Sections) Prelab: Introduction to Verilog

IST359 - INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

Basics of Java Programming CS129 LTPC:

Object Behaviours UML Statecharts

LAB-03 BPMN Resource Perspective and Events

4: Specifying State-based Behavior With UML Statechart Diagrams

ENGR 3950U / CSCI 3020U Midterm Exam SOLUTIONS, Fall 2012 SOLUTIONS

OPERATING SYSTEMS. After A.S.Tanenbaum, Modern Operating Systems, 3rd edition. Uses content with permission from Assoc. Prof. Florin Fortis, PhD

Hippo Software BPMN and UML Training

Eastern Mediterranean University School of Computing and Technology Department of Information Technology. ITEC202 Operating Systems

BSc (Hons) Information Systems - IC 311

University of Mumbai

FlexFlow: Workflow for Interactive Internet Applications

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

SULTAN QABOOS UNIVERSITY COURSE OUTLINE PROGRAM: B.Sc. in Computer Science. Laboratory (Practical) Field or Work Placement

Transcription:

Goals of this Lecture States and State Diagrams Object-Oriented Analysis and Design - Fall 1998 n Present the foundational concept of state and how it relates to objects n Present State diagrams n Discuss your comments on the critiques and evaluations n Discuss next critique and next assignment Object State n Definition Ð Object state is a collection of attributes and relationships Ð Change an attribute, the objectõs state is changed Ð Change a relationship, again, the state is changed Fall Semester 1998 : CSCI 5828: NumberOfStudents =??

, continued Comments on : n Three object states were shown Ð Ken Ð Ð CSCI 5828 Spring Semester 1999 CSCI 5828: NumberOfStudents = 50 n All three changed state during the time period of the current academic year Ð One relationship was deleted; another created. One attribute changed value Additional Definitions, period state n Point States Ð An object state at a particular point in time E.G. Fall Semester, 1998 (The granularity depends on the object) n Period States Ð A state with a particular duration E.G. Academic Year 1998 Academic Year 1998 (This diagram uses non-standard notation) : CSCI 5828: NumberOfStudents?? 50

Complete State State Changes n Definition Ð A complete state of an object is the set of relationships that existed over an objectõs entire lifetime n This state can contain quite a bit of information since each delta occurs when an attribute or relationship changes n An object state change is the transition of an object from one state to another n These transitions can be captured in a state transition diagram n Multiple state diagrams can be applied to a single object to capture state changes that are orthogonal to one another More on State Diagrams Nonowner Of Property Property Owner Each of these diagrams can be applied to a single person object Employed Unemployed Infant Child Adolescent Adult n They describe the state for a single object n Actions cause state transitions; they occur quickly and are not interruptible n Activities are associated with states; they have an unspecified duration and can be interrupted by events

Additional Information State Diagrams, continued n Transitions are labeled in the following format Ð Event [Guard] / Action Ð Each of these parts are optional n s Ð Graduation [person.isgraduated] / throw mortar board Ð / get first element Ð [object.isvalid] n A state has an entry action, an activity, and an exit action n The entry action occurs whenever an object arrives at that state n The activity then occurs until it is completed or interrupted n If there is an exit action, then it is executed before a transition is taken / get first item Superstates and Substates Get next item [not all items checked] [All items checked && Some items not in stock] [some items not in stock] do/ check item [all items checked && all items available] [all items available] do/ initiate delivery n State diagrams can be nested within other states n This is a form of abstraction; it allows a designer to logically group related states n This can also reduce clutter in the diagrams

/ get first item Concurrent State Diagrams Get next item [not all items checked] [All items checked && Some items not in stock] [some items not in stock] do/ check item [all items checked && all items available] [all items available] do/ initiate delivery n A concurrent state diagram specifies how an objectõs orthogonal states relate to one another n Each thread has its own start and end states n Both threads execute independently until one of the final states is reached When to use State Diagrams Authorizing Authorized Rejected n State diagrams are good for describing the behavior of an object across several use cases Ð Or for describing an objectõs lifecycle n Do not try to create a state diagram for every class in your system; identify the objects with interesting state behavior and capture their behavior