Asset Oriented Modeling (AOM)

- AOM and UML -

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:

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

  2. ... decorate primary keys with the stereotype primaryKey. UML does not have an explicit concept of primary keys. 

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

  4. 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:

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

    2. In all other cases (multiple inheritance, clustered inheritance, optional inheritance, and overrides) we must resolve the is_a arcs. 

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

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

  6. ... provide type definitions for assets that are used as types by declaring each of these assets as a class decorated with stereotype type.

  7. ... model groups are mapped as type classes. The connector type (sequence, bag, choice) can be represented as a Tagged Value.

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

  9. ... model Level 2 Structures as Packages.

 

Home Definition Step-by-Step Examples Downloads

Contact: support 'at' aoModeling.org