Title: Modular Specification of Hybrid Systems in CHARON
1Modular Specification of Hybrid Systems in
CHARON
R. Alur, R. Grosu, Y. Hur, V. Kumar, I.
Lee University of Pennsylvania SDRL and GRASP
2Software 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
3Software 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
4Challenges 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.
5Charon Framework Architecture
CHARON Code (High level language)
Charon to Java Translator
Java Libraries
Drivers
Java Code
Simulator Code Generator
Control Code Generator
Analysis
Human Interface
6Charon 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
7Robot Team Approaching a Target
T
8Architectural Hierarchy
Variables Specifiers Range discrete/analog Compu
tation diff/alg Access read/write/local
9Architectural Hierarchy
10Behavioral Hierarchy
11Related Work
- Hybrid automata ACH95
- 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 BJR97and (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)
12Modular 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
13The Simulator
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
14Time Round of a Mode (Agent)
2. While (time t 0 t lt d) do
- Increment t te.
3. Return s and d
15Update Round of a Mode (Agent)
- 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
16Hysteresis Example
inc dX1
dec
inc
dec dX1
17Global vs Modular Simulation
18Modular Simulation Error
19Current Implementation Status
CHARON Specification
- Work to date
- CHARON semantics
- Parser for CHARON
- Internal representation
- Current work
- Type checker
- Modular simulation scheme
- Internal representation generator
CHARON Parser
Type Checker
Syntax Tree
Internal Representation Generator
Internal Representation
Simulator Generator
Control Code Generator
Model Checker
20Ongoing Research
- Distributed simulation
- Accurate event detection
- And modes and And/Or hierarchies
- Exploiting the hierarchy in model checking
21Wrap-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.