The Model Execution Framework (MXF) is a proposed open source project under the Eclipse Modeling Framework Technology (EMFT). The main aim of MXF is to provide a framework for development, execution and debugging of models with operational semantics.
You are invited to comment and/or join the project. Please send all feedback to the emft newsgroup.
Over the last years, the eclipse modeling projects have been successfully applied — in both, academic and industry — to develop and integrate model-driven tooling, especially for domain specific languages (DSLs). While EMF is used as core to specify (meta-)models in conjunction with OCL for constraints, supplementary components support the quick development of tooling by means of editors (textual or graphical), model transformations, code generators, and so on. However, there is currently no component to specify execution semantics (i.e. operational semantics) and interpret these definitions. We see the need for a framework that supports the definition of executable models and that instantly supports design validation by running those models.
A prototypical implementation of the framework has been developed as M3Actions framework and is currently available at sourceforge.org (see the project's website for further information). This framework is centered around a graphical action language to precisely define models with their executable behavior. A reflective interpreter is able to execute and debug these definitions. The overall framework supports multiple meta-layers via an explicit instantiation concept where runtime models are defined as logical instances of the abstract syntax. These runtime models are the model parts that change over time and these changes can be recorded during execution as a trace.
The MXF will build extensible frameworks and exemplary tools for executable models, e.g. an editor to define metamodels and runtime models and their behavior in terms of an action language. An interpreter and debugger will support the execution and testing of these models as well as recording of simulation runs for further analysis. The language for operational semantics might have a graphical and textual syntax and shall integrate other languages by means of black-box operations, library implementations, and so on. The common execution infrastructure will define common concepts on top of the Eclipse debugging framework and will enable applications to share runtime models, adapters for specific editors and debuggers, tracing capabilities, and more. MXF will provide integration with GMF for building DSL simulators that are seamlessly integrated into a generated editor.
In the long term, language-specific simulator-/debugger-generators will be developed that optimize runtime performance of the generic model interpreter. Moreover, a set of resuable models/runtime libraries might be developed to support rapid development of simulators for new languages.
We propose to develop this technology as a new project under the Eclipse Modeling Framework Technology project.
The following companies and organizations have expressed interest in this project. Key contacts listed.
The project plan heavily depends on approval and feedback of the community. Development is currently ongoing at sourceforge.org, so after migrating to Eclipse and setting up the project, a first step will be to revise and stabilize the existing code base until October 2009. During that setup phase, we want to better integrate with and connect to existing projects (EMF, Ecore tools, etc.).
Back to the top