Saturday, December 11, 2004

Independent Modelling Tools

It's an old debate.

Firstly, are you are going to do model-based software development? I have been an strong advocate of model-based development since the early 1980s, and I wrote my first book on data modelling in 1984. For over ten years, I worked for a company (JMA Information Engineering, which became part of Texas Instruments Software) that designed and sold modelling methods and tools.
Secondly, are you going to use a proper tool? For me, this means not just loads of stand-alone diagrams (e.g. PowerPoint) or linked diagrams with standard notations (Visio), but a repository capable of supporting several users working on a single large model, and perhaps offering several different diagrams with a common underlying semantics (e.g. IDEF, UML).
Thirdly, are you going to use the modelling tool that is integrated with the implementation platform, or an independent tool?
While I have a strongly held position on the first two questions, I do not have a strong position on the third question. I can see advantages both ways.

  • Allows you to have a single modelling approach across multiple platforms.
  • Allows you to build the model before you select the platform.
  • Allows you to switch platform without changing the model.
  • Allows you to use the special features of a particular modelling tool.
  • Simplifies coordination and change management between conceptual model and software design.
  • Supports "round-trip" software engineering.
  • Integrated models may also support rival platforms (although possibly with lower levels of integration).

With the latest ("Atlantic") release of the Rational product family, IBM is bringing the modelling tools closer to the platform. Meanwhile Keith Short's team at Microsoft is developing an integrated approach to modelling. (Keith was also at JMA/TI and was the architect of Integrated CASE.)

Thus market forces may be tilting the balance towards the integrated tools. Can the independent tools survive?

Some consolidation is probably inevitable, and presumably some of the other platform vendors would be interested in beefing up on the modelling front. I noted a small announcement last week from Popkin, who are getting cosy with Oracle. Is this a sign of things to come?

Popkin/Oracle announcement (December 2004)
Earlier post on Consolidation (October 2004)
Earlier post on Models and Code (July 2004)
Earlier post on Software Factories (July 2004)

Update December 16th 2004

In a useful reply to Grady Booch (December 3rd, 2004), Jean-Jacques Dubray (December 14th, 2004) contrasts the Microsoft version of MDA with the OMG version.

Meanwhile, IBM has its own version of MDA, based on Eclipse. Although Eclipse may be supported by many vendors, it is still a platform, and the Eclipse Modelling/Management Framework (EMF) can hardly be regarded as truly platform independent.

Although EMF is currently aligned with UML, it may be able to accommodate a broad range of other modelling languages, including both older languages (IDEF) and newer ones (BPMN?). Thus third party modelling tool vendors may find themselves a niche within EMF. However, the extent to which they can be fully integrated into the software lifecyle remains unclear.

No comments: