Diploma Thesis DIP-2548

BibliographyHeit, Juergen: Impact of methods and mechanisms for improving software dependability on non-functional requirements.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Diploma Thesis No. 2548 (2007).
134 pages, english.
CR-SchemaB.8 (Performance and Reliability)
C.4 (Performance of Systems)
D.2.2 (Software Engineering Design Tools and Techniques)
D.2.8 (Software Engineering Metrics)
Keywordssoftware dependability; non-functional requirements; design state space exploration; software quality attributes; models in software engineering; metrics
Abstract

Quality attributes grouped under the term of dependability have been the subject of research for over fifty years. During this time, dependability and its quality attributes have been overloaded with many different definitions. This thesis will therefore take a detailed look at the most important quality attributes of dependability.

Dependability plays a special role in software that is used in the embedded systems of vehicles. During the development process for these systems, different techniques are used in order to achieve dependability. In this work, I will present selected examples of this. Using these techniques leads to improvements of certain aspects of dependability; however, they can also negatively affect other non-functional aspects of the software. Occasionally, trade-offs must be made even during the development phase, when, for example, improving one quality attribute inevitably negatively affects another attribute.

In order to identify acceptable trade-offs, one needs the means to make objective decisions. In order to do this, it must be possible to test the quality attribute requirements of the software design under consideration. This allows the use of formal models, which measure the extent to which a given software design can fulfill specified requirements. My work builds on the approach of the Architecture Expert ArchE, a CASE-tool that was developed at the Software Engineering Institute of Carnegie Mellon University. This tool is based on the concept of software development as the state space exploration of alternative designs.

Until now, the experience and intuition of the user greatly influenced the search strategies in ArchE, especially when making trade-offs between the quality attributes of the design. I will show how the task of finding suitable trade-offs can be automated to a large extent, so that the search for acceptable design alternatives requires less input from the user. A brief overview of various approaches to the quantitative evaluation of these mechanisms will also be provided. As a real-world example, I will summarize my reverse engineering efforts to understand the architectural design of an automotive body computer, which enabled me to perform a quality attribute driven analysis of the system. Simple formal models, which use structural information of the software system to assess modifiability and run-time performance, will be introduced. In order to assess the impacts of methods and mechanisms for improving dependability, the information received from my reverse engineering efforts will be used.

Full text and
other links
PDF (779698 Bytes)
Access to students' publications restricted to the faculty due to current privacy regulations
Contactjuergen.heit@ieee.org
Department(s)University of Stuttgart, Institute of Software Technology, Programming Languages and Compilers
Entry dateAugust 1, 2007
   Publ. Computer Science