Open MetaModeling Environment
|Project Leader:||Bernhard Volz|
OMME - the Open MetaModeling Environment - is an integrated development environment (IDE) for modeling languages (meta models), models and instances of models. With OMME you may design customized modeling languages to create models that fit your needs.
The CLUe of OMME
OMME eases the definition of languages. In business process modeling, for instance, it is often essential to define not only single tasks and activities of a process but also input and output data for each step. Following the CLUe approach of OMME, a modeling language for processes is created first.
This modeling language reflects the basic building blocks of a process but it is still missing means for modeling data produced and consumed by each task. As the Entity-Relationship formalism for data modeling provides a formal but implementation independent view on data structures (i.e. it is not bound to a specific physical representation of data), it would be best to integrate ER modeling into the process modeling language.Within OMME, artifacts of different modeling languages may be linked together.
After linking the process modeling language with a data modeling language, the integrated process modeling language may be used to enrich the process model with data.
This procedure - the creation of a new modeling language by linking artifacts of already existing languages and then use it - is refered to as CLUe (create - link - use) within OMME.
Besides that, OMME is a real metamodeling environment. Its most characteristic features are:
Support for an arbitrary number of meta levels: OMME is not limited to hierarchies and approaches consisting of two, three or four meta levels only. Instead, an arbitrarily structured meta hierarchy may be specified.
Support for advanced modeling patterns: (Extended) Powertypes, Deep Instantiation and Specialization of Instances may be used to realize more expressive models.
Specification of graphical concrete syntax for modeling languages: OMME supports specifying graphical notations for modeling languages. Additionally, a textual concrete syntax may be used that is automatically derived from the language definition. Freely defining your own textual syntax is a topic on which we are currently working.
No need for generating code: OMME interprets language specifications during runtime and therefore does not require code generation. Changes and new specifications are evaluated in-place and may be instantly used without restarting the environment.
Integration into Eclipse: OMME is implemented on top of the Eclipse platform and therefore may be integrated into existing Eclipse installations.
OMME is available free of charge - download links can be found below. Please note that we are an academic institution and OMME is a prototype reflecting our current state of research. We cannot provide support even though we will do our best if we get aware of problems. Use it at your own risk!
You may run OMME on Windows or Linux (Gtk). Both systems might come with a pre-installed Java runtime but make sure that you use at least Java 6 or even better Java 7. Please note that OMME is based on Eclipse and therefore imposes the same requirements as Eclipse. Thus, GCJ will NOT work. Even though there are other Java implementations, we made good experiences with the JDK from Oracle. Please note that OMME requires at least 256 MB of RAM for proper operation. OMME will not start if you have less than 256 MB.
A port to MacOS X is on its way and will be made available as soon as it is finished.
OMME ships as a compressed archive (zip). Download the archive that matches your platform, extract all files and run the executable in the "omme" folder. Please ensure that you run 64-bit OMME with a 64-bit JRE and the 32-bit OMME with a 32-bit JRE.
Example models / projects
Perspective-oriented Process Modeling (POPM)
- Sample process: Data modeling with ER (requires the ER project as well)
- Entity-Relationship Modeling (ER)
- Business Process Model and Notation v2 (BPMN) - not yet complete
- UML2 Use Case Modeling
We are currently setting up a source build.
Coming extension for OMME: NLToModel
No matter if you are going to gather business processes or designing data schemes mostly you start upon natural language descriptions. Natural language is not only the most intuitive tool of describing something but the medium for information interchange between humans. Nevertheless natural language often includes ambiguities and blur. That is why one needs formal models. Using OMME you have a powerful tool for building these formal representations – implying that you have to spend time for modeling all information manually.
NLToModel tries to capture and partially solve this uncomfortableness by providing a Natural Language Processing (NLP) pipeline which enables the user to establish connections between natural language phrases and model elements by just providing additional information in natural language. These connections are used for automatically identifying other model elements of the same type leading to a more and more complete knowledge of how humans model with their (native) language.
Medium-dated it will be possible to provide initial formal models which have been automatically created upon natural language descriptions.
Currently NLToModel is still under construction. But you have the possibility to download the prototype with a limited set of features as it has been built for demonstration purposes at the CeBIT 2013 fair. Since OMME and NLToModel have been different branches of research there currently is only a standalone version of NLToModel available.
Installation Details (Demo)
- Install a 64-bit Java Runtime Environment (JRE, at least version 1.5).
- Download and install WordNet 2.1 from WordNet into the default installation directory.
- Set some environment variables using the script "setEnvVariables.bat" which is included in the resources folder of the eclipse folder you downloaded. Check the environment variable which points to the installation directory of WordNet. Depending on which Windows version you use you might have to correct the path.
- Start eclipse, create a new workspace and click "Window" > "Preferences" > "NLPToModel PreferencePage". Delete the default string and include the path to the file "CombinedProcessAndDataMetaModel.ecore" which is also included in the mentioned resources folder.
After installing and configuring your system according to the notes above you now are ready to start transforming natural language model descriptions into formal representations with respect to the configured meta model. In order to do that open the Eclipse Cheat Sheet "NLToModel Pipeline" from the category "Other". Following the cheat sheet instructions will lead you through the transformation process.