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

Modular Specification of Hybrid Systems in CHARON

  • Upload
    rhea

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Modular Specification of  Hybrid Systems in CHARON

Modular Specification of Hybrid Systems in

CHARON

R. Alur, R. Grosu, Y. Hur, V. Kumar, I. Lee

University of Pennsylvania SDRL and GRASP

Page 2: Modular Specification of  Hybrid Systems in CHARON

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

Page 3: Modular Specification of  Hybrid Systems in CHARON

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

Page 4: Modular Specification of  Hybrid Systems in CHARON

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.

Page 5: Modular Specification of  Hybrid Systems in CHARON

Charon Framework Architecture CHARON Code

(High level language)

Java Code

Charon to Java TranslatorCharon to Java Translator

Control Code GeneratorControl Code Generator

Java Libraries

Human InterfaceHuman InterfaceAnalysis

Simulator Code GeneratorSimulator Code Generator

Drivers

Page 6: Modular Specification of  Hybrid Systems in CHARON

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

Page 7: Modular Specification of  Hybrid Systems in CHARON

Robot Team Approaching a Target

T

Page 8: Modular Specification of  Hybrid Systems in CHARON

Architectural Hierarchy

Robots

Monitor

pos1 pos2

write diff analog position pos1, pos2

class position { float x; float y;}

Variables Specifiers

Range: discrete/analog

Computation: diff/alg

Access: read/write/local

Page 9: Modular Specification of  Hybrid Systems in CHARON

Architectural Hierarchy

Robot1

Robots

Robot2

pos1 pos2

r1Est1

r1Est2

r2Est1

r2Est2

Robots

Monitor

pos1 pos2

Page 10: Modular Specification of  Hybrid Systems in CHARON

Behavioral Hierarchy

pos

r2Est1

r2Est2

r1Est1

r1Est2

Robot1

dTimer

timer = 1.

local diff analog timer

awTargetdPlaniAway

atTargetdStopiAt

arrive

pos = target

movingdSteeraOmegaiFreq

sensingdStopiConst

sense

move

arrive

timer/updateFreq = 0

omega = k * (theta – phi)

pos.x = v * cos(phi)

pos.y = v * sin(phi)

.

.

Page 11: Modular Specification of  Hybrid Systems in CHARON

Related WorkHybrid 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)

Page 12: Modular Specification of  Hybrid Systems in CHARON

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

Page 13: Modular Specification of  Hybrid Systems in CHARON

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

Page 14: Modular Specification of  Hybrid Systems in CHARON

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 ., sz

- Simplify all invariants. yInv

- Return s and t+ if invariants were violated.

t,

- Integrate for time and get new state s.

sy

Page 15: Modular Specification of  Hybrid Systems in CHARON

atTargetarrive

sense move

moving

sensing

awTarget

• Innermost transitionshave higher priority

• Default transitions aretaken if all other transitions are disabled

• Group transitions startat the default exit points

• Transitions to historyare transitions to thedefault entry point

Update Round of a Mode (Agent)

Page 16: Modular Specification of  Hybrid Systems in CHARON

Hyst

Env

u

Hysteresis Example

incdX1

decdX1

dec

inc

strMinusdY

iStrMaStrM

s2u

u2p

updYiUpaUp

strPlusdY

iStrPaStrP

x1 = u.

y = 2ux1 < ax2 = -1

.

a

a+2-a

-(a+2)-1

1

Page 17: Modular Specification of  Hybrid Systems in CHARON

050001000015000200002500030000350004000045000

0.0005 0.001 0.0015 0.002

Integration Step

# o

f in

teg

rati

on

s

ModularGlobal

Global vs Modular Simulation

Page 18: Modular Specification of  Hybrid Systems in CHARON

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0 0.001 0.002 0.003 0.004 0.005

Sampling Rate

Max

imu

m E

rro

rModular Simulation Error

Page 19: Modular Specification of  Hybrid Systems in CHARON

• Work to date– CHARON semantics– Parser for CHARON– Internal representation

• Current work– Type checker– Modular simulation

scheme– Internal representation

generator

Current Implementation Status

CHARON ParserCHARON Parser

Simulator Generator

Simulator Generator

Control Code Generator

Control Code Generator Model CheckerModel Checker

Syntax Tree

Internal Representation GeneratorInternal Representation Generator

Type Checker

Type Checker

Internal Representation

CHARON Specification

Page 20: Modular Specification of  Hybrid Systems in CHARON

Ongoing Research

• Distributed simulation

• Accurate event detection

• And modes and And/Or hierarchies

• Exploiting the hierarchy in model checking

Page 21: Modular Specification of  Hybrid Systems in CHARON

Wrap-Up

• Charon is a language for embedded systemsreflecting the current state of the art bothin 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.