Establishing Virtual Test-Driven Development Environments in the Automotive Domain: A Continuous Engineering Approach
In the recent decade, the growing importance of software-based features particularly in the automotive domain has also led to an increased demand for innovative development concepts and software methodologies which facilitate the design, implementation, and testing of the involved embedded systems. The evolution from single-purpose controllers over distributed networks of multi-function ECUs up to centralized software-heavy computing devices has shifted the focus of development environments from hardware-centric testbeds to virtualized x-in-the-loop evaluation facilities enabling opportunities for early prototyping, virtual integration, and continuous engineering of the system components under consideration. However, determining the proper set of tools which support the required test-driven development processes and infrastructure automation is a challenging task, particularly when considering the individual needs of different product lines. This is due to the plethora of available solutions, each usually dedicated to only certain development aspects, which need to be seamlessly integrated to cope with the complexity of nowadays system architectures and volatility of requirements regarding the functionality and quality of the aspired products. In this context, modern product development requires correspondingly flexible evaluation environments with traceability support, where usually downstream testing activities are performed upfront and continuously on an iterative basis. In this paper, we propose a pragmatic approach for establishing such development environments which can be tailored to the constitution of specific corporate product lines by means of tool chain instantiation and integration. This approach is based on a recurrent 3-phase procedure and an object-oriented data model facilitating the management of relevant details and relations in terms of organizational data, use case descriptions, requirement specifications, as well as tool qualifications. The associated process includes the analysis of relevant practices, recommendations for possible improvements, and implementation of proof of concepts which can be built into a continuous engineering pipeline for the sake of complementing a holistic product development lifecycle.