More and more car manufacturers are recognizing a desire for multi-media services (infotainment) and graphical user interfaces (GUI) inside their vehicles. The idea behind the usage of advanced MMI products is to support the driver with easy to use, comfortable interfaces (MMI) as a key to the growing amount of information and control sophisticated systems in advanced vehicles, especially in the high-end market segment. satellite-navigation with voice guidance and map display, CD-player, DVD-video, digital TV-tuner, GSM-phone, electronic cruise-control systems and extended body-control capabilities (climate system, driver seat position storage, "personalization", mirror control, rear-view camera control,...) - "common" users are overwhelmed by operating all these integrated systems and are rarely in the position to use them efficiently without new menu concepts. The automotive industry develops integrated electronic assistants and easy to use menu structures to allow intuitive operation of their vehicles without extensive study of operations manuals.
No need to say that these cars and trucks have several on-board networks - BMW for instance uses in their 7-series several optical (MOST®) and DC coupled (CAN and FlexRay) bus systems. Optical rings are mostly used for entertainment purpose and video sources like DVD player and rear view camera-systems. DC coupled buses are applied for body control and safety systems.
Despite of the fact that CETITEC operates in an "embedded system world" resources are not very restricted any more. 4-bit controllers and assembler-programming meanwhile is more or less banned and rarely used for development of complex systems. Applications are based on modern 32-bit platform-architectures with some 500kB of ROM- and up to some MB of RAM-space. The operation frequency of the target-platforms lays between 4 to 40 MHz, dependent on feasibility and meeting of current EMC constraints or real-time-performance requirements. Note that one of the most important targets still is low power consumption.
OSEK for small real time systems, CMX®, Linux, Android, QNX® and Integrity® for more advanced solutions are used on product platforms, whereas Microsoft Windows® is used for simulation and development of PC applications. Several libraries for graphical applications are in use, mostly based on proprietary widget libraries.
C is still the main language used for embedded software development, but C++ proportion is rising quickly. For both languages CETITEC has long term experience.
For PC based tools current languages like C# and some VB are in use. For processing of input data and transformation to different output formats XML, XSLT and related languages are used. To ensure a high productivity and state-of-the-art development .NET is used as base for the CETITEC tools and programming interfaces. XHTML, CSS and JScript are used for easy to share reports.
Design and Architecture
Object oriented design is commonly used to model reusable, modular system designs. The standard language for architectural descriptions is the Unified Modeling Language (UML). Design patterns (Gamma, Helm and Johnson) are taken into consideration and are used more and more as templates during design-discussions, to shorten design procedures.