2 people following this project (follow)

Project Description

The xOWL Infrastructure brings the Model-Driven Engineering principles to domain experts by enabling them to build, execute and test models through visual notations specific to their domain. Experts from different domains can interact with the same model through different visual notations.

The xOWL Infrastructure relies on a common modeling language: xOWL, an extension of the W3C Web Ontology Language (OWL2).
The xOWL language enables the representation of behaviors (as imperative algorithms) and rules within ontologies. In this way, models built by domain experts can be executed and the result presented with domain-specific notations.

This project is developed in Java with some bits in C#. Java 7 is required for domain experts to run their domain-specific modeling environment. The .Net framework 2.0 is required for software engineers to build these environments.

Examples

screen1.png

How to use

Before domain experts can use their domain-specific modeling language, it must be specified in a way understandable by the tool. The process to build a DSML is as follow:

Software engineers build the specification of the visual notation of a domain using our high-level language dedicated to this purpose. In rapid prototyping cycles, software engineers are able to demonstrate the visual notation to domain experts in order to improve it and make it look like informal domain notations that may pre-exist. In this step, software engineers build the repertoire of notational symbols that domain experts will be able to manipulate, without worrying about the precise semantics behind them.

Then, using the provided compiler, software engineers automatically generate a default meta-model of the domain that supports the visual notation. Software engineers adapt this default meta-model to the expected domain concepts.

Software engineers package these artifacts in a “workbench” definition, deployed with the XOWL GMI Environment.

Finally, domain experts use their modeling language through this Environment.

Components

  • XOWL GMI Environment: This is the environment for domain experts to build and interact with their model through their own visual notations. The Environment is configured by software engineers with a “workbench”, which specifies the domains and notations accessible to the domain experts.
  • XOWL GMI Compiler: This is the component used by software engineers to compile high-level expressions of visual notations into domain specifications that can be used by the XOWL GMI Environment.
  • XOWL Interpreter: This component is the implementation of the xOWL modeling language. This component is used by the XOWL GMI Environment. It can also be included in other third-party projects in order for them to manipulate and execute xOWL ontologies, execute ontology transformations, etc.
  • XOWL Code Generator: This component is able from given OWL2 ontologies to generate Java code implementing them. For example, OWL2 classes will be implemented as Java interfaces or classes, etc. This Code Generator has two execution modes. With the Standalone mode the generated Java code is self-sufficient (no reference to Java classes outside the standard library) and implements at best the semantics of the given ontologies. With the Proxy mode the generated code acts as a façade on the XOWL Interpreter. This enables users to generate Java classes for manipulating domain concepts, but still be able to manage the data with the XOWL Interpreter (loading, writing, execution, transformations, etc.).

Legal

All software components and source codes provided by this project are available without any warranty under terms of the GNU Lesser General Public License, version 3.
Source codes and ontologies of this project are copyrighted by the European Aeronautics Defense and Space Company, France. Registration of copyright at the IDDN under number: IDDN.FR.001.040016.000.S.P.2012.000.10600

Last edited May 5 at 12:10 PM by lwouters, version 7