
Fakultät II – Informatik, Wirtschafts- und Rechtswissenschaften Department für Informatik Architectural Styles for Early Goal-driven Middleware Platform Selection Dissertation zur Erlangung des Grades eines Doktors der Ingenieurwissenschaften von Dipl.-Inform. Simon Giesecke Gutachter: Prof. Dr. Wilhelm Hasselbring Prof. Dr. Ralf H. Reussner (Univ. Karlsruhe) Tag der Disputation: 2008-09-26 2 Contents Contents3 1 Introduction 11 1.1 Motivation............................ 11 1.2 Solution Approach........................ 12 1.3 Scientific Contribution...................... 13 1.4 Overview............................. 14 I Foundations 17 2 Software Quality and its Evaluation 19 2.1 Introduction to Software Quality................ 19 2.2 Basic Terms............................ 20 2.3 Realms of Software Quality................... 21 2.4 Software Quality Models..................... 25 2.5 Software Architecture Evaluation: Goals and Methods.... 27 3 Software Design & Architecture 29 3.1 Basic Definitions......................... 29 3.2 General Concepts of Architectural Description........ 34 3.3 The Component-and-Connector Viewpoint........... 41 3.4 Architectural Design Constraints................ 47 3.5 Architectural Description Languages.............. 57 II The MidArch Approach 67 4 Research Design and Methods 69 4.1 WP1: Analysing Architectural Styles and their Usage.... 69 4.2 WP2: Extending ISO Standard 42010 to Represent Architec- tural Rationale.......................... 71 4.3 WP3: Modelling Middleware-oriented Architectural Styles.. 71 4.4 WP4: Developing a MidArch Style-Based Middleware Selec- tion Method............................ 74 4.5 WP5: Providing Tool Support for the MidArch Design Method 75 3 CONTENTS 5 Basic Definitions and Assumptions 77 5.1 Software Architecture...................... 77 5.2 Middleware............................ 80 5.3 Architecture-level Design Exploration............. 84 5.4 Formalisation........................... 85 5.5 Design Knowledge........................ 88 5.6 Software Development Methods and System Quality..... 91 5.7 Architectural Styles and the ISO 42010 Reference Model... 96 6 Taxonomy of Architectural Style Usage 101 6.1 Types of Codified Architectural Design Knowledge...... 101 6.2 Approach............................. 102 6.3 Usage-based Taxonomy of Architectural Styles........ 103 7 Modelling Middleware-oriented Architectural Styles 117 7.1 Relationship of Middleware, MidArch Styles and Architectural Descriptions............................ 118 7.2 Assumptions........................... 121 7.3 Design Decisions in Middleware-oriented Architectural Style Modelling............................. 122 7.4 Language Specificity....................... 125 7.5 MidArch Style Taxonomies................... 130 7.6 General MidArch Style Modelling Method........... 136 7.7 Style-enabled ADLs....................... 139 7.8 Summary............................. 150 8 The MidArch Design Method for Early Middleware Selection 153 8.1 Assumptions........................... 153 8.2 Activities of the MidArch Design Method........... 155 8.3 MidArch Style Taxonomy and Repository Specification.... 156 8.4 Examples............................. 164 8.5 Summary............................. 170 III Evaluation 171 9 Overview 173 9.1 Rationale............................. 173 9.2 Case Studies........................... 176 9.3 Experimental Validation..................... 176 4 CONTENTS 10 Case Studies 179 10.1 RegIS Online Case Study.................... 179 10.2 Thales Case Study........................ 190 10.3 Conclusions............................ 195 11 Tool Support 197 11.1 Tool Support for the MidArch Design Method: MidArch Repository Tool.......................... 197 11.2 Tool Support for Implementation Mapping........... 199 12 Related Work 209 12.1 Style and Style-based Architecture Modelling......... 209 12.2 Architecture-Level Evaluation and Selection of Middleware. 212 IV Conclusions and Future Work 217 13 Conclusions 219 13.1 WP1: Analysing Architectural Styles and their Usage.... 219 13.2 WP2: Extending ISO Standard 42010 to Represent Architec- tural Rationale.......................... 222 13.3 WP3: Modelling Middleware-oriented Architectural Styles.. 222 13.4 WP4: Developing a MidArch Style-Based Middleware Selec- tion Method............................ 224 13.5 WP5: Providing Tool Support for the MidArch Design Method225 14 Future Work 227 14.1 WP1: Analysing Architectural Styles and their Usage.... 227 14.2 WP2: Extending ISO Standard 42010 to Represent Architec- tural Rationale.......................... 227 14.3 WP3: Modelling Middleware-oriented Architectural Styles.. 228 14.4 WP4: Developing a MidArch Style-Based Middleware Selec- tion Method............................ 233 A Definition of the MidArch Design Method 237 A.1 Basic Definitions......................... 237 A.2 Roles................................ 237 A.3 Tasks............................... 240 List of Acronyms 249 List of Tables 251 List of Figures 253 5 CONTENTS Bibliography 255 6 Summary Business information systems are middleware-intensive applications, i.e. their structure and behaviour is significantly influenced by the chosen middleware platform. The selection of a suitable middleware platform is a task in the development process that is critical in fulfilling the system’s quality requirements, e.g. availability or time efficiency. A systematic selection should be done as early as possible within a development project, i.e. on the architectural level. Up to now no adequate method for selecting a middleware platform in a concrete project context exists, thus often ad-hoc decisions are made. As a solution, the MidArch approach was developed, which is presented here. The main constituent is the MidArch Design Method, which uses a repository of MidArch Styles and a MidArch Style Taxonomy for sup- porting the systematic selection of a middleware platform and to guide the specification of software architectures. A middleware-oriented architectural style (MidArch Style) is a model of a middleware platform, which captures the structural constrains that are imposed upon the application architecture by the underlying platform. From another point of view, a MidArch Style characterises the family of software architectures that can be implemented on a given middleware platform. Within the MidArch Design Method, a MidArch Style Taxonomy is used as the basis of a stepwise selection process of candidate MidArch Styles, which match the given quality requirements. Consequently, software architectures are specified that conform to these styles, and the architectures are evaluated against the quality requirements. The evaluation results are lifted from the level of individual architectures to the level of the MidArch Styles by comparison. This information is stored in the repository as annotations to the respectives MidArch Styles. In subsequent applications of the MidArch Design Method, these are used to refine the selection process. For evaluation, two case studies using industrial systems are presented. Furthermore, the thesis contains contributions in the areas of software archi- tecture foundations and the definition of architectural styles and patterns. 7 Summary Zusammenfassung Betriebliche Informationssysteme sind Middleware-intensive Anwendungen, d.h. Softwaresysteme, deren Struktur und Verhalten durch die Middleware wesentlich beeinflusst werden. Bei der Entwicklung ist die Auswahl einer Middleware-Plattform eine kritische Aufgabe in Hinblick auf die Erfüllung der gestellten Qualitätsanforderungen, die beispielsweise Verfügbarkeit oder Zeiteffizienz betreffen. Eine fundierte Auswahl sollte möglichst früh in einem Entwicklungsprojekt erfolgen, d.h. auf der Ebene der Softwarearchitektur. Bisher existieren jedoch wenige Richtlinien oder systematische Vorgehens- modelle für die Auswahl einer Middleware-Plattform in einem konkreten Projektkontext, so dass oftmals Ad-hoc-Entscheidungen getroffen werden. Als Lösung wurde der MidArch-Ansatz entwickelt, der hier vorgestellt wird. Hauptbestandteil ist die MidArch-Architekturentwurfsmethode, die ein Repository von Entwurfswissen über MidArch-Stile und Taxonomien solcher Stile verwendet, um die systematische Auswahl einer Middleware-Plattform zu unterstützen und die Spezifikation von Software-Architekturen zu leiten. Ein Middleware-orientierter Architekturstil (kurz: MidArch-Stil) ist ein Modell der Middleware-Plattform, das die strukturellen Bedingungen ver- körpert, die die Plattform an die auf ihr realisierten Anwendungen stellt. Demnach charakterisiert ein MidArch-Stil die Familie der Softwarearchi- tekturen, die auf der betreffenden Middleware-Plattform realisiert werden können. Innerhalb der MidArch-Architekturentwurfsmethode wird eine MidArch- Taxonomie als Grundlage für die schrittweise Auswahl von MidArch-Stilen genutzt, die für die gestellten Qualitätsanforderungen geeignet sind. An- schließend werden Softwarearchitekturen spezifiziert, die diese Stile einhalten, und gegen die Qualitätsanforderungen evaluiert. Die Evaluationsergebnisse werden durch Vergleiche von der Ebene einzelner Architekturen auf die Ebene des MidArch-Stils gehoben. Diese Informationen werden als Annotationen zu den betreffenden MidArch-Stilen im Repository gespeichert und ermöglichen in weiteren Durchführungen der MidArch-Methode eine verfeinerte Auswahl von MidArch-Stilen. Zur Evaluation werden zwei Fallstudien mit Systemen aus der industriellen Praxis vorgestellt. Weiterhin enthält die Arbeit Beiträge zu Grundlagen der Softwarearchitektur
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages279 Page
-
File Size-