Gift Guide

The UML Profile for Framework Architectures / Edition 1

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 95%)
Other sellers (Paperback)
  • All (11) from $1.99   
  • New (3) from $10.17   
  • Used (8) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

An unused, unmarked and unblemished copy!

Ships from: Wyoming, MI

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Seller since 2008

Feedback rating:


Condition: New

Ships from: fallbrook, CA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Page 1 of 1
Showing All
Sort by


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.


  • 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.
  • Accompanying website containing Java source code for all the examples described in the book, additional examples, complementary papers and UML-F presentation slides.

Read More Show Less

Editorial Reviews

From The Critics
Providing an UML profile for object and component frameworks, this book shows how to describe framework architectures and to support framework modeling and annotation with UML-complaint extensions. Written for software developers and researchers, it explains the basic elements of the UML-F profile, defines UML-F tags for domain- specific patterns, and outlines the process of framework design. Case studies and "recipes" illustrate key points. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780201675184
  • Publisher: Pearson Education
  • Publication date: 7/28/2002
  • Series: Object Technology Series
  • Edition number: 1
  • Pages: 240
  • Product dimensions: 7.39 (w) x 9.22 (h) x 0.54 (d)

Table of Contents

Preface x
Part I The UML-F profile 1
Chapter 1 Why a UML profile for frameworks? 3
1.1 UML profiles 3
1.2 Object-oriented frameworks-extensibility is the key 5
1.2.1 White-box components of frameworks 7
1.2.2 Black-box components of frameworks 8
1.3 Pros and cons of frameworks 9
1.3.1 UML-F as a means of supporting framework development and adaptation 10
1.4 Goals for the UML-F profile 11
Chapter 2 UML essentials for framework documentation 13
2.1 UML overview 14
2.2 Class diagrams 15
2.3 Object diagrams 19
2.3.1 Object diagram example 19
2.3.2 Exemplar nature of object diagrams 21
2.4 Sequence diagrams 22
2.4.1 Sequence diagram example 23
2.4.2 Considerations about collaboration diagrams 24
2.5 Summary 26
Chapter 3 Basic elements of the UML-F profile 27
3.1 UML-F as a profile 28
3.1.1 Properties of the UML-F profile 28
3.2 UML-F tags--standard UML tagged values and stereotypes unified 31
3.2.1 Stereotypes 31
3.2.2 Tagged values 33
3.2.3 UML-F tags for describing properties 34
3.3 Standard UML tags for framework documentation 35
3.4 UML-F presentation tags 38
3.4.1 Completeness and abstraction 38
3.4.2 Flat and hierarchical representation of classes and expanded class views 41
3.4.3 UML-F extensions of the object diagram notation 44
3.4.4 Tags for sequence diagrams 45
3.5 UML-F framework tags 51
3.5.1 Framework and application classes 52
3.5.2 Overview of adaptation tags 53
3.5.3 Method adaptation tags 54
3.5.4 Tags in the context of classes and interfaces 57
3.5.5 Tags in the context of generalization 59
3.6 The UML-F mechanism for defining new tags 63
3.7 Summary 65
Chapter 4 UML-F tags for framework construction principles and patterns 67
4.1 Unification principle--adaptation by inheritance 68
4.1.1 UML-F template and hook tags 72
4.1.2 UML-F tags for the Unification construction principle 77
4.2 Separation principle--adaptation through composition 79
4.2.1 Compositional adaptation with predefined black-box components 80
4.2.2 Extending a set of black-box components at runtime 81
4.2.3 UML-F tags for the Separation construction principle 83
4.3 Terminology and concept excursion: abstract classes, abstract coupling, Java interfaces 87
4.3.1 Abstract classes and abstract coupling 87
4.3.2 Java interfaces 88
4.4 Hooks as name designators of pattern catalog entries 91
4.4.1 GoF patterns with a template-hook unification 92
4.4.2 GoF patterns with a template-hook separation 93
4.4.3 GoF patterns with recursive template-hook combinations 94
4.5 UML-F tags for framework patterns 95
4.5.1 UML-F tags for the Factory Method pattern 97
4.5.2 UML-F tags for the Strategy pattern 99
4.5.3 UML-F tags for the Composite pattern 103
4.5.4 UML-F tags for a domain-specific pattern 107
4.5.5 UML-F tags for non-framework GoF patterns? 110
4.6 How essential framework construction principles scale 110
4.6.1 Finding a balance between template and hook methods 111
4.7 Summary 112
Chapter 5 Framework adaptations of UML-F pattern annotations 113
5.1 Cookbooks for framework adaptation 113
5.2 A sample cookbook recipe 116
5.3 Recipe for adapting the Unification construction principle 119
5.4 Recipe for adapting the Separation constuction principle 120
5.5 Recipe for adapting the Composite pattern 121
5.6 Automating the adaptation of UML-F pattern annotations 123
5.7 Summary 123
Part II UML-F @ work 125
Chapter 6 UML-F based documentation and adaptation of the JUnit testing framework 127
6.1 An overview of JUnit 127
6.1.1 Test cases 129
6.1.2 Test suites 130
6.1.3 Reporting the test results 132
6.2 Recipe for defining new tests 134
6.2.1 Recipe for creating automated tests in JUnit 135
6.2.2 Cookbook recipe for the definition of a test case 137
6.2.3 Definition of several test cases in one source code file 140
6.3 Organizing test cases into test suites 144
6.3.1 A cookbook recipe for composing a test suite 144
6.3.2 Adaptation of a sample test suite 146
6.4 Reporting test results 147
6.5 Summary 149
Chapter 7 Hints and guidelines for the framework development and adaptation process 151
7.1 The cluster cycle process model of framework development and adaptation 152
7.2 Defining the key abstractions as an initial step 156
7.3 Class families, class teams, and subsystems 157
7.4 Identification of a framework's variation points 160
7.4.1 Variation point driven framework development 160
7.4.2 Definition of a specific object model 162
7.4.3 Variation point identification 162
7.4.4 Framework (re)design 163
7.4.5 Framework usage 163
7.5 The AOCS framework: a case study 163
7.5.1 Controller functionality 165
7.5.2 The telemetry functionality 170
7.6 The AOCS manager pattern 173
7.7 Framelets as an aid to framework design 176
7.8 eXtreme Design (XD), with implementation cases 181
7.8.1 Implementation cases as a vehicle for framework specification 183
7.8.2 Implementation cases to cookbook recipes 184
7.9 Framework adaptions through cookbook recipes, adaptation cases, and adaptation reports 186
7.9.1 Adaptation cases 187
7.9.2 Adaptation reports 193
7.10 Summary 196
7.11 UML-F outlook 196
Appendix A UML-F tag quick reference 197
A.1 Tag notations 197
A.2 Presentation tags 198
A2.1 Completeness and hierarchy tags 198
A2.2 Enhanced graphical inheritance indicators 198
A2.3 Sequence diagram tags 199
A.3 Basic framework modeling tags 200
A.4 Essential tags for the framework construction principles 200
A4.1 Template and hook tags 200
A4.2 Tags for the Unification and Separation construction principles 201
A4.3 Tags for Composite, Decorator, and Chain of Responsibilility 201
A.5 Framework pattern tags 202
Appendix B UML-F tags for the GoF framework patterns 203
B.1 Factory Method pattern tags 204
B.2 Template Method pattern tags 205
B.3 Abstract Factory pattern tags 206
B.4 Bridge pattern tags 208
B.5 Builder pattern tags 209
B.6 Command pattern tags 210
B.7 Interpreter pattern tags 212
B.8 Observer pattern tags 213
B.9 Prototype pattern tags 214
B.10 State pattern tags 216
B.11 Strategy pattern tags 217
B.12 Composite pattern tags 218
B.13 Decorator pattern tags 219
B.14 Chain of Responsibility pattern tags 220
Bibliography 221
Index 225
Read More Show Less


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-Fprofile 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 ( provides additional material, such as the source code of the examples discussed in the book, additional examples, research papers, and UML-F presentations.


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.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)