The UML Profile for Framework Architectures / Edition 1

The UML Profile for Framework Architectures / Edition 1

by Marcus Fontoura, Wolfgang Pree, Bernhard Rumpe, Wolfgang Pree

ISBN-10: 0201675188

ISBN-13: 9780201675184

Pub. Date: 07/28/2002

Publisher: Pearson Education

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


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.

Product Details

Pearson Education
Publication date:
Object Technology Series
Product dimensions:
7.39(w) x 9.22(h) x 0.54(d)

Table of Contents

Part IThe UML-F profile1
Chapter 1Why a UML profile for frameworks?3
1.1UML profiles3
1.2Object-oriented frameworks-extensibility is the key5
1.2.1White-box components of frameworks7
1.2.2Black-box components of frameworks8
1.3Pros and cons of frameworks9
1.3.1UML-F as a means of supporting framework development and adaptation10
1.4Goals for the UML-F profile11
Chapter 2UML essentials for framework documentation13
2.1UML overview14
2.2Class diagrams15
2.3Object diagrams19
2.3.1Object diagram example19
2.3.2Exemplar nature of object diagrams21
2.4Sequence diagrams22
2.4.1Sequence diagram example23
2.4.2Considerations about collaboration diagrams24
Chapter 3Basic elements of the UML-F profile27
3.1UML-F as a profile28
3.1.1Properties of the UML-F profile28
3.2UML-F tags--standard UML tagged values and stereotypes unified31
3.2.2Tagged values33
3.2.3UML-F tags for describing properties34
3.3Standard UML tags for framework documentation35
3.4UML-F presentation tags38
3.4.1Completeness and abstraction38
3.4.2Flat and hierarchical representation of classes and expanded class views41
3.4.3UML-F extensions of the object diagram notation44
3.4.4Tags for sequence diagrams45
3.5UML-F framework tags51
3.5.1Framework and application classes52
3.5.2Overview of adaptation tags53
3.5.3Method adaptation tags54
3.5.4Tags in the context of classes and interfaces57
3.5.5Tags in the context of generalization59
3.6The UML-F mechanism for defining new tags63
Chapter 4UML-F tags for framework construction principles and patterns67
4.1Unification principle--adaptation by inheritance68
4.1.1UML-F template and hook tags72
4.1.2UML-F tags for the Unification construction principle77
4.2Separation principle--adaptation through composition79
4.2.1Compositional adaptation with predefined black-box components80
4.2.2Extending a set of black-box components at runtime81
4.2.3UML-F tags for the Separation construction principle83
4.3Terminology and concept excursion: abstract classes, abstract coupling, Java interfaces87
4.3.1Abstract classes and abstract coupling87
4.3.2Java interfaces88
4.4Hooks as name designators of pattern catalog entries91
4.4.1GoF patterns with a template-hook unification92
4.4.2GoF patterns with a template-hook separation93
4.4.3GoF patterns with recursive template-hook combinations94
4.5UML-F tags for framework patterns95
4.5.1UML-F tags for the Factory Method pattern97
4.5.2UML-F tags for the Strategy pattern99
4.5.3UML-F tags for the Composite pattern103
4.5.4UML-F tags for a domain-specific pattern107
4.5.5UML-F tags for non-framework GoF patterns?110
4.6How essential framework construction principles scale110
4.6.1Finding a balance between template and hook methods111
Chapter 5Framework adaptations of UML-F pattern annotations113
5.1Cookbooks for framework adaptation113
5.2A sample cookbook recipe116
5.3Recipe for adapting the Unification construction principle119
5.4Recipe for adapting the Separation constuction principle120
5.5Recipe for adapting the Composite pattern121
5.6Automating the adaptation of UML-F pattern annotations123
Part IIUML-F @ work125
Chapter 6UML-F based documentation and adaptation of the JUnit testing framework127
6.1An overview of JUnit127
6.1.1Test cases129
6.1.2Test suites130
6.1.3Reporting the test results132
6.2Recipe for defining new tests134
6.2.1Recipe for creating automated tests in JUnit135
6.2.2Cookbook recipe for the definition of a test case137
6.2.3Definition of several test cases in one source code file140
6.3Organizing test cases into test suites144
6.3.1A cookbook recipe for composing a test suite144
6.3.2Adaptation of a sample test suite146
6.4Reporting test results147
Chapter 7Hints and guidelines for the framework development and adaptation process151
7.1The cluster cycle process model of framework development and adaptation152
7.2Defining the key abstractions as an initial step156
7.3Class families, class teams, and subsystems157
7.4Identification of a framework's variation points160
7.4.1Variation point driven framework development160
7.4.2Definition of a specific object model162
7.4.3Variation point identification162
7.4.4Framework (re)design163
7.4.5Framework usage163
7.5The AOCS framework: a case study163
7.5.1Controller functionality165
7.5.2The telemetry functionality170
7.6The AOCS manager pattern173
7.7Framelets as an aid to framework design176
7.8eXtreme Design (XD), with implementation cases181
7.8.1Implementation cases as a vehicle for framework specification183
7.8.2Implementation cases to cookbook recipes184
7.9Framework adaptions through cookbook recipes, adaptation cases, and adaptation reports186
7.9.1Adaptation cases187
7.9.2Adaptation reports193
7.11UML-F outlook196
Appendix AUML-F tag quick reference197
A.1Tag notations197
A.2Presentation tags198
A2.1Completeness and hierarchy tags198
A2.2Enhanced graphical inheritance indicators198
A2.3Sequence diagram tags199
A.3Basic framework modeling tags200
A.4Essential tags for the framework construction principles200
A4.1Template and hook tags200
A4.2Tags for the Unification and Separation construction principles201
A4.3Tags for Composite, Decorator, and Chain of Responsibilility201
A.5Framework pattern tags202
Appendix BUML-F tags for the GoF framework patterns203
B.1Factory Method pattern tags204
B.2Template Method pattern tags205
B.3Abstract Factory pattern tags206
B.4Bridge pattern tags208
B.5Builder pattern tags209
B.6Command pattern tags210
B.7Interpreter pattern tags212
B.8Observer pattern tags213
B.9Prototype pattern tags214
B.10State pattern tags216
B.11Strategy pattern tags217
B.12Composite pattern tags218
B.13Decorator pattern tags219
B.14Chain of Responsibility pattern tags220

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >