Languages and Tools for Hybrid Systems Design
Foundations and Trends® in Electronic Design Automation
Volume 1 Issue 1/2
DOI: 10.1561/1000000001
Languages and Tools for Hybrid Systems Design
Luca P. Carloni
Department of Computer Science, Columbia University, 1214 Amsterdam Avenue, Mail Code 0401, New York, NY 10027, USA, luca@cs.columbia.edu
Roberto Passerone
Cadence Berkeley Laboratories, 1995 University Ave Suite 460, Berkeley, CA 94704, USA, robp@cadence.com
Alessandro Pinto
Department of EECS, University of California at Berkeley, Berkeley, CA 94720, USA, pinto@eecs.berkeley.edu
Alberto L. Sangiovanni-Vincentelli
Department of EECS, University of California at Berkeley, Berkeley, CA 94720, USA, alberto@eecs.berkeley.edu
Abstract
The explosive growth of embedded electronics is bringing information and control systems of increasing complexity to every
aspects of our lives. The most challenging designs are safety-critical systems, such as transportation systems (e.g., airplanes,
cars, and trains), industrial plants and health care monitoring. The difficulties reside in accommodating constraints both
on functionality and implementation. The correct behavior must be guaranteed under diverse states of the environment and potential
failures; implementation has to meet cost, size, and power consumption requirements. The design is therefore subject to extensive
mathematical analysis and simulation. However, traditional models of information systems do not interface well to the continuous
evolving nature of the environment in which these devices operate. Thus, in practice, different mathematical representations
have to be mixed to analyze the overall behavior of the system. Hybrid systems are a particular class of mixed models that focus on the combination of discrete and continuous subsystems. There is a wealth
of tools and languages that have been proposed over the years to handle hybrid systems. However, each tool makes different
assumptions on the environment, resulting in somewhat different notions of hybrid system. This makes it difficult to share
information among tools. Thus, the community cannot maximally leverage the substantial amount of work that has been directed
to this important topic. In this paper, we review and compare hybrid system tools by highlighting their differences in terms
of their underlying semantics, expressive power and mathematical mechanisms. We conclude our review with a comparative summary,
which suggests the need for a unifying approach to hybrid systems design. As a step in this direction, we make the case for
a semantic-aware interchange format, which would enable the use of joint techniques, make a formal comparison between different approaches possible, and facilitate
exporting and importing design representations.