Transformation Patterns


A sequence of tokens conforming to a Model
A value that conforms to a top level model element


For the purpose of this presentation, A transformation t is a function that maps a value v1 conforming to a model m1, to a corresponding value v2 conforming to a model m2.

To summarize:

	v1 [m1]	-> t -> v2 [m2]


Morphing refers to the application of a sequence T of transformations t1 .. tn, sequentially on input document di, conforming to a model mi to produce a final output document do, conforming to a model mo.

To summarize:

	di [mi]	-> T -> do [mo]

Transformational Patterns

A transformation may add or remove information (Model Transformation) or replace or reorder the available information in a document (Value Transformation).

Model Transformation
Transformation specified in terms of "model"
Value Transformation
Transformation specified in terms of "value"

Model Transformations

Simple Model Transformation
An input model element mi is mapped to an output model element mo
Single input model elements map to multiple output model element
Multiple input model elements map to a single output model element
Complex Model Transformation
A combination of refinemant and abstraction in a single transformation.

Value Transformations

Simple Transformation
Replaces a value vi in the input with a value vo in the output
Normalizing Transformation
Replaces values v1 ... vn occurring at different locations in the input document with a single value v, and optionally references r1 .. rn to this value in the output
Copy Transformation
Replaces a value v, and optionally, possibly implicit references r1 .. rn to the value v1 in the input with values v1 .. vn occurring at different locations in the "output document".
Complex Value Transformation

Designing a Good Morphing Sequence

In general, a good transformation tool will support specification of transformations either in terms of model or value. A good morphing sequence will use what is best for each transformation step, an appropriate model or value transformation. In general, when information is added or removed, a model transformation should be considered. A value transformation is appropriate in all other cases.

The Transformation Step

  1. Check that the input document conforms to the input model mi
  2. Perform semantic checks, to the extent necessary to complete the transformation
  3. Apply the transformation
  4. [Optionally] check that the output document conforms to the output model mo

The SANKHYA Translation Framework (STF)

STF is a state of the art dynamic model driven transformation tool that can be used to implement both transformations and morphs.

Content published for public or private access is the sole responsibility of the person who originated such Content. Hamara may not monitor or control or endorse the Content published in the space or the channels and cannot take any responsibility for such Content. Please read the terms & conditions of use carefully before using the site.
If you find any harmful, annoying, or illegal content in, please write to with Subject: REPORT CONTENT - REQUEST REMOVAL