Portal Home  |  Outer Space  |  SankhyaTechnologies Home  |  Login & Publish (Secure)


RSS Feed - Click To Subscribe

ActivityMonitoringAnalysis
ApplicationChain
CInputOutputLibrary
DistributedFaultTolerance
DynamicProgramming
EclipseUMLConcepts
GridComputing
LinuxResources
ModelDrivenTransformation
ObjectFileFormat
ProcessDocumentation
ProductDataManagement
SoftwareDebugging_1
SoftwareDebugging_2
WhatIsCORBA
idl_and_wsdl_comparison.pdf

Transformation Patterns

Glossary

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

Transformation

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

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
Refinement
Single input model elements map to multiple output model element
Abstraction
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.