This report defines the syntax and formal semantics of the Chi 2.0 formalism. The Chi formalism integrates concepts from dynamics and control theory with concepts from computer science, in particular from process algebra and hybrid automata. It combines a high expressivity and ease of modeling with a formal semantics. The Chi language is defined by means of an abstract and a concrete syntax. The purpose of the abstract syntax is to allow a straightforward definition of the structured operational semantics (SOS), which associates a hybrid transition system with a Chi process. The Chi Semantics is compositional, and bisimulation is a congruence for all operators. The concrete syntax offers modeling equivalents for the elements of the abstract syntax, and it introduces new syntax to ensure better readability and easier modeling. The meaning of the concrete syntax is defined by means of a mapping to the abstract syntax.
The Chi language provides among others discrete, continuous, and algebraic variables, and equation process terms for modeling differential algebraic equations (DAEs), including fully implicit or switched DAEs. Steady state initialization can be specified, and higher index DAEs in Chi are equivalent to the corresponding index 1 DAEs, obtained after differentiation of the hidden constraints. The invariant process term in Chi corresponds to invariants in hybrid automata The following operators are provided (among others): the parallel composition, alternative composition (choice), and sequential composition operators; and the recursion scope operator for modeling automata. The parallel composition operator allows shared variables, shared synchronizing and non-synchronizing action labels, and shared CSP channels for synchronous communication.
Two main ways of expressing urgency are provided: First, action labels and channels can be declared as urgent. Delaying is possible only if, and for as long as no urgent actions are enabled. Synchronizing actions are enabled only when the guards of all participating actions in a parallel composition are enabled. Second, urgency can be defined locally by means of the time can progress (tcp) process term, which allows delays for as long as the tcp predicate is true. Scope operators are available for hierarchical modeling. They are used to declare local variables, local action labels, and local channels. Process definition and instantiation provide process re-use and encapsulation. Hybrid automata and networks of hybrid automata can easily be expressed in Chi. Since Chi is a process algebra, its operators can be arbitrarily combined, resulting in a high modeling flexibility.