Download presentation
Presentation is loading. Please wait.
Published byBranden Reeves Modified over 9 years ago
1
Product Line Annotations with UML-F Wolfgang Pree Software Research Lab Univ. of Salzburg Austria pree@acm.org Marcus Fontoura IBM Almaden Research, San Jose U.S.A. mfontoura@acm.org Bernhard Rumpe Software Engineering Munich Tech. University Germany rumpe@acm.org
2
© 2002, M. Fontoura, W. Pree, B. Rumpe 2SPLC2, San Diego, CA, USA Contents l Motivation l UML-F l Presentation tags and basic modeling tags l Tags for the essential framework construction principles l GoF framework pattern tags l Tags for other pattern catalogs and domain-specific patterns
3
© 2002, M. Fontoura, W. Pree, B. Rumpe 3SPLC2, San Diego, CA, USA Motivation l What is a profile? l Why UML-F? l Goals
4
© 2002, M. Fontoura, W. Pree, B. Rumpe 4SPLC2, San Diego, CA, USA What is a UML profile? an extension of the UML standard language with specific elements A profile provides l new notational elements, and usually l specializes the semantics of some elements. l It may also restrict the use of UML elements.
5
© 2002, M. Fontoura, W. Pree, B. Rumpe 5SPLC2, San Diego, CA, USA Why UML-F? It takes a considerable effort to learn and understand a framework. Standard UML does not offer the notational elements tailored to that purpose. The extensions summarized as UML-F profile support framework development and adaptation. The UML-F profile focuses on pinpointing a framework’s variation points.
6
© 2002, M. Fontoura, W. Pree, B. Rumpe 6SPLC2, San Diego, CA, USA Goals of UML-F l UML-F provides the notational elements to precisely annotate and document design patterns. l UML-F is itself structured in the spirit of frameworks, i.e., an extensible profile. l UML-F comprises a lean, memonic set of notational elements. l UML-F relies on the UML standard, that is, UML-F extends UML using existing UML extension mechanisms. l The UML-F notational elements are adequate for being integrated in UML tool environments.
7
© 2002, M. Fontoura, W. Pree, B. Rumpe 7SPLC2, San Diego, CA, USA UML-F
8
© 2002, M. Fontoura, W. Pree, B. Rumpe 8SPLC2, San Diego, CA, USA UML-F extension structure
9
© 2002, M. Fontoura, W. Pree, B. Rumpe 9SPLC2, San Diego, CA, USA UML-F diagrams UML-F only enhances the following UML diagrams: l class/object diagrams l sequence diagrams
10
© 2002, M. Fontoura, W. Pree, B. Rumpe 10SPLC2, San Diego, CA, USA UML-F tag mechanism l UML 1.3/1.4 provides «stereotypes» and {tag=value} pairs l stereotypes are restricted: no value attached, only one per model element l Tagged value pairs are more flexible and combinable l UML-F unifies both in the “tag-mechanism”, by writing l «tag:5» and {tag=5} interchangeably l «tag» is short for «tag:True» l «tag1,tag2» is OK l Special forms of tags, e.g. “©” instead of «complete:True» l Tag values have types (e.g. Boolean,String,Integer)
11
© 2002, M. Fontoura, W. Pree, B. Rumpe 11SPLC2, San Diego, CA, USA Presentation tags
12
© 2002, M. Fontoura, W. Pree, B. Rumpe 12SPLC2, San Diego, CA, USA Presentation tags (I)
13
© 2002, M. Fontoura, W. Pree, B. Rumpe 13SPLC2, San Diego, CA, USA Presentation tags (II)
14
© 2002, M. Fontoura, W. Pree, B. Rumpe 14SPLC2, San Diego, CA, USA Presentation tags (III) white rectangle: the method is inherited and not redefined gray rectangle: the method is either newly defined, or it is inherited, but completely redefined half gray / half white rectangle: the method is redefined, but uses the inherited method through a super() call don’t care rectangle: the diagram does not reveal any information (can actually be either of the above three)
15
© 2002, M. Fontoura, W. Pree, B. Rumpe 15SPLC2, San Diego, CA, USA Basic modeling tags
16
© 2002, M. Fontoura, W. Pree, B. Rumpe 16SPLC2, San Diego, CA, USA Basic modeling tags (I)
17
© 2002, M. Fontoura, W. Pree, B. Rumpe 17SPLC2, San Diego, CA, USA Basic modeling tags (II)
18
© 2002, M. Fontoura, W. Pree, B. Rumpe 18SPLC2, San Diego, CA, USA Basic modeling tags (III)
19
© 2002, M. Fontoura, W. Pree, B. Rumpe 19SPLC2, San Diego, CA, USA Basic modeling tags (IV)
20
© 2002, M. Fontoura, W. Pree, B. Rumpe 20SPLC2, San Diego, CA, USA UML-F tags for the essential framework construction principles
21
© 2002, M. Fontoura, W. Pree, B. Rumpe 21SPLC2, San Diego, CA, USA Template and hook tags (I)
22
© 2002, M. Fontoura, W. Pree, B. Rumpe 22SPLC2, San Diego, CA, USA Template and hook tags (II) possible tool support:
23
© 2002, M. Fontoura, W. Pree, B. Rumpe 23SPLC2, San Diego, CA, USA Tags for Unification (I) tags are derived from the structure example:
24
© 2002, M. Fontoura, W. Pree, B. Rumpe 24SPLC2, San Diego, CA, USA Tags for Unification (II) rationale behind the tags:
25
© 2002, M. Fontoura, W. Pree, B. Rumpe 25SPLC2, San Diego, CA, USA Tags for Separation example:
26
© 2002, M. Fontoura, W. Pree, B. Rumpe 26SPLC2, San Diego, CA, USA UML-F tags for the GoF framework patterns
27
© 2002, M. Fontoura, W. Pree, B. Rumpe 27SPLC2, San Diego, CA, USA UML-F extension structure
28
© 2002, M. Fontoura, W. Pree, B. Rumpe 28SPLC2, San Diego, CA, USA Strategy pattern (I) Structure (according to GoF book): «Strategy–Context», «Strategy–anOp», «Strategy–contextInterface», «Strategy–strategy», «Strategy–Strategy», «Strategy–algInt», «Strategy–ConcreteStrategy», «Strategy–algInt»
29
© 2002, M. Fontoura, W. Pree, B. Rumpe 29SPLC2, San Diego, CA, USA Strategy pattern (II) Sample annotation:
30
© 2002, M. Fontoura, W. Pree, B. Rumpe 30SPLC2, San Diego, CA, USA UML-F extension structure
31
© 2002, M. Fontoura, W. Pree, B. Rumpe 31SPLC2, San Diego, CA, USA Domain-specific patterns or other catalog pattterns
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.