Monday, March 26, 2012

Headless Embedded Systems

Something I have started to notice is the growing use of tablets to serve as the primary user interface for real-time embedded systems. This is in direct opposition to the long term tendency for embedded systems to sport integrated and increasingly sophisticated user interfaces.
At first glance this does not appear to be such a good idea due to the economics. The unit cost of a tablet is quite expensive. Only certain embedded systems could even consider the use of a tablet as the primary user interface due to the cost factor. However its use can make sense, in certain products, especially when considering the total cost of creating a custom graphical user interface.
Integrated graphical user interfaces require custom electronics and software. Much of the development is geared to integrate the user input and display devices with the rest of the system software. A great deal of software is often required to simply display data to a user or receive input from the user. This software device layer often takes a significant chunk of the development time and resources. And the application program that the user interacts with must still be written.
In the past year, several companies I have met with are considering the use of tablets or even smart phones for their user interface needs. They expect to reduce the complexity and the cost of developing the new product by essentially eliminating custom development of a graphical user interface. Leveraging an off-the-shelf solution enables the companies to get their product to the market sooner.
So I am curious, are you also seeing this as an emerging trend?

Tuesday, March 13, 2012

Testing Real Time Embedded Systems


Gary Felberbaum, the Principal of Advanced Decisions, talks about testing real time embedded systems.

How early should someone consider testing?

The earlier that someone gets involved in setting up the strategy and setting up the architecture to enable testing is really important. You should to start thinking about how you will test an embedded system as soon as you are conceiving a project or an embedded system.

What is needed to get started?

The same steps are needed when starting to test or develop an embedded system. The starting process refers back to the simplest thing which is requirements: sitting down, defining what it is that you want to build, and then thinking about how to test the system (adding special electronics, special software, etc.).

Why is embedded system testing different from other software application testing?

It is different because you are interacting with a lot more real-world, physical processes. You’re measuring things that you may not have control over, while in application testing you can set up a test database and test against the test database. In the real world, for applications you have to think about how you’re going to simulate processes that you can’t control and that may take designing certain types of computer model and simulations that you need to do to make embedding system testing actually work.