Crescendo Case Study: Chess

Chess Information Technology International (part of the renowned Chess Group), is based in Haarlem (Netherlands), and delivers embedded systems products and design services to a variety of clients. The company operates with a multidisciplinary engineering team of approximately 50 engineers forming a design and development center with core competences in both hardware and software. The Chess design team take operational responsibility for, and perform life-cycle maintenance on, the electronic products and systems that they develop.

In a case study to evaluate the Crescendo platform, Chess designed and developed the ChessWay personal transporter vehicle. The ChessWay is a two-wheeled vehicle ridden by a user standing on a small platform. It uses gyroscopes and motors to remain upright and the rider controls motion and direction through leaning forwards or steering with a handlebar. The system includes a direction switch, a gyroscope, an accelerometer and Hall effect sensors embedded in each wheel to monitor rotation. Slippery or uneven surfaces can result in unpredictable behaviour for one or both wheels.

Control software for the ChessWay is largely concerned with safety and mode changes, such as start-up and shut-down processes, maintaining stability and recognising when a rider has fallen off or dismounted from the vehicle. In a conventional embedded system design, problems can arise when, for example, changes to the electrical or physical characteristics are not reflected in corresponding updates to the software design. These separate designs don't often come together until physical prototyping, and so there is a consequent need to integrate the design of the physical control much more effectively with the supervisory control. The former is readily modelled using traditional mechanical and control engineering models, while the latter benefits from the support for logic and abstraction permitted by classical computing models. Crescendo's co-simulation support, however, allows computerised models of the physical plant to be used to test embedded software at an early stage, avoiding some of the issues commonly encountered during integration testing.

The conventional design process traditionally employed by Chess followed a development process similar to IEEE 12.207, but for the ChessWay design process the Chess design team used the Crescendo co-simulation engine to test how well the collaborative approach could support engineers in their effort to build a safe and resilient system from the outset.

"Debugging in the co-simulation environment is much quicker than debugging real-time embedded control software. Debugging the final implementation of the system was supported by the model. A technical error in the sensor interface was found by comparing its output with what was expected from the model. After solving minor technical issues such as Hardware-Abstraction-Layer (HAL) sensor wiring and a driver problem, the initial system implementation worked the first time. This was an exceptional experience for us, since fault handling usually takes several cycles to work properly. This ensured the integration overhead was kept to a minimum. The co-modelling and co-simulation technology allowed us to explore alternative designs quickly without having to do changes to physical prototypes."
Bert Bos. Engineer, Chess iX.