Monday, December 29, 2008

It's Here, it's Finally Here!

The second edition of the EMF book physically arrived at my doorstep today! Here she is, modeling her new improved jacket with the Ecore Tools diagram of the Ecore model as a backdrop.

What a stunningly fashionable combination! With almost twice as much meaty content that's more than twice as excellent as the last edition, I expect it will be all the rage in the new year. According to Amazon, if you order today, it will still arrive in time to ring in the new year on Wednesday night. We live in a world of instant gratification...

Wednesday, December 10, 2008

Eclipse Banking Day in New York

On Monday I was headed for New York a day ahead of the Eclipse New York Banking Day event. I whipped out my camera as we approached Manhattan.

I haven't been to New York in more than a decade. Welcome to the Big Apple!

I grabbed a taxi and was soon in the mid island tunnel headed for my stay at the Stay hotel.

The hotel was very reasonably priced, had nice rooms, and some funky decor in the lobby.

After dinner, I walked around to see some of the sights. New York is a very lively city and there is a great deal to see. Too bad I didn't have more time to spend here.

On Tuesday, Ian started the day with a quick overview of the agenda and expressed gratitude to the sponsors, Actuate and Sybase, as well as to Ted Epstein of Morgan Stanley for hosting the meeting with excellent facilities.

Next Mike provided a high-level overview of what's happening at Eclipse these days
and why there is value in getting involved.

He talked about the following maturity model for how organizations deal with open source.

Business agility---responding quickly to changing regulations, standards, and customer opportunities---is becoming increasingly important. Today's information technology solutions tend to result in technology silos that are poorly integrated and plagued by vendor lock-in. Eclipse offers a new approach: open collaborative development. It has established best practices for multi-organization collaboration, including development processes, intellectual property sharing, technical architecture, and sound governance. Defining a platform in open source with transparent processes that are focused on meritocracy will definitely encourage many pragmatic people to get involved to share their innovations. Businesses should focus on where they can offer competitive differentiation. There's too much effort going into building the whole enchilada in today's complex world, and that effort detracts from being able to focus on the important factors that would actually provide better value for in terms of specific business needs. Defining and implementing a common banking platform would help the industry as a whole move beyond it's current cyclic reinventing of the wheel.

Next Jochen Krause talked about e4 and where Eclipse as a platform is headed.

One of the tool challenges we all face today is how best to make developers productive with quick write-test-debug cycles while producing modular componetized applications with consistent and stable APIs. The mission of e4 is to build a next-generation platform for pervasive, component-based applications and tools. It's very important to reassure the established community that the 3.x stream will continue to be supported for the foreseeable future. Eclipse has been growing for many years, but nothing has ever disappeared, so there are often multiple ways to do the same thing, e.g., storing preferences. Some cleanup is required. He talked about the effort to model the workbench so the same type of technology folks are using to model data within their specific domains will be used directly in the platform to model the workbench. For the future, we should anticipate the browser becoming a more viable delivery vehicle for applications.

Andrew Montalenti and Ted Epstein described MODeX, Model Oriented Data eXchange, which is a graphical modeling IDE that includes a code generator, language-specific runtime components, and life cycle management tools.

Direct XML manipulation is the least common denominator in the message exchange space. Toolkits focus on SOAP envelopes, transport, and message dispatching and handling. XML Schema is something that's often ignored, or treated as only a design time thing that's not properly maintained. Developers have been left to manually translate business concepts into XML formats with issues like poor support non-containment references getting in the way. Their solution is to have developers focus at a higher level of abstraction and to generate schemas and other detailed low-level artifacts from well-defined abstract message contracts.

Andrew gave a demo of MODeX designer, which uses GEF, EMF, GMF, JFace/SWT, and Equinox, and showed how to design entities, which he compared to EClasses in Ecore, using the tool. It supports tree-based editing as well as a graphical view of the entity relationship diagram. The user can create multiple different graphical views of the same underlying model. He showed all the different things they can generate including Java, C#, and C++, as well as schemas and described how some of these generated things can be used. MODeX includes support for views that allow you to filter down the overall model to the relevant information actually needed in a particular context; the corresponding schemas for these filtered views are generated automatically. They don't yet have a good graphical representation for views, but they plan to provide that soon. MODeX is yet another extremely cool example of how powerful model driven development can be in any domain.

In his talk, Christian Meier briefly described UBS' experience with Business Capability Modeling, which involves apply modeling to abstract over existing business processes, technologies, and organizational structure.

Philipp Kutter quickly outlined the EMF model they've designed to capture all this high level information.

Tatyana Staver gave a short talk about the Eclipse Open Financial Markets Platform, which is focused on creating a middle office financial markets application.

She reiterated the earlier theme about avoiding the continuous reinvention of the wheel that we see all over our industry. Build a platform and do it right once. Then evolve it and benefit from the expertise and contributions of others.

Edwin Park shared RBC's experience with Front Office Fixed Income Application Integration.

In the past, trading applications were localized to specific product types so there were multiple applications doing much the same thing. It would be more more effective to have one integrated user interface that could be tailored to address all the specific needs. A componentized architecture is ideal for providing a common base and allowing specializations to be seamlessly integrated. The fact that Eclipse already provides a rich variety of useful of components is a big win. They're making use of p2 to help with making installation a snap. The shift from monolithic solutions to component-oriented solutions is a big organizational shift: there is more reliance on shared infrastructure and that requires better coordination across larger groups of people. Internally their development effort follows much the same process as Eclipse itself uses: they focus on addressing real immediate needs and involve others in realizing the solutions. He stressed that it's important to get management buy-in for investing in shared technology projects.

Next was my turn fo the EMF dog-and-pony show. First I took pictures of the audience.

Notice below that the monitor is showing a screen saver of my garden? I started by explaining that I was going to jump to the conclusion. I pointed out that this beautiful garden was modeled first, on grid paper, before I went out and landscaped it. The conclusion being that it's important to model first, and take action in light of that design, if you want to achieve a beautiful result.

In this picture you can see in the monitor a picture of me taking a picture. You got to like that!

I think it went well. Almost no one fell asleep, and even the one guy who did, didn't snore very loud.

After a break, Jochen Krause talked about how RAP extends Eclipse RCP to the web.

The idea of course is to have a single code base that supports both RCP and the web. Just shoehorning an RCP window into the browser didn't go over so well though, so there was an effort to map the UI in a more browser-friendly way. I totally perked up when he said that cell editors are working the latest version of RAP. Woo hoo, now it can support properties views as used by an EMF generated editor.

Finally Henrik Lindberg of Cloudsmith and Jeff McAffer of Eclipse Source described Provisioning Eclipse in the Enterprise.

Of course p2 is the focal point for this. Unzipping files just doesn't cut it and the old style update manager, which p2 replaces, had many limitations. The installable unit, or IU, is the star of this new show; everything is an IU and everything is installable. With p2, a key design point is the separation of the metadata from the artifacts for which they provide information. The overall design is based on a director for managing the metadata, a repository for managing the artifacts, touchpoints for managing the runtime targets, and an engine to produce profiles or runnable configurations. Suffice to say, p2 is an installer on steroids.

The banking day was a great success. Kudos to Ian for helping organize this, to the sponsors for helping fund it, and for to Morgan Stanley for being such excellent hosts! It was a great event and it was very nice to meet so many interesting people. For example, I ran into Jeff Ricker whose name I recognized from the EMF newsgroup.

After that, Jochen, Mitch, Jeff and I headed to JFK for our 8:15PM flight to San Francisco for the Eclipse board meeting.

I didn't arrive at my hotel until well after 1:00AM PST, so it was a very long but productive day.

Friday, December 5, 2008

The Church of the Holy Metamodel

I knew it was only a matter of time because I've been seeing various ominous signs. Celestial bodies are moving into an unusual alignment.

So it didn't surprise me in the least when Father Ralph Müller, one of EMF's many zealots, err, I mean disciples, came to me with a story about hearing voices that he believes were from a supreme being. It might actually have been His Holiness Mike Milinkovich, but in my fanatic, err, I mean learned, opinion, that's close enough. The gospel according to Ralph is that God uses EMF. Now this should really come as no surprise to anyone---of course any self-respecting designer would model their creations first---but it's nevertheless a startling revelation to many. It really begs for the creation of the Church of the Holy Metamodel; I'm writing the Eclipse project proposal for it now. We will enshrine Ecore as the fundamentalist's pure self-describing model that binds all creation under unity. Feeling totally inspired, Sister Amber went out on a pilgrimage in search of visions, or perhaps for a nice place to make yellow snow; everyone is inspired in their own way.

The timing could not have been better, because Brother Dave Steinberg has been working tirelessly in seclusion on The Really New Testament, also known affectionately as the second edition of the EMF book. He just completed this sacred task. His compilation about the life and times of Ecore will be unveiled December 24; order now because you won't find a free copy in every hotel. It's is a delectable compelling morsel you definitely don't want to overlook.

To kick start our new church, we began with a good old fashioned purging; nothing brings a community together like a witch hunt. Our witch was called SDO, a tainted offshoot of Ecore we'd all like to forget, so we scratched it from our history books. We're definitely feeling much better now that the SDOectomy is behind us. A little sprinkling of holy water along with a heart-rending blessing from Brother Nick, and the exorcism is done.

