- Algebra -
An algebra allows to derive new models from one or several existing
using several basic operations.
When a model contains
the operations listed below may not be computational: it will not
always be possible to construct a model by formal
However, if we restrict the model's constraints
to regular expressions or hedge regular expressions,
possible to construct a new model
using the operations listed below. For example, if we use XPath as a
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.
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.
This operation narrows the set of possible model instances by
introducing additional constraints.
This operation can be used to change names of model items (asset name,
display name, property names, role names, level2 names).
This operation resolves is_a arcs and replicates the features of the
arc target into the arc origin. For details see here.
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.
This is the inverse operation to Explosion.
Contact: support 'at' aoModeling.org