Monday, September 24, 2007

Time to Write a Book

It seems the time has arrived for me to write a book on the Modeling project. More specifically, now that things have settled down on GMF and the QVT contribution is available in CVS, it's time to write a book on using the Modeling project as a DSL Toolkit.

Designed to complement the "EMF book" (version 2.0 is out soon!) in the same Addison-Wesley series, the book is scheduled to be completed at the end of March, 2008 and be some 500 pages long. So far, I have just about 100 pages written in draft form, so hopefully it will be a long cold winter indoors.

The book will utilize a series of DSL projects to cover in detail the development of graphical concrete syntaxes (using GMF), model-to-model transformations (using QVT Operational Mapping Language), and model-to-text transformations (using Xpand). In the future, perhaps be extended to cover concrete textual syntaxes, if and when the proposed Textual Modeling Framework project becomes a reality.

At this point, I'd be interested in the community's feedback on this book and its scope. To me, a DSL Toolkit should include all aspects of model-driven software development as they relate to a domain (semantic) model. And since the world already has an excellent book on EMF itself, it's about time we had one to cover these other important capabilities in the Modeling project.

For those attending Eclipse Summit Europe this year, Ed and I will be demoing part of the book's sample projects. In November, I'll be delivering a similar presentation at EclipseWorld. Hope to see you there!

Sunday, September 23, 2007

Modeling is the Very Model of a Modern Majorly General and Diverse Community

By any measure of diversity the Modeling project is most certainly that. It stands out among the top level Eclipse projects as model of diversity. Variety is the spice of life!

Of course there are some big corporations involved

but also smaller companies

as well as academics and some unique very unique individuals

including more than a few you might easily over look because they blend in so well.

With the call for EclipseCon talks coming out this week, it's time to start thinking about emerging from your little hidy hole to share a bit of yourself with others.

I'll bet you have a unique story to tell.

In any case, come to Eclipse Summit Europe and come to EclipseCon to sponge up some knowledge.

Bring a friend.

Hope to see you there!

Tuesday, April 10, 2007

Modeling is doing well with the JDJ readers

Wayne's blog drew my attention to the JDJ Readers' Choice Awards. Of course Eclipse is doing extremely well as one would naturally expect from such a fine technology. Closer to home though, it was very exciting to see the modeling project doing so well in the Best Java Modeling Tool category, especially considering that the sexy graphical tools for UML and Ecore are still in their early stages of development. What really blew me away though was to see EMF ranked so highly in the Best Java Component category. How cool is that? I think this is a great reflection of how much the modeling community has grown and matured over the last few years. There's no end in sight for all the valuable capabilities that enhance the overall big picture of what's all possible with modeling. The community is really gathering steam. In this world of runaway complexity, model-driven development is one of the few technologies that has a very real potential to introduce revolutionary change in how we develop applications more quickly. Modeling isn't just for tools anymore.

Where some might look and see very little, others will look more closely and see unnoticed potential:

And then, with a few changes, all of a sudden the potential is much more clear.

The octopus is a master at modeling its surroundings.

I would definitely encourage people to go out an vote for their favorite Eclipse technologies!

Sunday, January 28, 2007

Modeling @ EclipseCon 2007

There's quite a bit of modeling content at this year's EclipseCon, so I hope you can make it. Ed and I are still in the process of deciding Short Talks and Demos, but the Tutorials and Long Talks are wrapped up.

This year's Program Committee consisted of 20 PMC members and distinguished members of the community who reviewed hundreds of submissions across 18 tracks. Modeling has its own track, although it's not so easy to identify the tracks in the online table view (note: send a feature request). Fortunately, Joana Trindade created a Recommended Track that focuses on modeling. I created my own personal track using Bjorn's nifty shopping cart-style interface.

If you're interested in tutorials, you'll have to decide between 2 all-day modeling tutorials: Effective use of the Eclipse Modeling Project and MDSD from frontend to code using Eclipse modeling technologies. I won't bother to list the rest of what's available here, so I encourage you to take a look at the full program.

Some of the expected highlights of EclipseCon this year are the excellent keynotes, including one by Scott Adams (Dilbert), and some interesting panels (you've gotta love this title: What sucks about Eclipse). Of course, with over 200 sessions including more than 50 tutorials, it promises to be a great conference. Be sure to register!

Wednesday, September 27, 2006

Modeling Standards

It's nearing the end of September, so I guess it's time for my quarterly blog entry ;-) This time, it's about standards; specifically, OMG standards and how we can support them within the Modeling project.

