Lecture Notes in Computer Science 2863 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen
3 Berlin Heidelberg New York Hong Kong London Milan Paris Tokyo
Perdita Stevens Jon Whittle Grady Booch (Eds.) «UML» 2003 The Unified Modeling Language Modeling Languages andapplications 6th International Conference San Francisco, CA, USA, October 20-24, 2003 Proceedings 13
Volume Editors Perdita Stevens Laboratory for Foundations of Computer Science University of Edinburgh JCMB, King s Buildings Mayfield Road, Edinburgh EH9 3JZ, UK E-mail: Perdita.Stevens@ed.ac.uk Jon Whittle QSS Group Inc., NASA Ames Research Center MS 269-2, Moffett Field, CA 94035, USA E-mail: jonathw@email.arc.nasa.gov Grady Booch IBM Rational P.O. Box 9027, Boulder, CO 80301-9027, USA E-mail: gbooch@us.ibm.com Cataloging-in-Publication Data applied for A catalog record for this book is available from the Library of Congress Bibliographic information published by Die Deutsche Bibliothek Die Deutsche Bibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data is available in the Internet at <http://dnb.ddb.de>. CR Subject Classification (1998): D.2, D.3, K.6, I.6 ISSN 0302-9743 ISBN 3-540-20243-9 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. Violations are liable for prosecution under the German Copyright Law. Springer-Verlag Berlin Heidelberg New York a member of BertelsmannSpringer Science+Business Media GmbH http://www.springer.de Springer-Verlag Berlin Heidelberg 2003 Printed in Germany Typesetting: Camera-ready by author, data conversion by PTP-Berlin GmbH Printed on acid-free paper SPIN 10961476 06/3142 543210
Preface The past year has been an eventful one for those interested in software modeling. The first major revision of the Unified Modeling Language, UML2.0, is in the process of adoption by the Object Management Group (OMG), and it makes many long-desired additions and improvements to UML. At the same time, it expands what was already a large language. A challenge for both practitioners and researchers is to help smooth the adoption of this new language. Increasingly, attention is being paid to the use of specialized languages, often profiles of UML, appropriate for different purposes; this is one way to make UML less overwhelming. Accordingly, the focus of the UML conference is gradually expanding from UML to software modeling in general. Simultaneously, model-driven development is being pursued as a way of increasing the benefits from modeling throughout the software development process. Gradually, it is developing from a set of slogans into a reality. Many of the papers in this volume are concerned, directly or indirectly, with how to make modeling, rather than coding, the heart of software development, and how to realize the resulting benefits of higher-level thinking. Much work remains to be done. The UML series of conferences is the leading forum for researchers and practitioners to work together to present, discuss and develop innovative ideas about UML and related technologies. This conference, the sixth in the series, presented an ideal opportunity to advance the vision of the future of UML and of model-driven development, and to continue to enrich our understanding of how to implement, apply and develop UML, leading to innovations both in research and in industrial practice. In total 168 abstracts and 143 papers were submitted to this year s conference, of which 25 research papers, 4 short tool papers and 1 short experience paper were selected by the program committee for presentation. Two panels were also presented, one on UML2.0 and one taking a broader perspective on modeling languages. As in previous years, this year s conference included a twoday tutorial and workshop session, in which 5 tutorials and a record 9 workshops were scheduled. The primary purpose of these sessions was to provide a more informal forum for discussing state-of-the-art research in modeling languages, especially UML. A short description of the workshops and tutorials is in these proceedings, and further details can be found at the conference website: http://www.umlconference.org/. We would like to express our deepest appreciation to the authors of submitted papers, tutorials, and workshops, and to the program committee members and reviewers who did an outstanding job in selecting the very best papers for presentation. We would also like to thank Ana Moreira who chaired the workshop selection process, João Araújo who chaired the tutorial selection process, and our two panel chairs, Bran Selic and Steve Mellor. We are grateful to Peter
VI Coad, Nicolas Rouquette and Martin Fowler for agreeing to present invited talks at the conference. We thank Jennifer Tenzer for help with running the electronic submission and conference management system, and the Laboratory for Foundations of Computer Science at the University of Edinburgh for financially supporting this help. We used CyberChair (http://www.cyberchair.org); we thank Julian Bradfield for advice on adapting it for our particular needs. We thank Sherif Yacoub for acting as Local Arrangements Chair, Jean-Michel Bruel and Geri Georg for their work as Publicity Chairs, Gilda Pour for hers as Tool Exhibition Chair, and Kathy Krell, the Registration Chair. We would also like to thank the UML Steering Committee for their advice. In particular, its chair Stuart Kent, Jean-Marc Jézéquel, who was the Program Committee Chair for UML 2002, and Heinrich Hussmann, UML 2002 Conference Chair, gave invaluable advice on various aspects of the running of the conference. July 2003 Perdita Stevens UML 2003 Program Chair Jon Whittle UML 2003 Conference Chair Grady Booch UML 2003 General Chair
Organization Executive Committee General Chair Conference Chair Program Chair Tutorial Chair Workshop Chair Grady Booch (IBM Rational, USA) Jon Whittle (QSS/NASA AMES, USA) Perdita Stevens (University of Edinburgh, UK) João Araújo (New University of Lisbon, Portugal) Ana Moreira (New University of Lisbon, Portugal) Organizing Team Publicity Chairs Local Arrangements Chair Tools Exhibition Chair Registration Chair Jean-Michel Bruel (University of Pau, France) Geri Georg (Colorado State University, USA) Sherif Yacoub (Hewlett-Packard Laboratories, USA) Gilda Pour (San Jose State University, USA) Kathy Krell (Colorado State University, USA) Program Committee Colin Atkinson (Germany) Jean Bézivin (France) Marko Boger (Germany) Ruth Breu (Austria) Lionel Brand (Canada) David Bustard (UK) Alessandra Cavarra (UK) John Daniels (UK) Stéphane Ducasse (Switzerland) Gregor Engels (Germany) Andy Evans (UK) Robert France (USA) Martin Gogolla (Germany) Jeff Gray (USA) Constance Heitmeyer (USA) Brian Henderson-Sellers (Australia) Heinrich Hussmann (Germany) Jean-Marc Jézéquel (France) Haim Kilov (USA) Cris Kobryn (USA) Tim Lethbridge (Canada) Ana Moreira (Portugal) Steve Mellor (USA) Pierre-Alain Muller (France) Ernesto Pimentel Sanchez (Spain) Gianna Reggio (Italy) Bernhard Rumpe (Germany) Bran Selic (Canada) Keng Siau (USA) Jos Warmer (The Netherlands) Alain Wegmann (Switzerland) Alan Wills (UK)
VIII Organization Sponsors ACM Special Interest Group on Software Engineering http://www.acm.org IEEE Computer Society http://www.ieee.com Corporate Donors IBM Rational http://www.rational.com QSS Group, Inc. http://www.qssgroupinc.com NASA OSMA, Software Assurance Research Program http://www.ivv.nasa.gov/business\ newline/research/sarp/ Academic Supporters Laboratory for Foundations of Computer Science, School of Informatics, University of Edinburgh http://www.lfcs.ed.ac.uk
Organization IX Referees Aditya Agrawal João Araújo Egidio Astesiano Pavel Balabko Marc Balcer Benoit Baudry Hubert Baumeister Julian Bradfield Edna Braun Klaus Burger Catherine Canevet Fei Cao Alexey Cherchago Manuel Diaz Martin Eberle Massimo Felici Juliana Küster Filipe Stephan Flake Frederic Fondement Francisco J. Galan Maria del Mar Gallardo Geri Georg Sudipto Ghosh Stephen Gilmore Jaime Gomez Michael Hafner Abdelwahab Hamou-Lhadj Michel Hassenforder Jan Hendrik Hausmann Aoife Hegarty Loïc Hélouët Shui-Ming Ho Chris Holmes Thomas Jensen Claude Jard Falk Kemmel Rana Khartabil Jochen Kuester Yvan Labiche Yves Le Traon Luis Llopis Sten Loecher Monika Maidl Antonio Maña Girish Maskeri Katharina Mehner Pedro Merino Jose Antonio Montenegro Henry Muccini Adam Murray Andrey Naumenko Oscar Pastor Cesar A. Gonzalez Perez Simon Pickin Andreas Pleuss Noël Plouzeau Damien Pollet Gil Regev Elvinia Riccobene Simone Roettger Suman Roychoudhury Paul Sammut Stefan Sauer Patrizia Scandurra Devon Simmonds Premkumar Somasundaram Jonathan Sprinkle Philippe Studer Rajesh Sudarsan Gerson Sunyé Jennifer Tenzer Jean Philippe Thibaut Bernard Thirion Sebastian Thöne Bhuvan Unhelkar Antonio Vallecillo Ed Wegner James Willans Hui Wu Roel Wuyts Chuanxi Xu Chunmin Yang Wei Zhao Tewfik Ziadi
Table of Contents Inivited Talk 1 Agile Processes: Developing Your Own Secret Recipes... 1 Peter Coad Practical Model Management Difference and Union of Models... 2 Marcus Alanen, Ivan Porres GREAT: UML Transformation Tool for Porting Middleware Applications... 18 Alexander Christoph, Matthias M. Müller Model-Centric Engineering with the Evolution and Validation Environment... 31 Jörn Guy Süß, Andreas Leicher, Herbert Weber, Ralf-D. Kutsche Time and Quality of Service Representing Temporal Information in UML... 44 Jordi Cabot, Antoni Olivé, Ernest Teniente Formal Semantics of UML with Real-Time Constructs... 60 Subash Shankar, Sinan Asa A QoS-Oriented Extension of UML Statecharts... 76 David N. Jansen, Holger Hermanns, Joost-Pieter Katoen Short Tool Papers CheckVML: A Tool for Model Checking Visual Modeling Languages... 92 Ákos Schmidt, Dániel Varró A Workbench to Experiment on New Model Engineering Applications... 96 Ralph-Johan Back, Dag Björklund, Johan Lilius, Luka Milovanov, Ivan Porres ProGUM-Web: Tool Support for Model-Based Development of Web Applications... 101 Marc Lohmann, Stefan Sauer, Tim Schattkowsky
XII Table of Contents Composition and Architecture On the Key Role of Compositioning Object-Oriented Modelling... 106 Friedrich Steimann, Jens Gößner, Thomas Mück Compositional and Relational Reasoning during Class Abstraction... 121 Alexander Egyed Encoding Informal Architectural Descriptions with UML: An Experience Report... 138 Yaojin Yang, Jianli Xu Inivited Talk 2 UML/MDA Reality Check: Heterogenous Architecture Style... 143 Nicolas F. Rouquette Transformation Towards Automating Source-Consistent UML Refactorings... 144 Pieter Van Gorp, Hans Stenten, Tom Mens, Serge Demeyer Model Refactorings as Rule-Based Update Transformations... 159 Ivan Porres Reflective Model Driven Engineering... 175 Jean Bézivin, Nicolas Farcet, Jean-Marc Jézéquel, Benoît Langlois, Damien Pollet The Web A Model-Driven Runtime Environment for Web Applications... 190 Joerg Pleumann, Stefan Haustein Using UML and XMI for Generating Adaptive Navigation Sequences in Web-Based Systems... 205 Peter Dolog, Wolfgang Nejdl Platform Independent Web Application Modeling... 220 Pierre-Alain Muller, Philippe Studer, Jean Bézivin Testing and Validation Rigorous Testing by Merging Structural and Behavioral UML Representations... 234 Orest Pilskalns, Anneliese Andrews, Sudipto Ghosh, Robert France Towards Automated Support for Deriving Test Data from UML Statecharts... 249 Lionel C. Briand, Jim Cui, Yvan Labiche
Table of Contents XIII Validation of UML and OCL Models by Automatic Snapshot Generation... 265 Martin Gogolla, Jörn Bohling, Mark Richters Improving UML/OCL A Critique of UML s Definition of the Use-Case Class... 280 Sadahiro Isoda Modelling Database Views with Derived Classes in the UML/OCL-Framework... 295 Hermann Balsters An OCL Extension for Low-Coupling Preserving Contracts... 310 Isabel Nunes Invited Talk 3 What Is the Point of the UML?... 325 Martin Fowler Consistency Using Description Logic to Maintain Consistency between UML Models... 326 Ragnhild Van Der Straeten, Tom Mens, Jocelyn Simmonds, Viviane Jonckers Modeling and Testing Legacy Data Consistency Requirements... 341 Jan Pettersen Nytun, Christian S. Jensen The Consistency Workbench: A Tool for Consistency Management in UML-Based Development... 356 Gregor Engels, Reiko Heckel, Jochen M. Küster Methodology Developing Safety-Critical Systems with UML... 360 Jan Jürjens Consistent and Complete Access Control Policies in Use Cases... 373 Khaled Alghathbar, Duminda Wijesekera STAIRS - Steps to Analyze Interactions with Refinement Semantics... 388 Øystein Haugen, Ketil Stølen Workshops and Tutorials Workshops at the UML 2003 Conference... 403 Ana Moreira
XIV Table of Contents Tutorials at the UML 2003 Conference... 410 João Araújo Author Index... 415
Preface The past year has been an eventful one for those interested in software modeling. The first major revision of the Unified Modeling Language, UML2.0, is in the process of adoption by the Object Management Group (OMG), and it makes many long-desired additions and improvements to UML. At the same time, it expands what was already a large language. A challenge for both practitioners and researchers is to help smooth the adoption of this new language. Increasingly, attention is being paid to the use of specialized languages, often profiles of UML, appropriate for different purposes; this is one way to make UML less overwhelming. Accordingly, the focus of the UML conference is gradually expanding from UML to software modeling in general. Simultaneously, model-driven development is being pursued as a way of increasing the benefits from modeling throughout the software development process. Gradually, it is developing from a set of slogans into a reality. Many of the papers in this volume are concerned, directly or indirectly, with how to make modeling, rather than coding, the heart of software development, and how to realize the resulting benefits of higher-level thinking. Much work remains to be done. The UML series of conferences is the leading forum for researchers and practitioners to work together to present, discuss and develop innovative ideas about UML and related technologies. This conference, the sixth in the series, presented an ideal opportunity to advance the vision of the future of UML and of model-driven development, and to continue to enrich our understanding of how to implement, apply and develop UML, leading to innovations both in research and in industrial practice. In total 168 abstracts and 143 papers were submitted to this year s conference, of which 25 research papers, 4 short tool papers and 1 short experience paper were selected by the program committee for presentation. Two panels were also presented, one on UML2.0 and one taking a broader perspective on modeling languages. As in previous years, this year s conference included a twoday tutorial and workshop session, in which 5 tutorials and a record 9 workshops were scheduled. The primary purpose of these sessions was to provide a more informal forum for discussing state-of-the-art research in modeling languages, especially UML. A short description of the workshops and tutorials is in these proceedings, and further details can be found at the conference website: http://www.umlconference.org/. We would like to express our deepest appreciation to the authors of submitted papers, tutorials, and workshops, and to the program committee members and reviewers who did an outstanding job in selecting the very best papers for presentation. We would also like to thank Ana Moreira who chaired the workshop selection process, João Araújo who chaired the tutorial selection process, and our two panel chairs, Bran Selic and Steve Mellor. We are grateful to Peter
VI Coad, Nicolas Rouquette and Martin Fowler for agreeing to present invited talks at the conference. We thank Jennifer Tenzer for help with running the electronic submission and conference management system, and the Laboratory for Foundations of Computer Science at the University of Edinburgh for financially supporting this help. We used CyberChair (http://www.cyberchair.org); we thank Julian Bradfield for advice on adapting it for our particular needs. We thank Sherif Yacoub for acting as Local Arrangements Chair, Jean-Michel Bruel and Geri Georg for their work as Publicity Chairs, Gilda Pour for hers as Tool Exhibition Chair, and Kathy Krell, the Registration Chair. We would also like to thank the UML Steering Committee for their advice. In particular, its chair Stuart Kent, Jean-Marc Jézéquel, who was the Program Committee Chair for UML 2002, and Heinrich Hussmann, UML 2002 Conference Chair, gave invaluable advice on various aspects of the running of the conference. July 2003 Perdita Stevens UML 2003 Program Chair Jon Whittle UML 2003 Conference Chair Grady Booch UML 2003 General Chair
Organization Executive Committee General Chair Conference Chair Program Chair Tutorial Chair Workshop Chair Grady Booch (IBM Rational, USA) Jon Whittle (QSS/NASA AMES, USA) Perdita Stevens (University of Edinburgh, UK) João Araújo (New University of Lisbon, Portugal) Ana Moreira (New University of Lisbon, Portugal) Organizing Team Publicity Chairs Local Arrangements Chair Tools Exhibition Chair Registration Chair Jean-Michel Bruel (University of Pau, France) Geri Georg (Colorado State University, USA) Sherif Yacoub (Hewlett-Packard Laboratories, USA) Gilda Pour (San Jose State University, USA) Kathy Krell (Colorado State University, USA) Program Committee Colin Atkinson (Germany) Jean Bézivin (France) Marko Boger (Germany) Ruth Breu (Austria) Lionel Brand (Canada) David Bustard (UK) Alessandra Cavarra (UK) John Daniels (UK) Stéphane Ducasse (Switzerland) Gregor Engels (Germany) Andy Evans (UK) Robert France (USA) Martin Gogolla (Germany) Jeff Gray (USA) Constance Heitmeyer (USA) Brian Henderson-Sellers (Australia) Heinrich Hussmann (Germany) Jean-Marc Jézéquel (France) Haim Kilov (USA) Cris Kobryn (USA) Tim Lethbridge (Canada) Ana Moreira (Portugal) Steve Mellor (USA) Pierre-Alain Muller (France) Ernesto Pimentel Sanchez (Spain) Gianna Reggio (Italy) Bernhard Rumpe (Germany) Bran Selic (Canada) Keng Siau (USA) Jos Warmer (The Netherlands) Alain Wegmann (Switzerland) Alan Wills (UK)
VIII Organization Sponsors ACM Special Interest Group on Software Engineering http://www.acm.org IEEE Computer Society http://www.ieee.com Corporate Donors IBM Rational http://www.rational.com QSS Group, Inc. http://www.qssgroupinc.com NASA OSMA, Software Assurance Research Program http://www.ivv.nasa.gov/business\ newline/research/sarp/ Academic Supporters Laboratory for Foundations of Computer Science, School of Informatics, University of Edinburgh http://www.lfcs.ed.ac.uk
Organization IX Referees Aditya Agrawal João Araújo Egidio Astesiano Pavel Balabko Marc Balcer Benoit Baudry Hubert Baumeister Julian Bradfield Edna Braun Klaus Burger Catherine Canevet Fei Cao Alexey Cherchago Manuel Diaz Martin Eberle Massimo Felici Juliana Küster Filipe Stephan Flake Frederic Fondement Francisco J. Galan Maria del Mar Gallardo Geri Georg Sudipto Ghosh Stephen Gilmore Jaime Gomez Michael Hafner Abdelwahab Hamou-Lhadj Michel Hassenforder Jan Hendrik Hausmann Aoife Hegarty Loïc Hélouët Shui-Ming Ho Chris Holmes Thomas Jensen Claude Jard Falk Kemmel Rana Khartabil Jochen Kuester Yvan Labiche Yves Le Traon Luis Llopis Sten Loecher Monika Maidl Antonio Maña Girish Maskeri Katharina Mehner Pedro Merino Jose Antonio Montenegro Henry Muccini Adam Murray Andrey Naumenko Oscar Pastor Cesar A. Gonzalez Perez Simon Pickin Andreas Pleuss Noël Plouzeau Damien Pollet Gil Regev Elvinia Riccobene Simone Roettger Suman Roychoudhury Paul Sammut Stefan Sauer Patrizia Scandurra Devon Simmonds Premkumar Somasundaram Jonathan Sprinkle Philippe Studer Rajesh Sudarsan Gerson Sunyé Jennifer Tenzer Jean Philippe Thibaut Bernard Thirion Sebastian Thöne Bhuvan Unhelkar Antonio Vallecillo Ed Wegner James Willans Hui Wu Roel Wuyts Chuanxi Xu Chunmin Yang Wei Zhao Tewfik Ziadi
Table of Contents Inivited Talk 1 Agile Processes: Developing Your Own Secret Recipes... 1 Peter Coad Practical Model Management Difference and Union of Models... 2 Marcus Alanen, Ivan Porres GREAT: UML Transformation Tool for Porting Middleware Applications... 18 Alexander Christoph, Matthias M. Müller Model-Centric Engineering with the Evolution and Validation Environment... 31 Jörn Guy Süß, Andreas Leicher, Herbert Weber, Ralf-D. Kutsche Time and Quality of Service Representing Temporal Information in UML... 44 Jordi Cabot, Antoni Olivé, Ernest Teniente Formal Semantics of UML with Real-Time Constructs... 60 Subash Shankar, Sinan Asa A QoS-Oriented Extension of UML Statecharts... 76 David N. Jansen, Holger Hermanns, Joost-Pieter Katoen Short Tool Papers CheckVML: A Tool for Model Checking Visual Modeling Languages... 92 Ákos Schmidt, Dániel Varró A Workbench to Experiment on New Model Engineering Applications... 96 Ralph-Johan Back, Dag Björklund, Johan Lilius, Luka Milovanov, Ivan Porres ProGUM-Web: Tool Support for Model-Based Development of Web Applications... 101 Marc Lohmann, Stefan Sauer, Tim Schattkowsky
XII Table of Contents Composition and Architecture On the Key Role of Compositioning Object-Oriented Modelling... 106 Friedrich Steimann, Jens Gößner, Thomas Mück Compositional and Relational Reasoning during Class Abstraction... 121 Alexander Egyed Encoding Informal Architectural Descriptions with UML: An Experience Report... 138 Yaojin Yang, Jianli Xu Inivited Talk 2 UML/MDA Reality Check: Heterogenous Architecture Style... 143 Nicolas F. Rouquette Transformation Towards Automating Source-Consistent UML Refactorings... 144 Pieter Van Gorp, Hans Stenten, Tom Mens, Serge Demeyer Model Refactorings as Rule-Based Update Transformations... 159 Ivan Porres Reflective Model Driven Engineering... 175 Jean Bézivin, Nicolas Farcet, Jean-Marc Jézéquel, Benoît Langlois, Damien Pollet The Web A Model-Driven Runtime Environment for Web Applications... 190 Joerg Pleumann, Stefan Haustein Using UML and XMI for Generating Adaptive Navigation Sequences in Web-Based Systems... 205 Peter Dolog, Wolfgang Nejdl Platform Independent Web Application Modeling... 220 Pierre-Alain Muller, Philippe Studer, Jean Bézivin Testing and Validation Rigorous Testing by Merging Structural and Behavioral UML Representations... 234 Orest Pilskalns, Anneliese Andrews, Sudipto Ghosh, Robert France Towards Automated Support for Deriving Test Data from UML Statecharts... 249 Lionel C. Briand, Jim Cui, Yvan Labiche
Table of Contents XIII Validation of UML and OCL Models by Automatic Snapshot Generation... 265 Martin Gogolla, Jörn Bohling, Mark Richters Improving UML/OCL A Critique of UML s Definition of the Use-Case Class... 280 Sadahiro Isoda Modelling Database Views with Derived Classes in the UML/OCL-Framework... 295 Hermann Balsters An OCL Extension for Low-Coupling Preserving Contracts... 310 Isabel Nunes Invited Talk 3 What Is the Point of the UML?... 325 Martin Fowler Consistency Using Description Logic to Maintain Consistency between UML Models... 326 Ragnhild Van Der Straeten, Tom Mens, Jocelyn Simmonds, Viviane Jonckers Modeling and Testing Legacy Data Consistency Requirements... 341 Jan Pettersen Nytun, Christian S. Jensen The Consistency Workbench: A Tool for Consistency Management in UML-Based Development... 356 Gregor Engels, Reiko Heckel, Jochen M. Küster Methodology Developing Safety-Critical Systems with UML... 360 Jan Jürjens Consistent and Complete Access Control Policies in Use Cases... 373 Khaled Alghathbar, Duminda Wijesekera STAIRS - Steps to Analyze Interactions with Refinement Semantics... 388 Øystein Haugen, Ketil Stølen Workshops and Tutorials Workshops at the UML 2003 Conference... 403 Ana Moreira
XIV Table of Contents Tutorials at the UML 2003 Conference... 410 João Araújo Author Index... 415