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

  • Intern Placement Tracking (IPT) Tutorial for Field Instructors

    Intern Placement Tracking (IPT) Tutorial for Field Instructors

    Because IPT is a password protected site, meaning only you know your user name and password, your electronic signature constitutes a legally binding document. Forms (cont.): Time Sheets. This is an example of a time sheet after the preceptor clicked...
  • Electrochemistry

    Electrochemistry

    Connect the atoms that change ox. #'s using a bracket; write the change in ox. # at the midpoint of each bracket. Choose coefficients that make the total increase in ox. # = the total decrease in ox. #. Balance...
  • Data Science in the Wild David Asboth &

    Data Science in the Wild David Asboth &

    About Cox Automotive UK. We deal with the whole vehicle lifecycle from stocking, marketing, selling and servicing. Manheim - 2nd largest used vehicle auction business in the UK
  • Nizwa Healthy Lifestyle Project, Planning and Implementation ...

    Nizwa Healthy Lifestyle Project, Planning and Implementation ...

    Reports: Evaluation of Nizwa Healthy Lifestyle Project activities, 2004-2006 Nutrition Clinic Annual Report and weight management outcome, 2006 Manuscripts: Abdelrahim M Belal, Halima G Alhinai, Community-Based Initiatives for prevention and control of non-communicable diseases: Nizwa Healthy Lifestyle Project planning experience...
  • Compliance Structure

    Compliance Structure

    MBA, CHC, CCEP COI and Integrity Officer Solid Line = Traditional mgt reporting Dotted Line = Informational accountability Michael Jurbala, CPA AVP for Internal Audit & Enterprise Risk Management Eric Frost AVP for Human Resources Lisa Alexander, Senior Managing Counsel...
  • Chapter 5 - Data Collection and Sampling

    Chapter 5 - Data Collection and Sampling

    Statistics is a tool for converting . data. into . information: Data. Statistics. Information. But where then does . data. come from? How is it gathered? How do we ensure its accurate? Is the data reliable? Is it representative of...
  • Two-stage individual participant data meta-analysis and flexible forest

    Two-stage individual participant data meta-analysis and flexible forest

    Flexible & extendable model structure. Natural extension of AD MA. ... stcox arm, strata(sex) ipdmetan options after comma, before colon. estimation_command. and options after colon. ... represents one or more options that allow suitable datasets (or parts of datasets) to...
  • WARM UP (vocab quiz)

    WARM UP (vocab quiz)

    Go to quia.com. Click on the blue column "visit quia web" Enter your given username and password. Click on class webpage. Click on the Unit 1 Research Methods Vocabulary Quiz link. Log in AGAIN. Stop at the screen that asks...