The xOWL Approach to Domain-Specific Visual Modeling

The xOWL Graphical Modeling Infrastructure (xOWL GMI) or xOWL Infrastructure for short relies at its core on the xOWL modeling language. The xOWL language is an extension of the W3C Ontology Web Language version 2 (OWL2). OWL2 is a language for the expression of ontologies, which are used as models in this context. The xOWL language adds new language constructs to vanilla OWL2 for the expression of behaviors within ontologies as imperative algorithms (an action language) and the expression of rules.

The main objective of the xOWL GMI is to support multi-domain modeling, that is to say, the integration of multiple domain-specific languages within a single framework. While the xOWL language supports the integration of multiple languages at their abstract syntaxes level, the rest of the Infrastructure allows the integration of their concrete syntaxes (notations) in a single modeling environment.

To achieve this, the xOWL GMI decouples the abstract and concrete syntaxes of languages. That is to say, the metamodel defining the concepts of a language is independent from the definition of the visual widgets that represents them in a diagram.

In addition, the xOWL GMI shifts the focus from the metamodel to the visual notation in a Notation-Driven approach. This means that the process to build a domain-specific modeling language using the xOWL Infrastructure is as follow:

  • Build the visual notation of your domain without worrying about the semantics and underlying concepts.
  • Automatically generate a default metamodel corresponding to this domain.
  • Adapt the generated metamodel to your domain.

At a point the xOWL GMI still has to relate in a way the notations elements to their modeling counterparts in the abstract syntax. To do so, it uses ontology transformations. Thus, the mapping of models elements to notational elements is expressed as an ontology transformation. Because it is hard to write bidirectional transformations between models elements and notational elements, the xOWL GMI in fact splits them into three parts that do not really constitute a single bidirectional transformation.

The most natural of the three is the MV transformation (for Model to View). It transforms model elements to notational elements. It defines how the models elements will finally looks like to the users.

The second is the CM transformation (for Command to Model). It transforms notation-specific commands emanating from the environment to model elements. For example, the user requested to add a new X notational elements. This transformation will tell which model element has to be created to back it up.

The third is the VV transformation (for View to View). It is more of a helper transformation that ensures the completeness of the notational elements.

Last edited May 10, 2012 at 1:05 PM by lwouters, version 2


No comments yet.