Text Box: Standards

The representations used by this effort are intended to closely correspond to a variety of standards for object-oriented modeling, meta-modeling, distributed computing, component models, the virtual machine/execution models of the Java Virtual Machine (JVM) and .NET (MS-IL), and the XML standards from the W3 consortium.

These standards and their relationship to our representations and tools are described below:

UML.  XCIL is a subset of the OMG’s Unified Modeling Language (UML), corresponding roughly to the kernel defined by the UML2 Infrastructure standard, upon which the UML superstructure is built. The mapping between XCIL and UML is direct, and documented by the XCIL Reference with respect to the current UML standard (UML 1.4).

MOF/XMI.  XCIL is a superset of the OMG’s Meta-Object Facility (MOF), extended to include a number of additional UML concepts.  As a result there is a virtual match between the XCIL representation of modeling/programming elements and the XMI representation of them defined by the MOF.

Proposed MOF Query/View/Transformation (QVT) standard.  XPSL is intended to map to this standard.  As a result, XPSL queries and pointcuts are based on OCL, as the QVT standard is expected to be.  XPSL transformations are currently mapped to XSLT, which is also expected to be similar to the QVT standard. There are eight initial submissions. See the MOF 2.0 Query/View/Transf. RFP link at  http://www.omg.org/schedule  for details.

CORBA IDL.  The OMG defines a mapping between the MOF and CORBA IDL that can be used as the basis for a similar mapping between XCIL and CORBA IDL.

CORBA component model (CCM).  The CCM standard provides a MOF mapping that can be used as the basis for a similar mapping between CCM concepts and XCIL.

JVM.  The mapping between the JVM instruction set and XCIL is direct, and documented by the XCIL Reference. This, in turn, makes it possible to easily convert Java class files to an XCIL representation, and to analyze/adapt programs written in languages that target the JVM.

.NET/MS-IL.  The mapping between Microsoft’s intermediate language (MS-IL) for .NET and XCIL is direct, and documented by the XCIL Reference. This, in turn, makes it possible to easily convert MS-IL output to an XCIL representation, and to analyze/adapt programs written in languages that target .NET.

XML.  XCIL and XPSL are both XML based representations, making it possible to directly apply XML tools to XCIL and XPSL representations, and to use XSLT to transform them.  Currently XPSL is mapped to XSLT in order to transform XCIL representations of models and programs.

Other modeling languages.  Just as it is possible to translate between different programming languages that compile to XCIL, patterns can be defined to map between XCIL and the modeling languages supported by other non-UML tools.

Other tools.  Information from other tools (such as T-VEC) can be imported into XCIL by means of parsing, and portions of the XCIL representation can be exported in a format acceptable to other tools using appropriate XSLT transformations.  This task is made easier by the use of XML by many tools (such as T-VEC) to support information exchange.