Today’s increasingly complex automotive applications require the incorporation of more and more electronic control units (ECUs) in the vehicles produced by leading manufacturers. The elaboration of the software running on the distributed system progressively caused more problems in specifying, implementing, testing and integrating this properly. Focusing on effectiveness, premium car manufacturers and their suppliers founded the AUTOSAR (AUTomotive Open System ARchitecture) consortium, providing standardized software architecture and methodology for developing automotive software. The standard declares some parts of the requirements described against the system, in the form of metamodels.
In the course of working on my thesis I created such tools, that are capable of making the handling of the modeling languages formulated in the Software Component Template and the ECU Configuration Template found in the standard easier. Application level business logic is implemented in the AUTOSAR software architecture by means of so called Software Components (SWCs). The ECU configuration template provides a toolset used for describing the information regarding the configuration and fine-tuning of the components and other software parts during integration.
In the first part of my thesis the theoretic background is introduced, which helps understanding the fundamentals. I describe the software architecture defined in the AUTOSAR standard, as well as the applied technologies. Henceforth I present the tools I implemented, namely: the ECUC Wrapper Tool, which is able to generate helper classes for arbitrary ECU configurations, which enable the retrieval of configuration elements; and the SWC generator library, which is intended to simplify the creation of software component models with the help of high level services.
Next the tools are demonstrated via two examples. Finally an overview is provided about the scripting interface of the AUTOSAR authoring tool developed at the company, focusing on the functions of the SWC generator framework, which are accessible through this. I illustrate the latter with an example once more.