Domanda

I am looking for a new MDA tool to try out for modelling and code generation. This is not for any work related project yet, but for testing purposes. I only used the Merode approach until now (using jMermaid for modelling and the accompagnied code generator) but want to try out something new.

Since EMF is integrated in Eclipse I see a lot of positive reasons to try it out. But after reading some documentation and online articles, I wonder how much it adopts the OMG MDA standards and how much it doesn't.

For example I found the following text

If, on the other hand, you have already bought into the idea of modeling, and even the Model Driven Architecture (MDA) big picture,3 you should think of EMF as a technology that is moving in that direction, but more slowly than immediate widespread adoption. You can think of EMF as MDA on training wheels.

on http://www.informit.com/articles/article.aspx?p=1323360&seqNum=2

But I can nowhere find a concise list of what points of the OMG standard are implemented and which ones are left out or interpreted differently. Anyone that can help out with that? (And if there are other, more recommended tools, I'm always open to suggestions.)

È stato utile?

Soluzione

There is very little relation. EMF is a framework to create (meta)models with very basic code-generation capabilities (basically only a Java direct translation). EMF's goal is not to be an MDA framework but to be the building block on top of which other tools may build more sophisticated solutions (e.g. check the open soruce Eclipse Acceleo tool).

And MDA is just a philosophy. Itself is not even a specific method. The MDA guide, the OMG standard document explaining MDA, is just a set of principles for model-driven development using OMG technologies but does not go further than that (if needed you may want to check the difference between all these MD* acronyms).

So, you can find EMF-based tools that follow MDA principles but EMF as such does not pretend to do so.

Altri suggerimenti

EMF corresponds to a simplified OMG's MOF implementation (http://www.omg.org/mof/), providing facilities to express custom metamodels and generate java components to instantiate models.

MDA is a particular model-driven philosophy, based on several kind of models (CIM, PIM, PSM...), and aiming to provide a way to target several technical architectures (PSM) from a unique functional model (PIM).

You can use EMF for any model-driven philosophy MBE, MDE, MDD, or MDA. It is the fundamental building block that allows you to define your own metamodels and models. Simply said, EMF provides models, and you can use it for any model-driven approach, including MDA.

In EMF FAQ there is question "What is the relationship of EMF to OMG MDA?" which states

"Essentially EMF supports the key MDA concept of using models as input to development and integration tools which produce multiple programming language (Java in the case of Eclipse EMF itself) or data interchange format (XML) representations."

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top