MENU

Building a MOST infotainment system in a heterogeneous networking environment

Building a MOST infotainment system in a heterogeneous networking environment

Technology News |
By eeNews Europe



Time-to-Market for automotive infotainment features can be improved by accelerating the software development process, but this must not compromise the reliability of the software components. An automation of the process and a parallelization of its steps are typical methodologies to speed up software development. However, this means that development tools need to support those methodologies.

The convergence between end-user devices and computing networks is another challenge coming from the consumer electronics world. Here the proportion of products that support Internet connectivity, especially when using wireless technologies, is rising sharply. User data is shared between different devices, Internet services and enterprise applications as well. The next step is to provide the customer with the opportunity to keep all the data in the cloud and let the devices be synchronized with it. The infotainment system in the vehicle will be a part of this environment, of course, with limitations according to automotive safety requirements. A tool that automates the communications between automotive devices and end-user products can simplify and speed up development.

 

Figure 1: Car of the future

 

Software Development Process

Let’s consider the software development process. Usually, a project starts with the following steps: an analysis, creation of a specification and a prototype. Those steps are an iteration, and may be repeated. After several iterations, the artifacts such as the requirements, architecture- and design documents specifications are available. The software implementation based on these artifacts must be tested and verified. It is essential to note that several participants from different companies are usually working on such automotive projects.

In the analysis step, a Unified Modeling Language (UML) abstract system model is created, which includes specific requirements, use cases, etc. UML is the widespread modeling language used in software development. The mature UML tools may be a great help in verifying the integrity of the model, so the usage of UML reduces the time needed to create such a model. The UML model, and especially the diagrams that specify the API and dynamic behavior, are the important parts of the specification.

One of the possible automation methods is code generation. It provides the ability to create ready-to-use program code directly from the UML model or from an exchange format. This generated code works together with a framework and implements a public visible interface of the business logic of the component. It helps to rapidly build a prototype application.

A prototype application is a skeleton with the default (dummy) implementation of the interfaces. Existing software may be integrated into this skeleton. Another possibility is to extend the skeleton with functionality that simulates the behavior of the specified device or component.

Simulation of Device Behavior

There are several advantages of having such a simulation. First, the simulation itself is the proof-of-concept of the UML model and creates the possibility of detecting mismatches between the UML model and the real system. This is one of the main challenges at the early stages of the project. Another challenge is the ability to efficiently roll out modifications to the abstract model at later stages of the project when the software implementation has already been started or even completed. The code generation localizes changes in the abstract model to the integration code between the generated code and the business logic. This means that modifications to the abstract model that break the generated code will be identified at compilation time as syntax errors, and only the integration code needs to be fixed.

Second, the simulation delivered to the project participants integrates their components within the system, because this simulation is a running sample and shows the developers how the system works.

Now, let’s check the typical project activities. The developer of one device that communicates with one or several other devices can immediately use the simulation of other devices during the software development instead of waiting for a delivery from other project participants. The tester can immediately start implementing device-specific tests against the simulation.

In addition, the project group of the car manufacturer can start to create a set of acceptance and production tests directly after completing work on the simulation.

Furthermore, if a simulation is built on a tool that virtualizes network communications, then all project members can work even if the hardware devices are not yet stable or available at all. In doing so, the firmware developers working on the evaluation boards may use firmware components capable of connecting to the virtual networks provided by this tool. In this case, the firmware is capable of communicating with the simulation. It enables the firmware and hardware tests to be developed in parallel. This means that the simulation of the system containing components that communicate with each other over networks is the key to parallelizing work on the project.

Automotive Test System

K2L provides the solution: the Automotive Test System (ATS), which enables simulation and testing of automotive devices or systems. This is a comprehensive PC development tool, which is built on the .NET framework and works under a Windows operating system. It consists of the following parts: the hardware interface, the viewer software, the Windows service application, the framework and the code generator. The hardware, named MOCCA compact, is connected to the PC over USB and provides access to field buses such as MOST, CAN and LIN. The viewer application is a trace tool to display incoming and outgoing messages, to disassemble their data and to show information about the buses. The ATS Windows service application is a communication center that implements the virtual MOST on the PC and connects it to the hardware (if any). The framework is a set of .NET libraries that can be used in customer applications built on ATS. The code generator, called MAG.NET, creates the .NET assemblies from files that describe the network protocol. The generator supports CAN DBC, LIN Description File (LDF) and a MOST XML function catalog. MAG.NET generates .NET classes that represent the messages for CAN, MOST and LIN protocols. The generated code for the LIN protocol includes the driver configuration as well. The code generated from a MOST XML file also contains the .NET classes that implement the default behavior for both sides of the communication: the controller/shadow (client) and the slave/FBlock (server).

