Model-Driven Programming

Spahn et al. (2007) explain that end-users are domain experts not IT professionals, and because they cannot program their own solution, this is requiring them to communicate their needs to IT developers. Spahn et al. argue for the empowerment of users to customise software by providing an abstraction layer to hide technical details and allow for concentrating on business needs. Model-Driven Programming and the Semantic Web are explained by Frankel et al. (2004), and they discuss how these techniques can be combined. Bringing together model-driven programming with the Semantic Web can enable diagrammatic programming, and translation to structured and searchable Semantic Web output, this eases visualisation and interaction problems at each stage of translation. Visualisation and interaction with ontologies is important for model-driven programming research in this thesis. Frankel et al. investigate translation of UML and entity relationship diagrams that use graphical notations and store in formats such as XMI into OWL.

As models and ontologies in this research are to be cohesive and closely linked, visualisation and interaction techniques can be applied to either or both. Model-Driven Programming can be an important technique for dealing with complexity. Gray et al. (2004) explain how this technique can assist in the development of software for a large avionics system, and also investigates program and model transformation. Gray et al. (2004, 361) explain Program Transformation/Translation for Model-Driven Programming – “research into horizontal transformation concerns modification of a software artifact at the same abstraction level. This is the typical connotation when one thinks of the term transformation, with examples being code refactoring at the implementation level, and model transformation and aspect weaving at a higher design level. Horizontal transformation systems often lead to invasive composition of the software artifact. In contrast, vertical transformation is typically more appropriately called translation (or synthesis) because a new artifact is being synthesized from a description at a different abstraction level (e.g., model-driven software synthesis and reverse engineering). Vertical translations often are more generative in nature.” Gray et al. (page 367) also investigate – “interpreters that traverse the internal representation of the model and generate new artifacts”, e.g. XML files and source code, thought their main emphasis is on transformation of existing code. Gray et al. explain that a model/developer does not create the transformation/translation rules. For this thesis this role is assigned to the ‘System Creator’ who creates the translation system for the ‘model builders’ and ‘model users’. This thesis concentrates on vertical generative translations for creation of new artefacts, in order to assist end-user programming/modelling.

Translation can enable model building and use/re-use by end-user programmers/modellers. Coutaz (2007, 2) explains how Model Driven Engineering and Service Oriented Architecture can be combined. Coutaz also explains that “An interactive system is a graph of models related by mappings and transformations.” This would fit in well with the structure of RDF, which is also a graph structure, an interactive editable tree/graph of models could be produced, in order to relate models and sub models, and ontologies, and sub ontologies all to each other. Baclawski et al. (2001) and Kogut et al. (2002) explain how UML can be used as a tool to produce ontologies. Kogut et al. make the point that UML was originally designed for human-human communication, but is being driven to become more formal and ‘machine-processable’ and is now being used to generate code and schemas. Baclawski et al. translate from UML diagrams to ontologies represented in graph based languages; thus demonstrating the use of translation to aid diagrammatic visualisation and editing for ontology creation, and enabling closing of gaps between UML and ontology languages and modelling. UML tools could facilitate translation, interaction, and visualisation for ease of use.


Baclawski, K., Mieczyslaw, K., Kogut, P., Hart, L., Smith, J., Holmes, W., Letkowski, J., Aronson, M., 2001. Extending UML to Support Ontology Engineering for the Semantic Web. In: Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp 342-360.

Coutaz, J., 2007. Meta-User Interfaces for Ambient Spaces: Can Model-Driven-Engineering Help?. In: End-User Software Engineering Dagstuhl Seminar February 2007.

Frankel, D., Hayes, P., Kendall, E., McGuinness, D., 2004. The Model Driven Semantic Web. In: 1st International Workshop on the Model-Driven Semantic Web (MDSW2004) Enabling Knowledge Representation and MDA® Technologies to Work Together.

Gray, J., Zhang, J., Lin, Y., Roychoudhury, S., Wu, H., Sudarsan, R., Gokhale, A., Neema, S., Shi, F., Bapty, T., 2004. Model-Driven Program Transformation of a Large Avionics Framework. In: Third International Conference on Generative Programming and Component Engineering GPCE, pp 361-378.

Kogut, P., Cranefield, S., Hart, L., Dutra, M., Baclawski, K., Kokar, M., Smith, J., 2002. UML for Ontology Development. The Knowledge Engineering Review Vol 17(1) pp 61-64.

Spahn, M., Scheidl, S., Stoitsev, T., 2007. End-User Development Techniques for Enterprise Resource Planning Software Systems. In: End-User Software Engineering Dagstuhl Seminar February 2007.

Author: Peter Hale