1 SFWR ENG 3KO4 Software Development Statemate I-CASE Tool for Designing Software Systems from Different Views Statemate I-CASE Tool for Designing Software.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Embedded System, A Brief Introduction
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Understanding an Apps Architecture ASFA Computer Science: Principles Fall 2013.
Vered Gafni – Formal Development of Real Time Systems 1 Statecharts Semantics.
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.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Introduction to Software Engineering 7. Modeling Behaviour.
EKT 221 : Digital 2 ASM.
© Copyright 2011 John Wiley & Sons, Inc.
1 STRUCTURE CHARTS Elements and Definitions. 2 Software System Design translates SRS into a ===> software system architecture: –system’s static structure.
Software modeling for embedded systems: static and dynamic behavior.
1 CS 691z/791z Topics in Software Engineering Chapter 13: Activity Diagrams & Chapter 19: Basic Statecharts [Arlow and Neustadt, 2002] March 8, 2007.
AR vs. CFSM Abdallah Tabbara. CFSM Overview 4 CFSM has: –a finite state machine part –a data computation part –a locally synchronous behavior transitions.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
1 CS/CPE 426 Senior Projects Chapter 21: State Machines Chapter 22:Advanced State Machines [Arlow and Neustadt 2005] March 24, 2009.
Statecharts: A Visual Formalism for Complex Systems Jeff Peng Model-based Design Lab.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
Advanced Behavioral Modeling
SE-565 Software System Requirements More UML Diagrams.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
An Introduction to Rational Rose Real-Time
Lecture 6 Template Semantics CS6133 Fall 2011 Software Specification and Verification.
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
CS102 Introduction to Computer Programming
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Visual Basic Fundamental Concepts. Integrated Development Enviroment Generates startup form for new project on which to place controls. Features toolbox.
Ch.2 Part A: Requirements, State Charts EECE **** Embedded System Design.
Lecture 4 Finite State Machine CS6133 Software Specification and Verification.
Microsoft Visual Basic 2005: Reloaded Second Edition
CIS Computer Programming Logic
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Section 17.1 Add an audio file using HTML Create a form using HTML Add text boxes using HTML Add radio buttons and check boxes using HTML Add a pull-down.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Other Chapters From the text by Valvano: Introduction to Embedded Systems: Interfacing to the Freescale 9S12.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Computer Components.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
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.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
Real Time Systems Advanced State Machines. Behaviour (part 2) - 2 Outline  Simple and Composite States  Transition Segments and Junction Points  Run-to-Completion.
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.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
States.
CS3773 Software Engineering Lecture 06 UML State Machines.
Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.
Scis.regis.edu ● CS-432: Modern Software Engineering Week 4 Dr. Jesús Borrego Lead Faculty, COS Regis University 1.
Chapter – 8 Software Tools.
1 Memory Test - Debugging Test Vectors Without ATE Steve Westfall Director Visual Testbench Engineering Summit Design Inc.
The Dynamic Analysis Model StateCharts Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Basic Characteristics of Object-Oriented Systems
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Architecture Concept Documents
Online Shopping APP.
UML Activity Diagrams & State Charts
States.
States.
CS 791Z State Machines & Advanced State Machines
Presentation transcript:

1 SFWR ENG 3KO4 Software Development Statemate I-CASE Tool for Designing Software Systems from Different Views Statemate I-CASE Tool for Designing Software Systems from Different Views Dr. Kamran Sartipi Dept. Computing and Software McMaster University Hamilton, ON, Canada

2 Outline ã Introduction ã Language of the Statemate ã Design Example: Fast-Food Restaurant System ã Conclusion

3 ã Graphical Editors ã Data Dictionary ã Check Model ã Simulator ã Code Generator ã Panel Generator ã Project Manager A CASE Tool For Designing Reactive Systems Reactive systems receive a large number of external and internal signals of the form Event or Condition, hence they are sometimes called event driven systems. The system reacts to the signals and performs different tasks accordingly. The examples of such systems include: avionic systems, telephone and communication controller, robots, etc.

4 Three Specification Views of a System ã Functional ã Behavioral ã Structural Introduction..

5 The Language of : Functional View : Functional View : Behavioral View : Behavioral View : Structural View : Structural View Data Dictionary Forms: Data Dictionary Forms:

6 The Language of Statecharts ã State, Transition, Step ã Timing ã Hierarchy ã Concurrency ã Synchronization ã Interrupt ã Declutter & Merge Concepts of:

7 The Syntax of ChartBasic State Or - State and - State Transition Event [Condition] / Action

8 Timing in Statecharts IDLE DATE_TIME_S> tm(en(IDLE),2) Z A transition may occur on time-out bases. tm(e,n) tm(e,n) e: event, n: System time-unit

9 Hierarchy in Statecharts ã Previous Step: m State S1 was active. m Event E1 was triggered. ã Current Step: m State S2 is active. (S2 is a hierarchical state) m State A is active.

10 Hierarchy in Statecharts... ã Previous step: m State A was active m Condition C1 was False ã Current Step:  State S1 becomes active

