Hybrid Systems Modeling
Our vision is that hybrid systems modeling tools deserve similar efforts in theory as synchronous languages did for the programming of embedded systems.
Systems industries today make extensive use of mathematical modeling tools to design computer controlled physical systems. This class of tools addresses the modeling of physical systems with models that are simpler than usual scientific computing problems by using only Ordinary Differential Equations (ODE) and Difference Equations but not Partial Differential Equations (PDE). This family of tools first emerged in the 1980’s with SystemBuild by MatrixX (now distributed by National Instruments) followed soon by Simulink by Mathworks, with an impressive subsequent development.
In the early 90’s control scientists from the University of Lund (Sweden) realized that the above approach did not support component based modeling of physical systems with reuse. For instance, it was not easy to draw an electrical or hydraulic circuit by assembling component models of the various devices. The development of the Omola language by Hilding Elmqvist was a first attempt to bridge this gap by supporting some form of Differential Algebraic Equations (DAE) in the models. Modelica quickly emerged from this first attempt and became in the 2000’s a major international concerted effort with the Modelica Association. A wider set of tools, both industrial and academic, now exists in this segment. In the EDA sector, VHDL-AMS was developed as a standard.
Despite these tools are now widely used by a number of engineers, they raise a number of technical difficulties. The meaning of some programs, their mathematical semantics, can be tainted with uncertainty. A main source of difficulty lies in the failure to properly handle the discrete and the continuous parts of systems, and their interaction.
- How the propagation of mode changes and resets should be handled?
- How to avoid artifacts due to the use of a global ODE solver causing unwanted coupling between seemingly non interacting subsystems?
- The mixed use of an equational style for the continuous dynamics with an imperative style for the mode changes and resets is a source of difficulty when handling parallel composition.
It is therefore not uncommon that tools return complex warnings for programs with many different suggested hints for fixing them. Yet, these pathological programs can still be executed, if wanted so, giving surprising results. Indeed this area suffers from the same difficulties that led to the development of the theory of synchronous languages as an effort to fix obscure compilation schemes for discrete time equation based languages in the 1980’s. We plan to address several major problems in hybrid modeling:
- Faithful simulation: What guarantees can we bring regarding a simulation? This includes issues related to the numerical accuracy of the simulation of the continuous dynamics, but also the logical correctness of the simulation wrt. the discrete part of an hybrid model. Although both issues are related and can not be considered in isolation, as computer scientists, we put the emphasis on the later. We will focus on types and code generation schemes that can be proved to be correct, using the non-standard semantics.
- Modularity and separate compilation: Reusable design components are assets in many industries and it is extremely important to be able to build system models out of libraries of component models. Therefore modularity is a key feature of modeling languages and separate compilation is instrumental to handle large models, but also to protect valuable industrial property. Although Modelica has nice modularity principles, separate compilation is severely restricted in implementations of the language. For instance it is assumed in Modelica’s FMI that the I/O orientation of all variables is fixed, and the continuous dynamics is expressed as ODEs. We will investigate the issue of modular compilation in presence of components with algebraic constraints, and where the I/O orientation of some variables is only known at run-time.
- Keeping models close to physics: Supporting modeling styles that keep models closer to physics is particularly important to define reusable hybrid component models. We will investigate modeling methodologies making a systematic use of bilateral (equalities expressing couplings) and unilateral (inequalities expressing boundaries) constraints (like in non-smooth dynamical systems), to capture discontinuities and Dirac impulses in a clean and modular manner, as physicists and engineers would dream to be able to do.
Contract-Based Design, Interfaces Theories, and Requirements Engineering
The challenge is to address the entire process and not to consider only local solutions of methodology, tools, and models that ease part of the design.
System companies such as automotive and aeronautic companies are facing significant difficulties due to the exponentially raising complexity of their products coupled with increasingly tight demands on functionality, correctness, and time-to-market. The cost of being late to market or of imperfections in the products is staggering as witnessed by the recent recalls and delivery delays that many major car and airplane manufacturers had to bear in the recent years. The specific root causes of these design problems are complex and relate to a number of issues ranging from design processes and relationships with different departments of the same company and with suppliers, to incomplete requirement specification and testing. We believe the most promising means to address the challenges in systems engineering is to employ structured and formal design methodologies that seamlessly and coherently combine the various viewpoints of the design space (behavior, space, time, energy, reliability, …), that provide the appropriate abstractions to manage the inherent complexity, and that can provide correct-by-construction implementations. The following technology issues must be addressed when developing new approaches to the design of complex systems:
- The overall design flows for heterogeneous systems and the associated use of models across traditional boundaries are not well developed and understood. Relationships between different teams inside a same company, or between different stake-holders in the supplier chain, are not well supported by solid technical descriptions for the mutual obligations.
- System requirements capture and analysis is in large part a heuristic process, where the informal text and natural language-based techniques in use today are facing significant challenges. Formal requirements engineering is in its infancy: mathematical models, formal analysis techniques and links to system implementation must be developed.
- Dealing with variability, uncertainty, and life-cycle issues, such as extensibility of a product family, are not well-addressed using available systems engineering methodologies and tools.