Selling an Idea or a Product - East Carolina University

Selling an Idea or a Product - East Carolina University

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

Introduction Language of the Statemate Design Example: Fast-Food Restaurant System Conclusion 3 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.

Graphical Editors Data Dictionary Check Model Simulator Code Generator Panel Generator Project Manager Introduction . . 4

Three Specification Views of a System Functional Behavioral Conceptual Model Functional View Behavioral View What When Capabilities & Flow of data

Control & Timing Structural Physical Model Structural View How Modules & Comm. 5 The Language of Module Activity-Charts : Functional View

Name: Description: Statecharts --------------------------------------------------------------------------------------- : Behavioral View Module Name: Description: Module-Charts Module Name: Description: : Structural View

Data Dictionary Forms: --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- The Language of Statecharts 6 Concepts of:

State, Transition, Step Timing Hierarchy Concurrency Synchronization Interrupt Declutter & Merge Module Activity-Charts Name: Description: Statecharts ---------------------------------------------------------------------------------------

Module Name: Description: Module-Charts Module Name: Description: --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- 7 The Syntax of Event Event[Condition] [Condition]//Action Action

Chart Or State and State Basic State Transition 8 Timing in Statecharts A transition may occur on time-out bases. tm(e,n) e: event, n: System time-unit IDLE

tm(en(IDLE),2) DATE_TIME_S> 9 Hierarchy in Statecharts Previous Step: State S1 was active. Event E1 was triggered. Current Step: State S2 is active. (S2 is a hierarchical state) State A is active. Hierarchy in Statecharts ...

10 Previous step: State A was active 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) ) en(S3) (S3,A) E1 (S2, B) en(S3) ) (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 in Statecharts ... 16 Event CONTINUE is triggered C1 and D1 activate

Interrupt in Statecharts ... 17 Condition C1 is False AND state S3 is Deactivated B1 is active Interrupt in Statecharts ... 18 E1 is triggered State B2 is active. An external device requests a service

by triggering the event INT_REQ. Interrupt in Statecharts ... 19 Control is transferred to the interrupt handler. Interrupt in Statecharts ... 20 Interrupt request has been serviced, and the signal INTA is generated. 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 21 Decluttering in Statecharts Decluttering mechanism permits to define the details of any box

in a separate off-page box. Decluttering in Statecharts ... 22 The decluttered state is called B) en(S3) ox-is-Chart, and its named is prefixed by a @ sign. Decluttering in Statecharts ... 23 Diagram connectors mark the entry or exit points of the transitions. Logical Diving to a B) en(S3) ox-is-Chart

fetches the chart associated to the box. 24 Merge in Statecharts Merging is the opposite concept of decluttering Charts C and D have been merged into the chart S1. The Language of

25 Defines the functionality of the system. Involves the concepts such as: Control-Activity. External-Activity. Mini-Specification. Hierarchical construct.

Decluttering and Merging. Data stores Module Activity-Charts Name: Description: Statecharts --------------------------------------------------------------------------------------- Module Name: Description: Module-Charts Module

Name: Description: --------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------- The Syntax of Activity-Charts 26 Control-Activity Chart Control-Flow OPERATE Data-Store @ SYSTEM

POWER_On/OFF RESET Data -Flow Z IN EXECUTE Activity B INIT A External- Activity Activity

OUT Designing a large Reactive System with 27 Team Project & Version Control. (Project Management) Requirement analysis and System Specification. (Requirement Traceability) High-level Design & Test. (Graphical Editors & Simulator)

Detailed Design & Test. (B) en(S3) ox-is-Chart Concept) Data-Structure Design. Functional and Behavioral Design. User-Interface Design. Implementation. (Data Dictionary) (Graphical Editors) (Panel Generator) (Code Generator) 28 Design Example:

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

(OT) (INV) (ASM) Detailed Design: 29 User-Interface User-Interface design of a reactive system is crucial. Bindings of the PanelElements to the Variables of the charts are performed in the Data-Dictionary Forms.

Order-Taker screen consists of 40 buttons to generate events as inputs and 18 textdisplays as outputs . 30 Inter process communication PRODUCER_AND_CONSUMER An example of producer-consumer Distributed control mechanism for private access to the sharedmemory Key point: atomic execution of the actions in one transition

WINNER:=1; fs!(D_USED) WINNER:=3; WINNER:=2; 31 Inter Process Communication ... 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) WINNER:=1; fs!(D_USED) WINNER:=3; WINNER:=2; 32 Instantiation in the 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. Name of Instance < Name of generic-chart Formal-Parameters & Actual-Parameters are the means for communicating the values of variables. Instantiation Instantiationininthe the ...... Producer & Consumer example 33

Off-Page Chart fs!(DATA_CONSUMED; Box-is-Chart Instances of the Generic_Chart CONSUMER WINNER_ID:= CONSUMER_ID; Generic-Chart Instantiation in the Restaurant System 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 DataDictionary. Conclusion 35 Statemate has shortcomings in:

Semantics of module-charts Data Types and dynamic memory allocation Parametric Instantiation 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.

Recently Viewed Presentations

  • Mathematical challenges for able pupils Year 6 E Counting ...

    Mathematical challenges for able pupils Year 6 E Counting ...

    Anna put some 10p coins on the table. One half of them were tails up. Anna turned over two of the coins, and then. one third of them were tails up. ... Mrs Choy bought: 10 large eggs at 50p...
  • The Chemistry of Life Chapter 2-3 - PC&#92;|MAC

    The Chemistry of Life Chapter 2-3 - PC\|MAC

    The Chemistry of Life Chapter 2-3. KEY CONCEPTS: What macromolecules are important to living things? What are the functions of each group of macromolecules?
  • The Gods and Goddesses of Greece

    The Gods and Goddesses of Greece

    The Gods and Goddesses of Greece. Become an expert on the god or goddess that interests you most!
  • Immanuel Kant - Cabrillo College

    Immanuel Kant - Cabrillo College

    even if, by some especially unfortunate fate or by the niggardly provision of step-motherly nature, this will should be wholly lacking in the power to accomplish its purpose; if with the greatest effort it should yet achieve nothing, and only...
  • Using Qualitative Methods in Action Research

    Using Qualitative Methods in Action Research

    1 2 -1 -2 0 Y = The Normal Distribution The integral of the function gives the area under the curve (remember this if you took calculus?) The distribution is asymptotic, meaning that there is no closed solution for the...
  • Basic Sampling Issues

    Basic Sampling Issues

    Developing a Sampling Plan. Step 1: Define the Population of Interest. The 1st issue in developing a sampling plan is to specify the characteristics of those individuals/things (i.e. customers, companies, stores) from whom or about whom info. is needed to...
  • Risk and Insurance policies

    Risk and Insurance policies

    Civil Engineering Insurance Policies PFI: Breach of Contract / Vitating Act in case of a Multiple Insureds Policy No indemnification of the violating party Other insureds to be indemnified for their direct loss Recourse against violating party not to be...
  • The history of all hitherto existing society is

    The history of all hitherto existing society is

    How did India's caste system differ from China's caste system? How did the inequalities of slavery differ from those of caste? How did Greco-Roman slavery differ from that of other classical civilizations? In what ways did the expression of Chinese...