1 / 16

CHARON

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). .

megara
Télécharger la présentation

CHARON

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CHARON SDRL and GRASP University of Pennsylvania Funded by DARPA ITO

  2. 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).

  3. 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

  4. 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

  5. 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

  6. 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

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

  8. 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

  9. 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; }

  10. 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

  11. Charon Toolkit – cont.

  12. 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

  13. 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

  14. 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

  15. 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!

  16. ?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

More Related