160 likes | 351 Views
CHARON. SDRL and GRASP University of Pennsylvania Funded by DARPA ITO. What is Charon?. Charon is a high-level modeling language and a design environment for embedded systems reflecting the current state of the art both in formal and object oriented methods (UML). .
E N D
CHARON SDRL and GRASP University of Pennsylvania Funded by DARPA ITO
What is Charon? Charonis a high-level modeling language and a design environment for embedded systems reflecting the current state of the art both in formal and object oriented methods (UML).
The Hybrid Systems Group at UPenn • Professors: • Rajeev Alur (CIS) • Vijay Kumar (ME) • Insup Lee (CIS) • Max Mintz (CIS) • George Pappas (EE) • Harvey Rubin (Med) • Postdocs: • Eric Aaron • Thao Dang • Rafael Fierro • Hyoung Hong • Supratik Mukhopadhyay • Oleg Sokolsky • Ph.D. students: • Calin Belta • Joel Esposito • Yerang Hur • Franjo Ivančić • Pradyumna Mishra • Usa Sammapun • Others: • Radu Grosu • Salvatore La Torre • Valentina Sokolskaya • Paulo Tabuada
Overview • Charon language • Architectural Hierarchy (Agents) • Behavioral Hierarchy (Modes) • Charon toolkit • Syntax-directed editor • Parser and type checker • Global simulator • Plotter • Simulation in Charon • Conclusions
Language Summary • 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
Architectural Hierarchy in Charon Agent Robot1 Robot2 sensor sensor processor processor actuator actuator Input Port Output Port Each agent can be represented as a parallel composition of sub-agents
Behavioral Hierarchy in Charon Modes main awayTarget atTarget control sensing Entry Port Exit Port • Each agent consists of modes or behaviors • Modes can in turn consist of submodes
main awayTarget atTarget control sensing Modes • Each agent consists of modes or behaviors • A mode describes flow of control inside an agent • Modes contain • Control points (entry points, exit points) • Variables (private, input, output) • Continuous dynamics • Invariants • Transitions • Nested submodes
Continuous Behavior in Charon • Differential Constraints • write Position robot_Pos; • diffdiffStop {d(robot_ Pos.x)=0.0;d(robot_ Pos.y)=0.0;} • Algebraic Equations • write realrobotEST; • algecontEST { robotEST < foo(x) + bar(x); } • Invariant Constraints in Modes • invinvTUCost { lub <= x <= gub; }
Charon Toolkit • A prototype implementation of Charon development environment is available • Contains • syntax-directed editor • parser and type checker • global simulator • plotter(adapted from Ptolemy@Berkeley) • Implemented in Java • Open internal representation allows interfacing with other tools
Charon Specification Visual Specification Charon Parser HyPix Interpreter Type Checker Syntax Tree Internal Representation Generator Internal Representation Simulator Generator Model Checker Control Code Generator Trace Plotter Simulation Files Current Implementation Status • Work to date • GUI • Syntax-directed editor • Charon semantics • Parser and Type-Checker • Internal representation • Global simulation • Plotter • Current work • Graphical input language • Modular simulation • Distributed simulation • Model Checker • Qualitative reasoning
Simulation in Charon • Simulation is the main analysis technique for hybrid systems • Global simulation is currently implemented • Advanced simulation techniques exploit the structure in Charon programs: • behavioral hierarchy is used bymodular simulation for the computation of continuous behavior • architectural hierarchy is used by distributedsimulation to distribute the simulation workload
Simulation in Charon – cont. • In the current approach, a program-specific simulator is generated from the Charon program • Each object of the Charon program is converted into an executable Java object • Together with a program-independent core, these objects implement behavior of the program
Simulator Generation simulation core CHARON program modes and agents generated classes for each mode and agent JVM generate external objects map I/O, mathematical libraries, etc. • Note the similarity to code generation!
?Conclusion?Final Outlook?Links? • Not sure what to say here, other than: • More information about the Hybrid Systems Group at UPenn available at • http://www.seas.upenn.edu/hybrid • More information about Charon and download of current version available at • http://www.cis.upenn.edu/mobies/charon