Wednesday, 14 January 2009

With Modeling the Sky's the Limit

Models give you the freedom to soar effortlessly.

Modeling is universally applicable in all fields of engineering. I'll bet, for example, that the plane above was modeled in software before anyone actually built a physical model of it. Given its universal applicability, it's no surprise to see the rapidly growing range of software applications that are driven by models.

An excellent example of model driven software development in practice is Skyway Builder. I have always found it particularly odd that more hasn't been done in the past to exploit modeling in the web space. For some strange reason, although modeling is often used to help build the tools and runtimes, it isn't often surfaced as a useful concept in and of itself by those tools and runtimes. I suppose that's much like OSGi being used to build JEE servers, and then being hidden by them. However, given that XML Schema is a modeling language, it's somewhat more inexplicable.

Not only does Skyway Builder make heavy use of EMF and GMF to build its tool infrastructure, much like Web Tools does, it also surfaces various powerful domain-specific models to the end-users who exploit them to design web applications declaratively and graphically. The design captured in the various models is employed to generate the actual application using JET.

This approach provides clients with a better long-term investment because their designs are captured in a high-level way that can be reused in the future as the underlying web application space continues to shift in unexpected directions.

Of particular interest in the upcoming version is the new two-way mapping between Skyway and UML. They've recorded a short video showing the technology in action. It highlights the integration with Rational Software Architect, but more relevant to the Eclipse modeling crowd, the technology itself works directly with open source UML, the basis for RSA. Even from that perspective, it's a great example of how Eclipse helps disparate organizations better integrate their tools with the help of common underlying models. With modeling, the sky's the limit.

For me personally, it's gratifying to see Eclipse's modeling technology used not only to build all this cool stuff, but more so to see integration with UML and, most important of all, to see the model driven software development concepts embodied by Eclipse reflected back in the Skyway user's experience. For example, the round-trip engineering between UML and Skyway is just like the two-way mapping between Ecore and UML, so of course I'm going to like it! It's clear that modeling isn't just great for building tools and runtimes, it's also valuable directly to the end users, even in the web space.


Markus Voelter said...

if anybody needs more pictures of sailplanes you can go here:

cheers :-)

Ed Merks said...

Markus, this one is amazing! Sunset