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:
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
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
... 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
... model Level 2 Structures as Packages.
Contact: support 'at' aoModeling.org