Project

General

Profile

Documentation

The BeMoRe prototype manages metamodels, models and instances in a persistent environment. It is built on top of the OntoDB / OntoQL platform. This implementation faced three technical challenges:

  1. invoking external programs and web services from a Persistent Meta Modeling System (PMMS). To the best of our knowledge existing PMMSs do not support this feature;
  2. exchanging data between the PMMS and the external environments (i.e., web services and external programs). Indeed, data types of the BeMoRe prototype and those of the external environments are not similar. Thus, data types mappings are required;
  3. executing OntoQL queries that contain invocations of the defi ned operations.

The dedicated OntoDB Platform tools are the following:

  • OntoDB Schema: an ontology based database tool, support of multiple ontology models within ontology based database.
  • OntoQL: is an OntoQL interactive terminal.

Download and prerequisites

You need to download:

  • the BeMore prototype: /projects/bemore/files.
  • a recent version of PostgreSQL, which is the Database Management System used by OntoDB.
  • a recent version of Eclipse with the common Java packages.

Install

As the BeMoRe protoype is experimental, we will execute the example inside the Eclipse IDE.

  • If needed, install PostgreSQL.
  • Start Eclipse IDE.
  • Import an existing project (File => Import => Existing Projects into Workspace). Choose Select Archive file and browse to select the bemore_prototype.zip archive file. A set of projects will be created into the current workspace.
  • Select the OntoQL2 project and edit the src/main/test/fr/ensma/lisi/ontoql2/procedural/eval/Demo.java file. Configure the credential information related to your PostgreSQL version.
  • Execute the samples from the src/main/test/fr/ensma/lisi/ontoql2/procedural/eval/Demo.java class file.

Examples

The purpose of this example is to generate an XML representation from a class concept. We will use an operation from the meta-model layer. This example can be found in the fr.ensma.lisi.ontoql2.procedure.eval.Demo class.

  • Create a class Student with three properties: name, firstname and notes.
CREATE #CLASS Student (
   DESCRIPTOR (
      #name[fr] = 'Etudiant', 
      #name[en] = 'Student') 
   PROPERTIES (
      name String, 
      firstname String, 
      notes Int Array)
)
  • Define an operation called UML2XML. This operation takes a Class as input and generates a String as output.
CREATE OPERATION #UML2XML 
   input(
      REF (#Class)
   ) 
   output (
      String
)
  • To check if the operation has been created, you can execute the following OntoQL query.
SELECT #name, #input, #output FROM #MOperation WHERE #name = 'UML2XML'
  • Create an implementation for the UML2XML operation. It will be an external Java program.
CREATE IMPLEMENTATION #ExternalUML2XML IMPLEMENTS UML2XML 
  DESCRIPTOR (
    type='ExternalProgram', 
    location='src/test/resources/externalprograms/OntoDB2ProceduralSample.jar', 
    operationClass='fr.ensma.lisi.ontodb2proceduralsample.MImplementationSample', 
    methodName='umlToXML'
  )
  • Exploit the UML2XML operation
SELECT #UML2XML(c) FROM #Class c WHERE #name[fr] = 'Etudiant' USING IMPLEMENTATION ExternalUML2XML->UML2XML

Publications

  • Youness BAZHAR, Yassine OUHAMMOU, Yamine AIT-AMEUR, Emmanuel GROLLEAU, Stéphane JEAN, Persistent Meta-Modeling Systems as Heterogeneous Model Repositories, International Conference on Model and Data Engineering (MEDI 2013)
  • Youness BAZHAR, Yamine AIT-AMEUR, Stéphane JEAN, BeMoRe: a Repository for Handling Models Behaviors, 25th International Conference on Software Engineering and Knowledge Engineering (SEKE 2013), 2013
  • Youness BAZHAR, Handling Behavioral Semantics in Persistent Meta-Modeling Systems, Proceedings of the Sixth IEEE International Conference on Research Challenges in Information Science (RCIS), Valencia, Spain, May, 2012
  • Youness BAZHAR, Yamine AIT-AMEUR, Stéphane JEAN, Mickael BARON, A Flexible Support of Non Canonical Concepts In Ontology-Based Databases, Proceedings of the 8th International Conference on Web Information Systems and Technologies (WEBIST), Porto, Portugal, April, 2012
  • Youness BAZHAR, Chedlia CHAKROUN, Yamine AIT-AMEUR, Ladjel BELLATRECHE, Stéphane JEAN, Extending Ontology-Based Databases with Behavioral Semantics, Ontologies, DataBases, and Applications of Semantics (ODBASE), Rome, Italy, September, 2012
  • Youness BAZHAR, Handling Behavioral Semantics in Persistent Meta-Modeling Systems, Thesis, ISAE-ENSMA, december, 2013

Software licence agreement

Historic Contributors

Code analysis

  • Lines of Code: 65 800
  • Programming Languages: Java, WS SOAP, XML