![]() |
Integrating and Managing IT Architecture Models – part 5 – Transformations |
A core technical issue is the development and exchange of models and model components across multiple partners using multiple different, non-compatible software tools and modeling notations.
For the Objective Architecture Model we require:
- The schema for a repository that will hold the Objective Architecture Models,
- A transformation from the repository whose elements are UML elements to a XML file defined by a XSD (Call this the repository XML, or just R-XML, and R-XSD).
- The inverse transformation from the XML file to the repository must also be defined.
- The XSD and these two transforms must be maintained together and must reflect any changes to the repository schema.
Although the Objective Architecture Model may, itself, be a native XML file, having a level of indirection – i.e., the R-XML – allows other tools and techniques to be brought to bear for special purposes. The R-XSD can be published, and remain fairly static, while the internal representation of the Objective Architecture Models may need to be modified. The R-XML/R-XSD can be used by other tools such as Web 2.0 applications, rendering programs, simulation systems, virtual world insertion and many others yet to be determined. By providing this level of indirection, all of these tools have a common access that is insulated from the actual form of the assets in the repository.
For each source of an objective model, we require:
- XML/XSD for the output of the source (Call this the source XML, or simply S-XML)
- Transformation from the S-XML to R-XML
- The inverse Transform from R-XML to S-XML.
In some cases, the source may not emit a S-XML. In those cases, the transform must read/write the native source data. This will require a separate concept definition file analogous to the XSD that must be maintained in synch with the transformations.
Using modern natural language processors, it is possible to construct transforms of natural language documents into the Objective Architecture Repository. This approach is applicable when the information in a NL document can provide strict adherence to some formal requirements: for example, Federal Information Processing Systems must comply with strict federal security requirements that are expressed in English, but systems must be able to prove compliance in some way. Transforming the NL security specification into a formal model can provide the basis for rigorous evaluation of compliance.
These transformations could be implemented via XSLT, Java, or any other appropriate language that provides the best solution for the given source.
Flow of Models To and From the Repository
Check in
- A ModelSource either has a native XML file format, or can emit a XML file, S-XML, defined by S-XSD.
- The S-Transform transforms the S-XML file to a R-XML file, using the R-XSD and S-XSD to formulate the R-XML file.
- The R-Transform-1 converts the R-XML file into an Objective Architecture Model model in the repository.
Check out
- Checking out a model from the repository works in the opposite way.
- The R-Transform extracts the UML model from the repository, and transforms it into a R-XML file based on the R-XSD.
- The S-Transform-1 transforms the R-XML file into the S-XML file using the R-XSD and S-XSD to govern the transformation.
Next – "Part 6 Governance" …



