Asset Oriented Modeling
(AOM)
- Algebra -
An algebra allows to derive new models from one or several existing models by
using several basic operations.
When a model contains
general constraints
the operations listed below may not be computational: it will not always be possible to construct a model by formal
means.
However, if we restrict the model's constraints
to regular expressions or hedge regular expressions, it is
possible to construct a new model
using the operations listed below. For example, if we use XPath as a constraint language,
we must avoid XPath functions that manipulate the content of nodes or
nodesets such as substring(), concat(), sum(), avg(), etc.
The basic operations of an AOM algebra are:
- Set operations
Union, Intersection, Difference of two models. As far
its structure is concerned, a model can be described by a Hedge
Regular Grammars (HRG). The set of HRG languages is closed under the set
operations mentioned above. Similarly, the set of AOM models is closed under these
operations, too. The union operation is similar to merging
two models.
- Projection
This operation constructs a new model from an existing model by keeping only
specified assets, arcs, properties and subproperties. The new model must be
consistent (for example, we may not remove key properties of an asset
without removing arcs leading to that asset, or we may not remove properties
without removing all constraints that refer to that properties). AOM
has a build-in projection mechanism on asset level: scopes.
- Cartesian product
This operation combines two models by using the usual Cartesian product. If
the two operands contain assets with the same identification (name, scope,
namespace), both assets are combined by applying the Cartesian product to
them. Similarly, if both assets contain identically named properties, both
properties are combined by applying the Cartesian product to them.
- Selection
This operation narrows the set of possible model instances by introducing
additional constraints.
- Rename
This operation can be used to change names of model items (asset name,
display name, property names, role names, level2 names).
- Inheritance
This operation resolves is_a arcs and replicates the features of the arc
target into the arc origin. For details see here.
- Explosion
This operation transforms complex properties
(i.e. properties that have subproperties) into assets, except properties
that are used in a primary key. The new assets are connected to the origin
asset via arcs, each arc leading from the origin asset to the respective new
asset.
- Implosion
This is the inverse operation to Explosion.

Contact: info@aoModeling.org