Lecture Notes in Computer Science 5581 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University, UK Takeo Kanade Carnegie Mellon University, Pittsburgh, PA, USA Josef Kittler University of Surrey, Guildford, UK Jon M. Kleinberg Cornell University, Ithaca, NY, USA Alfred Kobsa University of California, Irvine, CA, USA Friedemann Mattern ETH Zurich, Switzerland John C. Mitchell Stanford University, CA, USA Moni Naor Weizmann Institute of Science, Rehovot, Israel Oscar Nierstrasz University of Bern, Switzerland C. Pandu Rangan Indian Institute of Technology, Madras, India Bernhard Steffen University of Dortmund, Germany Madhu Sudan Massachusetts Institute of Technology, MA, USA Demetri Terzopoulos University of California, Los Angeles, CA, USA Doug Tygar University of California, Berkeley, CA, USA Gerhard Weikum Max-Planck Institute of Computer Science, Saarbruecken, Germany
Raffaela Mirandola Ian Gorton Christine Hofmeister (Eds.) Architectures for Adaptive Software Systems 5th International Conference on the Quality of Software Architectures, QoSA 2009 East Stroudsburg, PA, USA, June 24-26, 2009 Proceedings 13
Volume Editors Raffaela Mirandola Politecnico di Milano Dipartimento di Elettronica e Informazione Via Golgi 40, 20133 Milano, Italy E-mail: mirandola@elet.polimi.it Ian Gorton Pacific Northwest National Laboratory Computational and Information Sciences P.O. Box 999, MS: K7-90, Richland, WA 99352, USA E-mail: ian.gorton@pnl.gov Christine Hofmeister East Stroudsburg University Computer Science Department 200 Prospect Street, East Stroudsburg, PA 18301-2999, USA E-mail: chofmeister@po-box.esu.edu Library of Congress Control Number: 2009930684 CR Subject Classification (1998): D.2.11, D.3, C.4, B.8, D.4.8, D.2.4, F.4 LNCS Sublibrary: SL 2 Programming and Software Engineering ISSN 0302-9743 ISBN-10 3-642-02350-9 Springer Berlin Heidelberg New York ISBN-13 978-3-642-02350-7 Springer 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. Violations are liable to prosecution under the German Copyright Law. springer.com Springer-Verlag Berlin Heidelberg 2009 Printed in Germany Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India Printed on acid-free paper SPIN: 12696598 06/3180 543210
Preface Much of a software architect s life is spent designing software systems to meet a set of quality requirements. General software quality attributes include scalability, security, performance or reliability. Quality attribute requirements are part of an application s non-functional requirements, which capture the many facets of how the functional requirements of an application are achieved. Understanding, modeling and continually evaluating quality attributes throughout a project lifecycle are all complex engineering tasks which continue to challenge the software engineering scientific community. While we search for improved approaches, methods, formalisms and tools that are usable in practice and can scale to large systems, the complexity of the applications that the software industry is challenged to build is ever increasing. Thus, as a research community, there is little opportunity for us to rest on our laurels, as our innovations that address new aspects of system complexity must be deployed and validated. To this end the 5th International Conference on the Quality of Software Architectures (QoSA) 2009 focused on architectures for adaptive software systems. Modern software systems must often reconfigure their structure and behavior to respond to continuous changes in requirements and in their execution environment. In these settings, quality models are helpful at an architectural level to guide systematic model-driven software development strategies by evaluating the impact of competing architectural choices. At run time, quality models can play an important role in enabling calibration and validation of a system model to accurately reflect the properties of the executing system. This leads to the idea that architectural models should continue to exist at run time to facilitate the necessary dynamic changes that can support self-adaptation of the implemented system. In so doing, the conference continued QoSA s tradition of using software architectures to develop and evolve high-quality software systems. In line with a broad interest, QoSA 2009 received 33 submissions. From these submissions, 13 were accepted as long papers after a careful peer-review process followed by an online Program Committee discussion. This resulted in an acceptance rate of 39%. The selected technical papers are published in this volume. For the third time, QoSA 2009 was held as part of the conference series Federated Events on Component- Based Software Engineering and Software Architecture (COMPARCH). The federated events were QoSA 2009, the 12th International Symposium on Component-Based Software Engineering (CBSE 2009). Together with COMPARCH s Industrial Experience Report Track and the co-located Workshop on Component-Oriented Programming (WCOP 2009), COMPARCH provided a broad spectrum of events related to components and architectures. By integrating QoSA s and CBSE s technical programs in COMPARCH 2009, both conferences elaborated their successfull collaboration thus demonstrating the close relationship between software architectures and their constituting software components. Among the many people who contributed to the success of QoSA 2008, we would like to thank the members of the Program Committees for their valuable work during
VI Preface the review process, as well as David Garlan and Kevin Sullivan for their COMPARCH keynotes. Additionally, we thank Alfred Hofmann from Springer for his support in reviewing and publishing the proceedings volume. April 2009 Ian Gorton Raffaela Mirandola Christine Hofmeister
Organization QoSA 2009 (Part of COMPARCH 2009) General Chair Christine Hofmeister East Stroudsburg University, Pennsylvania, USA Program Committee Chairs Ian Gorton Pacific Northwest National Laboratory, USA Raffaela Mirandola Program Committee Danilo Ardagna Colin Atkinson Muhammad Ali Babar Len Bass Steffen Becker Jan Bosch Ivica Crnkovic Rogerio De Lemos Antinisca Di Marco Carlo Ghezzi Aniruddha Gokhale Vincenzo Grassi Jens Happe Darko Huljenic Samuel Kounev Heiko Koziolek Philippe Kruchten Nenad Medvidovic Jose Merseguer Robert Nord Boyana Norris Sven Overhage Dorina Petriu Frantisek Plasil Sasikumar Punnekkat Ralf Reussner Roshanak Roshandel Bernhard Rumpe University of Mannheim, Germany Lero, Ireland Software Engineering Institute, USA FZI, Germany Intuit, USA Mälardalen University, Sweden University of Kent, UK Universitá dell Aquila, Italy Vanderbilt University, USA Universitá Roma "Tor Vergata", Italy SAP/ ERICSSON, Croatia ABB, Germany University of British Columbia, Canada University of Southern California, USA University of Saragoza, Spain Software Engineering Institute, USA Argonne National Laboratory, USA University of Augsburg, Germany Carleton University, Canada Charles University, Czech Republic Mälardalen University, Sweden Seattle University, USA University of Technology Braunschweig, Germany
VIII Organization Antonino Sabetta Raghu Sangwan Anne-Marie Sassen Jean-Guy Schneider Judith Stafford Clemens Szyperski Petr Tuma Hans van Vliet Wolfgang Weck Michel Wermelinger Murray Woodside Steffen Zschaler Co-reviewers Vlastimil Babka Simona Bernardi Hongyu Pei-Breivold Franz Brosch Lubos Bulej Radu Dobrin Thomas Goldschmidt Michael Kuperberg Diego Perez Matteo Rossi Paola Spoletini Giordano Tamburrelli ISTI-CNR Pisa, Italy Penn State, USA EU Commission Swinburne University, Australia Tufts University, USA Microsoft, USA Charles University, Czech Republic Vrije Universiteit, The Netherlands Independent Software Architect, Switzerland Open University, UK Carleton University, Canada Lancaster University, UK Charles University, Czech Republic Universita degli Studi di Torino, Italy Mälardalen University, Sweden Charles University, Czech Republic Mälardalen University, Sweden University of Saragoza, Spain
Table of Contents Model-Driven Quality Analysis A Model-Based Framework to Design and Debug Safe Component-Based Autonomic Systems... 1 Guillaume Waignier, Anne-Françoise Le Meur, and Laurence Duchien Applying Model Transformations to Optimizing Real-Time QoS Configurations in DRE Systems... 18 Amogh Kavimandan and Aniruddha Gokhale Automated Architecture Consistency Checking for Model Driven Software Development... 36 Matthias Biehl and Welf Löwe Architectural Performance Prediction Improved Feedback for Architectural Performance Prediction Using Software Cartography Visualizations... 52 Klaus Krogmann, Christian M. Schweda, Sabine Buckl, Michael Kuperberg, Anne Martens, and Florian Matthes Predicting Performance Properties for Open Systems with KAMI... 70 Carlo Ghezzi and Giordano Tamburrelli Compositional Prediction of Timed Behaviour for Process Control Architecture... 86 Kenneth Chan and Iman Poernomo Timed Simulation of Extended AADL-Based Architecture Specifications with Timed Abstract State Machines... 101 Stefan Björnander, Lars Grunske, and Kristina Lundqvist Architectural Knowledge Achieving Agility through Architecture Visibility... 116 Carl Hinsman, Neeraj Sangal, and Judith Stafford Successful Architectural Knowledge Sharing: Beware of Emotions... 130 Eltjo R. Poort, Agung Pramono, Michiel Perdeck, Viktor Clerc, and Hans van Vliet
X Table of Contents Toward a Catalogue of Architectural Bad Smells... 146 Joshua Garcia, Daniel Popescu, George Edwards, and Nenad Medvidovic Case Studies and Experience Reports On the Consolidation of Data-Centers with Performance Constraints... 163 Jonatha Anselmi, Paolo Cremonesi, and Edoardo Amaldi Evolving Industrial Software Architectures into a Software Product Line: A Case Study... 177 Heiko Koziolek, Roland Weiss, and Jens Doppelhamer Adaptive Application Composition in Quantum Chemistry... 194 Li Li, Joseph P. Kenny, Meng-Shiou Wu, Kevin Huck, Alexander Gaenko, Mark S. Gordon, Curtis L. Janssen, Lois Curfman McInnes, Hirotoshi Mori, Heather M. Netzloff, Boyana Norris, and Theresa L. Windus Author Index... 213