Composition of Software Architectures Christos Kloukinas

Total Page:16

File Type:pdf, Size:1020Kb

Composition of Software Architectures Christos Kloukinas Composition of Software Architectures Christos Kloukinas To cite this version: Christos Kloukinas. Composition of Software Architectures. Computer Science [cs]. Université Rennes 1, 2002. English. tel-00469412 HAL Id: tel-00469412 https://tel.archives-ouvertes.fr/tel-00469412 Submitted on 1 Apr 2010 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Composition of Software Architectures - Ph.D. Thesis - - Presented in front of the University of Rennes I, France - - English Version - Christos Kloukinas Jury Members : Jean-Pierre Banâtre Jacky Estublier Cliff Jones Valérie Issarny Nicole Lévy Joseph Sifakis February 12, 2002 Résumé Les systèmes informatiques deviennent de plus en plus complexes et doivent offrir un nombre croissant de propriétés non fonctionnelles, comme la fiabi- lité, la disponibilité, la sécurité, etc.. De telles propriétés sont habituellement fournies au moyen d’un intergiciel qui se situe entre le matériel (et le sys- tème d’exploitation) et le niveau applicatif, masquant ainsi les spécificités du système sous-jacent et permettant à des applications d’être utilisées avec dif- férentes infrastructures. Cependant, à mesure que les exigences de propriétés non fonctionnelles augmentent, les architectes système se trouvent confron- tés au cas où aucun intergiciel disponible ne fournit toutes les propriétés non fonctionnelles visées. Ils doivent alors développer l’infrastructure intergicielle nécessaire à partir de rien, voire essayer de réutiliser les multiples infrastruc- tures intergicielles existantes, où chacune fournit certaines des propriétés exigées. Dans cette thèse, nous présentons une méthode pour composer automati- quement des architectures d’intergiciels, afin d’obtenir une architecture qui fournit les propriétés non fonctionnelles visées. Pour arriver à l’automatisa- tion de la composition, nous montrons d’abord comment on peut reformuler ce problème sous la forme d’un problème de model-checking. Cette reformu- lation donne une définition formelle au problème de la composition et nous permet de réutiliser les méthodes et outils qui ont été développés pour le model-checking. Nous présentons ensuite des améliorations à notre méthode de base, utilisées pour éviter le problème d’explosion d’états dans le cas de la composition d’architectures de grande taille. Nous montrons comment il est possible d’exploiter l’information structurelle, présente dans les architec- tures d’intergiciels que nous souhaitons composer, afin de réduire l’espace de recherche analysé. Ceci nous permet d’obtenir une méthode pour composer les architectures d’intergiciels qui peut être automatisée et donc utilisée en pratique. Nous proposons ainsi une solution à l’analyse systématique de diffé- rentes compositions et offrons un outil pour aider la construction de systèmes de qualité. ii Résumé Abstract Computer systems are becoming more and more complex and need to pro- vide an ever increasing number of non-functional properties, such as reli- ability, availability, security, etc.. Such non-functional properties are usually provided to a system by general mechanisms called middleware. They are thus called, to illustrate that they are supposed to be used between the hardware (and operating system) and the application software levels, masking therefore the differences of the particular underlying system and allowing applications to be used with different underlying infrastructures. However, as the need for more non-functional properties increases, system architects are soon faced with the case where there is no available middleware that will provide all the required non-functional properties. Then, they either have to develop the needed middleware infrastructure from scratch or try to reuse multiple exist- ing middleware infrastructures, where each one provides some of the required properties. In this thesis, we present a method for automatically composing middle- ware architectures, in order to obtain an architecture which provides certain properties. To arrive at the automation of composition, we first show how one can reformulate this problem into a model-checking problem. This reformula- tion gives a formal definition to the composition problem and allows us to reuse the methods and tools which have been developed for model-checking. Then, we present subsequent refinements to our basic method, used for avoiding the state-explosion problem for architectures of a larger size. To avoid state- explosion, we show how it is possible to retrieve the structural information, present in the initial middleware architectures we wish to compose, and ex- ploit it for constraining the search-space we have to investigate. Additional information present in the initial architectures constrains even further the search-space, thus allowing us to obtain a method for composing middleware architectures which can be used in practise. In this way, we facilitate the sys- tematic study and analysis of the different compositions and provide a method for constructing quality systems. iv Abstract Στους γονείς µου Κωνσταντίνο & Νέλλη, την αδερφή µου Μαριάννα & σε όλους τους δασκάλους που είχα. To my parents Konstantinos & Nelly, to my sister Marianna & to all the teachers I had. «Αλησµονώ και χαίροµαι» (Πολυφωνικό της Ηπείρου) Αλησµονώ και χαίροµαι, ϑυµιούµαι και λυπιούµαι, ϑυµήθηκα την ξενιτιά και ϑέλω να πηγαίνω. - Σήκου µάνα µ’ και ύµωσε καθάριο παξιµάδι. Με πόνους άζει το νερό, µε δάκρυα το υµώνει και µε πολύ παράπονο άζει ϕωτιά στο ϕούρνο. - ΄Αργησε ϕούρε να καείς κι εσύ ψωµί να γένεις, για να περάσει ο κερατζής κι ο γιός µου ν’ αποµείνει. Acknowledgements First of all I would like to thank Prof. Jean-Pierre Banâtre from the Uni- versité de Rennes I, Dr. Jacky Estublier from CNRS, Prof. Cliff Jones from the University of Newcastle upon Tyne, Prof. Nicole Lévy from the Université de Versailles St-Quentin en Yvelines, and, Dr. Joseph Sifakis from CNRS, for honouring me by accepting to be members of my thesis committee and for their invaluable comments on my work and its perspectives. This work would have not been possible without the help, guidance and support of my advisor Dr. Valérie Issarny. I could never thank her enough for these three and a half years that I have passed working with her. I would also like to thank the members of the Solidor INRIA research project, both at Rennes where I started and at Rocquencourt. Among these, I wish to thank three persons in particular: Dr. Michel Banâtre, the leader of the Solidor project who fostered a friendly and inspiring working environment, Malika Boukenafed who was kind enough to help me correct the French part of my thesis and Teresa Higuera for all the good time we had while sharing an office and above all her patience and good heart. It was a pleasure and an honour to have worked with them all; I wish them all the best. This work was done while I was at INRIA, without the financial and tech- nical support of which it would have been impossible. I would also like to express my gratitude for my dear friends, Dr. Apostolos Zarras, Dr. Titos Saridakis and Dr. Apostolos Kountouris. They are the best friends a person could wish for. At this moment I would also like to express my gratitude to all the teachers I had. Without them and their help I could not have reached here. Finally, I would like to thank my parents, Konstantinos & Nelly, as well as, my sister Marianna, for their love and continuous support through all these years. viii Acknowledgements Contents Résumé i Abstract iii Acknowledgements vii Contents xii List of Figures xiii List of Tables xv List of Listings xvii I Introduction 1 I.1 Component-Based Software Engineering . 5 I.2 Composing Software Architectures . 7 I.3 Document Structure . 9 x Contents II Basic Concepts of Software Architectures 11 II.1 General Notions . 11 II.2 Notions Specific to Software Architectures . 13 II.2.1 Middleware Architectures . 16 II.3 Representation of Software Architectures . 18 II.3.1 Overview of Existing ADLs . 18 II.3.1.1 Connectors as First Class Architectural Elements ............................ 19 II.3.1.2 Underlying Formalism for an ADL . 20 II.3.2 Model Checkers . 21 II.3.3 An ADL for Composing Middleware Architectures . 23 II.3.3.1 A Graphical ADL for Middleware Architectures 27 II.4 Composition of Middleware Architectures . 34 III Related Work 39 III.1 Specifications . 39 III.2 Composition and Software Architectures . 41 III.2.1 Vertical/Horizontal Composition . 42 III.2.2 Feature Composition in Telephone Systems . 44 III.2.3 Architectural Views . 46 III.2.3.1 Inconsistent Views . 49 III.2.4 Architectural Unification . 51 III.2.5 Connector Transformations . 52 III.2.5.1 Aspect-Oriented Programming . 53 III.3 Composition of Modules . 54 III.3.1 Composition of Linear Architectures . 55 IV Composition as Model Checking 57 IV.1 Composing Middleware Architectures . 57 IV.1.1 Searching for Valid Compositions . 60 IV.2 Composition of Architectures as a Model Checking Problem . 63 Contents xi IV.2.1 Composing with the Spin Model Checker . 64 IV.2.1.1 Composition in Two Stages . 64 IV.2.1.2 The Binder ..................... 65 IV.3 Assessment . 67 V Constraining the Search Space 71 V.1 Constraining Through Structure . 71 V.1.1 Formal Definition of Structural Constraints . 72 V.1.1.1 Constraints for Linear Architectures . 72 V.1.1.2 Constraints for Non-Linear Architectures . 75 V.2 Constraints and Model Checking . 78 V.2.1 Transforming Structural Constraints to a Compatibility Relation . 78 V.2.2 An Example of Composing Architectures - I .
Recommended publications
  • ASP.NET MVC with Entity Framework and CSS
    ASP.NET MVC with Entity Framework and CSS Lee Naylor ASP.NET MVC with Entity Framework and CSS Lee Naylor Newton-le-Willows, Merseyside United Kingdom ISBN-13 (pbk): 978-1-4842-2136-5 ISBN-13 (electronic): 978-1-4842-2137-2 DOI 10.1007/978-1-4842-2137-2 Library of Congress Control Number: 2016952810 Copyright © 2016 by Lee Naylor This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Configuring Metadata Manager Privileges and Permissions
    Configuring Metadata Manager Privileges and Permissions © Copyright Informatica LLC 1993, 2021. Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica LLC. All other company and product names may be trade names or trademarks of their respective owners and/or copyrighted materials of such owners. Abstract You can configure privileges to allow users access to the features in Metadata Manager. You can configure permissions to allow access to resources or objects in Metadata Manager. This article describes the privileges and permissions that you can configure in Metadata Manager. Supported Versions • Metadata Manager 9.6.1 Table of Contents Introduction................................................................ 2 Users, Groups, Privileges, and Roles................................................ 3 Privileges ................................................................. 4 Catalog Privilege Group...................................................... 4 Load Privilege Group........................................................ 6 Model Privilege Group....................................................... 7 Security Privilege Group...................................................... 7 Permissions................................................................ 8 Types of Permissions........................................................ 9 Rules and Guidelines.......................................................
    [Show full text]
  • (Perry & Wolf 92) Software Architecture (Garlan & Shaw
    ICS 221, Winter 2001 Software Architecture Software Architecture (Perry & Wolf 92) “Architecture is concerned with the selection of architectural elements, their interactions, and the Software Architecture constraints on those elements and their interactions necessary to provide a framework in which to satisfy the requirements and serve as a basis for the design.” David S. Rosenblum ICS 221 “Design is concerned with the modularization and detailed interfaces of the design elements, their Winter 2001 algorithms and procedures, and the data types needed to support the architecture and to satisfy the requirements.” Software Architecture Software Architecture (Garlan & Shaw 93) (Shaw & Garlan 96) “Software architecture is a level of design that goes “The architecture of a software system defines beyond the algorithms and data structures of the that system in terms of computational computation; designing and specifying the overall components and interactions among those system structure emerges as a new kind of problem. Structural issues include gross organization and components. … In addition to specifying the global control structure; protocols for communication, structure and topology of the system, the synchronization, and data access; assignment of architecture shows the correspondence functionality to design elements; physical between the requirements and elements of distribution; composition of design elements; scaling the constructed system, thereby providing and performance; and selection among design some rationale for the design decisions.” alternatives.” Analogies with Differences Between Civil and Civil Architecture Software Architecture Civil Engineering and Civil Architecture “Software systems are like cathedrals—first we are concerned with the engineering and design of build them and then we pray.” civic structures (roads, buildings, bridges, etc.) — Sam Redwine ! Multiple views ! Civil: Artist renderings, elevations, floor plans, blueprints ! Physical vs.
    [Show full text]
  • Architectural Improvement of Display Viewer 5 Software
    Teemu Vähä-Impola Architectural Improvement of Display Viewer 5 Software Master’s Thesis in Information Technology November 6, 2020 University of Jyväskylä Faculty of Information Technology Author: Teemu Vähä-Impola Contact information: [email protected] Supervisors: PhD Raino Mäkinen, MSc Tommy Rikberg, and MSc Lauri Saurus Title: Architectural Improvement of Display Viewer 5 Software Työn nimi: Display Viewer 5 -ohjelmiston arkkitehtuurin parantaminen Project: Master’s Thesis Study line: Software Technology Page count: 76+1 Abstract: In this thesis, an improved architecture for Display Viewer 5 (DV5) software was studied. The new architecture would enforce MVVM architecture more strongly, make clearer divisions of the software’s parts and enhance maintainability and reusability of the software, thus making the software more customizable for new projects and suitable for the customers’ needs. As a result, the existing MVVM architecture was strengthened by enforcing division into models, views and viewmodels. In addition, redundant duplications were removed and certain code was divided into their own separate entities. Keywords: architecture, software engineering Suomenkielinen tiivistelmä: Tässä tutkielmassa Display Viewer 5 (DV5) -ohjelmistolle pyrittiin löytämään parempi arkkitehtuuri, jonka seurauksena huollettavuus ja uudelleenkäytet- tävyys kasvavat ja ohjelmiston kustomointi uusille asiakkaille helpottuu. Tuloksena päädyt- tiin vahvistamaan jo nykyistä MVVM-arkkitehtuuria tekemällä jokaiselle luokalle tarvitta- van arkkitehtuurin
    [Show full text]
  • Model and Tool Integration in High Level Design of Embedded Systems
    Model and Tool Integration in High Level Design of Embedded Systems JIANLIN SHI Licentiate thesis TRITA – MMK 2007:10 Department of Machine Design ISSN 1400-1179 Royal Institute of Technology ISRN/KTH/MMK/R-07/10-SE SE-100 44 Stockholm TRITA – MMK 2007:10 ISSN 1400-1179 ISRN/KTH/MMK/R-07/10-SE Model and Tool Integration in High Level Design of Embedded Systems Jianlin Shi Licentiate thesis Academic thesis, which with the approval of Kungliga Tekniska Högskolan, will be presented for public review in fulfilment of the requirements for a Licentiate of Engineering in Machine Design. The public review is held at Kungliga Tekniska Högskolan, Brinellvägen 83, A425 at 2007-12-20. Mechatronics Lab TRITA - MMK 2007:10 Department of Machine Design ISSN 1400 -1179 Royal Institute of Technology ISRN/KTH/MMK/R-07/10-SE S-100 44 Stockholm Document type Date SWEDEN Licentiate Thesis 2007-12-20 Author(s) Supervisor(s) Jianlin Shi Martin Törngren, Dejiu Chen ([email protected]) Sponsor(s) Title SSF (through the SAVE and SAVE++ projects), VINNOVA (through the Model and Tool Integration in High Level Design of Modcomp project), and the European Embedded Systems Commission (through the ATESST project) Abstract The development of advanced embedded systems requires a systematic approach as well as advanced tool support in dealing with their increasing complexity. This complexity is due to the increasing functionality that is implemented in embedded systems and stringent (and conflicting) requirements placed upon such systems from various stakeholders. The corresponding system development involves several specialists employing different modeling languages and tools.
    [Show full text]
  • Designing Software Architecture to Support Continuous Delivery and Devops: a Systematic Literature Review
    Designing Software Architecture to Support Continuous Delivery and DevOps: A Systematic Literature Review Robin Bolscher and Maya Daneva University of Twente, Drienerlolaan 5, Enschede, The Netherlands [email protected], [email protected] Keywords: Software Architecture, Continuous Delivery, Continuous Integration, DevOps, Deployability, Systematic Literature Review, Micro-services. Abstract: This paper presents a systematic literature review of software architecture approaches that support the implementation of Continuous Delivery (CD) and DevOps. Its goal is to provide an understanding of the state- of-the-art on the topic, which is informative for both researchers and practitioners. We found 17 characteristics of a software architecture that are beneficial for CD and DevOps adoption and identified ten potential software architecture obstacles in adopting CD and DevOps in the case of an existing software system. Moreover, our review indicated that micro-services are a dominant architectural style in this context. Our literature review has some implications: for researchers, it provides a map of the recent research efforts on software architecture in the CD and DevOps domain. For practitioners, it describes a set of software architecture principles that possibly can guide the process of creating or adapting software systems to fit in the CD and DevOps context. 1 INTRODUCTION designing new software architectures tailored for CD and DevOps practices. The practice of releasing software early and often has For clarity, before elaborating on the subject of been increasingly more adopted by software this SLR, we present the definitions of the concepts organizations (Fox et al., 2014) in order to stay that we will address: Software architecture of a competitive in the software market.
    [Show full text]
  • From Requirements to Design Specifications- a Formal Approach
    INTERNATIONAL DESIGN CONFERENCE - DESIGN 2010 Dubrovnik - Croatia, May 17 - 20, 2010. FROM REQUIREMENTS TO DESIGN SPECIFICATIONS- A FORMAL APPROACH W. Brace and K. Thramboulidis Keywords: requirements, requirements checklist, design specification, requirements formalization, model-centric requirements engineering 1. Introduction The traditional development process for mechatronic systems is criticized as inappropriate for the development of systems characterized by complexity, dynamics and uncertainty as is the case with today’s products. Software is playing an always increasing role in the development of these systems and it has become the evolving driver for innovations. It does not only implement a significant part of the functionality of today’s mechatronic systems, but it is also used to realize many of their competitive advantages [Thramboulidis 2009]. However, the current process is traditionally divided into software, electronics and mechanics, with every discipline to emphasize on its own approaches, methodologies and tools. Moreover, vocabularies used in processes and methodologies are different making the collaboration between the disciplines a great challenge. System development activities such as requirements and design specification, implementation and verification are well defined in software engineering. In terms of software engineering the term “design specification” is used to refer to the various models that are produced during the design process and describe the various models of the proposed solutions. Therefore, “design specifications” are descriptions of solution space while “analysis specifications” are descriptions of problem space. Analysis specifications include both requirements specifications but also the problem space structuring that is represented by analysis models such as class diagrams that capture the key concepts of the problem domain and in this sense they provide a specific structuring of the problem space.
    [Show full text]
  • Software Engineering (SE) 1
    Software Engineering (SE) 1 SE 352 | OBJECT-ORIENTED ENTERPRISE APPLICATION DEVELOPMENT SOFTWARE ENGINEERING | 4 quarter hours (Undergraduate) (SE) This course focuses on applying object-oriented techniques in the design and development of software systems for enterprise applications. Topics SE 325 | INTRODUCTION TO SOFTWARE ENGINEERING | 4 quarter hours include component architecture, such as Java Beans and Enterprise (Undergraduate) Java Beans, GUI components, such as Swing, database connectivity and This course introduces students to the activities performed at each object repositories, server application integration using technologies stage of the development process so that they can understand the full such as servlets, Java Server Pages, JDBC and RMI, security and lifecycle context of specific tasks such as coding and testing. Topics will internationalization. PREREQUISITE(S): CSC 301. include software development processes, domain modeling, requirements CSC 301 is a prerequisite for this class. elicitation and specification, architectural design and analysis, product SE 356 | SOFTWARE DEVELOPMENT FOR MOBILE AND WIRELESS and process level metrics, configuration management, quality assurance SYSTEMS | 4 quarter hours activities including user acceptance testing and unit testing, project (Undergraduate) management skills such as risk analysis, effort estimation, project This course will focus on the unique aspects of developing software release planning, and software engineering ethics. applications for mobile and wireless systems, such as personal digital CSC 301 or CSC 393 is a prerequisite for this class. assistant (PDA) devices and mobile phones. Topics will include user SE 330 | OBJECT ORIENTED MODELING | 4 quarter hours interface design for small screens with restricted input modalities, data (Undergraduate) synchronization for mobile databases as well as wireless programming Object-oriented modeling techniques for analysis and design.
    [Show full text]
  • SIGMOD Record, June 2018 (Vol
    SIGMOD Officers, Committees, and Awardees Chair Vice-Chair Secretary/Treasurer Juliana Freire Ihab Francis Ilyas Fatma Ozcan Computer Science & Engineering Cheriton School of Computer Science IBM Research New York University University of Waterloo Almaden Research Center Brooklyn, New York Waterloo, Ontario San Jose, California USA CANADA USA +1 646 997 4128 +1 519 888 4567 ext. 33145 +1 408 927 2737 juliana.freire <at> nyu.edu ilyas <at> uwaterloo.ca fozcan <at> us.ibm.com SIGMOD Executive Committee: Juliana Freire (Chair), Ihab Francis Ilyas (Vice-Chair), Fatma Ozcan (Treasurer), K. Selçuk Candan, Yanlei Diao, Curtis Dyreson, Christian S. Jensen, Donald Kossmann, and Dan Suciu. Advisory Board: Yannis Ioannidis (Chair), Phil Bernstein, Surajit Chaudhuri, Rakesh Agrawal, Joe Hellerstein, Mike Franklin, Laura Haas, Renee Miller, John Wilkes, Chris Olsten, AnHai Doan, Tamer Özsu, Gerhard Weikum, Stefano Ceri, Beng Chin Ooi, Timos Sellis, Sunita Sarawagi, Stratos Idreos, Tim Kraska SIGMOD Information Director: Curtis Dyreson, Utah State University Associate Information Directors: Huiping Cao, Manfred Jeusfeld, Asterios Katsifodimos, Georgia Koutrika, Wim Martens SIGMOD Record Editor-in-Chief: Yanlei Diao, University of Massachusetts Amherst SIGMOD Record Associate Editors: Vanessa Braganholo, Marco Brambilla, Chee Yong Chan, Rada Chirkova, Zachary Ives, Anastasios Kementsietsidis, Jeffrey Naughton, Frank Neven, Olga Papaemmanouil, Aditya Parameswaran, Alkis Simitsis, Wang-Chiew Tan, Pinar Tözün, Marianne Winslett, and Jun Yang SIGMOD Conference
    [Show full text]
  • Download Distributed Systems Free Ebook
    DISTRIBUTED SYSTEMS DOWNLOAD FREE BOOK Maarten van Steen, Andrew S Tanenbaum | 596 pages | 01 Feb 2017 | Createspace Independent Publishing Platform | 9781543057386 | English | United States Distributed Systems - The Complete Guide The hope is that together, the system can maximize resources and information while preventing failures, as if one system fails, it won't affect the availability of the service. Banker's algorithm Dijkstra's algorithm DJP algorithm Prim's algorithm Dijkstra-Scholten algorithm Dekker's algorithm generalization Smoothsort Shunting-yard algorithm Distributed Systems marking algorithm Concurrent algorithms Distributed Systems algorithms Deadlock prevention algorithms Mutual exclusion algorithms Self-stabilizing Distributed Systems. Learn to code for free. For the first time computers would be able to send messages to other systems with a local IP address. The messages passed between machines contain forms of data that the systems want to share like databases, objects, and Distributed Systems. Also known as distributed computing and distributed databases, a distributed system is a collection of independent components located on different machines that share messages with each other in order to achieve common goals. To prevent infinite loops, running the code requires some amount of Ether. As mentioned in many places, one of which this great articleyou cannot have consistency and availability without partition tolerance. Because it works in batches jobs a problem arises where if your job fails — Distributed Systems need to restart the whole thing. While in a voting system an attacker need only add nodes to the network which is Distributed Systems, as free access to the network is a design targetin a CPU power based scheme an attacker faces a physical limitation: getting access to more and more powerful hardware.
    [Show full text]
  • Introduction to Software Architecture
    Introduction to Software Architecture Imed Hammouda Chalmers | University of Gothenburg Who am I? • Associate Professor of Software Engineering, previously in Tampere, Finland • Research interests – Software Architecture, Open Source, Software Ecosystems, Software Development Methods and Tools, Variability Management • Developing and supporting open software architectures • Studying socio-technical dependencies in software development • Software ecosystems • Coordinates: [email protected], [email protected] • Room 416, floor 4, Jupiter building, Campus Lindholmen • Phone +46 31 772 60 40 Introduction to Software Architecture 2 • What is software architecture? • Architectural drivers • Addressing architectural drivers • Architectural views • Example system Introduction to Software Architecture 3 What is Software Architecture? • Software Architecture is the global organization of a software system, including – the division of software into subsystems/components, – policies according to which these subsystems interact, – the definition of their interfaces. T. C. Lethbridge & R. Laganière Introduction to Software Architecture 4 What is Software Architecture? • "The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them." Len Bass Introduction to Software Architecture 5 What is Software Architecture? • “fundamental concepts or properties of a system in its environment
    [Show full text]
  • Lecture Notes in Computer Science 1543 Edited by G
    Lecture Notes in Computer Science 1543 Edited by G. Goos, J. Hartmanis and J. van Leeuwen 3 Berlin Heidelberg New York Barcelona Hong Kong London Milan Paris Singapore Tokyo Serge Demeyer Jan Bosch (Eds.) Object-Oriented Technology ECOOP ’98 Workshop Reader ECOOP ’98 Workshops, Demos, and Posters Brussels, Belgium, July 20-24, 1998 Proceedings 13 Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors Serge Demeyer University of Berne Neubruckstr. 10, CH-3012 Berne, Switzerland E-mail: [email protected] Jan Bosch University of Karlskrona/Ronneby, Softcenter S-372 25 Ronneby, Sweden E-mail: [email protected] Cataloging-in-Publication data applied for Die Deutsche Bibliothek - CIP-Einheitsaufnahme Object-oriented technology : workshop reader, workshops, demos, and posters / ECOOP ’98, Brussels, Belgium, July 20 - 24, 1998 / Serge Demeyer ; Jan Bosch (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Hong Kong ; London ; Milan ; Paris ; Singapore ; Tokyo : Springer, 1998 (Lecture notes in computer science ; Vol. 1543) ISBN 3-540-65460-7 CR Subject Classification (1998): D.1-3, H.2, E.3, C.2, K.4.3, K.6 ISSN 0302-9743 ISBN 3-540-65460-7 Springer-Verlag Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag.
    [Show full text]