11 Concurrency in Statecharts All concurrent components become active:

12 Concurrency in Statecharts... All Concurrent components become inactive:

13 Synchronization in Statecharts Using joint transition, Concurrent states or independent Statecharts can be synchronized Sequence of events: (S1) [C1]  (S1, A)  (S2, A) E1  (S3,B) en(S3)  (S3,A) E1  (S2, B)  (S1)

14 Synchronization in Statecharts... ã Activation of the state S1 is synchronized with the activation of States S2 and B.

15 Interrupt in Statecharts Interrupt handeling using history and deep-history connectors Interrupt handeling using history and deep-history connectors

16 Interrupt in Statecharts... Event CONT INUE is triggered  C1 and D1 activate

17 Interrupt in Statecharts... Condition C1 is False  AND state S3 is Deactivated  B1 is active

18 E1 is triggered State B2 is active. Interrupt in Statecharts... ã An external device requests a service by triggering the event INT_REQ.

19 Control is transferred to the interrupt handler. Interrupt in Statecharts...

20 ã Entrance through history connector activates the state in its own level, which was active: S1 ã Entrance through deep history activates the deepest state which was active: B2 Interrupt request has Z Interrupt request has been serviced, and the signal INTA is generated. Interrupt in Statecharts...

21 Decluttering in Statecharts Decluttering mechanism permits to define the details of any box in a separate off-page box.

22 Decluttering in Statecharts... The decluttered state is called Box-is-Chart, and its named is prefixed by sign.

23 fetches the chart associated to the box. Logical Diving to a Box-is-Chart fetches the chart associated to the box. Diagram connectors mark the entry or exit points of the transitions. Decluttering in Statecharts...

24 Merge in Statecharts ã Merging is the opposite concept of decluttering ã Charts C and D have been merged into the chart S1.

25 p Defines the functionality of the system. p Involves the concepts such as: u Control-Activity. u External-Activity. u Mini-Specification. u Hierarchical construct. u Decluttering and Merging. u Data stores The Language of

26 The Syntax of Activity-Charts Activity IN SYSTEM POWER_On/OFF EXECUTE INIT A OPERATE RESET B Z Activity Control-Activity Control-Flow Data-Store Data -Flow External- Activity Chart

27 Designing a large Reactive System with ã Requirement analysis and System Specification. (Requirement Traceability) ã High-level Design & Test. (Graphical Editors & Simulator) ã Detailed Design & Test. (Box-is-Chart Concept) p Data-Structure Design. (Data Dictionary) p Functional and Behavioral Design. (Graphical Editors) p User-Interface Design. (Panel Generator) ã Implementation. (Code Generator) P Team Project & Version Control. (Project Management)

28 Design Example: ã Order-Taking unit. ã Assembling unit. ã Preparation unit. ã Inventory unit. ã Management unit. Z System Specification: This System controls different activities in a typical Fast-Food Restaurant, and consists of Five communicating units: (OT) (ASM) (PREP) (MGR) (INV)

29 Detailed Design: User-Interface ã Order-Taker screen consists of 40 buttons to generate events as inputs and 18 text- displays as outputs. Z User-Interface design of a reactive system is crucial. Z Bindings of the Z Bindings of the Panel- to the Elements to the Variables of the charts are performed in the Data-Dictionary Forms.

30 PRODUCER_AND_CONSUMER Inter process communication Distributed control Z Distributed control mechanism for private access to the shared- memory WINNER:=1; WINNER:=3; WINNER:=2; fs!(D_USED) An example of producer-consumer Z Key point: atomic execution of the actions in one transition

31 Inter Process Communication... WINNER:=1; WINNER:=3; WINNER:=2; fs!(D_USED)  Conditions D_USED & BUF_F control the Producer and Consumers to enter their critical sections respectively.  Variable WINNER determines which consumer can access to the shared buffer. (Consumer C2)

32 Instantiation in the An independent produces copies of a statechart or activity-chart (Reusability). Z An independent Generic-Chart produces copies of a statechart or activity-chart (Reusability). To create an instance of a generic-chart, an activity or a state with a special naming pattern is used. Z To create an instance of a generic-chart, an activity or a state with a special naming pattern is used. Name of Instance < Name of generic-chart  Formal-Parameters & Actual-Parameters are the means for communicating the values of variables.

33 Instantiation in the... Producer & Consumer example fs!(DATA_CONSUMED; WINNER_ID:= CONSUMER_ID; CONSUMER Generic-Chart Instances of the Generic_Chart Off-Page Chart Box-is-Chart Box-is-Chart

34 ã Order-Taking Stations, Assembling Stations, and Preparation Stations are Instances of different Generic activity-charts. ã For each instance, binding of the panel elements to the actual-parameters is done in Data- Dictionary. Instantiation in the Restaurant System

35 Conclusion ã Statemate has shortcomings in: p Semantics of module-charts p Data Types and dynamic memory allocation p Parametric Instantiation p User-interface generator ã Statemate is good for modeling and simulating the System behavioural. The System functionality can then be implemented in C or Ada languages ã Statemate has a long learning curve.