=Paper=
{{Paper
|id=Vol-503/paper-9
|storemode=property
|title=Towards Model-Based Integration of Tools and Techniques for Embedded Control System Design, Verification, and Implementation
|pdfUrl=https://ceur-ws.org/Vol-503/paper07.pdf
|volume=Vol-503
|authors=Joseph Porter,Gabor Karsai,Peter Volgyesi,Harmon Nine,Peter Humke,Graham Hemingway,Ryan Thibodeaux,and Janos Sztipanovits
}}
==Towards Model-Based Integration of Tools and Techniques for Embedded Control System Design, Verification, and Implementation==
MoDELS'08 ACES-MB Workshop Proceedings
Towards Model-Based Integration of Tools and
Techniques for Embedded Control System
Design, Verification, and Implementation
Joseph Porter, Gábor Karsai, Péter Völgyesi, Harmon Nine, Peter Humke,
Graham Hemingway, Ryan Thibodeaux, and János Sztipanovits
Institute for Software Integrated Systems,
Vanderbilt University,
Nashville TN 37203, USA,
jporter@isis.vanderbilt.edu,
WWW home page: http://www.isis.vanderbilt.edu
Abstract. While design automation for hardware systems is quite ad-
vanced, this is not the case for practical embedded systems. The cur-
rent state-of-the-art is to use a software modeling environment and inte-
grated development environment for code development and debugging,
but these rarely include the sort of automatic synthesis and verification
capabilities available in the VLSI domain. We present a model-based
integration environment which uses a graphical architecture description
language (EsMoL) to pull together control design, code and configura-
tion generation, platform-specific resimulation, and a number of other
features useful for taming the heterogeneity inherent in safety-critical
embedded control system designs. We describe concepts, elements, and
development status for this suite of tools.
1 Introduction
Embedded software often operates in environments critical to human life and
subject to our direct expectations. We assume that a handheld MP3 player will
perform reliably, or that the unseen aircraft control system aboard our flight
will function safely and correctly. Safety-critical embedded environments require
far more care than provided by the current best practices in software develop-
ment. Embedded systems design challenges are well-documented [1], but indus-
trial practice still falls short of these expectations for many kinds of embedded
systems.
In modern designs, graphical modeling and simulation tools (e.g. Mathworks’
Simulink/Stateflow) represent physical systems and engineering designs using
block diagram notations. Design work revolves around simulation and test cases,
with code generated from ”‘complete”’ designs. Control designs often ignore
software design constraints and issues arising from embedded platform choices.
At early stages of the design, platforms may be vaguely specified to engineers as
sets of tradeoffs.
Toulouse, France, September 29, 2008 99
MoDELS'08 ACES-MB Workshop Proceedings
2
Software development uses UML (or similar) tools to capture concepts such
as components, interactions, timing, fault handling, and deployment. Workflows
focus on source code organization and management, followed by testing and
debugging on target hardware. Physical and environmental constraints are not
represented by the tools. At best such constraints may be provided as documen-
tation to developers.
Complete systems rely on both aspects of a design. Designers lack tools to
model the interactions between the hardware, software, and the environment.
For example, software generated from a carefully simulated functional dataflow
model may fail to perform correctly when its functions are distributed over a
shared network of processing nodes. Cost considerations may force the selection
of platform hardware that limits timing accuracy. Neither aspect of develop-
ment supports comprehensive validation of certification requirements to meet
government safety standards.
We propose a suite of tools that aim to address many of these challenges.
Currently under development at Vanderbilt’s Institute for Software Integrated
Systems (ISIS), these tools use the Embedded Systems Modeling Language (ES-
MoL), which is a suite of domain-specific modeling languages (DSML) to in-
tegrate the disparate aspects of a safety-critical embedded systems design and
maintain proper separation of concerns between engineering and software de-
velopment teams. Many of the concepts and features presented here also exist
separately in other tools. We describe a model-based approach to building a
unified model-based design and integration tool suite which has the potential to
go far beyond the state of the art.
In the sequel we will provide an overview of the tool vision, and then describe
the features of these tools from the point of view of available functionality. Note
that two different development processes will be discussed – the development of
a distributed control system implementation (by an imagined user of the tools),
and our development of the tool suite itself. The initial vision section illustrates
how the tools would be used to model and develop a control system. The final
sections describe different parts of our tool-development process in decreasing
order of maturity. We strive for clarity, with an apology to the diligent reader
where the distinction is unclear.
2 Toolchain Vision and Overview
In this work, we envision a sophisticated, end-to-end toolchain that supports not
only construction but also the verification of the engineering artifacts (including
software) for high-confidence applications. The development flow provided by
the toolchain shall follow a variation of the classical V-model (with software and
hardware development on the two branches), with some refinements added at
the various stages. Fig. 1 illustrates this development flow.
Consider the general class of control system designs for use in a flight control
system. Sensors, actuators, and data networks are designed redundantly to miti-
gate faults. The underlying hardware implements a variant of the time-triggered
Toulouse, France, September 29, 2008 100
MoDELS'08 ACES-MB Workshop Proceedings
3
Fig. 1. Conceptual model of the toolchain: Development flow
architecture (TTA) [2], which provides precise timing and reliability guaran-
tees. Safety-critical tasks and messages execute according to strict precomputed
schedules to ensure synchronization between replicated components and provide
fault mitigation and management. Software implementations of the control func-
tions must pass strict certification requirements which impose constraints on the
software as well as on the development process.
A modeling language to support this development flow must have several
desired properties: (1) the ability to capture the relevant aspects of the system
architecture and hardware, (2) ability to “understand” (and import) functional
models from existing design tools, (3) support for componentization of functional
models, and (4) ability to model the deployment of the software architecture onto
the hardware architecture. The ability to import existing models from functional
modeling tools is not a deeply justified requirement, it is merely pragmatic.
EsMoL provides modeling concepts and capabilities that are highly compatible
with AADL [3]. The chief differences are that EsMoL aims for a simpler graphical
entry language, a wider range of execution semantics, and most important model-
enabled integration to external tools as described below. Model exchange with
AADL tools may be desirable in the future. A simple sample design will introduce
key points of our model-based development flow and illustrate language concepts.
Our language design was influenced by two factors: (1) the MoC implemented
by the platform and (2) the need for integration with legacy modeling and embed-
ded systems tools. We have chosen Simulink/Stateflow as the supported “legacy”
tool. As our chosen MoC relies on periodically scheduled time-triggered compo-
nents, it was natural to use this concept as the basis for our modeling language
and interpret the imported Simulink blocks as the implementation of these com-
ponents. To clarify the use of this functionality, we import a Simulink design and
select functional subsets which execute in discrete time, and then assign them
to software components using a modeling language that has compatible (time-
Toulouse, France, September 29, 2008 101
MoDELS'08 ACES-MB Workshop Proceedings
4
triggered) semantics. Communication links (signals) between Simulink blocks
are mapped onto TTA messages passed between the tasks. The resulting lan-
guage provides a componentized view of Simulink models that are scheduled
periodically (with a fixed rate) and communicate using time-triggered messages.
Extensions to heterogeneous MoC-s is an active area of research.
2.1 Requirements Analysis (RA)
Our example will model a data network implementing a single sensor/actuator
loop with a distributed implementation. The sensors and actuators in the ex-
ample are doubly-redundant, while the data network is triply-redundant. Unlike
true safety-critical designs, we will deploy the same functions on all replicas
rather than requiring multiple versions as is often done in practice [4]. The sen-
sors and actuators close a single physical feedback loop. Specifying the physical
system and particulars of the control functions are beyond the scope of this
example as our focus is on modeling.
This example has an informal set of requirements, though our modeling lan-
guage currently supports the formalization of timing constraints between sen-
sor and actuator tasks. Formal requirements modeling offers great promise, but
in ESMoL requirements modeling is still in conceptual stages. A simple sen-
sor/actuator latency modeling example appears in a later section covering pre-
liminary features for the language.
2.2 Functional Design (FD)
Fig. 2. Simulink design of a basic signal conditioner and controller.
Functional designs can appear in the form of Simulink/Stateflow models or as
existing C code snippets. ESMoL does not support the full semantics of Simulink.
In ESMoL the execution of Simulink data flow blocks is restricted to periodic
discrete time, consistent with the underlying time-triggered platform. This also
restricts the type and configuration of blocks that may be used in a design.
Toulouse, France, September 29, 2008 102
MoDELS'08 ACES-MB Workshop Proceedings
5
Continuous integrator blocks and sample time settings do not have meaning in
ESMoL. C code snippets are captured in ESMoL as well. C code definitions
are limited to synchronous, bounded-time function calls which will execute in a
periodic task.
Fig. 3. ESMoL-imported functional models of the Simulink design.
Fig. 2 shows a simple top-level Simulink design for our feedback loop along
with the imported ESMoL model (Fig. 3). The ESMoL model is a structural
replica of the original Simulink, only endowed with a richer software design
environment and tool-provided APIs for navigating and manipulating the model
structure in code. A model import utility provides the illustrated function.
2.3 Software Architecture (SwA)
Fig. 4. The architecture diagram defines logical interconnections, and gives finer con-
trol over instantiation of functional units.
The software architecture model describes the logical interconnection of func-
tional blocks. In the architecture language a component may be implemented by
Toulouse, France, September 29, 2008 103
MoDELS'08 ACES-MB Workshop Proceedings
6
either a Simulink Subsystem or a C function. They are compatible at this level,
because here their model elements represent the code that will finally imple-
ment the functions. These units are modeled as blocks with ports, where the
ports represent parameters passed into and out of C function calls. The seman-
tics for architecture model connections is that of sending and receiving messages
using time-triggered communication.
Fig. 4 shows the architecture diagram for our TMR model. Instances of the
functional blocks from the Simulink model are augmented with C code imple-
menting replicated data voting.
2.4 Hardware Architecture (HwA)
Fig. 5. Overall hardware layout for the TMR example.
Hardware configurations are explicitly modeled in the platform language.
Platforms are defined hierarchically as hardware units with ports for intercon-
nections. Primitive components include processing nodes and communication
buses. Behavioral semantics for these networks come from the underlying time-
triggered architecture. The platform provides services such as deterministic exe-
cution of replicated components and timed message-passing. Model attributes for
hardware also capture timing resolution, overhead parameters for data transfers,
and task context switching times.
Figs. 5 and 6 show model details for redundant hardware elements. Each
controller unit is a private network with two nodes and three independent data
buses. Sensor voting and flight control function instances will be deployed to the
controller unit networks.
Toulouse, France, September 29, 2008 104
MoDELS'08 ACES-MB Workshop Proceedings
7
Fig. 6. Detail of hardware model for controller units.
2.5 Deployment Models (CD, SY, DPL)
Fig. 7. Deployment model: task assignment to nodes and details of task definition.
A common graphical language captures the grouping of architecture com-
ponents into tasks. In ESMoL a task executes on a single processing node at
a single periodic rate. All components within the task execute synchronously.
Data sent between tasks takes the form of messages in the model. Whether de-
livered locally (same processing node) or remotely, all inter-task messages are
scheduled for delivery. ESMoL uses logical execution time semantics found in
time-triggered languages such as Giotto [5] – message delivery is scheduled after
the deadline of the sending task, but before the release of the receiving tasks.
In the TT model of computation receivers assume that their data is available at
task release time. Tasks never block, but execute with whatever data is available
each period.
Deployment concepts, tasks running on processing nodes and messages sent
over data buses, are modeled as shown in Fig. 7. Most of the model elements
shown here are actually references to elements defined in the architecture and
Toulouse, France, September 29, 2008 105
MoDELS'08 ACES-MB Workshop Proceedings
8
platform models. Model interpreters generate platform-specific code and analysis
artifacts directly from the deployment models.
3 Existing Tools: Simulink to TTA
Control designs in Simulink are integrated using a graphical modeling language
describing software architecture. Components within the architecture are as-
signed to tasks, which run on nodes in the platform.
3.1 Integration Details
Fig. 8. Platforms. This metamodel describes a simple language for modeling the topol-
ogy of a time-triggered processing network. A sample platform model is included.
The Simulink and Stateflow sublanguages of our modeling environment are
described elsewhere, though the ESMoL language changes many of the other
design concepts from older languages described by Neema [6].
In our toolchain we created a number of code generators. In the construction
of the two main platform-independent code generators (one for Simulink-style
models and another one for Stateflow-style models), we have used a higher-level
approach based on graph transformations [7]. This approach relies on an as-
sumption that (1) models are typed and attributed graphs with specific structure
(governed by the metamodel of the language) and (2) executable code can be
produced as an abstract syntax graph (which is then printed directly into source
code). This graph transformation-based approach allows a higher-level represen-
tation of the translation process, which lends itself to algorithmic analysis of the
transformations.
Toulouse, France, September 29, 2008 106
MoDELS'08 ACES-MB Workshop Proceedings
9
Fig. 9. Architecture Metamodel. Architecture models use Simulink subsystems or C
code functions as components, adding attributes for real-time execution. The Input
and Output port classes are typed according to the implementation class to which
they belong.
The models in the example, and the metamodels described in the sequel were
created using the ISIS Generic Modeling Environment tool (GME) [8]. GME
allows language designers to create stereotyped UML-style class diagrams defin-
ing metamodels. The metamodels are instantiated into a graphical language,
and metamodel class stereotypes and attributes determine how the elements are
presented and used by modelers. The GME metamodeling syntax may not be
entirely familiar to the reader, but it is well-documented elsewhere [9]. Class
concepts such as inheritance can be read analogously to UML. Class aggrega-
tion represents containment in the modeling environment, though an aggregate
element can be flagged as a port object. In the modeling environment a port
object will also be visible at the next higher level in the model hierarchy, and
available for connections. The dot between the Connectable class and the Wire
class represents a line-style connector in the modeling environment.
High-confidence systems require platforms that provide services and guaran-
tees for needed properties, e.g. fault containment, temporal firewalls, etc. These
critical services (like partitioning) should be provided by the platform and not
re-implemented from scratch by system developers [10]. Note that the platform
also defines a ’Model of Computation’ [11]. An MoC governs how the concur-
rent objects of an application interact (i.e. synchronization and communica-
tion), and how these activities unfold in time. The simple platform definition
language shown in Fig. 8 contains relationships and attributes for describing a
time-triggered network.
Similarly, Fig. 9 describes the software architecture language. The Connector
element models communication between components. Semantic details of com-
munication interactions remain abstract in this logical architecture – the plat-
form model must be specified and associated in order to completely specify the
interactions (though in this version we only offer synchronous and time-triggered
communications).
Deployment models capture the assignment of Components (and Ports) from
the Architecture to Platform Nodes (and Channels). Additional implementation
Toulouse, France, September 29, 2008 107
MoDELS'08 ACES-MB Workshop Proceedings
10
Fig. 10. Details from deployment sublanguage.
details (e.g. worst-case execution time) are represented here for platform-specific
synthesis. Fig. 10 shows the relevant modeling concepts. Simulink objects SLIn-
putPort and SLOutputPort are assigned to Message objects, which represent the
marshaling of data to be sent on a Bus.
4 Under Development: Platform-specific simulation,
generic hardware, and scheduling
A control system designer initially uses simulation to check correctness of the
design. Software engineers later take code implementing control functions and
deploy it to distributed controllers. Concurrent execution and platform limita-
tions may introduce new behaviors which degrade controller performance and
introduce errors. Ideally, the tools could allow the control functions to be re-
simulated with appropriate platform effects.
The TrueTime simulation environment [12] provides Simulink blocks mod-
eling processing nodes and communication links. Tasks can execute existing C
code or invoke subsystems in Simulink models. Task execution follows config-
ured real-time scheduling models, with communication over a selected medium
and protocol. TrueTime models use a Matlab script to associate platform ele-
ments with function implementations. A platform-specific re-simulation requires
this Matlab mapping function, and in our case also a periodic schedule for dis-
tributed time-triggered execution. Both of these can be obtained by synthesis
from ESMoL models.
After resimulation follows synthesis to a time-triggered platform. In order to
use generic computing hardware with this modeling environment, we created a
simple, portable time-triggered virtual machine to simulate the timed behavior
of a TT cluster [13] on generic processing hardware. Since the commercial TT
cluster and the open TT virtual machine both implement the same model of
computation, synthesis differences amount to management of structural details
Toulouse, France, September 29, 2008 108
MoDELS'08 ACES-MB Workshop Proceedings
11
in the models. The open VM platform is limited to the timing precision of the
underlying processor, operating system, and network, but it is useful for testing.
For both steps above the missing link is schedule generation. In commercial
TTP platforms, associated software tools perform cluster analysis and sched-
ule generation. For resimulation and deployment to an open platform, an open
schedule generation tool is required. To this end we created a simple schedule
generator using the Gecode constraint programming library [14]. The scheduling
approach implements and extends the work of Schild and Würtz [15]. Configu-
ration for the schedule generator is also generated by the modeling tools.
4.1 Integration Details
To configure TrueTime or the scheduler, the important details lie in the deploy-
ment model. Tasks and Messages must be associated with the proper processing
nodes and bus channels in the model. The ISIS UDM libraries [16] provide a
portable C++ API for creating interpreters to navigate models and extract the
relevant information. See Fig. 10 for the relevant associations. Model naviga-
tion in these intepreters must maintain the relationships between processors and
tasks and between buses and messages. Scheduler configuration also requires
extraction of all message sender and receiver dependencies in the model.
5 Designs in Progress: Requirements and model updates
Many types of requirements apply to real-time embedded control systems design.
Embedded systems are heterogeneous, so requirements can include constraints
on control performance, computational resources, mechanical design, and relia-
bility, to name a few things. Formal safety standards (e.g. DO-178B [4]) impose
constraints on the designs as well as on the development process itself. Accord-
ingly, current research has produced many techniques for formalizing require-
ments (e.g. ground models in abstract state machines [17] or Z notation [18]).
Models could be used to incorporate formal requirements into other aspects of
the design process. During analysis, requirements may appear as constraints in
synthesized optimization problems or conditions for model checking. Require-
ments can also be used for test generation and assessment of results.
Management of model updates is also essential. As designs evolve engineers
and developers reassess and make modifications. Changes to either the plat-
form model or functional aspects of the design may invalidate architecture and
deployment models created earlier. Some portions of the dependent models will
survive changes. Other parts needing changes must be identified. Where possible,
updates should be automated.
5.1 Integration Details
The requirements sublanguage is in design, and so is light on details. Fig. 13
shows an example model with latency requirements between tasks, and Fig. 11
Toulouse, France, September 29, 2008 109
MoDELS'08 ACES-MB Workshop Proceedings
12
Fig. 11. Latencies are timing constraints
between task execution times. Fig. 12. Simulink’s UserData field can help
manage model changes occuring outside
the design environment.
shows the modeling language definition. This simple relationship can be quan-
tified and passed directly to the schedule solver as a constraint. Ideally a more
sophisticated requirements language could capture the syntax and semantics of
an existing formal requirements tool. Some candidate languages and approaches
are currently under consideration for inclusion in the framework.
To track model changes we propose to use the Simulink UserData field to
store unique tags when the models are imported. During an update operation
tags in the control design can be compared with previously imported tags in the
model environment. Fig. 12 shows the UserData attribute from our Simulink
sublanguage, corresponding to the actual attribute in Simulink blocks. To handle
issues arising from topology concerns, we require control designers to group
top-level functionality into subsystems and place a few restrictions on model
hierarchy in deployment models.
6 Wishlist: Expanded semantics, implementation
generation, and verification
Many exciting possibilities loom on the horizon for this tool chain construction
effort. We briefly describe some forward-looking concepts currently in discussion
for the tools.
The current modeling languages describe systems which provide performance
and reliability guarantees by implementing a time-triggered model of computa-
tion. This is not adequate for many physical processes and controller platforms.
We also need provisions for event-triggered communication and components.
Event-triggered component structures give rise to interesting and useful com-
munication patterns common in practical systems (e.g. publish-subscribe, ren-
Toulouse, France, September 29, 2008 110
MoDELS'08 ACES-MB Workshop Proceedings
13
Fig. 13. Example of task latency spec for sample model, with detail of timing attribute
value specified on model links.
dezvous, and broadcast). Several research projects have explored heterogeneous
timed models of computation. Two notable examples are the Ptolemy project [19]
and the DEVs formalism and associated implementations [20]. More general sim-
ulation and model-checking tools for timed systems and specifications include
UPPAAL [21] and timed abstract state machines [22]. We aim to identify useful
design idioms from event-triggered models and extend the semantics of the mod-
eling language to incorporate them. Synthesis to analysis tools is also possible
using model APIs.
Safe automation of controller implementation techniques is another focus.
Control designs are often created and simulated in continuous time and arbitrary
numerical precision, and then discretized in time for platforms with periodic sam-
pling and in value for platforms with limited numeric precision. Recent work in
optimization and control offers some techniques for building optimization prob-
lems which describe valid controller implementation possibilities [23] [24]. Early
model interpreter work aims to generate such optimization problems directly
from the models. Other interesting problems include automated generation of
fixed-point scaling for data flow designs. If integrated, tools like BIP [25] provide
potential for automated verification of distributed computing properties (safety,
liveness, etc...). Model representation of data flow functions, platform precision,
and safety requirements could be used together for scaling calculation.
The addition of proper formal requirements modeling can enable synthesis
of conditions for model checking and other verification tools. Executable seman-
tics for these modeling languages can also provide the behavioral models to be
checked (see Chen [26] [27], Gargantini [28], and Ouimet [29]). Other relevant
work includes integration of code-level checking, as in the Java Pathfinder [30]
Toulouse, France, September 29, 2008 111
MoDELS'08 ACES-MB Workshop Proceedings
14
or Saturn [31] tools. Synthesis to these models must also be verified, an active
area of research at ISIS [32].
7 Acknowledgements
This work is sponsored in part by the National Science Foundation (grant
NSF-CCF-0820088) and by the Air Force Office of Scientific Research, USAF
(grant/contract number FA9550-06-0312). The views and conclusions contained
herein are those of the authors and should not be interpreted as necessarily rep-
resenting the official policies or endorsements, either expressed or implied, of the
Air Force Office of Scientific Research or the U.S. Government.
References
1. Henzinger, T., Sifakis, J.: The embedded systems design challenge. In: FM: Formal
Methods. Lecture Notes in Computer Science 4085. Springer (2006) 1–15
2. Kopetz, H., Bauer, G.: The time-triggered architecture. Proceedings of the IEEE,
Special Issue on Modeling and Design of Embedded Software (Oct 2001)
3. AS-2 Embedded Computing Systems Committee: Architecture analysis and de-
sign language (aadl). Technical Report AS5506, Society of Automotive Engineers
(November 2004)
4. RTCA, Inc. 1828 L St. NW, Ste. 805, Washington, D.C. 20036: DO-178B: Soft-
ware Considerations in Airborne Systems and Equipment Certification. (December
1992) Prepared by: RTCA SC-167.
5. Henzinger, T.A., Horowitz, B., Kirsch, C.M.: Giotto: A time-triggered language for
embedded programming. Lecture Notes in Computer Science 2211 (2001) 166–184
6. Neema, S., Karsai, G.: Embedded control systems language for distributed process-
ing (ECSL-DP). Technical Report ISIS-04-505, Institute for Software Integrated
Systems, Vanderbilt University (2004)
7. Aditya Agrawal and Gabor Karsai and Sandeep Neema and Feng Shi and Attila
Vizhanyo: The design of a language for model transformations. Journal on Software
and System Modeling 5(3) (Sep 2006) 261–288
8. ISIS, V.U.: Generic Modeling Environment. http://repo.isis.vanderbilt.edu/
9. Karsai, G., Sztipanovits, J., Ledeczi, A., Bapty, T.: Model-integrated development
of embedded software. Proceedings of the IEEE 91(1) (Jan. 2003)
10. Sangiovanni-Vincentelli, A.: Defining Platform-based Design. EEDesign of EE-
Times (February 2002)
11. Lee, E.A., Sangiovanni-Vincentelli, A.L.: A denotational framework for comparing
models of computation. Technical Report UCB/ERL M97/11, EECS Department,
University of California, Berkeley (1997)
12. Ohlin, M., Henriksson, D., Cervin, A.: TrueTime 1.5 Reference Man-
ual. Dept. of Automatic Control, Lund University, Sweden. (January 2007)
http://www.control.lth.se/truetime/.
13. Thibodeaux, R.: The specification and implementation of a model of computation.
Master’s thesis, Vanderbilt University (May 2008)
14. Schulte, C., Lagerkvist, M., Tack, G.: Gecode: Generic Constraint Development
Environment. http://www.gecode.org/
Toulouse, France, September 29, 2008 112
MoDELS'08 ACES-MB Workshop Proceedings
15
15. Schild, K., Würtz, J.: Scheduling of time-triggered real-time systems. Constraints
5(4) (Oct. 2000) 335–357
16. Magyari, E., Bakay, A., Lang, A., et al: Udm: An infrastructure for implementing
domain-specific modeling languages. In: The 3rd OOPSLA Workshop on Domain-
Specific Modeling. (October 2003)
17. Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System
Design and Analysis. Springer-Verlag (2003)
18. ISO/IEC: Information Technology Z Formal Specification Notation Syntax, Type
System and Semantics. (July 2002) 13568:2002.
19. UCB: Ptolemy II. http://ptolemy.berkeley.edu/ptolemyII/
20. Hwang, M.H.: DEVS++: C++ Open Source Library of DEVS Formalism,
http://odevspp.sourceforge.net/. first edn. (May 2007)
21. Basic Research in Computer Science (Aalborg Univ.) / Dept. of Information Tech-
nology (Uppsala Univ.): Uppaal. http://www.uppaal.com/ Integrated tool envi-
ronment for modeling, validation and verification of real-time systems.
22. Ouimet, M., Lundqvist, K.: The timed abstract state machine language: An ex-
ecutable specification language for reactive real-time systems. In: Proceedings of
the 15th International Conference on Real-Time and Network Systems (RTNS ’07),
Nancy, France (March 2007)
23. Skaf, J., Boyd, S.: Controller coefficient truncation using lyapunov performance
certificate. IEEE Transactions on Automatic Control (in review) (December 2006)
24. Bhave, A., Krogh, B.H.: Performance bounds on state-feedback controllers with
network delay. In: IEEE Conference on Decision and Control, 2008 (submitted).
(December 2008)
25. Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in
BIP. In: SEFM ’06: Proceedings of the Fourth IEEE International Conference on
Software Engineering and Formal Methods, Washington, DC, USA, IEEE Com-
puter Society (2006) 3–12
26. Chen, K., Sztipanovits, J., Abdelwahed, S.: A semantic unit for timed automata
based modeling languages. In: Proceedings of RTAS’06. (2006) 347–360
27. Chen, K., Sztipanovits, J., Abdelwahed, S., Jackson, E.: Semantic anchoring with
model transformations. In: Proceedings of European Conference on Model Driven
Architecture-Foundations and Applications (ECMDA-FA). Volume 3748 of Lecture
Notes in Computer Science., Nuremberg, Germany, Springer-Verlag (November
2005) 115–129
28. Gargantini, A., Riccobene, E., Rinzivillo, S.: Using spin to generate tests from asm
specifications. In: Abstract State Machines 2003: Advances in Theory and Practice,
10th International Workshop. Volume 2589 of Lecture Notes in Computer Science.,
Springer (March 2003) 263–277
29. Ouimet, M., Lundqvist, K.: Automated verification of completeness and consis-
tency of abstract state machine specifications using a sat solver. In: 3rd Inter-
national Workshop on Model-Based Testing (MBT ’07), Satellite of ETAPS ’07,
Braga, Portugal (April 2007)
30. Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs.
Automated Software Engineering Journal 10(2) (April 2003)
31. Xie, Y., Aiken, A.: Saturn: A sat-based tool for bug detection. In: Proceedings
of the 17th International Conference on Computer Aided Verification. (January
2005) 139–143
32. A. Narayanan and G. Karsai: Towards verifying model transformations. In R.
Bruni and D. Varr, ed.: 5th International Workshop on Graph Transformation and
Visual Modeling Techniques, 2006, Vienna, Austria. (Apr 2006) 185–194
Toulouse, France, September 29, 2008 113