Model driven interoperability is a research field that has gotten a lot of attention and money. Several research projects over the past years such as ATHENA, SWING and MODELWARE have sought to bring solutions to this field. The latest efforts involve the use of formal semantic descriptions to ease the interoperability task. Recent technologies on a lower level, such as SAWSDL has also presented new opportunities in the field. This thesis proposes to elevate the annotation to the platform independent level (PIM), complying with the Model Driven Architecture (MDA) vision of the MDE paradigm. Doing the annotation at this level will enable us to specify mappings to and from the ontology. Further this will enable us to generate specific mappings between PIMs that are annotated by, and mapped to, the ontology.
Benefits are many, especially in the fields of model integration, validation, constraint checking and the creation of a common vocabulary that the annotated models adhere to. The latter is especially an important property in a world that sees more distributed software development, where domain experts and developers often find themselves at the opposite sides of the world.
This thesis puts a focus on the integration aspect and shows how a annotated model can be transformed to another representation using the annotations and its definitions of the lifting and lowering operations. The thesis aim is to show that these annotations are feasible and represents added value in the context of MDA software development. We propose, and construct, a specific tool to handle annotation, mapping and validation of models and ontologies. They are annotated through a metamodel that support relations between both. This tool is based on the Eclipse platform, and is extensible with regard to future transformation technologies. The proposal is evaluated in the context of a specific case that presents two domain models rooted in a buyer/seller context. These models are expressed as UML class diagrams. A reference ontology that is the equivalent of one of the UML models represents the common vocabulary that we want to connect the models to. We then evaluate the solution in the light of this and show that semantic annotation of models is possible and could provide assistance and concrete solutions to many problems that face developers.