IT Modernization < V. Hanniet

software model driven approaches

UML is a standard… Which one?

Nice live discussion with @edseidewitz last week, with some good wine! One subject was UML: past, present and future. UML became a standard: what does that mean?

Let’s see OMG’s web site: “The Unified Modeling Language™ – UML – is OMG’s most-used specification, and the way the world models not only application structure, behavior, and architecture, but also business process and data structure.” Hem. That’s a lot of things for such a small word: a word for a world! Let’s shrink it: UML = the common language to use when you model something.

Say I want to model something. Do I first need to go onto OMG’s website then download the specifications and read them? For sure not. I will better get some UML modeler and play with it. So, which are the most used (= standard) UML modelers? At this time, in the model-usage-oriented-community, there are three of them: MagicDraw, RSA and Sparx’s Enterprise Architect.

First contact: there are tough! As they (especially MD and RSA)  try to support the whole specification, and also neighboring specifications as SysML, BPMN and so on, the first contact may be scary. Let’s focus on the UML part. Still tough: in UML 2.x there are 14 diagrams! I don’t speak about the countless added value modeler functionalities like checking model consistency and so on.

First thing: such an amount of underlying capacity and helping functionality is probably useful  in some cases, but rarely all together I guess. And even so, how much IT people actually use UML in IT project? (those we pretend to use it don’t count ;D) 10%? 20%? If we want to leverage modeling usage, should’nt we target the other 80%?

Regarding the IT community the main UML asset is… The UML name! And please, don’t talk to me about “DSL”. For sure, from a technical viewpoint every successful modeling practice has to build its own way to give meaning to models. With UML one can use stereotypes and profiles. But as we have a Unified Modeling Language, why should we try to build new ones? This one is not yet so much used, we should rather help it to growth. UML may also be seen as a generic DSL.

Any way, to become a widely used standard, UML has still to show the part of it which may be widely used. Kind of UML core (which could be named: Ultra Light Modeling (ULM: funny in French!)).

And further more, let’s consider the Java community or even the more englobing Eclipse community. How is UML used in the Eclipse community? Easy answer: practices are standardized into the Eclipse Modeling Project (EMP). Inside EMP, the UML implementation is in the EMF project. By the way, EMF has its own UML meta-model implementation (eCore) which is not exactly the same as the MOF OMG’s meta-model. And the truth is that most of the UML tools have to be usable from the Eclipse framework (to reach the very large Eclipse community) and so have progressively switched from their own MOF implementation to a native EMF implementation (that the case for Mia-Studio too).

So, where is the true “UML” standard?

  • In the UML name, and in everything attached to it from anyone viewpoint about modeling standards
  • In its standard implementation… Mainly EMF now! (main vendors have converged on EMF)
  • In the fact that almost nobody is happy with the OMG’s UML complexity, and that everyone is waiting for a usable UML


A funny end for this post:
What does a standard IT specification worth without qualified implementations? Nothing.
What does a good implementation worth if it’s not a standard? Nothing from a business viewpoint.
My proposal: let’s OMG and Eclipse Foundation work together to build a usable and implemented UML package.

The funny end: http://ed-merks.blogspot.com/2009/01/emf-ultra-slim-diet.html (more funny when one knows the current EMF project state… ;D)

Featured image taken from http://swik.net/%C3%BCbersicht+UML

 

14 comments on “UML is a standard… Which one?

  1. softmodeling
    12/07/2011

    In fact, at least from an XMI/UML interchange perspective, I believe the Eclipse MDT/UML2 component IS de facto standard
    (see my opinion on http://modeling-languages.com/eclipse-mdtuml2-xmi-de-facto-standard/)

    • vhanniet
      12/07/2011

      I agree with you Jordi, the standard is what is used!

  2. TY
    12/07/2011

    I think, from a standardization perspective, UML is one of many languages (like a sort of ‘products’) but not a standard (for some languages).
    The design goal – to modeling generic things or software systems which have an OO style – is questionable.

    • vhanniet
      13/07/2011

      Hi TY!
      I guess you talk about something related to your topic “Relational Models and OO” (http://bit.ly/o0pirZ).
      Even if UML genesis comes from OO approach, I think we could also consider the UML language as an all purpose modeling notation. I mean a way to describes things (e.g. entities or objects) and relations between these things. And we call it modeling if things represent an abstraction of material (physical world) or virtual (e.g. IT world). In this direction we could find inside UML an UML core notation that don’t embed all the OO modeling package (and let it live as an extension).

      • TY
        13/07/2011

        Hi, Vincent!
        Although I am having some questions on some respects of OO but it is not the emphasis of my last comment.
        The modeling requirements for software systems or for general things may have much differences. It perhaps is a question that whether they are suitable to use the same modeling language. At least, we need to distinguish/separate them clearly.

      • TY
        13/07/2011

        I read the post you recommended: “UML- Useless Meaningless Lousy?” http://bit.ly/oKwOdP
        I like this words: “Remember that the main purpose of UML is communicating the design and the structure of the code visually.”

    • vhanniet
      18/07/2011

      Late response to your 2 last comments:
      I think that modeling is modeling, whatever you model. A software system, as part of the real world (used or not as long as it exists), may be modeled trough an OO view… And your kitchen too! Specialization in modeling is called DSL, but this doesn’t change the global modeling approach: it’s still a matter of things and relations between them.
      I don’t really care what was the initial purpose behind UML (and I guess there many of them ;D), I prefer to stick on the words Unified Modeling Language!

      The true gap between modeling and programming is about modeling algorithms. I think that usable models should stick to showing structures and properties. Some others, including Ed Seidewitz with Executable UML, think that putting “Action Semantics” in models allows to avoid “the programming gap” as all decisions may be put into the model.

  3. Vineet Sinha
    13/07/2011

    Building usable software is not easy. The complexity that we see – is really UML tools trying to do too much and not doing any of them well.

    We need organizations that do what Apple did to the smartphone market – focus on a few use cases and eliminate any extra features.

    One approach that we are taking is focusing on the 90% of the situations when development teams already have code: http://www.architexa.com (see the short video there)

    • vhanniet
      13/07/2011

      Hi Vineet!
      I agree on fact that, speaking of IT tooling, “too much” is often worse than “fits to needs”.

      I did’nt know Architexa and will have a look at it.
      Speaking of standards, there is an OMG specification for software reverse modeling: Knowledge Discovery Metamodel (KDM) (http://bit.ly/nnkCgB). And there is also an Eclipse implementation of KDM into the MoDisco project (http://bit.ly/nTL0O0).

    • vhanniet
      13/07/2011

      Interesting related post on the Architexa blog: “UML- Useless Meaningless Lousy?” http://bit.ly/oKwOdP

  4. Pingback: Where is the true UML standard?

  5. Pingback: What is UML? What is Universal Modeling Language? « Hub Tech Insider

  6. Pingback: Activity Diagrams – Advantages, Disadvantages and Applications of Use | Keep Search Computers

  7. caminao
    21/09/2011

    And don’t forget UML# (from “Charpente”, supporting structure in french) for lean and fit models.

    http://caminao.wordpress.com/about/umlcharp-manifesto/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 188 other followers

Creative Commons License
IT Modernization < V. Hanniet by Vincent Hanniet is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.