Modern techniques, which include, for example, parameterized tests, are widely spread in the .NET environment, and can reduce the development efforts for the automated tests.

 

Figure 2: Putting it all together: convergence of automotive and consumer electronics

K2L ATS is well-suited for testing and simulation of the traditional infotainment system as a set of devices that are built into the vehicle and communicate over MOST, CAN and LIN. Some of these devices can have a pair-to-pair connection to the end-user devices, for example, over Bluetooth.

Convergence of Automotive and Consumer Electronics

As has been mentioned before, future infotainment systems require a tool for support of the convergence between automotive and consumer electronics over computer networks. There are several variants of networking topologies regarding how consumer electronic devices such as mobile phones, tablets and laptops and the infotainment system could be connected. The simplest topology is that the car has its own mobile broadband Internet connection and its own Wi-Fi hot spot. This provides access to the Internet and remote automotive services. Another topology is an analog to the Bring-Your-Own-Device (BYOD) concept. Here, the infotainment system has a Wi-Fi network interface and connects to the hot spot provided by the customer mobile device, which has Internet access over a cellular network.

The principal difference between these two topologies is that in the first case the infotainment system communicates with the service endpoints in the Internet directly, whereas in the second case the network address translation (NAT) is between the communication partners. Moreover, enterprise systems have even more complex topologies, including firewalls, virtual private networks (VPN), etc. In this situation a greater reach for applications is needed.

It should be noted that some parts of the infotainment system, such as navigation components, can use Internet services, for example, to update the traffic information on a route. It means that service providers, as well as consumers of these services, may be deployed on automotive and mobile devices and also on the Internet. Software applications that offer a service or consume it, especially over a network, are called service oriented applications.

A part of the .NET framework for building service-oriented applications is the Windows Communication Foundation (WCF). The conceptual model that supports the service orientation is called Service Oriented Architecture (SOA). There is a wide range of technologies such as Web services (WS), Representational State Transfer (REST) and so on that can be used to implement SOA. The WCF supports the most common of these.

In WCF, a .NET interface defined in the code or generated from a WSDL (Web Services Description Language) file specifies the contract of a service. The class that implements this interface to deploy on the server is the service class. The instance of this class can be hosted in a desktop application, a Web server or in Windows Azure, the Microsoft cloud platform. K2L ATS paves the way for connecting MOST and WCF to simulate the new features provided by the vehicle-Web interconnection.

With the MAG.NET tool, the user can select MOST functions from a function block to create the .NET interface as a service contract. The K2L ATS framework includes the .NET class that implements the MOST WCF gateway. It receives an incoming message from the MOST function and transforms its data to the parameters of the corresponding method for the specified WCF interface. Then the gateway-class calls the method of the instance of the service class that implements this WCF interface. This instance can be a client proxy that accesses the service hosted outside the MOST network. It can also be a service implementation available in MOST, as well as on the Internet or in a local area network, for example, over HTTP.

The client or service can be implemented on other platforms. The tool svcutil.exe (part of Windows SDK) can be used to generate the WSDL file from the .NET interface. The WSDL file serves as an input for other tool chains to implement services or to generate client code for other programming languages or platforms such as C++, JavaScript, and so on.

This approach shows that MOST, as the dedicated technology for infotainment networking, already contains the elements that are suited for communication with the services deployed on the Internet. The solid methodology (top-down) used to build a MOST based infotainment system is close to the development process of enterprise Web services. An integration of the best parts of these technologies opens up new and interesting opportunities for MOST applications.

About the Author:

Yury Asheshov is Principal Software Engineer at K2L in Karlsruhe, Germany. He can be reached under yury.asheshov@k2l.de

References:

[1] MOST Specification Rev. 3.0E2

[2] 2010, Introducing Windows Communication Foundation, Chappell & Associates, David Chappell

[3] 2007, Professional WCF Programming, Wiley Publishing Inc. , Scott Klein

[4] 2012, Building Hybrid Applications in the Cloud on Windows Azure™, Microsoft, Scott Densmore, Alex Homer, Masashi Narumoto, John Sharp, Hanz Zhang

[5] 2010, Inside Windows® Communication Foundation, Microsoft Press, Justin Smith

Article previously published in Elektronik automotive, MOST Special Edition, April 2013, www.elektroniknet.de.

If you enjoyed this article, you will like the following ones: don't miss them by subscribing to :    eeNews on Google News

Share:

Linked Articles
10s