3.1 UML-F as a profile

3.1 UML-F as a profile

The UML standard provides a number of concepts to extend the language. So-called stereotypes and tagged values are a kind of UML hook concept and form the principal means of specializing or extending the meaning of particular UML elements. Section 3.2 provides a unified enhancement of these two techniques, the enhancement being used to define the UML-F profile.

UML offers another concept for extensions, namely constraints. If used in their full capacity, constraints have a complexity of their own and are not directly useful to our approach. In order to keep UML-F simple, we do not base it on constraints. However, a few simple constraints of standard UML are introduced as tags in UML-F.

3.1.1 Properties of the UML-F profile

First, UML-F identifies a subset of UML, namely a lightweight UML, that suffices for framework development and adaptation (see Chapter 2). This does not mean that the rest of UML should not be used. Instead it helps the framework developer to identify a subset of UML that allows the modelling of the important features of a framework.

Second, UML-F provides additional mechanisms for describing frameworks. For that purpose, UML-F adapts standard UML. Furthermore, UML-F profile targets the design and implementation of software systems. It does not focus on requirements engineering or on distribution issues this is the main reason why a number of diagrams from UML are left out in UML-F.

A number of standard UML concepts get a more specific meaning. In particular:

  • in UML-F all classes are implementation classes in standard UML, classes can also denote real-world concepts that do not necessarily appear in an implementation;

  • method calls are the primary form of considered interaction between objects;

  • the composition of objects is based on associations with an additional dependency on the lifetimes of the associated objects.

The underspecification principle is applied consistently. This means that whenever some information is not present in the model, then drawing default conclusions of what the implementation will be is not allowed. For example, a missing navigation arrow just means that it is not known if navigation in that direction is possible. If a specification is complete, then it has to be explicitly marked as complete.

The underspecification principle is an important concept for a modeling language. It allows the modeling of desired features, and the omission of details that are not yet well understood by the developer. As a framework is designed for a set of systems with a large variety of functionality and behavior, the principle of underspecification is particularly useful for framework description. Because of its executable nature, a programming language alone cannot be used for this purpose. For example, a programming language cannot be used to describe the range of intended behaviors of a method that can be redefined in subclasses. A default implementation that is provided only shows one possible behavior, but cannot serve as a constraint on a whole behavioral spectrum. The underspecification principle applied in the context of UML is a more appropriate tool. For example, sequence diagrams with alternatives, iterations, etc. are suited for this purpose.

The described semantic specialization of UML as used in this book has already been presented in Chapter 2, and will again be apparent in the following chapters. All further adaptations of a class or its objects should be marked explicitly by appropriate tags. These tags constitute the extension part of the UML-F profile. They mainly serve the following purposes:

  • some tags describe what is visible in a model representation in print or on the screen these tags express, for example, whether the information presented is complete or incomplete;

  • some tags reveal additional information about the class or object it is attached to this can be information about the signature, behavior, interaction paths, or functionality;

  • a third category of UML-F tags allows the framework developer to express his or her intention underlying a class, interface or method this is particularly useful when the class or interface does not provide an implementation but provides a signature that is to be implemented by other classes.

Because the tags that comprise the UML-F profile partially depend on each other, they are arranged in several layers (see Figure 3.1). In the upper layers, where essential construction principles and patterns are described, usually a set of related tags (tag set) is defined for each concept. All these layers of tags are used by the framework developer to document the intended use of certain framework concepts for the application developer. These tags, therefore, give guidance to the application developer through the framework adaptation process. Furthermore, they give guidance for the enhancement of a framework, as they also allow co-developers to document their intentions. It is important to keep in mind that the framework developers are the masters of the framework hence they change the framework and its decorating tags, and the application developers may not.

Figure 3.1. Categorization of UML-F tags according to abstraction levels
graphics/03fig01.gif

Four layers of tags are essential for the UML-F profile:

  • presentation tags deal with the presentation of a model and can be used independently of a framework definition;

  • basic modeling tags describe basic properties, such as adaptation flexibility, but do not reveal further information about the intention of the developer;

  • tags for the essential construction principles are grouped into sets of related tags such tags deal with roles of objects that participate in an essential construction principle;

  • tags for catalog patterns and new domain-specific patterns are finally built on the essential construction principles new domain-specific patterns can be introduced by using the UML-F tag introduction mechanism.



The UML Profile for Framework Architectures
The UML Profile for Framework Architectures
ISBN: 0201675188
EAN: 2147483647
Year: 2000
Pages: 84

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net