Title: Design Methodology for State based Embedded Systems Case Study: Maze Navigator
1Design Methodology for State based Embedded
SystemsCase Study Maze Navigator
- Vivek Subramaniam
- Graduate Student (Masters Program)
2Contents
- Introduction
- Design methodology for state based time triggered
systems - Case Study Maze Navigator
- Demo
- Questions
3Introduction
4Behavior Control
- Behavior tasks that process external/internal
sensory information and issues an action. - Complex behavior series of alternations of
simple behaviors. - Hierarchical Model.
- Reactive robot control architecture.
5Behavior Control API
- Behavior
- boolean takeControl( )
- void action( )
- void suppress( )
- Arbitrator
- public Arbitrator (Behavior behaviors)
-
6Time triggered Architecture
- Initiated at predetermined instances of
real-time. - Event inputs or interrupts are queued and polled
periodically. - Relatively easy to validate, test and certify.
7Maze Navigator
- A modification of the Navigator robot as given in
Brian Bagnalls book Core Lego Mindstorms
Programming. - Sensors and Inputs Touch sensor, Light Sensor,
Timer and two Rotation Sensors. - Actuators Two motors.
- Due to limitations of system, a simulation was
developed
8Maze Navigators Behavior Model
Light Sensor
HOME
S
BUMP
Touch Sensor
Motors
True
MOVE
S
S
Point of Suppression
9Design Methodology For State based Time Triggered
systems
10Definition
- Rational Unified Process (RUP) is a framework
that can be used to describe specific development
process - - Grady Booch
11Rational Unified Process
Actors Use-Cases
Class Diagrams Use-Case Realizations
Implementation
Use-Case Model (what)
Actual Code
Analysis/Design Models (how)
12Use-Case Realization
WAKEUP
WAIT
13Use-case realizations with asynchronous waits
- Allocating a thread per scenario with
Synchronization - Finite State Machine based Implementation
14RUP for Concurrent Programs using Synchronization
RUP
Component Code
Actors Use-cases
Class Diagram Scenarios
Specify global invariant
Scenarios identify synchronization regions in
which synchronization is required
Complete code
Global invariants (patterns)
Coarse-grained solution
Fine-grained code
Synchronization aspect code development
(A structured approach to develop concurrent
programs in UML)
15RUP for time triggered systems using FSM
Actors Use-Cases
Class Diagrams Use-Case realizations
Revised Class Diagrams Scenarios for threads
Use-Case Model (what)
Analysis/Design Models (how)
Implementation
Original Class Diagram State information
Active Classes
Actual Code
16Event Triggered Systems
Boundary Classes
Other Classes
The flow of control is from the Boundary Classes
to other classes
17Time Triggered System
Boundary Classes
Active Classes
Other Classes
The flow of control is from Active class to
boundary and other classes.
18From this discussion we can see that we have
these four options.
Event Triggered
Finite State Machine
Time Triggered
Allocating thread Per scenario
19Methodology
- Identify the Use Cases
- Describe the Use Case realizations and class
diagrams - Identify states and thread scenarios
- Revise Class Diagram and use-case realization
- Form the Finite State Machine
- Translate to code
20Case Study Maze Navigator
21Use Cases for Maze Navigator
- MOVE (true)
- Scan for an unvisited/ least visited cell.
- Determine random No. of steps in the direction of
picked cell. - Travel the required No. of steps in that
direction. - BUMP (Input from touch sensor)
- Travels back to the last cell location.
- GO HOME (Timer as input)
- Calculate the angle and distance for initial
point (0,0). - Rotate for the angle and travel the distance in
straight line. - STEER (Inputs from Rotation Sensors)
- Uses rotation sensor to find angle rotated and
distance traveled. - Keeps the travel in straight line.
22Use Case Model for Maze Navigator
23Class Diagram
24Use Case Realization Example
Maze Navigator MOVE Behavior
Scan for a unvisited or least visited
cell Calculate random No. of steps to take in
that direction Calculate angle and
distance Start the motors Wait Until required
angle is rotated. Stop motors Update
geometry Start the motors Wait Until required
distance is traveled Stop motors Update geometry
Asynchronous waits
25Revised Use Case Realization Example
States
Wait until input trigger Move Behavior Scan
for unvisited/ least visited cell Calculate
random steps in that cells direction Calculate
angle and distance Start the motors Wait Until
required angle is rotated. Stop motors Update
geometry Start the motors Wait Until required
distance is traveled Stop motors Update geometry
Arbitrator thread
Rotation Sensor thread
26Finite State Machine Method Action Call
actionC
takeControlC
actionB
takeControlB
takeControlA
DONE
Legend
Arbitrator thread
actionA
Rotation sensor thread
27Revised Class Diagram
28Demo
29Acknowledgement
- Dr. Masaaki Mizuno
- Dr. Rodney R. Howell
- Dr. Mitchell L. Nielsen
30Questions ???