| Startseite | Über mich | Gästebuch | Impressum | Seitenindex |
![]() ![]() Unified Modeling Language (UML)
(Based on the thesis [Kon04])
The graphical UML standards specifies1 and represents models of software engineering. UML is a graphical notation for ”specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modelling and other non-software systems” [UMLSp, page 1-1]. Thus, UML can be used to model a conceptual and logical metadata solution. With regard to these facts, UML comprises both model semantic and modelling syntax of complex structures as well as data flows of component-based systems such as in BI solutions.
In comparison to UML 1.x, the latest version 2.0 provides modifications particularly with regard to the activity diagrams, sequence diagrams and state diagrams as well as [Jec04, Uni04] some new added diagram constructs2. In general, the UML basic constructs of the versions 1.x are the same. Thus, according to the UML basic constructs in [UMLSp] and to the latest specifications version 2.0 [UML02, UML2a, UML2b]s well as to the outlines of [Jec04, Uni04] the following general parts are included:
UML Architecture and Formalism: It defines the semantics of the UML metamodel and is based on the MOF (Meta Object Facility) four-tier architecture, which consists of the layers: user objects, model, metamodel, and meta-metamodel (more details will be explained in the next section 6.1.2). The UML metamodel is organised into logical packages, which allows to ”group constructs into packages” [UML2a, page 23], which includes model elements such as abstract syntax (e.g. class diagrams), well-formedness rules (Object Constraint languages – OCL), and semantics – superstructure elements: static3 and dynamic4.
4 Defines ’the meaning of a well-formed construct’ [UML2a, page 32] (conforms with the rules defined in the static semantics).
UML Notation Guide: It specifies the notational presentation of the semantics of a UML model. UML Standard Profiles and Stereotypes: It explains the UML Profile and Stereotypes (extension mechanisms) for software development process and for business pro- cess modelling. UML Model Interchange: Based on the concept of the Meta Object Facility (MOF) that is described in the section MOF (>Startseite >Informatik >Modellierung >>MOF). It maps the ”UML Semantic abstract syntax” [UMLSp, page 5-1] to a set of MOF packages, which are available as an XML document for the UML model interchange and refers to the MOF Model and XML Metadata Interchange (XMI) specification [UMLSp, page 5-1]. Further it covers the facility framework for model interchange with CORBA IDL for ”creating, accessing, and manipulating UML models” [UMLSp, page 5-24] of remote applications or repositories. The UML version 2.0 enhances this aspect with the component diagram interchange, which allows to interchange and mapping of diagrams between tools or to transform those in different data formats (GIF5 , PNG6 , SVG7 ) [Jec04]. An example can be found on [Jec04] more details for this feature in [UML2b].
6 Portable Network Graphics 7 Scalable Vector Graphics
Object Constraint Language (OCL) Specification: The formal language OCL de fines and describes constraints within a UML model. As already suggested, the UML notation ”provides the foundation for specifying and sharing CORBA-based distributed object models” [MOF02, x] such as UML models [UMLSp, page 5-24]. The CORBA interface behaviour is covered by the MOF specification, which will be described in detail in the next section. In reference to design of multidimensional data models such as DWH or data cubes, the UML class diagram is in particular suitable for the conceptual and logical metadata design in contrast to the Entity-Relationship Model (ERM). Since, ERM has a lack of semantics for expression multidimensional constructs [BuG01, page 157]. The UML standard covers both model and modelling syntax in respect of conceptual and multidimensional modelling such as the UML extension Multidimensional UML (mUML) [BuG01, page 163].
Figure 1: Example for a package owning a UML model with three classes.
Figure 1 shows an example UML model using the class diagram notation which defines the static structural organisation of classes and objects in general. The example in figure 1 displays the package Cost Accounting that consists of the classes Costs, Direct Costs (DC) and Overhead Costs (OC). DC and OC are associated with Costs. They possess the cardinality 1..1 to the class Costs, which can communicate with at least none and maximum one element of DC or OC (1..0).
Download article: UML.pdf |