Skip to main content

Software Architecture 1

Software Architecture 1

Mourad Chabane Oussalah (Editor)

ISBN: 978-1-118-93098-4

May 2014, Wiley-ISTE

352 pages

$90.99

Description

Over the past 20 years, software architectures have significantly contributed to the development of complex and distributed systems. Nowadays, it is recognized that one of the critical problems in the design and development of any complex software system is its architecture, i.e. the organization of its architectural elements. Software Architecture presents the software architecture paradigms based on objects, components, services and models, as well as the various architectural techniques and methods, the analysis of architectural qualities, models of representation of architectural templates and styles, their formalization, validation and testing and finally the engineering approach in which these consistent and autonomous elements can be tackled.

Preface ix

Chapter 1. Object-Oriented, Component-Based, Agent-Oriented and Service-Oriented Paradigms in Software Architectures 1
Abdelkrim AMIRAT, Anthony HOCK-KOON and Mourad Chabane OUSSALAH

1.1. Introduction 2

1.2. History 3

1.2.1. Object-oriented paradigm 3

1.2.2. Component-based paradigm 4

1.2.3. Agent-oriented paradigm 4

1.2.4. Service-oriented paradigm 5

1.3. Software architecture 8

1.3.1. Object-oriented software architecture 8

1.3.2. Component-based software architecture 10

1.3.3. Agent-oriented software architecture 11

1.3.4. Service-oriented architecture 13

1.4. The two dimensions of the conceptual framework for comparison: quantitative and qualitative 15

1.4.1. Conceptual differences 16

1.4.2. Quantitative dimension 25

1.4.3. Qualitative dimension 32

1.5. Approaches for integrating development paradigms 43

1.6. Summary and discussion 45

1.7. Conclusion 48

1.8. Bibliography 48

Chapter 2. Reference Architectures 55
Elisa Yumi NAKAGAWA, Flavio OQUENDO and Jose Carlos MALDONADO

2.1. Introduction 55

2.2. Definition of reference architecture. 56

2.2.1. Reference architecture versus reference model 57

2.2.2. Reference architecture versus product line architecture 57

2.3. A model for reference architectures 59

2.4. Reference architecture engineering 63

2.4.1. Information source investigation 64

2.4.2. Architectural requirements establishment 66

2.4.3. Reference architecture design 67

2.4.4. Reference architecture evaluation 69

2.5. Uses of reference architectures 70

2.6. Examples of reference architectures 74

2.7. Future perspectives of reference architectures 75

2.8. Final remarks 78

2.9. Bibliography 78

Chapter 3. Multihierarchy/Multiview Software Architectures 83
Ahmad KHEIR, Hala NAJA and Mourad Chabane OUSSALAH

3.1. Introduction 83

3.2. Existing viewpoint approaches 84

3.2.1. Introduction 84

3.2.2. Views in requirements specifications 85

3.2.3. Views in systems modeling 85

3.2.4. Views within programming 86

3.3. Views in software architecture 87

3.3.1. Contributions of the views in software architecture. 87

3.3.2. "4+1" view model 88

3.3.3. ISO/IEC/IEEE 42010 89

3.3.4. The views and beyond approach 91

3.3.5. Summary 93

3.3.6. Limitation of current approaches to software architecture 96

3.4. Definitions and basic concepts of multihierarchy/multiview software architectures 96

3.4.1. Definitions 96

3.4.2. Concepts and basics 98

3.5. MoVAL: architecture based on models, views and levels of abstraction 107

3.5.1. Introduction 107

3.5.2. MoVAL 108

3.5.3. MoVAL metamodel 112

3.5.4. Case study 114

3.6. Conclusion 117

3.7. Bibliography 118

Chapter 4. Software Architecture and Tools: Distributed and Coordinated Dynamic Reconfiguration Management 121
Mohamed ZOUARI, Maria-Teresa SEGARRA and Khalil DRIRA

4.1. Introduction 122

4.2. Context 123

4.3. Dynamic reconfiguration management mechanisms of distributed applications. 125

4.3.1. Centralized dynamic reconfiguration management 126

4.3.2. Limitations of the centralized solution for distributed systems 129

4.3.3. The stakes of distributed reconfiguration management 130

4.3.4. Existing coordination mechanisms 131

4.4. Specialization of reconfiguration infrastructures 134

4.4.1. Specialization of behavior 134

4.4.2. Specialization of the distribution of adaptation mechanisms 135

4.5. Summary of the limitations and challenges of dynamic reconfiguration of distributed systems 137

4.6. An approach for the implementation of reconfiguration management mechanisms 138

4.7. Architectural model for distributed dynamic reconfiguration management 140

4.7.1. Component types for adaptation management 141

4.7.2. Distribution of dynamic reconfiguration management 142

4.7.3. Architectural model of the adaptation manager 144

4.7.4. Specialization of reconfiguration mechanisms 146

4.7.5. Coordination of reconfiguration processes 149

4.8. Conclusion 164

4.9. Bibliography 165

Chapter 5. Software Architecture for Product Lines 171
Hugo ARBOLEDA, Rubby CASALLAS, Jaime CHAVARRIAGA and Jean-Claude ROYER

5.1. Introduction to software product lines 171

5.1.1. Three development styles 174

5.1.2. Variability management 175

5.1.3. The concept of architecture in product lines 177

5.2. The music store example 179

5.2.1. The field 179

5.2.2. The SongStock product line 180

5.2.3. Functional requirements 180

5.2.4. The other main requirements 181

5.3. Domain engineering 182

5.3.1. Domain analysis 182

5.3.2. Use case with integrated variability 183

5.3.3. The features model 184

5.3.4. Domain design 185

5.3.5. Designing the architecture of the line 186

5.4. Product engineering 190

5.4.1. The configuration of a product 191

5.4.2. Product derivation 193

5.5. The reference architecture design process 194

5.6. Further reading 197

5.6.1. PLA and reference architecture 198

5.6.2. Influential older works 200

5.7. Conclusion 203

5.8. Bibliography 204

Chapter 6. Software Architecture: Service Adaptation Techniques in the Context of Web Services Composition 211
Kamel BARKAOUI and Maryam ESLAMICHALANDAR

6.1. Introduction. 211

6.2. Web service composition and verification 214

6.3. Web service incompatibility and adaptation 219

6.4. Adaptation approaches 222

6.5. Conclusion 234

6.6. Bibliography 234

List of Authors 241

Index 243