1 / 26

Model-Driven Development in UML: Status and Issues

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

muriel
Download Presentation

Model-Driven Development in UML: Status and Issues

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Model-Driven Development in UML: Status and Issues Nordic meeting on GI Standardization

  2. Background • UML specification • ISO/INSPIRE • Enterprise Architect MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  3. 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

  4. Background MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  5. 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

  6. 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

  7. Examples of classifiers MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. ISO/INSPIRE MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  15. UML profile of ISO/INSPIRE MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  16. UML profile of ISO/INSPIRE MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  17. 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

  18. 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

  19. 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

  20. Enterprise Architect MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  21. 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

  22. 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

  23. Enterprise Architect Enumeration & data types MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  24. 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

  25. Consequences? MODEL-DRIVEN DEVELOPMENT IN UML: STATUS AND ISSUES

  26. 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

More Related