Post on 05-Jan-2016
description
Department of Computing and Information SciencesKansas State University
Design Methodology for
State based Embedded SystemsCase Study: Maze Navigator
Vivek SubramaniamGraduate Student (Masters’
Program)
Department of Computing and Information SciencesKansas State University
Contents
Introduction Design methodology for state based
time triggered systems Case Study: Maze Navigator Demo Questions
Department of Computing and Information SciencesKansas State University
Introduction
Department of Computing and Information SciencesKansas State University
Behavior 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.
Department of Computing and Information SciencesKansas State University
Behavior Control API
Behaviorboolean takeControl( )void action( )void suppress( )
Arbitratorpublic Arbitrator (Behavior[ ]
behaviors)
Department of Computing and Information SciencesKansas State University
Time 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.
Department of Computing and Information SciencesKansas State University
Maze Navigator
A modification of the Navigator robot as given in Brian Bagnall’s 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
Department of Computing and Information SciencesKansas State University
Maze Navigator’s Behavior Model
HOMEHOME
BUMPBUMP
MOVEMOVE
Light SensorLight
Sensor
Touch SensorTouch Sensor
MotorsMotors
SS
SS
SS Point of Suppression
TrueTrue
Department of Computing and Information SciencesKansas State University
Design MethodologyFor
State based Time Triggered systems
Department of Computing and Information SciencesKansas State University
Definition
“Rational Unified Process (RUP) is a framework that can be used to describe specific development process”
- Grady Booch
Department of Computing and Information SciencesKansas State University
Rational Unified Process
ActorsUse-Cases
ActorsUse-Cases
Class DiagramsUse-Case Realizations
Class DiagramsUse-Case Realizations ImplementationImplementation
Use-Case Model(what)
Analysis/Design Models(how)
Actual Code
Department of Computing and Information SciencesKansas State University
Use-Case Realization
WAITWAKEUP
Department of Computing and Information SciencesKansas State University
Use-case realizations with asynchronous waits
Allocating a thread per scenario with Synchronization
Finite State Machine based Implementation
Department of Computing and Information SciencesKansas State University
RUP for Concurrent Programs using Synchronization
ActorsUse-cases
ActorsUse-cases
Class DiagramScenarios
Class DiagramScenarios
Component Code
Component Code
Complete code
Complete code
Global invariants(patterns)
Global invariants(patterns)
Coarse-grained solution
Coarse-grained solution
Fine-grained
code
Fine-grained
code
RUP
Synchronization aspect code development
Specify global invariant
Scenarios identify synchronization regions in which synchronization is required
(A structured approach to develop concurrent programs in UML)
Department of Computing and Information SciencesKansas State University
RUP for time triggered systems using FSM
ActorsUse-Cases
ActorsUse-Cases
Class DiagramsUse-Case realizations
Class DiagramsUse-Case realizations
Revised Class Diagrams
+Scenarios for
threads
Revised Class Diagrams
+Scenarios for
threads
ImplementationImplementation
Use-Case Model
(what)
Analysis/Design Models
(how)
Actual Code
Original Class Diagram +
State information + Active Classes
Department of Computing and Information SciencesKansas State University
Event Triggered Systems
Boundary ClassesBoundary Classes Other ClassesOther Classes
The flow of control is from the Boundary Classes to other classes
Department of Computing and Information SciencesKansas State University
Time Triggered System
Boundary ClassesBoundary Classes Active ClassesActive Classes Other ClassesOther Classes
The flow of control is from Active class to boundary and other classes.
Department of Computing and Information SciencesKansas State University
From this discussion we can see that we have these four options.
Event TriggeredEvent Triggered
Time TriggeredTime Triggered Allocating threadPer scenario
Allocating threadPer scenario
Finite StateMachine
Finite StateMachine
Department of Computing and Information SciencesKansas State University
Methodology
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
Department of Computing and Information SciencesKansas State University
Case Study: Maze Navigator
Department of Computing and Information SciencesKansas State University
Use 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.
Department of Computing and Information SciencesKansas State University
Use Case Model for Maze Navigator
true
Rotation Sensor(right)
Touch Sensor
Light Sensor
Maze Navigator
Motor (right)
Move
Bump
Home
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Rotation Sensor (left)Motor (left)
1
1
1
1
11
1
1
1
1
1
1
Steer
1
1
1
1 1
1
1
1
Department of Computing and Information SciencesKansas State University
Class Diagram
Rotation Sensor
+get direction()+get steps()+travel()+forward()+backward()+stop()+get current state()+set current state()+get command()+set command()
Rotation Navigator
Motor
Touch Sensor
Light Sensor
Move Bump Home
Navigator
11
1
1
+take control()+suppress()+action()
«interface»Behavior
2
1
1 2
1
1
1
11
1
Department of Computing and Information SciencesKansas State University
Use Case Realization Example
Scan for a unvisited or least visited cellCalculate random No. of steps to take in
that directionCalculate angle and distanceStart the motorsWait Until required angle is rotated.Stop motorsUpdate geometryStart the motorsWait Until required distance is traveledStop motorsUpdate geometry
Maze Navigator : MOVE Behavior
Asynchronous waits
Department of Computing and Information SciencesKansas State University
Revised Use Case Realization ExampleWait until input trigger
Move Behavior :Scan for unvisited/ least visited cellCalculate random steps in that cells
directionCalculate angle and distanceStart the motors Wait Until required angle is rotated.
Stop motorsUpdate geometryStart the motorsWait Until required distance is traveledStop motorsUpdate geometry
States
Arbitrator thread
Rotation Sensor thread
Department of Computing and Information SciencesKansas State University
takeControlC
takeControlB
takeControlA
actionA
actionC
actionB
Arbitrator thread
Rotation sensor thread
DONE
Finite State Machine Method – Action Call
Legend:
Department of Computing and Information SciencesKansas State University
Revised Class Diagram
+get next state()+set next state()+get action()+set action()
-next state
State Table
+get current state()+set current state()+next state()
Rotation sensor thread
Rotation Sensor+get direction()+get steps()+travel()+forward()+backward()+stop()+get current state()+set current state()+get command()+set command()
Rotation Navigator
Motor
Touch Sensor
Light Sensor
Arbitrator
Current State
Move Bump Home
Navigator
1
1
1
1
+take control()+suppress()+action()
«interface»Behavior
1
1
1
1
2
1
1
1
11
1 2
1
1
1
1
1
111
Department of Computing and Information SciencesKansas State University
Demo
Department of Computing and Information SciencesKansas State University
Acknowledgement
Dr. Masaaki Mizuno Dr. Rodney R. Howell Dr. Mitchell L. Nielsen
Department of Computing and Information SciencesKansas State University
Questions ???