Recent Posts

RSS Feeds

EMF talk @ EclipseCon

Very very cool stuff. I've built a couple of models with it and I loved it. It was cool to see a call for us as a community do more though.

Here are my notes.

What is EMF?

emf allows you to do either code or modeling

 

Pragamitic unification of key technologies

1)    Java – model impl

2)    XML – model persistence

3)    UML & MOF – model definition

 

EMF has influenced and been influenced by OMG stuff

 

EMF History

MOF

1)    Efficient java implementation of a practical subset of the MOF API

2)    To avoid confusion the MOF-like core was called Ecore

 

What is MDD

1)    a model is – sql schema, uml, xml schemas etc

2)    Use the model to drive the rest of the process – development, architecture, support etc.

3)    Use patterns to transform models into pattern based code

 

Cool example…

Three ways to represent the stuff – java interfaces, uml diagram, xml schema.

Interesting statement that JDK 1.5 (metadata) will fix the lack of ‘getItems’ not specifying that the list that is returned has objects of type Item in it.

EMF can take any of the 3 forms and make a ‘canonical form’

Given one of the three representations you get

1)    full java impl

a.     model change notification

b.     persistence seralization of model data

c.     bi-directional reference handshaking (referntial integrity)

d.     proxy resolution and on demand-load

 

The canonical form is Ecore (really XMI) and from that all the other stuff can be generated (java interfaces, uml diagrams, xml schema).

 

The Ecore model fits on a page

 

Layers

1)    core runtime stuff EObject is the root of your modeled objects

2)    EObject is reflective

3)    Also the key to providing generic editing commands

a.     The EMF auto gens a simple plugin

4)    The .Edit stuff builds the editor that is platform independent (i.e. you could put a Swing UI on it easily)

5)    The next thing (.View I think) builds a simple plugin

Demo – starts with xsd and builds the app from it (the plugin)

Very cool mapping editor that I’ve not played with before

I want to write a book about this…

Generated code for the model, you see only the interfaces if that is all you want (it generates the implementation into another package).

You can modify the code that is generated and it won’t over write it.

Showed the edit project that made the ‘editable’ stuff on top of the model. The edit provides ItemProvider’s and an AdapterFactory for relationships and an EditPlugin thing.

Shows editor running as a plugin to eclipse… very cool. I wonder if they will support RCP plugins…

With the plugin you can edit the model

Rock’n

 

What can we do to use EMF?

Build models!

Visualize legacy code

A ton of other stuff that I could not type…

 

There is an RedBook on GEF

Permalink     No Comments



Post a Comment:
  • HTML Syntax: Allowed