The UML Profile for Framework Architectures - Softcover

Fontoura, Marcus; Pree, Wolfgang; Rumpe, Bernhard

 
9780201675184: The UML Profile for Framework Architectures

Synopsis

The aim of the UML profile for framework architectures is the definition of a UML subset, enriched with a few UML-compliant extensions, which allows the annotation of such artefacts. Thus, the resulting profile that we call UML-F does not correspond to a specific domain, but to framework technology. Though profiles might be standardized in the future, sound proposals from various communities will get the process of defining and standardizing UML profiles started. In that sense, this book sets the stage for the UML profile for framework architectures.

"synopsis" may belong to another edition of this title.

About the Author

Wolfgang Pree is professor of computer science at the University of Constance, Germany until the end of 2001, moving to the University of Salzburg, Austria, in 2002. He has worked for several years in various areas of software engineering, in particular focusing on object technology, software architectures, frameworks, and human-computer interaction. Wolfgang is the author of Design Patterns for Object-Oriented Software Development (Addison-Wesley/ACM Press, 1995). Marcus Fontoura has led several framework projects in the last four years and specializes in Web-based software development and service-oriented architectures. He has recently held research posts at the Computer Systems Group, University of Waterloo, Canada, and Princeton University Computer Science Department, U.S.A. He is currently a research staff member at the Computer Science Department, IBM Almaden Research Center. Bernhard Rumpe is leading consulting and research projects on software engineering technology, such as UML, frameworks, modeling notations, object-technology, and lightweight and agile development processes at the Technische Universitaet MUenchen. His primary interest is to enhance the foundations of software and systems engineering to achieve a problem-adequate portfolio of software development skills that improve the quality and time-to-market of the product as well as allowing a better prediction in the development process. He is also co-founder of a consultancy company dealing with process, methodical and modeling issues focusing on e-business and has co-authored several books and contributed to many articles in these areas. 0201675188AB12142001

From the Back Cover

The UML community has begun to define a series of 'profiles' which better suit the needs of UML-users within specific domains, settings or technologies.

The UML Profile for Framework Architectures provides a UML profile for object and component frameworks. It shows how to describe framework architectures and to support framework modeling and annotation by using UML-compliant extensions.

If you are a software developer, project manager, researcher or student interested in design patterns, framework technology or UML, this book is essential reading. It will enable you to:

  • Understand the basic elements of the UML-F profile and to harness UML to support framework development more effectively.
  • Define UML-F tags for domain-specific design patterns.
  • Learn a real-world approach for framework design, development and adaptation, through practical hints and guidelines.
  • Apply UML-F, illustrated by the sample framework JUnit and a framework for embedded control system.

Features:

  • Real-world case studies, introducing eXtreme Design concepts and how to put the process you have learned to work.
  • Cookbook of generic 'recipes' that guide you through the framework adaptation process and help you accomplish specific tasks.

Excerpt. © Reprinted by permission. All rights reserved.

The Unified Modeling Language (UML) community has started to define so-called ‘profiles’ in order to better suit the needs of specific domains or settings. For example, a profile for embedded systems should refine notational elements that represent real-time constraints. Another one for electronic business might take the typical software architecture of such systems, and thus its principal domain-specific entities, into consideration to come up with a UML notation tailored for that purpose.

Object and component frameworks represent a special breed of object-oriented systems — they are extensible semi-finished pieces of software. Completing the semi-finished software leads to different software pieces, typically specific applications, that share the same core. Though frameworks have been developed for a wide range of domains, they use common construction principles. For example, many of the design patterns written up by Gamma et al. (1995) rely on the framework construction principles.

The aim of the UML profile for framework architectures is the definition of a UML subset, enriched with a few UML-compliant extensions, which allows the annotation of such artefacts. Thus, the resulting profile that we call UML-F does not correspond to a specific domain, but to framework technology. Though profiles might be standardized in the future, sound proposals from various communities will get the process of defining and standardizing UML profiles started. In that sense, this book sets the stage for the UML profile for framework architectures.

The book is structured under two parts.

Part I: The UML-F profile

The first chapter promotes the UML-F profile as an essential means of describing framework architectures and summarizes framework-related terminology. The following chapters cover the UML subset on which UML-F is based, and the notational elements of UML-F that support framework modeling and annotation. This includes a mechanism to define sets of related tags for essential construction principles and design patterns.

Part II: UML-F@work

This part illustrates how UML-F is applied in the context of the sample framework JUnit. Considerations on the methodological implications of UML-F and a selection of practical hints and guidelines intended to assist in the design, development, and adaptation of frameworks complete this part.

The UML-F web site (UML-F) provides additional material, such as the source code of the examples discussed in the book, additional examples, research papers, and UML-F presentations.

Acknowledgments

Many people helped and advised us in the course of writing this book. Rebecca Wirfs-Brock carefully reviewed the manuscript. Her detailed hints and suggestions led to significant improvements. We would also like to thank Alan Wills and Mohamed Fayad for their helpful comments on an early version of the manuscript.

Timothy Brown, a computer science graduate from Washington University in St. Louis, not only corrected the English but also provided many useful ideas. Timothy Brown and Alessandro Pasetti co-authored Chapter 7. Several other colleagues helped us by reviewing parts of the manuscript and providing helpful feedback, including Lothar Schmitz, Heinrich Hussmann, Birgit Demuth, and Ljiljana Döhring. Thanks also go to the students of Wolfgang Pree’s software architecture course at the University of California, Berkeley in the Fall semester 2000.

We thank Carlos Lucena, Edward Hermann Haeusler, Sergio Carvalho, Julio Leite (all at Pontifícia Universidade Católica—PUC, Rio de Janeiro); Donald Cowan, Paulo Alencar (at the University of Waterloo); and Marcos Borges at the Federal University of Rio de Janeiro. They made excellent comments on and contributions to a previous version of this work (Fontoura, 1999).

Special thanks go to Andrew Appel (Princeton University), and to Thomas K. Truong, Norm Pass, and Anant Jhingran (IBM Almaden Research Center, San Jose, CA) for their support regarding this work.

Finally, it was a pleasure to cooperate with the people from Addison-Wesley: Alison Birtwell, J. Carter Shanklin, Katherin Ekstrom, Claudia Orrell, and the copy editor Derek Atkins.

This work was partially funded by Nokia and the Bayerisches Staatsministerium für Wissenschaft, Forschung und Kunst under the Habilitation-Förderpreis Programm, by the Bayerische Forschungsstiftung under the FORSOFT research consortium, and the Bundesministerium für Bildung und Forschung (BMBF) under the Virtual Software Engineering Competence Center (ViSEK).

Traces of the book’s history

The book was initiated by Marus Fontoura when Wolfgang and Marcus met in Rio in July 1999. A month later Bernhard joined the team. Besides the truly distributed writing (Princeton, NJ; Constance, Germany; Munich, Germany; San Jose, CA; Berkeley, CA), the authors worked on the book during a sailing trip in the Caribbean in Spring 2000. The final proof-reading was accomplished on a lake near Salzburg in August 2001, exactly two years after Bernhard and Wolfgang met there for their initial discussions. 0201675188P11262001

"About this title" may belong to another edition of this title.