This topic is the focus of my position paper for the upcoming Modeling Symposium at Eclipse Summit Europe (thanks to Jean for the encouragement). It's more of a political discussion than technical, so I won't bore you with all the details here, as you can read the paper if you're interested. In essence, it's really just a list of questions that need answering regarding how the two organizations will interact. On the one hand, you have a standards body that excels at delivering specifications and a vow to never implement them. On the other hand, you have an implementation-focused organization that excels at delivering solid (working) code, which often become de facto standards.

Now, how to work together such that a mutually-beneficial balance can be struck? Of course, we've not started any formal discussion on the topic between the two just yet. I guess the paper and this blog entry are just my way of warming up to the challenge, for I suspect it will not be a simple solution ;-). That's all for now.

Tuesday, June 20, 2006

How to organize?

Clearly, I'm not a natural born blogger, but with things winding down on Callisto and some time being afforded to our duties on the Modeling PMC, Ed and I have been working with the rest of the PMC to determine how to best organize the projects found within the Eclipse Modeling Project.

At present, it seems we have agreed on several categories: abstract syntax development (think EMF), concrete syntax development (think GMF), model transformation (think JET and forthcoming QVT), model exchange and integration (think MDDi), modeling tools based largely on industry standards (think UML2), and a place for research and emerging technologies to incubate (think GMT). These should nicely categorize what appear to be 9 emerging projects within Modeling, from an organizational/provisioning standpoint:

- Eclipse Modeling Framework (EMF)
- Graphical Modeling Framework (GMF)
- Textual Modeling Framework (TMF)
- Model to Model Transformation (M2M)
- Model to Text Transformation (M2T)
- Model Development Tools (MDT)
- Generative Modeling Tools|Technologies (GMT)
- Model Driven Development integration (MDDi)

The task is rather complex, given the need to ensure each project can form and maintain the required communities, have adequate contributor diversity, provide the level of interoperability expected as part of a more comprehensive and cohesive whole, leverage a common infrastructure for builds and reporting, align their development cycles, etc. Leadership for each project is key, as is a dedicated list of contributors and member companies. Of course, this is an advertisement for additional help by way of contribution ;-)

MDT is a project inspired by the user community and repeated hints from Mike Milinkovich regarding the the need for more end user "tooling" from the Modeling project. We seem to have an abundance of frameworks and low-level technologies for modeling, but not much by way of what most expect to find (read: a free UML modeling tool). Of course, this is fueled by the fact that "other" free modeling tools exist, making Eclipse a bit of a laggard in this area (sorry, Mike). Hopefully, now that we have the key components in place (EMF, GMF, UML2), getting the community focused on providing this won't take much longer.

Now, if I maintain my current frequency of blog entries... see you in September! ;-)

Tuesday, March 14, 2006

Where are we going?

I'd like to return to the questions raised by Joe Winchester in his article to see if we can provide some answers as they relate to the scope and vision of the proposed Eclipse Modeling Project.

Regarding the value-add perspective of high-cost commercial tool vendors, I'd agree this is a reason we've not see such tooling contributed in whole to open source. This is reasonable, considering the large effort it takes to produce such tooling (or at least, as it has in the past). Projects such as GMF promise to significantly reduce the cost of producing high-quality graphical editors for practically any domain. This will pressure commercial vendors to provide another level of value-add functionality in their products, or see themselves be commoditized much like the IDE market has been.

A significant part of this next level of value-add will come with the continued realization of model-driven development technologies, as I see it. This relates to Joe's second point, regarding the perceived usefulness of "modeling" tools by many. I suspect most would agree with the Agile value of "working software over comprehensive documentation," where the latter is typically seen as the primary value-add that modeling tools bring to development (like it or not). With model-driven development, the production of working software from models is the focus, and what if anything will grow popular interest in "modeling" tools.

To this end, the Modeling project aims to unify and extend the current capabilities found among Eclipse projects (both standards-compliant and alternative). Recent contributions to GMF and the EMFT project (model query, validation, transaction, and OCL), not to mention improvements coming to JET, brings the overall set of capabilities within Modeling much closer to what will be needed for model-driven tooling to continue evolving at Eclipse. The GMF project takes a model-driven approach, and leverages several of these capabilities to generate domain-specific modeling tools, which in turn can leverage the same capabilities to allow for the production of more model-based generative tooling. The potential is there, although significant work remains, most notably in the area of model transformation.

In conclusion, I would agree with Joe that the reason that we have not yet seen good, high-level tools in open source is that the (relatively small) community hasn't gotten around to creating them. While a goal of the Modeling project is to provide a home at Eclipse for high quality frameworks and exemplary tools of this nature, it is just getting started. The easy part was in its declaration, while the hard work to realize it through additional contributions and improved interoperability is at hand.