Friday, 21 December 2007

Can a Tiger Change its Stripes?

I recently set up a community tank with a diverse collection of plants and fish.

To manage the community well, you have to choose your fish carefully to ensure they will fit in with the rest of the community. This little tiger striped loach fits in rather well.

With the recent Tigerstripe proposal the modeling PMC was faced with a similar type of choice. The proposal was originally written as a general purpose model driven development technology that would help round out some of the gaps in the modeling project's technology. Eric Dillon gave Rich and I an overview and a demo of the technology. We immediately expressed concerns about a number of detailed issues.

We had to wonder, is Tigerstripe an industry vertical model driven development technology used to define Telcon standards or is it a general purpose model driven development technology based on existing standards? As I said, initially Tigerstripe was proposed as a general purpose model driven development technology but upon closer scrutiny, the proposal was changed to be an industry vertical model driven development technology, though obviously the actual technology itself didn't change, only the way it is presented. This still leaves doubt as to the true intended nature of this technology and how it integrates with the established Eclipse community.

If Tigerstripe is really intended as a technology for defining industry vertical standards it should be strongly grounded on existing standards, e.g., profiled UML would be one reasonable approach, yet the relationship to UML is somewhat in doubt. The proposal seems to characterize it as a subset of UML, but I'm not sure what to call the model, since Tigerstripe seems to be a brand that denotes many things. In fact, I'm not even sure if there is an Ecore/EMOF-based metamodel for it.

An alternative to profiled UML would be the definition and development of a domain specific language, but that does not appear to be the proposed approach. Defining an EMOF/Ecore model for a domain specific language would make the technology well integrated with the existing modeling project infrastructure and would make it much more clear the nature of the target domain.

We were also concerned about rebranding a commercial brand with Eclipse's stamp of approval. It seems to me that allowing a proposal to proceed before resolving the issue of a commercial brand is problematic. I suppose it will be argued that these folks intend to make it an Eclipse brand in the future, but those discussions did not take place in the open so I can't comment on how they were resolved. In any case, the approach of publishing a proposal using what is currently a commercial brand is something that the community does question and the foundation perhaps should be seen to be acting strongly to protect the Eclipse brand from this type of confusion. Note that I didn't say they aren't, I'm saying there's a perception problem.

In the end, all this has served to create confusion in the community. The community really doesn't know what it will get. It seems we won't be seeing profiled UML nor a domain specific language. We're not sure we'll even get an EMOF/Ecore-based model. So we don't know if any existing modeling technologies, such as JET, XPand, ATL, QVT, OCL, transaction, validation, and so on will be applicable. The lack of clear answers to questions raised on the newsgroup leaves us a bit doubtful that good intentions will prevail, though I don't question the good intentions themselves since Eric is quite clearly a very nice person with whom I'd love to work, but development costs have a way to interfering with good intentions.

The creation review slides talk about Tigerstripe being a framework for "commercial Cisco extensions" yet it says nothing about the nature of the extensibility mechanisms. The modeling community really wants to understand how this technology will fit in and to date, we've only seen the proposal shift itself shift out from under us; that doesn't inspire confidence. The modeling project is already providing a framework for model driven engineering, but the slides claim the same without qualification as to the scope. They're vague about what kind of integration with the modeling project Tigerstripe will provide. Certainly there is no need for another UML model nor for class and instance diagrams, because those things are already supported.

While Eclipse doesn't have rules to prevent competition, nor should it, Eclipse is founded on principles of cooperation to share costs and to unify communities, so this proposal goes a little against the general grain. Though I suppose it's no longer claiming to provide a competitive UML model, but rather a subset because UML itself is too complex. To rant on a bit more, it's not clear what a headless build environment is; I imagine Eclipse already has that. Nor is it clear what a plugin engine is; I wonder how it relates to the model workflow engine. If the model is UML2 then it's unclear why there is a need for UML import and export. It is simply not clear that there is a real plan in place to reuse UML2 and given the lack of answers to specific questions (i.e., if Tigerstripe didn't use UML2 two years ago why will it start using it now?) there is room for doubt. It's also not clear what an XML export plugin is all about; EMF already supports XML serialization for any model, so the relationship to that is unclear. And finally, it would have been good if someone had explained that the V2.3 goal in the proposal is not possible with Eclipse's incubation and version numbering rules.

I feel like I'm being a total downer on this subject and that's made me repeatedly question my own motivations. Am I just being defensive or even worse protectionist? Am I failing to be open minded? Goodness knows that wouldn't be the first time. Is it reasonable to vote -1 on a creation review and not even give folks a chance to prove themselves? Certainly there is value in an industry vertical modeling technology, but there are an awful lot of questions and I think the situation has been handled poorly with a little too much emphasis on driving forward without much time proper reflection. Sorry for being such a downer...

It's probably not politically correct to question whether Cisco should consider coughing up Strategic Developer costs to help pay for the infrastructure it will use and for the IP resource it will consume. But I think such meta questions also need to be asked. Much smaller organizations have shown more financial commitment toward Eclipse than has Cisco to date.

So I'm trying to keep an open mind and to be transparent with the hope that my heart is in the right place.

As such, I will appreciate any comments folks might have in terms of advice on how this should be handled. I'm just not sure and I'm second guessing myself so I will try to accept criticism graciously. Fire away!


Anonymous said...

I can only emphasize what you have written. And imagine somebody who is new to Eclipse and/or Modeling comes to Eclipse and looks for modeling technologies. Where does he has to look for? Modeling? Technology? Somewhere else? I personally think it is not about fearing the diversity/competition. It is mostly, from my point, about a potential user's confusion


Bjorn Freeman-Benson said...

Ed, I have appreciated your speaking up about your concerns around this proposal and I strongly believe the proposal and the project has been improved by your efforts. I'm not just saying this to be nice: I really do believe this. I believe that we should allow Tigerstripe a chance to prove themselves and I believe that if they do not make an effort to meld with the rest of the community they will become irrelevant.

It's important to have both a clear and simple distro from the Modeling PMC and the opportunity for experiments.

As for the scheduling and all: perhaps the looming holidays have compressed the time schedule in an unfortunate way. Perhaps the lesson to learn is not to start project creations in December.

Bjorn Freeman-Benson said...

Ed, I wrote a longer reply and posted it to the Eclipse Tigerstripe newsgroup.