Though not as astounding as Ralph's revelation, I had an amazing, almost miraculous, experience of my own: I went out to the car this week and found this stunning revelation on the license plate of my very own car!

I believe this to be a sign calling for me to preach the holy word according to modeling. To make a fresh start, one of the ancient practices I'm thinking of reviving---you just don't hear enough about it these days---is shunning. Like witch hunts, it's a great community building experience; not so great for the witches of course, but hey, there are only a few of them and many of us, so it's for the greater good. I'm just not sure whom to shun first, so I'm open to suggestions.

Tuesday, December 2, 2008

Modeling: Too Much of a Good Thing

With the EclipseCon Program Committee meeting scheduled for 10:00AM this morning, I finally had to grab the bull by the horns.

That is, I needed to review all the EclipseCon 2009 modeling submissions before the meeting. There are 11 tutorial proposals, but only 2 slots as well as 20 long talks, but only 4 slots; I'm in the awkward position of having to consider my own stupid modeling talk among the candidates. Assuming we divide our 4 hours of short talks so half the time are 30 minute slots and the other half are 10 minutes slots, we have 20 30 minutes talks but only 4 slots and 8 10 minute talks for 10 slots. We clearly have enough excellent material to fill a whole track for a whole week. I know it's been said that too much of a good thing can be wonderful, but it seems that a great many people are going to be very disappointed. Oh well, it's a bridge we're going to have to cross, like it or not.

Of course my first approach will be to whine for more slots, but whining will only get you so far, even though I'm very good at it! Few can snivel as well as me and I'll have Rich Gronback to help me. Personally I think it's time for an Eclipse Modeling Summit; Hawaii would be nice. Assuming that whining will get us only so far and that Eclipse Modeling Summit won't happen any time soon, I'm left wondering how best to make decisions. For example, will attendees want an EMF and a GMF tutorial, or will they want different cool things that haven't been offered before? If you have opinions, please feel free to spout them.

No matter what, rejecting proposals won't make any new friends I'm sure, so it's good that at Eclipse I can buy frienship. Apparently friendship requires long term maintenance though. I was the 2nd donor as well as the 400th. I really like the high speed download mirror.

Friday, November 28, 2008

Modeling Pilgrimage to France

Paris by the light of day on Sunday did not disappoint. It is by far the most magnificent city I've ever seen. The beautiful sights are simply endless and grand entrances are the norm.

Imagine living here!

I was surprised to see snow in Paris on Sunday, but by afternoon it had turned to rain and I was on my way to Nantes with Stéphane Lacrampe as my host and guide. That night I stayed at his house, which is conveniently located very close to the railway station. It's currently being renovated and will be very nice when it's complete. He even has a funky courtyard-style back yard full of fruit trees!

On Monday morning we headed for the Obeo office on Stéphane's motor scooter. That was fun! Of course no pilgrimage to France is complete without a trip to a cathedral, so we stopped by the Cathedral of Nantes. Coincidentally, two weeks ago I finished reading the book "Pillars of the Earth" that Karsten Thoms bought for me on my previous trip to Lünen---a most excellent book---so I have developed a special appreciation for the architecture of a cathedral. It simply boggles the mind that such structures could be built without all the modern technology we have available today.

It's a real testament to the persistence of human nature and the creativity of the human mind to see such wondrous things. I've always had a particular fondness of colorful glass.

I suppose its hubris to compare the things we collectively create at Eclipse to such marvels, but if you consider the staggering complexity and number of people involved, it's not completely unreasonable.

Visiting Obeo was much like visiting itemis last month; so many happy friendly people excited to be working together on cool technology. Here they are all gathered for coffee and pastries in a new office space that they're currently setting up. Do you recognize any faces?

I spent much of the day with Jonathan Musset and Cédric Brun learning about what they're doing in open source as well as about some of their Acceleo technology; Cédric gave me that box of chocolates he promised long ago! Obeo has very cool traceability support in their products that I'd love to see for EMF's generator. E.g., you would be able to click on a structural feature and it would show you all the Java things generated from that feature. They've also have been doing some really cool work on a model for describing forms. I encouraged them to write a project proposal so we can reach out to all the interested parties; that conversation is now well underway.

Like the itemis founders, the Obeo founders are refreshingly open minded and forward thinking. They were recently featured in this French paper:

We talked quite a bit too about how to promote modeling in France and how to get the French modeling community more integrated with the modeling community abroad. The German community has been a little more well-integrated I think. Language barriers are an unfortunate fact of life.

