UML is a powerful object-oriented modeling method. However, when dealing with non-object-oriented data structures, it lacks some concepts. This requires some mapping. To represent an Asset Oriented Model in the UML, we have to:
...
decorate all identifying assets of Level 2
structures with the stereotype entity. This will, of course, result
in a model that differs from models obtained by native UML modeling:
Relationships, as they are assets in AOM, become entities, not associations.
This reification has some nice side effects, as it allows to model n-ary
relationships and higher order relationships without problems.
... decorate primary
keys with the stereotype primaryKey. UML does not have an explicit
concept of primary keys.
... represent
the arcs of the AOM model as unnamed UML associations. If required, we can
decorate the source end of an association with a role name and the target
end with a cardinality constraint.
The exception from this rule are the arcs that are decorated with an is_a label. As the semantics of inheritance differ in UML and AOM we have to adopt a differentiated strategy when mapping inheritance relations to UML:
In case of simple inheritance we represent the is_a arc as a generalization. However, this is only possible when the inheriting asset does not override features of the inherited asset.
In all other cases (multiple inheritance, clustered inheritance, optional inheritance, and overrides) we must resolve the is_a arcs.
In cases of
clustered and optional inheritance the resolving of is_a arcs
results in a choice of multiple assets. We must introduce a
generalization of these assets.
...
resolve complex properties into atomic attributes. Here, we have two
options: (1) represent a complex property as an explicit aggregation, or (2)
define an own type class for a complex property.
...
provide type definitions for assets that are used as types by declaring each
of these assets as a class decorated
with stereotype type.
... model groups are
mapped as type classes. The connector type (sequence, bag, choice) can be
represented as a Tagged Value.
... arc clusters are
mapped as
abstractions (interfaces). In cases when arcs within a cluster are decorated
with different cardinality constraints, we must construct the union of these
constraints and use the result for the association representing the arc. In
this case we will experience some loss of structural information.
... model Level 2 Structures as
Packages.
| Home | Definition | Step-by-Step | Examples | Downloads |
Contact: info@aoModeling.org