From SCADE to Lego Mindstorms

David White & Gerald Lüttgen

The synchronous approach to designing safety critical real-time systems allows the notion of physical time to be replaced with an ordering among events. One such language of this type is Lustre which allows control to be expressed through dataflow equations. This language is used as the basis for an industry-leading tool called SCADE. SCADE provides a graphical environment for expressing dataflow equations as well as the state based formalisms found in other synchronous languages such as Esterel. In addition, C code can be automatically generated from designs, and verification facilities exist for checking designs for both expected and unexpected behaviour.

An implementation platform for SCADE designs would be a valuable tool to aid in the teaching of synchronous reactive systems. The implementation platform this project assesses is the Lego Mindstorms architecture, which combines the capabilities of Lego as a construction set with an embedded computer system called the RCX. When the RCX is used with the open source firmware BrickOS, it can execute programs written in C. This project will demonstrate a way of translating a SCADE design into C code that can be executed on the RCX. Furthermore, two complex robots will be built and programmed highlighting important features of SCADE and exploiting Lego Mindstorms sensory and actuatory potential.