Charon is a language for modular specification of interacting hybrid systems and can be also used for defining robot control strategies. The building blocks of the system are agents and modes.
An agent can communicate with its environment via shared variables and also communication channels. The language supports the operations of composition of agents for concurrency, hiding of variables for information encapsulation, and instantiation of agents for reuse. Therefore complex agents can be built from other agents to define hierarchical architectures.
Each atomic agent has a mode which represents a flow of control. Modes can contain sub-modes and transitions between them so it is possible to connect modes to others with well-defined entry and exit points. There are some specific entry and exit points. The former is used for supporting history retention, default entry transitions are allowed to restore the local state from the most recent exit. A default exit point can be used for group transitions which apply to the all sub-modes to support exceptions.
Transitions can be labeled by guarded actions to allow discrete updates. In a discrete round only an atomic agent will be executed and the execution will continue as long as there are enabled transitions. Since a mode can contain sub-modes group transitions are examined only when there are no enabled transitions in the sub-modes.
No comments:
Post a Comment