Sections

OntoDSL: An Ontology Based Developement Environment for Domain Specific Languages


Description

Today domain specific languages (DSL) are used to model and develop systems of
different application domains. Such languages are high-level and should provide
abstractions and notations for better understanding and easier modeling of
applications of a special domain.

The Ontology Based Developement Framework for DSLs OntoDSL provides a new technical space that allows for defining DSLs enriched by formal class descriptions. It allows DSL designers to check consistency of the model and helps DSL users to verify and debug DSL programs by using reasoning explanation. Moreover, novice DSL users may rely on reasoning services to suggest domain concepts according to the language definition.

Although the list of requirements of a DSL framework may be extensive, we concentrate on requirements derived by user scenarios of our industrial project partners.

  • Formal Semantics: To enable consistency checking, the DSL metamodel must be defined using a language that offers sound and complete reasoning services.
  • Constraint Definition: The DSL framework should allow to define constraints over the DSL metamodel.
  • Progressive verification: Even with an incomplete model, the DSL framework must provide means by verifying constraints.
  • Suggestion of suitable domain concepts to be used: The DSL framework should be able to dynamically classify the instances of the DSL model according to class descriptions in the DSL metamodel. Such classification together with explanation helps novice DSL users to understand how to use the DSL.
  • Debugging (explanation): Debugging is a requirement for the success of the DSL. Reasoning explanation is a very powerful tool to teach DSL users as well as DSL designers the consequences of applying given constructs.

Framework

The core of the OntoDSL consists of KM3, OCL and OWL2. We use KM3 to define the metamodels of all languages in the IDE. OCL and OWL2 are used to define queries and constraints for model elements in the metamodel of the new DSL. The TwoUse approach imports the metamodels of KM3, OCL and OWL2 and integrates them to a new metamodel which is used to define metamodels for new domain specific languages.

Every concrete syntax is defined by TCS and is connected with its corresponding metamodel (abstract syntax). Thus it describes on the one side the syntax of the new domain specific language, on the other side it provides the relation to the metamodel defined by TwoUse.

The Atlas Transformation Language ATL is used to define different transformations within the developement environment. We transform OWL2 ontology to an XML format that reasoners like Pellet can import. To query these ontologies OCL queries are translated to SPARQL queries. New transformations that are used by the new domain specific language can also be defined by ATL.

The approach itself has been implemented in the Eclipse Platform using the Eclipse Modeling Framework.


Download

Requirements:

Eclipse Ganymede, EMF 3.4.* and TCS.

The eclipse plug-ins are available here.

Metamodel

Grammar of Concrete Syntax (in EBNF)

A Bundle including eclipse and all needed plugins is available as soon as possible.

Associated Projects

Contact

Fernando Silva Parreiras, Tobias Walter

Active Members

 

Literature

n.a.

last modified 2009-06-18 14:50

Kontakt