Software and System Architecture Evaluation and Analysis in the Automotive Domain
Bastian Florentz · Digitale Bibliothek Braunschweig (Verbundzentrale Göttingen (VZG)) · 2008
The complexity of software-intensive embedded systems in the automotive domain has been steadily growing in the recent years. As a consequence, controller-oriented development processes will be replaced by function-oriented ones. The main intention of function-oriented development is an initial decoupling of hardware and software. This increases the flexibility during development. Even more, the reuse of hardware and software components is supported. To handle these capabilities, a superior view on the structure of a system and its development rationale becomes necessary which is called the architecture of the system. Architecture evaluation has to be performed to assess the suitability of an architecture with respect to extra-functional requirements on the system, i.e.\ quality attributes. Thus, the development rationale can be expressed according to the quality attributes. In this work, an evaluation structure is proposed which is called the Quality Attribute Directed Acyclic Graph. It provides an explicit representation of extra-functional requirements and will be the basis not only for evaluation but also for architecture analysis. An evaluation methodology in terms of evaluation tactics for time-saving and cost-efficient evaluation processing is defined. Thus, an often great number of possible architecture variants can be handled without causing too much evaluation and thus development effort. Architecture analysis will be performed to understand evaluation results and to reason on development rationales. Analysis results are a valuable feedback for current as well as for future development projects. Architectural decisions on the system composition can be supported as their impact on the evaluation result can be predicted. Furthermore, promising architectural changes of architecture variants can be identified which again saves development effort. With growing and moreover expressible architectural knowledge, decisions can be supported more efficiently and even guided architecture development becomes conceivable. Besides documentation and communication, the whole development process profits from decision support as even quickly made decisions become more reliable.