Statecharts: A Visual Formalism for Complex Systems Jeff Peng Model-based Design Lab.

Slides:



Advertisements
Similar presentations
LabVIEW is a graphical programming development environment for data acquisition and control, data analysis, and data presentation. With LabVIEW you can.
Advertisements

State Charts Mehran Najafi. Reactive Systems A reactive, event-driven, object is one whose behavior is best characterized by its response to events dispatched.
UML Statechart semantics Speaker: Fei Mo Tutor: Priv.-Doz. Dr. Thomas Noll Lehrstuhl für Informatik 2 RWTH Aachen SS 07.
UML State chart/machine diagram State machine diagram is a behavior diagram which shows discrete behavior of a part of designed system through finite state.
Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11.
STATEMATE A Working Environment for the Development of Complex Reactive Systems.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Ch5: Software Specification. 1 Dynamic modeling using UML  Static models:  Dynamic models:
Introduction to UML Visual modeling Models and its importance
Rational Rose Basics Visual Modeling Textbook – Chapter 3
SE-565 Software System Requirements More UML Diagrams.
Software Design Processes and Management
Design Verification Design Profiler Course 8. All materials updated on: September 30, Design Profiler Design Profiler is a tool integrated within.
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
- 1 - Embedded Systems—State charts Specifications.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2005/6 Universität Dortmund Specifications.
Lecture 4 Finite State Machine CS6133 Software Specification and Verification.
VISIBLE ANALYST Instructor: Nguyen The Hoang Nguyen Dang Quang Group: Nguyen Minh Truong Nguyen Duc Phuong Phan Huu Ngoc.
MCEN 371 – Mechanical Engineering Lab Chapter 6: LabVIEW Part 1: Introduction.
LabVIEW an Introduction
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Chapter 10 State Machine Diagrams
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
1 SFWR ENG 3KO4 Software Development Statemate I-CASE Tool for Designing Software Systems from Different Views Statemate I-CASE Tool for Designing Software.
Mentor Tools tutorial Bold Browser Design Manager Design Architect Library Components Quicksim Creating and Compiling the VHDL Model.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
This tutorial teaches Microsoft Word basics. Although knowledge of how to navigate in a Windows environment is helpful, this tutorial was created for.
Khoros Yongqun He Dept. of Computer Science, Virginia Tech.
StateCharts Peter Marwedel Informatik 12 Univ. Dortmund Germany.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Copyright © 2013 Curt Hill UML Unified Modeling Language.
11/4/2015COSC , Lecture 201 Real-Time Systems, COSC , Lecture 20 Stefan Andrei.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Programmable Logic Training Course HDL Editor
By: David Harel & Eran Grey Presenter: Elizabeth Antony CISC 836.
UML Discussion on State Machines Perfectly static system is intensely uninteresting Because nothing ever happens.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CSCI1600: Embedded and Real Time Software Lecture 7: Modeling II: Discrete Systems Steven Reiss, Fall 2015.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
States.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
INFO 620Lecture #71 Information Systems Analysis and Design Design Class Diagrams and others INFO 620 Glenn Booker.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
2/25/2016COSC , Lecture 191 Real-Time Systems, COSC , Lecture 19 Stefan Andrei.
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Lesson 4 Inserting.
Adobe Illustrator CS Design Professional WITH ILLUSTRATOR GETTING STARTED.
Business Process and Functional Modeling
CHAPTER
State Machine Diagram.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
An Introduction to Computers and Visual Basic
An Introduction to Computers and Visual Basic
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
UML Activity Diagrams & State Charts
States.
Control Systems With Embedded Implementation (CSEI)
Unified Modeling Language
CIS 375 Bruce R. Maxim UM-Dearborn
The design, implementation, integration and evaluation of a Statechart service. By Xin Bai Feb 7, 2002.
Analysis models and design models
States.
An Introduction to Computers and Visual Basic
CIS 375 Bruce R. Maxim UM-Dearborn
Modeling Behavior in Statechart Diagrams
Command Relationship Chart – step-by-step instructions and template
Presentation transcript:

Statecharts: A Visual Formalism for Complex Systems Jeff Peng Model-based Design Lab

Agenda Introduction: Statechart Diagrams Statemate Semantics of Statechart Statemate Working Environment Statemate Tutorial Further Readings

Introduction: Statechart Diagrams Design of complex reactive systems Statechart in a nutshell Basic notation: State Transition Initial State Final State

Statechart Diagrams: Notation State: a mode of the entity. A rectangle with rounded corners, and the state name

Statechart Diagrams: Notation Transition: changing of the object State An arrow, with the Event Name