On Monday night I stayed at Etienne Juliot's house. It was very sociable. I tried to read a picture book for his daughter, but we seemed to disagree on the words. She would insist, for example, that an apple is really a pomme and was not impressed by the fact that I seemed to be making up new words on the fly. She was too cute.

We had to get up at 4:30 so we could catch the 5:30 train to Paris; yet another sleep deprived night. I was warned that a rush hour ride on the Paris Metro would be an "experience" and it certainly was. How many French people can you cram into a subway car? MD Day was held at that the Arche de la Défense which was totally spectacular. Check out this view of the Arc de Triomphe from under La Grande Arche.

Look what you can do with a little zoom and a lot of mega pixels.

The turnout at MD Day was very large, approximately 260 people I believe. That's Stéphane in the front left.

All the talks, except mine, were in French so I just hung out all day to chat with people. Jean Bezivin was there chatting with Patric Albert of ILOG, one of IBM's most recent acquisitions, so we discussed a bit of the interesting things ILOG is considering doing in open source at Eclipse. I also ran into Olivier Moises again, so we had more time to chat about Wazaabi and how it relates to the Presentation Modeling Framework proposal that's currently under discussion. He introduced me to Cédric Vidal of ProxiAD who has been working on a simple style-sheet approach to transforming models in his spare time; that immediately made me think about how useful what he's doing would be for e4. I encouraged him to get involved.

Meanwhile, Etienne was manning the Obeo booth where he demonstrated their technology to a steady stream of visitors.

One of the highlights for me was when Steve Sfartz introduced me to Jean-Marc Prieur who spent almost an hour providing a personalized demonstration of Microsoft graphical DSL tools in action.

It was very interesting to see this technology in action and it was extremely nice that I had the time to ask many detailed technical questions. The graphical DSL technology is based on a CMOF-like meta model; Jean-Marc explained that he considers it far simpler than MOF. I say it's CMOF-like because associations are first class objects and, at least by default, association classes (or link classes) are generated much like what I blogged about for modeling associations with Ecore. In addition to the domain meta model, there is also a model for describing the desired graphical editing support and of course the two are mapped to bind the domain onto the desired graphical editor. It's also possible to specify the desired XML serialization; though I'm not sure XMI is supported. Their UML technology is built on this stack. All in all, it's very much like GMF though with significantly more end-user polish.

We also talked about Oslo, Microsoft's more recent textual DSL effort. While the graphical DSL effort is primarily focused on code generation, graphical editing, and XML serialization, the textual DSL project has a different domain meta model, i.e., MSchema, and is primarily focused on runtimes, reflection, and textual serialization. You can compare the graphical DSL project to generated EMF augmented by GMF; as far as I understand it, the domain meta model exists only at development time, not at runtime, so there is no MOF-like reflection support. You can compare the textual DSL technology to Xtext (i.e., MGrammar), Ecore (i.e., MSchema), and EObject (i.e., MGraph). So while at Eclipse we provide Ecore as the common standards-based meta model (i.e., OMG EMOF) to support both graphical and textual DSLs and hence provide model-based reflection for all domain models, at Microsoft there are two different technologies to cover these two aspects.

My stupid modeling talk at the end of the day was very well received. People even cheered when I described XML as a poor excuse for human readable syntax that was designed primarily with machine- not human-readability in mind and that has so much appeal largely because lazy developers can avoid writing lexers and parsers. The message that UML is not equal to modeling was also well received. It's of course particularly gratifying to be preaching to the converted! It was a very long day so I was happy to head back to the hotel. When I checked my email, Dave informed me that the EMF book is finally done! It will be in warehouses on Dec 24th, so order your copy now before they all sell out!!

The next day, I had time for a little more sight seeing. Who would have thought we'd find a Canadian pub in Paris?

The Notre-Dame Cathedral was magnificent.

There were a great many amazing fountains.

Occasionally the old and the new stood together in sharp contrast.

Larry and I had a great dinner with a bottle of very fine French wine to end our day and our trip. In the morning it was time to head for home, where there was 10 cm of snow to greet us. Oh well, the girls certainly gave us a warm welcome home, even if the weather didn't.

Saturday, November 22, 2008

Eclipse Summit Europe: Afterwards

I was too tired on Friday to blog about the things I did. Chris, Ian, Larry, and I attended the Ludswigburg demo camp, which was very interesting, well attended by nice people, and well hosted. Sampling many different kinds of vodka really wears a guy out!

Today Larry and I headed for Paris where I'm staying at Saint Paul Le Marais. It's really pretty here!

And they have really big doors!!

We'll have more time for sightseeing tomorrow before I head out to Nantes Sunday night.