Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI1600: Embedded and Real Time Software

Similar presentations


Presentation on theme: "CSCI1600: Embedded and Real Time Software"— Presentation transcript:

1 CSCI1600: Embedded and Real Time Software
Lecture 9: Modeling II: Discrete Systems Steven Reiss, Fall 2017 Should provide automata for the two/three different train problems.

2 Self-Driving Cars 15-Point Checklist
point-federal-checklist-for-self-driving-cars.html Lecture 8: Modeling Discrete Systems 2/24/2019

3 Embedded Systems Are sets of tasks If we want to understand the system
The task is the primary abstraction to be used If we want to understand the system We need to understand the tasks We need to understand the interactions Between tasks With the environment (real world) Should we model the whole system Or should we just model the individual tasks Lecture 8: Modeling Discrete Systems 2/24/2019

4 How to Model a Task English description Formal mathematics
Typically used first Imprecise, hard to check, incomplete Formal mathematics Very precise Difficult to understand and write (correctly) Hard to express external events Formal diagrams Combine formal math with understanding Diagrams make it easier to comprehend what is there Provide a framework for the math and understanding Lecture 8: Modeling Discrete Systems 2/24/2019

5 Modeling Control Systems
Control oriented systems Typically respond to external stimuli Reaction based on previous interactions These determine the state of the system Stimulus moves system to a new state Control is state-oriented Natural model is finite state automata Also called a finite state machine Lecture 8: Modeling Discrete Systems 2/24/2019

6 Basic Finite State Automata
What language does this recognize? ((a*b)a*cd(bd)*a)*(a*b)*a*c Lecture 8: Modeling Discrete Systems 2/24/2019

7 Problem Want to automatically trigger switch
D Want to automatically trigger switch Only once if possible (not continually) When train goes from R to L What does sensing look like (at A, B, C, D) Events: A, 𝐴 , B, 𝐵 , C, 𝐶 , D, 𝐷 When should you trigger the switch What does the train look like to the sensor Triggers: c,d,c’, d’ – what is the expected sequence of events and when should you trigger Students should try to do this (use white board?) Lecture 8: Modeling Discrete Systems 2/24/2019

8 Problem Can only trigger one switch at a time Is it a FSA?
Switch trigger Should be momentary (>100ms, <500ms) What does this task do? How many tasks should it be? Different approaches Is it a FSA? Queue-based approach is one way How is a queue implemented? Another is a simple set of flags, one per switch and we cycle through to find next one to trigger How do you prevent 2 trains from entering a block simultaneously from both ends going in opposite directions? Lecture 8: Modeling Discrete Systems 2/24/2019

9 Problem Problem: when is the train on which block Complexities
D A B Problem Problem: when is the train on which block When is train completely on A/C or B or D side of switch Complexities Handling initial conditions Handling reversing directions Students should try to do this Lecture 8: Modeling Discrete Systems 2/24/2019

10 Issues with Basic FSA Need to specify actions
Semi-external events: timers Internal events from other tasks Conditional events Multiple FSA’s in parallel (multiple tasks) Counters and other variables State space blowup Lecture 8: Modeling Discrete Systems 2/24/2019

11 Actions: Moore vs Mealy Machine
Lecture 8: Modeling Discrete Systems 2/24/2019

12 Moore vs. Mealy Which is more useful? Are they equivalent?
Lecture 8: Modeling Discrete Systems 2/24/2019

13 Extended State Machines
Each arc has condition/action To traverse arc, condition must hold When traversing arc, action is taken There are a finite set of (bounded) variables Conditions can reference these Condition can be Event Time out Expression over variables Combination of the two Is the result still a finite state machine? Lecture 8: Modeling Discrete Systems 2/24/2019

14 Extended State Machines
Actions Can access and change variables Can be { var := expression; … } Can do something external When no condition is true Stay in same state When multiple conditions are true What should be done Nondeterminism Allow priority specification Disallow Lecture 8: Modeling Discrete Systems 2/24/2019

15 Extended State Machines
What does this do? Lecture 8: Modeling Discrete Systems 2/24/2019

16 Extended State Machines
What does this do? Lecture 8: Modeling Discrete Systems 2/24/2019

17 Periodic Automata Specify a Period Extended automata
Action taken every period Not on timeout Not when events occur Extended automata Variables, actions Good model for Arduino tasks What does this do

18 Periodic Automata Period = 100 ms What does this do
Lecture 8: Modeling Discrete Systems 2/24/2019

19 Statecharts David Harel (80’s) Part of UML Extended FSM notation
Lecture 8: Modeling Discrete Systems 2/24/2019

20 Meta States Hierarchical Automata Start states Stop states
Enter States Lecture 8: Modeling Discrete Systems 2/24/2019

21 Homework Read Chapter 4 Exercises 4.3, 4.5, 4.7
Lecture 8: Modeling Discrete Systems 2/24/2019


Download ppt "CSCI1600: Embedded and Real Time Software"

Similar presentations


Ads by Google