139,99 €
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.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 343
Veröffentlichungsjahr: 2014
Chapter 1 Metamodeling in Software Architectures
1.1. Introduction
1.2. Metamodeling, why?
1.3. Software architecture metamodeling
1.4. MADL: a meta-architecture description language
1.5. Mapping of ADLs to UML
1.6. A mapping example: the case of the Acme language
1.7. Some remarks on the mapping of ADL concepts to UML
1.8. Conclusion
1.9. Bibliography
Chapter 2 Architecture Constraints
2.1. Introduction
2.2. State of the art
2.3. Architecture constraints on object-oriented applications
2.4. Architecture constraints on component-based applications
2.5. Architecture constraints on service-oriented applications
2.6. Conclusion
2.7. Bibliography
Chapter 3 Software Architectures and Multiple Variability
3.1. Introduction
3.2. Variability: foundations and principles
3.3. Framework of studies and connected work
3.4. Video surveillance component architecture
3.5. SOA for scientific workflows
3.6. Reverse engineering plugin-based architecture
3.7. Evaluation
3.8. Conclusion
3.9. Bibliography
Chapter 4 Architecture and Quality of Software Systems
4.1. Introduction
4.2. Quality approach
4.3. Approach for architecture development of a domain
4.4. Development of the reference architecture in a functional domain
4.5. Architectures at system level
4.6. Related work
4.7. Conclusion
4.8. Bibliography
Chapter 5 Software Architectures and Multiagent Systems
5.1. Introduction
5.2. MAS and agent-oriented software engineering
5.3. MAS as an architectural style
5.4. The architectural gap
5.5. How to fill the architectural gap
5.6. Conclusion
5.7. Bibliography
Chapter 6 Software Architectures and Software Processes
6.1. Introduction
6.2. Software process architectures
6.3. Comparison framework for SA-based SP model reuse solutions
6.4. Evaluation of SA-based SP modeling and execution approaches
6.5. Conclusion
6.6. Bibliography
List of Authors
Index
First published 2014 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.
Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA. Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address:
ISTE Ltd27-37 St George’s RoadLondon SW19 4EUUK
www.iste.co.uk
John Wiley & Sons, Inc.111 River StreetHoboken, NJ 07030USA
www.wiley.com
© ISTE Ltd 2014The rights of Mourad Chabane Oussalah to be identified as the author of this work have been asserted by him in accordance with the Copyright, Designs and Patents Act 1988.
Library of Congress Control Number: 2014934512
British Library Cataloguing-in-Publication DataA CIP record for this book is available from the British LibraryISBN 978-1-84821-688-4
Chapter written by Adel SMEDA and Mourad Chabane OUSSALAH.
To manage the complexity of systems and enhance their understanding, different modeling techniques (e.g. object-oriented, component-based and services-oriented software architectures) often define two or more modeling levels using the definition of a metamodel, or even a meta-metamodel to explain, comment, document, simplify, create and compare models.
In this chapter, we intend to emphasize the importance of metamodeling in the context of software architecture compared to the metamodeling in the object paradigm. This concept helps to abstract architectural concepts (components, connectors and configurations) and facilitate handling, using and reusing, analyzing and developing software architectures.
During the last two decades, several languages for describing software architectures have been proposed to promote the development of architecture-focused applications. These languages provide, in general, formal or semi-formal notations for describing and analyzing software systems. They are usually accompanied by tools to analyze, simulate and, sometimes, to generate the code of the modeled systems. The consensus on the fundamental concepts that architecture description languages (ADLs) must include was achieved relatively late; however, through the efforts of standardization and interoperability, new ADLs (known as second generation ADLs) were introduced.
Moreover, it is proved that the specification of an architecture may go through several levels of modeling, thus reflecting different categories of users (application architects, application developers, builders of software infrastructure, etc., see Chapter 3). One of the most appropriate techniques to highlight these different levels of modeling is metamodeling and, more precisely, the software architecture modeling frame that implements the four levels of modeling proposed by the Object Management Group (OMG) [OMG 03]. The highest level is represented by the meta-object facility (MOF) meta-metamodel [MOF 02]. The goal of MOF is to define a single standard language for describing metamodels. It consists of a relatively small set (although not minimal) of “object” concepts for modeling this type of information. For example, unified modeling language (UML) is one of the metamodels described using MOF. Other notations for object metamodeling also exist, including KM3 [JOU 06], ECORE [BUD 08] and Kermeta [MUL 05].
In software architecture field, very few works have adopted the technique of metamodeling. Architecture Meta-Language (AML) [WIL 99] is the first attempt to offer a base that provides ADLs with a solid semantic base. AML only defines the statements of three basic constructions: components, types and relationships.
In this chapter, we propose an approach to model software architectures at different levels of abstraction using a meta-metamodel called Meta Architecture Description Language (MADL) [SME 05a].
In this context, MADL, like MOF, works as a unified solution for architectural representations. In addition, it allows easy handling, using, reusing and developing of software architectures. It reduces the complexity of software architectures and facilitates the transformation and transition of architectures from one to another. In addition, this meta-metamodel has a minimal core whose purpose is to define the concepts and basic relations, such as metacomponents, metaconnectors and metainterfaces. Based on this meta-metamodel, we describe a strategy for mapping of ADL concepts to UML concepts (particularly UML 2.0). We used UML as an example of mapping because of its popularity in the industrial world. This strategy is carried out in four steps: instantiating MADL by the selected ADL, mapping MADL to MOF, instantiating MOF by UML and, finally, the selection of the most appropriate UML concepts for the selected ADL. This strategy reduces the number of concepts obtained. As an example, we will show how to map the ADL Acme [GAR 00] to UML 2.0.
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
