260 likes | 367 Views
Model-Driven Development in UML: Status and Issues. Nordic meeting on GI Standardization. Background UML specification ISO/INSPIRE Enterprise Architect. Background. Indsæt nyt billede Format: H19,05 x B25,4 cm 1. Klik på billede-ikonet og indsæt billede i korrekt størrelse
E N D
Model-Driven Development in UML: Status and Issues Nordic meeting on GI Standardization
Background • UML specification • ISO/INSPIRE • Enterprise Architect MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Background Indsæt nyt billedeFormat: H19,05 x B25,4 cm 1. Klik på billede-ikonet og indsæt billede i korrekt størrelse 2. Højreklik på billedet og placér det bagerst MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Background MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
UML specification Indsæt nyt billedeFormat: H19,05 x B25,4 cm 1. Klik på billede-ikonet og indsæt billede i korrekt størrelse 2. Højreklik på billedet og placér det bagerst MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Classifier Definition • A classifier is a classification of instances, it describes a set of instances that have features in common (UML 2.4.1 specification) • A classifier is an abstract base class that classifies the instances with regard to their features (UML 2 Certification Guide) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Examples of classifiers MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Classifiers relevant for thisissue A simple data type and a primitive data type have nothing to do with a class, except that they share a common superclass[…] (UML 2 Certification Guide) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Notation for Class EA’s way of displaying a class A class is shown using the classifier symbol. As class is the most widely used classifier, the keyword “class” need not be shown in guillemets above the name. A classifier symbol without a metaclass shown in guillemets indicates a class (UML 2.4.1 specification) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Notation for DataType and Enumeration The labels shown in Figure 2.1 are UML keywords, not stereotypes (UML 2 Certification Guide) A data type is denotated using the rectangle symbol with keyword «dataType» or, when it is referenced by (e.g., an attribute) denoted by a string containing the name of the data type (UML 2.4.1 specification) An enumeration may be shown using the classifier notation (a rectangle) with the keyword «enumeration»(UML 2.4.1 specification) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Keywords vs. stereotypes • Keywords are always enclosed in guillemets («keyword»), which serve as visual cues to more readily distinguish when a keyword is being used. […] In addition to identifying keywords, guillemets are also used to distinguish the usage of stereotypes defined in user profiles. This means that: • Not all words appearing between guillemets are necessarily keywords (i.e., reserved words), and • words appearing in guillemets do not necessarily represent stereotypes • (UML 2.4.1 specification) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Package import • The public contents of a package are always accessible outside the package through the use of qualified names (UML 2.4.1 specification). • A package import is a (directed) relationship that allows the use of unqualified names to refer to package members from other namespaces (UML 2.4.1 specification) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Usage dependency • A usage is a relationship in which one element requires another element (or set of elements) for its full implementation or operation. In the metamodel, a Usage is a Dependency in which the client requires the presence of the supplier. MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
ISO/INSPIRE MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
UML profile of ISO/INSPIRE MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
UML profile of ISO/INSPIRE MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
UML profile of ISO/INSPIRE • Invalid profile: • the stereotypes in INSPIRE are used to kind of reinvent concepts that already are present in core UML • the stereotypes in INSPIRE violate the following part of the specification: UML keywords are reserved words that are an integral part of the UML notation and normally appear as text annotations attached to a UML graphic element or as part of a text line in a UML diagram. These words have special significance in the context in which they are defined and, therefore, cannot be used to name user-defined model elements where such naming would result in ambiguous interpretation of the model. • Confirmed by one of the writers of the UML 2 Certification Guide. MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
UML profile of ISO/INSPIRE Stereotype names should not clash with keyword names for the extended model element. (UML 2.4.1 specification) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
UML profile of ISO/INSPIRE In UML 2, a tagged value can only be represented as an attribute defined on a stereotype. Therefore, a model element must be extended by a stereotype in order to be extended by tagged values. (UML 2.4.1 specification) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Enterprise Architect MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Enterprise Architect Enumerations • Up to EA 9, enumerationswererepresented as stereotypes of classes. • From EA 10, the UML specification is implementedcorrectly : • Enumerations now correspond to full element types instead of stereotyped classes. • Different icon shows in Project Browser and Toolbox • Easier, more consistent handling of stereotypes applied to enumerations • All existing enumerations handled to match previous version MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Enterprise Architect Notation of keywords and stereotype names • If multiple stereotypes are applied, the names of the applied stereotypes are shown as a comma-separated list with a pair of guillemets. • When the extended model element has a keyword, then the stereotype name will be displayed close to the keyword, within separate guillemets (example: «interface» «Clock») • (UML 2.4.1 specification) MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Enterprise Architect Enumeration & data types MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Enterprise Architect Data types • Sparxforums: • The behavior is intentional to minimize the disruption to user diagrams. • When that decision was made we did consider adding an option for the behavior of keywords interacting with stereotypes, but decided against it because it would just confuse the vast majority of users. MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Consequences? MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES
Rentemestervej 8 2400 København NV Tlf: 72 54 50 00 E-mail: gst@gst.dk www.geodatastyrelsen.dk MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES