I will use the meta-bubble as platform to inform you about news, changes, insight thoughts, and discussions that rank arround my current projects. Of course I try to promote my work on other media media as well: like on web-sites, open source project sites, eclipse update sites, and in the futures they might by even more sites. But, non of these allow you to instantly get informed about new features, documentations, tutorials, or simply about new ideas that get into the projects. And of course, the meta bubble does not only inform, it also allows you to participate, to put your thoughts and ideas into the projects or simply discuss meta-issues. So, from know on I like to call them our projects.
We only want to give a very short introduction to our projects here; there is much more information at our main web-site. We have several projects that will help you to model languages. As you probably know, computer languages can be described with computer models. The best known technique might be meta-modelling with languages like MOF or EMF’s ECore., and, as you already know, these meta-language are very good at describe language structures; they are used to model the abstract syntax of a language. This already allows you to handle your models, programm with them, or store them as files. But still, there a several other language aspects to cover:
Depending on your language, you want to have editors, statical analysers, compilers/code-generators, or interpreters/simulators. We think that each of these aspects can be described using an owned specific meta-languags.
We developed A MOF 2 for Java (AMOF2 or AMOF), a CMOF (MOF2) based model programming environment. AMOF also has comprehensive OCL facilities, using the OSLO OCL interpreter for invariants and implementations for derived attributes and query operations. AMOF supports user defined implementations of operations and derived attributes in several languages. We already mentioned OCL, but you can also use Java, or a specific kind of UML activities that we developed for the modelling of operational semantics.
This is actually our next project, called MOF Action Semantics (MAS) . Here we use meta-models to describe the abstract syntax and runtime structures of an executable language. These structures can be augmented with behaviour, which leads to immediate executeability of your models. We are about to extend this project with an “all-you-need” eclipse support that you allows to define your language, execute your models based on your language, and debug your operational language semantics.
The Textual Editor Framework (TEF) is an eclipse based programming framework to create semantic richt text editors for your EMF models. It allows you to define an arbitrary concrete syntax for your existing ECore meta-models. Your editor can be supplemented with syntax-highlighting, code completion, error annotations, etc. We are currently working on an comprehensive OCL editor, which can be used for any EMF based model, and also comes in handy for most of our other projects heavily depending on OCL.
I hope you got a good first view on what we are doing here. More details can be found at our sites: metabubble, berlios-project site for AMOF, berlios-project site for TEF, my home page. And of course, I hope to give further inside with each additional post in the meta bubble. So, you better stay tuned and subscribe to this blog.