04.12.2012 Views

Towards a Platform for Widespread Embedded Intelligence - ERCIM

Towards a Platform for Widespread Embedded Intelligence - ERCIM

Towards a Platform for Widespread Embedded Intelligence - ERCIM

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!