• No results found

The overview of this work can be described as follows:

Chapter 1 introduces and motivates this dissertation. Section 1.1 intro- duces a general motivation. Section 1.2 starts with the introduction of challenges. In Section 1.3, we briefly introduce the approach and contribu- tions of this work. Finally, in Section 1.4, we introduce a motivating scenario that briefly introduces problems and typical cases this work considers. Chapter 2 introduces our example systems. In Section 2.1, we briefly describe the requirements for example systems and then introduce use cases,

1.5. Outline

and their software architectures. Altogether in section 2.2 we introduce two systems, while the first system represents the base system, and in Section 2.3 the second system represents a subsystem to be built into the base system. Based on these two systems, the concepts introduced in the following chapters will be explained and applied to several examples. Part I comprises basic concepts, related work, and introduces our prelim- inary study on modelling a quantitative function to evaluate the quality attribute security. Chapter 3 introduces foundation this dissertation is basing on. Section 3.1 introduces software architectures and software ar- chitecture models. Section 3.2 introduces the terminology about software quality, quality attributes, and basic knowledge on modelling architecture knowledge. In Section 3.3, we introduce basic concepts about the optimiza- tion of software architecture models. This is followed by an introduction to component-based software development and model-based software devel- opment in Section 3.4

Chapter 4 describes related work. Section 4.1 introduces approaches con- sidering modelling knowledge and the use of such models in decision- making approaches. Section 4.2 provides an overview of approaches for au- tomatic model generation and variability modelling. Finally, Section 4.3 we give an overview of automatic, semi-automatic, and manual approaches to optimize or improve software architectures regarding quality attributes. Chapter 5 introduces our preliminary study on quantitative modelling of quality attributes. This chapter shows required steps to develop such an evaluation function for quality attributes and to evaluate the effort we used for the development. We conduct this preliminary study developing an evaluation function for security in component-based software architecture models. After the motivation in Section 5.1, in Section 5.2 we introduce the overview of the approach for quantifying security in component-based software architectures. In Section 5.3, we describe the basic concepts and then formalize in Section 5.4 the concepts using a Semi-Markov process. We then evaluate the approach in Section 5.5 using an example system. Section 5.6 applies the approach to a component-based software architecture model, the Palladio Component Model (PCM). In Section 5.7, we briefly discuss related approaches, while Section 5.8 describes limitations of the

Part II of this dissertation considers the quality-driven reuse of software architecture models.Chapter 6 describes our approach, namely the Comp- onent-based Architecture and Requirements Evaluation (CompARE) ap- proach. Section 6.1 introduces terms, definitions and roles in the context of CompARE. In Section 6.2, we introduce prerequisites for the approach, while in Section 6.3 we introduce the goals ofCompARE. Section 6.4 introduces the big picture ofCompARE. In Section 6.5 we introduce the integration of CompARE into the Component-Based Software Engineering process (CBSE). Finally, in Section 6.6, we introduce possible scenarios in which the CBSE extended byCompARE can be used, discuss in Section 6.7 assumptions and limitations, and close in Section 6.8 with a summary.

Chapter 7 describes all entities that are necessary for reusing subsystems and the solution of subsystems. In Section 7.1, we introduce relevant roles and requirements for the entities. In Section 7.2, we explain the formaliza- tion of the entities with regard to modelling, use, and automatic weaving of models. In Section 7.3, we briefly introduce how the formalized entities could be applied to software architecture models. Subsequently, in Sec- tion 7.4, we structure all formalisms in a hierarchical model to separate the concerns according to role and process of use, discuss in Section 7.5 assumptions and limitations, and close in Section 7.6 with a summary. Chapter 8 introduces formalisms and mechanisms of weaving sub model and introduces new degrees of freedom resulting from the previous for- malisms. We introduce the chapter in Section 8.1 with a brief discussion how to extend software architecture models. Afterwards, in Section 8.2 we describe the model synchronization and change propagation in order to extend software architecture models. Section 8.3 and Section 8.4 describes how to extend software architecture models using adapters and the abstract behaviour respectively. In Section 8.5, we demonstrate the concepts and mechanisms using the Palladio Component Model as an example. Several concepts of architecture constraints are proposed in Section 8.6. Section 8.7 introduces software architecture degrees of freedom arising from adapter extension and abstract behaviour extension, discuss in Section 8.8 assump- tions and limitations, and close in Section 8.9 with a summary.

Chapter 9 introduces the modelling and analysis of architectural knowl- edge. First, in Section 9.1, we extend existing mechanisms and thus make it possible to model informal knowledge qualitatively. In Section 9.2, we then

1.5. Outline

use these model concepts to carry out analyses using qualitative reasoning. In Section 9.3, we then describe how the newly defined models can then be used to evaluate qualitative knowledge together with quantitatively modelled knowledge, discuss in Section 9.4 assumptions and limitations, and close in Section 9.5 with a summary.

Part III of this dissertation considers the evaluation of the CompARE ap- proach and discusses findings from the results.

Chapter 10 introduces the evaluation and the case study systems. Sec- tion 10.1 introduces validation levels and evaluation questions relevant for the evaluation, while Section 10.2 describes our evaluation concept. Sec- tion 10.3 introduces howCompARE has been integrated into a tool, namely the design decision support tool PerOpteryx, to evaluateCompARE. For the evaluation we use two subsystems, each with two subsystem solutions, and three base systems. We introduce the subsystem solutions in Section 10.4, the alignment to our meta model in Section 10.5 and the base systems in Section 10.6 in detail.

Chapter 11 introduces the first part of our evaluation, regarding the model inclusion of features into software architectures. Six scenarios and several sub scenarios demonstrate how models of software systems can be extended by subsystems.

Chapter 12 introduces the second part of our evaluation, the combination of qualitative and quantitative knowledge. Using four scenarios, we provide insights on the modelling of quantitative knowledge and the evaluation in combination with quantitative modelled knowledge. Overall, we show the applicability and possible benefits of model weaving for the component- based software engineering process on the example of several scenarios related on real-world decisions. In addition, we discuss possible benefits of the combination of qualitative and quantified knowledge in automated decision support processes.

Chapter 13 introduces an additional scenario showing how requirements and quality attributes can be systematically evaluated. The scenario consid- ers subsystem positions and subsystem solutions in a setting that is related to realistic environments and design questions, whileChapter 14 gives a

Chapter 15 discusses future work in Section 15.1 and gives final conclu- sions in Section 15.2.

Related documents