Towards a Platform for Widespread Embedded Intelligence - ERCIM
Towards a Platform for Widespread Embedded Intelligence - ERCIM
Towards a Platform for Widespread Embedded Intelligence - ERCIM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
New Tool to Design the Behaviour<br />
of <strong>Embedded</strong> Systems<br />
by Jan Friso Groote<br />
Can a car drive faster than the speed limit the cruise control indicates? Are<br />
computerised protocols between planes and air traffic control safe?<br />
Communication between software components in cars, planes and other intelligent<br />
embedded systems is often very complex and prone to errors. The Design and<br />
Analysis of Systems group at Eindhoven University of Technology is releasing<br />
a new toolset, mCRL2, to improve the quality of embedded system design.<br />
An embedded system can roughly be<br />
described as some piece of equipment<br />
with one or more computer processors in<br />
it. The processor allows this equipment<br />
to behave with an amazing level of intelligence.<br />
Copiers order their own paper<br />
and cars actively avoid accidents. The<br />
end of this is not in sight. The behaviour<br />
of such systems will become far more<br />
advanced than it is today.<br />
The downside of this is that the<br />
behaviour of systems becomes so complex<br />
that we cannot easily understand it<br />
anymore. As a consequence, most features<br />
of contemporary equipment remain<br />
unused. But it is even worse. Because the<br />
system components are exhibiting more<br />
and more complex behaviour, they do<br />
not always understand each other. The<br />
consequence is that intelligent systems<br />
often behave erraticly. For modern TV<br />
sets a 'misunderstanding' between the<br />
components occurs every minute in each<br />
television. Much ef<strong>for</strong>t goes into<br />
building internal firewalls to restrain<br />
these flaws so they are not noticed by<br />
those watching TV.<br />
Now that the behaviour of systems is<br />
becoming so complex, it has become an<br />
important research topic. Just as in other<br />
engineering disciplines, complexity is<br />
tackled by making models. These<br />
behavioural models describe the potential<br />
behaviour of the system, ie which<br />
interactions can take place when.<br />
Typical examples are sending messages,<br />
pressing buttons, activating actuators<br />
and reading sensors. Questions that must<br />
be answered are: are all messages properly<br />
processed; can a car ever be<br />
instructed to drive faster than the speed<br />
limit of the cruise control; does a copier<br />
always order paper in time or is it pos-<br />
sible that it orders twice the amount<br />
needed due to message duplication?<br />
The major challenge to answering such<br />
questions is the 'state space explosion'.<br />
Even relatively simple behavioural<br />
State spaces, visualized by the mCRL2 toolset.<br />
models give rise to millions of states. In<br />
order to show that a system behaves correctly,<br />
all these states must be investigated.<br />
It goes without saying that analysis<br />
tools are essential here. It is impossible<br />
to carry out the analysis of an<br />
industrial behavioural model by hand,<br />
but manual manipulation and human<br />
insight is also essential to reduce it to a<br />
manageable size.<br />
SPECIAL THEME: <strong>Embedded</strong> <strong>Intelligence</strong><br />
At Eindhoven University of Technology,<br />
in close cooperation with CWI in<br />
Amsterdam, we are developing a mathematical<br />
methodology accompanied with<br />
tools to model and analyse the (discrete)<br />
behaviour of embedded systems. The<br />
method is called mCRL2, where CRL<br />
stands <strong>for</strong> Common Representation<br />
Language. The methodology is based on<br />
process algebra, extended with data<br />
types. The method has been applied to<br />
almost all major embedded system<br />
industries within the Netherlands.<br />
Furthermore, it is being taught at several<br />
universities.<br />
The major idea underlying the methodology<br />
is to trans<strong>for</strong>m each model to a<br />
normal <strong>for</strong>m, a so called linear process.<br />
Due to its simple structure, a linear process<br />
is very amenable to symbolic<br />
manipulation and simplification. For<br />
instance, by detecting confluent<br />
Picture: TU/e.<br />
<strong>ERCIM</strong> News No. 67, October 2006 27