Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Maze Navigator.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
1-1 ROPES Rapid Object-Oriented Process for Embedded Systems.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Robot Programming. Programming Behaviors Behaviors describe the actions and decisions of your robot.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
THE OBJECT-ORIENTED DESIGN WORKFLOW Statechart Diagrams.
Scalable and Distributed GPS free Positioning for Sensor Networks Rajagopal Iyengar and Biplab Sikdar Department of ECSE, Rensselaer Polytechnic Institute.
1 ©2006 INSciTE Lab Two Task: Make the program from Lab One (Move forward 5 rotations and turn right 90 degrees) into a MyBlock.
An Introduction to Rational Rose Real-Time
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Robot Controller.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Chapter 11 Analysis Concepts and Principles
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Sound, Touch Sensor, and Motors. Wheeled Vehicles Using the Pilot class: –Constructor Pilot(float wheelDiameter, float trackWidth,Motor leftMotor, Motor.
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
Team Members: Dave Rudolph - Lead Web Designer Lead Programmer Samara Secor - Lead Analyst Documentation Specialist.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Response actuatorcontrol program analog quantity, e.g. pulse train digital quantity, e.g. power % interface stimuli sensorcontrol program analog quantity,
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Robot Programming. Programming Behaviors Behaviors describe the actions and decisions of your robot.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Embedded Software and UML Three Meanings of "Model" A sketch –not precise or complete; not maintained –communicates a rough idea A blueprint –like plans.
EENG 1920 Chapter 6 System Design II: Behavioral Models 1.
Automatic Derivation, Integration, and Verification of Synchronization Aspects in Object-Oriented Design Methods Automatic Derivation, Integration, and.
Experimental Software Engineering Course for Training Practitioners in Embedded Real-Time Systems Real-Time Systems LAB, School of Electronic Engineering,
Introduction To Programming with LEGO NXT 2
Evaluation in Engineering Design Process Modeling and FSM
Music by Touch Music by Touch Presentation > TeachEngineering.org
UML Activity Diagrams & State Charts
UML: Unified Modeling Language
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Half-Sync/Half-Async (HSHA) and Leader/Followers (LF) Patterns
Lego EV3 Mindstorms SW Programming Blocks.
Introduction to Pattern Oriented Analysis and Design (POAD)
Automatic Derivation, Integration, and Verification of Synchronization Aspects in Object-Oriented Design Methods DARPA Order K203/AFRL Contract F C-3044.
An Introduction to Embedded Software Architecture and Design
Lego MINDSTORMS EV3.
Adaptive Traffic Control
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Maze Navigator Vivek Subramaniam Graduate Student (Masters’ Program)

Department of Computing and Information Sciences Kansas State University Contents  Introduction  Design methodology for state based time triggered systems  Case Study: Maze Navigator  Demo  Questions

Department of Computing and Information Sciences Kansas State University Introduction

Department of Computing and Information Sciences Kansas 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 Sciences Kansas State University Behavior Control API Behavior boolean takeControl( ) void action( ) void suppress( ) Arbitrator public Arbitrator (Behavior[ ] behaviors)

Department of Computing and Information Sciences Kansas 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 Sciences Kansas 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 Sciences Kansas State University Maze Navigator’s Behavior Model HOME BUMP MOVE Light Sensor Touch Sensor Motors S S S S S S Point of Suppression True

Department of Computing and Information Sciences Kansas State University Design Methodology For State based Time Triggered systems

Department of Computing and Information Sciences Kansas 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 Sciences Kansas State University Rational Unified Process Actors Use-Cases Actors Use-Cases Class Diagrams Use-Case Realizations Class Diagrams Use-Case Realizations Implementation Use-Case Model (what) Analysis/Design Models (how) Actual Code

Department of Computing and Information Sciences Kansas State University Use-Case Realization WAIT WAKEUP

Department of Computing and Information Sciences Kansas 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 Sciences Kansas State University RUP for Concurrent Programs using Synchronization Actors Use-cases Actors Use-cases Class Diagram Scenarios Class Diagram Scenarios Component Code Complete code Global invariants (patterns) Global invariants (patterns) Coarse- grained solution 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 Sciences Kansas State University RUP for time triggered systems using FSM Actors Use-Cases Actors Use-Cases Class Diagrams Use-Case realizations Class Diagrams Use-Case realizations Revised Class Diagrams + Scenarios for threads Revised Class Diagrams + Scenarios for threads Implementation Use-Case Model (what) Analysis/Design Models (how) Actual Code Original Class Diagram + State information + Active Classes

Department of Computing and Information Sciences Kansas State University Event Triggered Systems Boundary Classes Other Classes The flow of control is from the Boundary Classes to other classes

Department of Computing and Information Sciences Kansas State University Time Triggered System Boundary Classes Active Classes Other Classes The flow of control is from Active class to boundary and other classes.

Department of Computing and Information Sciences Kansas State University From this discussion we can see that we have these four options. Event Triggered Time Triggered Allocating thread Per scenario Allocating thread Per scenario Finite State Machine Finite State Machine

Department of Computing and Information Sciences Kansas 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 Sciences Kansas State University Case Study: Maze Navigator

Department of Computing and Information Sciences Kansas 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 Sciences Kansas State University Use Case Model for Maze Navigator

Department of Computing and Information Sciences Kansas State University Class Diagram

Department of Computing and Information Sciences Kansas State University Use Case Realization Example 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 Maze Navigator : MOVE Behavior Asynchronous waits

Department of Computing and Information Sciences Kansas State University Revised Use Case Realization Example 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 States Arbitrator thread Rotation Sensor thread

Department of Computing and Information Sciences Kansas 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 Sciences Kansas State University Revised Class Diagram

Department of Computing and Information Sciences Kansas State University Demo

Department of Computing and Information Sciences Kansas State University Acknowledgement  Dr. Masaaki Mizuno  Dr. Rodney R. Howell  Dr. Mitchell L. Nielsen

Department of Computing and Information Sciences Kansas State University Questions ???