Modular Specification of Hybrid Systems in CHARON R. Alur, R. Grosu, Y. Hur, V. Kumar, I. Lee University of Pennsylvania SDRL and GRASP.

Slides:



Advertisements
Similar presentations
Efficient Reachability Analysis of Hierarchic Reactive Modules R. Alur, R.Grosu, M.McDougall University of Pennsylvania
Advertisements

Component Oriented Programming 1 Chapter 2 Theory of Components.
Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
© Sara Fleury & Félix Ingrand, LAAS/RIA, 2000 Architecture for Autonomy Sara Fleury & Félix Ingrand LAAS-CNRS (
Modeling and Verification of Embedded Software Rajeev Alur POPL Mentoring Workshop, Jan 2012 University of Pennsylvania.
System Design Research Lab University of Pennylvania 2/8/2006 CHARON modeling language.
Course Summary. © Katz, 2003 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Testing and Monitoring at Penn Testing and Monitoring Model-based Generated Program Li Tan, Jesung Kim, and Insup Lee July, 2003.
DIVES: Design, Implementation and Validation of Embedded Software Alur, Kumar, Lee(PI), Pappas, Sokolsky GRASP/SDRL University of Pennsylvania
1 University of Pennsylvania Demonstrations Alur, Kumar, Lee, Pappas Rafael Fierro Yerang Hur Franjo Ivancic PK Mishra.
SDRL and GRASP University of Pennsylvania 6/27/00 MoBIES 1 Design, Implementation, and Validation of Embedded Software (DIVES) Contract No. F C-1707.
From Hybrid Models to Embedded Software Rajeev Alur System Design Research Lab University of Pennsylvania Workshop on Robustness,
University of Pennsylvania 1 SDRL CHARON SDRL and GRASP University of Pennsylvania Funded by DARPA ITO.
Review of “Embedded Software” by E.A. Lee Katherine Barrow Vladimir Jakobac.
Modeling Hybrid Systems Yerang Hur CIS 640, October 10, 2002 Department of Computer and Information Science University of Pennsylvania Code generation.
Mixing Models of Computation Jie Liu Palo Alto Research Center (PARC) 3333 Coyote Hill Rd., Palo Alto, CA joint work with Prof. Edward.
Course Summary. © Katz, 2007 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
DIVES Alur, Lee, Kumar, Pappas: University of Pennsylvania  Charon: high-level modeling language and a design environment reflecting the current state.
Advanced Behavioral Modeling
Testing and Monitoring at Penn An Integrated Framework for Validating Model-based Embedded Software Li Tan University of Pennsylvania September, 2003.
Tool Integration of Ptolemy II EE290N Class Project Haiyang Zheng May
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley The Ptolemy II Framework for Visual Languages Xiaojun Liu.
Code Generation from CHARON Rajeev Alur, Yerang Hur, Franjo Ivancic, Jesung Kim, Insup Lee, and Oleg Sokolsky University of Pennsylvania.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
5/24/011 Advanced Tool Integration for Embedded Systems Assurance Insup Lee Department of Computer and Information Science University of Pennsylvania.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
- 1 - Embedded Systems—State charts Specifications.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Model-based Analysis and Implementation of Embedded Systems
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
SOFTWARE DESIGN.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
StateCharts Peter Marwedel Informatik 12 Univ. Dortmund Germany.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
System Design Research Lab University of Pennylvania 1/29/2002 CHARON modeling language.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Modular Refinement of Hierarchic Reactive Machines Rajeev Alur Radu Grosu University of Pennsylvania
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
University of Pennsylvania 1 GRASP Cooperative Control and Coordination of Multiple Robots Vijay Kumar GRASP Laboratory University of Pennsylvania
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
DARPA ITO/MARS Program
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
INFS 6225 – Object-Oriented Systems Analysis & Design
Chapter 20 Object-Oriented Analysis and Design
Automatic Derivation, Integration and Verification
Compositional Refinement for Hierarchical Hybrid Systems
CHARON modeling language
Presentation transcript:

Modular Specification of Hybrid Systems in CHARON R. Alur, R. Grosu, Y. Hur, V. Kumar, I. Lee University of Pennsylvania SDRL and GRASP

Software Framework for the Deployment of Multiple Robots 1. High-level modeling language - platform independent –hierarchical and modular –specify modes and constraints –hierarchical and sequential composition of modes –parallel composition of agents

Software Framework for the Deployment of Multiple Robots 2. Tools for design, programming, and analysis –simulation and execution –analysis and optimization –automated generation of code 3. Demonstrate on multiple coordinating robots

Challenges in Coordinating Multiple Robots Large number of modes –Individual modes are well understood, but not their interaction. Software design –modes are designed bottom up. –coordination protocols are traditionally designed top down.

Charon Framework Architecture CHARON Code (High level language) Java Code Charon to Java Translator Control Code Generator Java Libraries Human Interface Analysis Simulator Code Generator Drivers

Charon Language Individual components described as agents –Composition, Instantiation, and Hiding Individual behaviors described as modes –Encapsulation, Instantiation, and Scoping Support for concurrency –Shared variables as well as message passing Support for discrete and continuous behavior Well-defined formal semantics

Robot Team Approaching a Target T

Architectural Hierarchy Robots Monitor pos 1 pos 2 write diff analog position pos 1, pos 2 class position { float x; float y;} Variables Specifiers Range: discrete/analog Computation: diff/alg Access: read/write/local

Architectural Hierarchy Robot 1 Robots Robot 2 pos 1 pos 2 r1Est 1 r1Est 2 r2Est 1 r2Est 2 Robots Monitor pos 1 pos 2

Behavioral Hierarchy pos r2Est 1 r2Est 2 r1Est 1 r1Est 2 Robot 1 dTimer timer = 1. local diff analog timer awTarget dPlan iAway atTarget dStop iAt arrive pos = target moving dSteer aOmega iFreq sensing dStop iConst sense move arrive timer/updateFreq = 0 omega = k * (theta – phi) pos.x = v * cos(phi) pos.y = v * sin(phi)..

Related Work Hybrid automata [ACH+95] Analysis, model checkers HyTech [AHH96, HHW95] No compositional models, no hierarchy I/O automata [LSVW96] and Hybrid Modules [AH97] Compositional models No behavioral hierarchy SHIFT [DGS97] and HyCharts [GSB98] Allow hierarchic specification of hybrid behavior No concern for modular simulation UML [BJR97]and (hybrid) Statecharts [Har87] Hierarchical but not modular Stateflow Hierchic specification but only for dynamic behavior Charon is a modeling language for hybrid systems reflecting the current state of the art both in formal and object oriented methods (UML)

Modular Simulation Goal –Simulation is efficient and accurate –Integration of modes at different time scales –Integration of agents at different time scales Modes are simulated using local information –Submodes are regarded as black-boxes –Submodes are simulated independently of other ones Agents are simulated using local information –Agents are regarded as black-boxes –Agents are simulated independently of other ones

The Simulator time Agents A1 A2 A3 1.Pick up the agents with minimum and second minimum reached time. t 2. Compute the time round interval  for the minimum agent, such that its absolute time may exceed with at most dt the time reached by the second one  t+dt 3. The agent executes a time round. This ends before  if the invariants of the agent were violated. Then, an actual time increment would be .  4. The agent executes an update round to synchronize the discrete variables with the analog ones. 5. The state of the agent get visible to other agents

Time Round of a Mode (Agent) x. y. z. 2. While (time t = 0; t <=  do: 3. Return s and  - Increment t = t+ . 1. Get integration time  and invariants from the supermode (or the scheduler). , xInv - Predict integration step dt based on  and the invariants. dt, - Execute time round of the active submode and get state s and time elapsed . , s z - Simplify all invariants. yInv - Return s and t+  if invariants were violated. t , - Integrate for time  and get new state s. sysy

atTarget arrive sensemove moving sensing awTarget Innermost transitions have higher priority Default transitions are taken if all other transitions are disabled Group transitions start at the default exit points Transitions to history are transitions to the default entry point Update Round of a Mode (Agent)

Hyst Env u Hysteresis Example inc dX 1 dec dX 1 dec inc strMinus dY iStrM aStrM s2u u2p up dY iUp aUp strPlus dY iStrP aStrP x 1 = u. y = 2u x 1 < a x 2 = -1. a a+2-a -(a+2) 1

Global vs Modular Simulation

Modular Simulation Error

Work to date –CHARON semantics –Parser for CHARON –Internal representation Current work –Type checker –Modular simulation scheme –Internal representation generator Current Implementation Status CHARON Parser Simulator Generator Simulator Generator Control Code Generator Control Code Generator Model Checker Syntax Tree Internal Representation Generator Type Checker Type Checker Internal Representation CHARON Specification

Ongoing Research Distributed simulation Accurate event detection And modes and And/Or hierarchies Exploiting the hierarchy in model checking

Wrap-Up Charon is a language for embedded systems reflecting the current state of the art both in formal and object oriented methods (UML) Its explicit support for a mixed visual/textual notation should improve communication among the various communities involved in an embedded system project.