Virtual Validation of AUTOSAR Software
November 22, 2013 by John Day
A New Paradigm in Embedded Controls Development
By Joe Fairchild, Sr. Applications Engineer, dSPACE Inc
If you’re familiar with AUTOSAR, you’re probably aware of its benefits, such as maximizing code re-use, using off-the-shelf software stacks, and creating hardware-independent applications. But there may be one secret benefit of migrating to AUTOSAR that you aren’t familiar with − virtual validation.
What is virtual validation? In the area of developing code for embedded systems, we’re often faced with the age-old question of “How do I test my code?” Because of limitations, that testing process is often split into two phases: 1) component testing and 2) system testing. Normally, it is quite difficult to do a functional test at the system level without hardware, because the code often contains calls to drivers that won’t work without real hardware or need an operating system around it to trigger calls to the function to be tested. There’s got to be an easier way … and there is with AUTOSAR.
There are two enabling features of AUTOSAR that aids virtual validation. First, there is the standardization of interfaces. This means that any function call or memory access or hardware driver action that accesses a feature external to the current application component will do so in a standardized way. The second is the AUTOSAR meta model for system architecture modeling. This allows us to use XML (or an off-the-shelf tool) to specify information about the code we already have, for instance, what data is input or output by the code, what triggering behavior activates it, etc. Because of AUTOSAR, I now have knowledge of everything going into and coming out of all of the pieces of my application in a standardized format.
With the knowledge of what is contained within my application and the code itself containing calls to standardized functions instead of direct driver accesses, I could theoretically build an operating system and hardware wrapper around any number of my application components and run them independent of the actual microprocessor. This technology actually exists from a handful of tools on the market today, including dSPACE VEOS®.
So back to the original question: What is virtual validation? It is virtually anything you want it to be. With the ability to execute application code in a platform-independent environment, we can connect it to the powerful suite of functional test tools already used in the hardware-in-the-loop area. Things like experiment and layout tools, realistic plant models, visualization tools, or test automation tools. This means I can start testing my system much earlier in the development process, even without hardware. So regardless of where you are along the path to AUTOSAR, now you’re aware of a new light at the end of the tunnel in the form of virtual validation.