Statechart Diagrams: Notation Initial State: state of an object before any transitions Marked using a solid circle Only one initial state is allowed on a diagram

Statechart Diagrams: Notation Final State: destruction of the object A solid circle with a surrounding circle

Example: Online Chess

Statechart Diagrams: Hierarchy Hierarchical Statecharts (FSM are flat) Arrows go inside node S Sub states inside state S

Statechart Diagrams: Default State

Statechart Diagrams: Clustering Clustering: form of hierarchy Advantage

Statechart Diagrams: History Mechanism Resume from last state inside nested chart Initialization of history variable.

Statechart Diagrams: Concurrency Manage multiple states simultaneously Example: style types bold, italics and underline.

Statechart Diagrams Delays: delayTime < in the state. E.g., 10 sec < Timeouts < timeoutAmt in the state, e.g, < 5 min

Example: CD Player

Example: Telephone

Statemate Semantics of Statechart First executable semantics Central consideration: clarity, simplicity Designed for real-life complex systems, support different styles of modeling. Fast prototyping Generates useful hardware and software

Statemate Working Environment Development of complex reactive systems Specification Analysis Design Documentation Heavy graphical oriented Captures structure, functionality, and behavior

Structural Point of View Decomposition of SUD Identifies information flow

Conceptual Model Consists of functional view and behavioral view Functional view: Functional decomposition of SUD Does not specify dynamics Behavioral view: Specifies control activities Tests conditions and variables

Statemate languates Module-charts  structural view Activity-chart  functional view Statecharts  behavioral view

Statemate Structure

Statemate Tutorial: Design Flow of Digital Clock Step 1: requirement statement Display the current time of day In hours and minutes Minute value increment every 60 seconds Hour value increment every 60 minutes Set the time of day Display the set time in hours and in minutes Increment the minutes Increment the hours Switch between modes Power present: in operation mode Power removed: blank display Power returns: set time mode

Step 2: Getting Started Start Statemate Create a project Open the project

Step 2.2 Creating Project Name: STM_CLASS_DP Manager: your login Databank: path to the databank directory

Step 2.3 Opening the Project

Statemate Main Window

Step 3: Creating the Activity-Chart Internal Activities Control activities External activities Data flows

Activity-chart Graphics Editor Select the Graphic Editors icon from the Statemate Main window. Fill in the Open Chart form as follows: Type: Activity-chart Usage: Regular Name Pattern: CLOCK_your_initials Select the New button.

Step 3.1: Creating Internal Activities

Step 3.2: Creating Control Activities

Step 3.3: Creating External Activities

Step 3.4: Drawing Flows

Step 4: Creating Statecharts Select the Graphic Editors icon from the Statemate Main window. Fill in the Open Chart form as follows: Type:Statechart Usage:Regular Name Pattern:CLOCK_CNTL Select the New button.

Step 4.1: Drawing States

Step 4.2: Drawing Transitions

Step 4.3: Associating the Control Activity with the Statechart In the Workarea Browser, locate the CLOCK_your-initials Activity-chart. Double click on this chart’s icon with the left mouse button to open the chart. Locate the CLOCK_CNTL control activity. Double click on the CLOCK_CNTL control activity name. causes the name to be highlighted in black with a cursor appearing. Click the left mouse button at the beginning of the name andthen move the cursor to the left of the name. Type symbol.

Step 5: Defining the Textual Elements

Step 6: Simulating the Model If the CLOCK_your-initials Activity-chart is not open, open it using the Workarea Browser. Select the CLOCK activity. Select Tools>Simulation to open the simulation Execution main window.

Step 6.1: Setting Up a Monitor WIndow Select Displays>Monitors to open an empty Simulation Monitor window. Select Edit>Add ‘to open the Element Selection for Monitor window.

Step 6.2: Stepping Through the Simulation Organize viewing area Simulate the model Go Step from the Simulation Execution window

Step 7: Panel Creation and Simulation

Step 8: Code Generation and Execution Create a code generation profile Use the profile to generate code Run the code

Further Readings Harel, D., The STATEMATE semantics of statecharts, ACM Transactions on Software Engineering and Methodology (TOSEM) archive, October 1996, Volume 5, Issue 4, Pages: 293 – 333 Harel, D., STATEMATE: a working environment for the development of complexreactive systems, IEEE Transactions on Software Engineering, Apr 1990 Volume: 16, Issue: 4, Pages: Harel, D., Statecharts: A visual formalism for complex systems, Science of Computer Programming, 1987 StateMate Magnum Tutorial, I Logix