SinelaboreRT Header Logo


Productivity for embedded software development

User Tools

Site Tools


Interesting readings

On this page you find interesting resources that might help you to become a better embedded software engineer.

Send us links to interesting material if you think it should appear here.


Image of book Practical Model-Based Testing: A Tools Approach Practical Model-Based Testing: A Tools Approach from Mark Utting and Bruno Legeard. Chapter 5 discusses “Testing from finite state machines”.

Image of book Test-Driven Development for Embedded C “Test-Driven Development for Embedded C” from James W. Grenning. It teaches you how to use the unit testing frameworks Unity and CppUTest to test embedded software. This book does not explicitly discuss state machine testing.
Image of book Constructing the User Interface with Statecharts by Ian Horrocks “Constructing the User Interface with Statecharts” by Ian Horrocks was published 1999. But still gives very good introductions how to use state machine for designing user interfaces. Using concrete and extensively discussed examples, such as a CD player, he shows how to practically design GUIs with statecharts. Due to the chosen examples it is specifically useful for UI designers of real physical devices.


Reports where state-machines are used in practise

  • NASA: Read this interesting article on “UML Statechart Autocoding for the Mars Science Lab (MSL) Mission”. This article describes how NASA generates flight code automatically from a state machine diagram. The generated code has been part of Curiosity’s flight software since launch, and continues to run onboard today. They describe how their generated code looks like and shares the lessons they learned. Link to the article.


  • SocketCAN is a CAN driver directly integrated into the Linux kernel. The SocketCAN concept extends the Berkeley sockets API in Linux by introducing a new protocol family, PF_CAN, that coexists with other protocol families, such as PF_INET for the Internet Protocol. That means you can work with CAN just using your TCP/IP know-how and related tools e.g. logging traffic with wireshark. More information is available at SocketCAN. A nice hardware interface for SocketCAN is candleLight.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
other_resources.txt · Last modified: 2023/07/16 09:54 by webmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki