Michael Platt's WebLog

Computer Engineering



  • Comments 14
  • Likes

Keith Short has started a blog and has some comments about modelling. This is worth watching because:


1 Keith is very smart.


2 Keith and his team are defining what MS is doing in this space and they really understand modelling better than anyone else (IMHO)


3 Keith is a Brit and a really nice guy.


So the discussion is around UML 1x and 2.0 as modelling languages. I think that 1x is an excellent language for capturing high level architectural constructs (UML as a sketchpad). I don’t think that one language can fit all and so the idea that it can also be used as a “programming” or behaviour language won’t hold water; hence UML 2.0 is flawed, it’s just too simplistic. I do think you can do high level modelling above a DSL using UML (as a sketchpad) but then you can do that with UML 1.x so what’s the point of 2.0?

  • Well, if you view UML 2.0 as a static language that can't be extended, then of course, one language can't fit all your needs.

    But UML 2.0 is extensible. Much more than UML 1.x. And that's the point. It's a better (not perfect) platform for building models. It is a big mistake to think UML is nothing more than it's surface syntax.

    Think of UML 2.0 as moving towards to as modeling CLI: A common infrastructure for all modeling languages, which includes a core set of models. You extend this infrastructure via libraries.

    Also, UML as a programming language does indeed hold water. There is a lot of interest and even tools being shipped in the space. It is of great interest to embedded developers. I know of a major project at Boeing that is using the idea. Lockheed has a set of tools, and so on.

    But, I think you are assuming that UML 2.0 major intent was to be executable. Believe me, that is not the case. One major goal was to make it a better platform for modeling languages of all types. Better extensiblity, better metamodeling concepts, and I think it has done a great job in that respect.

    Also, take a look at tools like XSD designers. These are models that can generate a complete XSD just from the model. Is that a modeling tool as a sketchpad?

    Is it the solution for other spaces? Maybe, maybe not. But, I'm all for the idea. Programming with a higher level of abstraction holds great appeal to me.

  • I remember a program that came out in the early 80's called "The Last One". I was meant to be the last program you would ever need and was extensible etc. Wonder what happened to that?
    I'm all for progarmming with higher and higher levels of abstraction, I just dont think we know enough yet to be able to do it. That's the problem I have with Java, is it the last language we will ever need? Maybe but I remember someone telling me that about Cobol too.
    I guess I am just too old and sceptical to believe we have the final definitive right answer.

  • I don't think we have the final and definitive answer, because there probably isn't any, and never will be.

    But, I think we are at the point of having good ideas, and having enough drivers in place to make modeling an promising avenue for development, and experience with tools like Whitehorse will provide valuable input into where modeling needs to go.

    We aren't at the last word yet. Heck, we all know that things don't get really interesting until version 3, after all.

  • The problem with UML is that it is very much a supply-side modelling technique. What is missing is a really business-orientated consumer-side model that integrates business process flow with web services within a contractual framework. The contract needs to specify the terms of use, change management approach, and operational management faciities for the service. I see this as a major inhibitor to business take up of the web service model. It would be great if Microsoft could lead on this on behalf of customers.

  • Totally agree. In the process and contract spaces in particular we have a long way to go before we are at the point where we have even enough of an answer that we can make a stab at a solution

  • BPMN and BPEL4WS seem like a good place to start from. The analysis phase would proceed by associating a service and contract requirement with a Message Flow; this would then be expanded to a UDDI search; then a WSDL spec and ultimately a web service implementation. If the Visio add-ins for Biztalk 2004 (ODBA) could be expanded in this way it might provide the simple consumer-side tool we need.

  • Agree but I am concerned that BPMN does not have the richness in terms of levels of abstraction that we need. I think that IDEF was on the right track but again the levels they defined were not quite correct. We need a understanding of what BP levels there are in real organisations and what needs to be modelled at each level.

  • How does IDEF represent service invocation?

  • It dosnt, it works at the buisness modelling level

  • That seems to be the main problem - we lack a business modelling notation that includes service invocation. I believe, however, that it wouldn't be too difficult to associate contract and service specifications with a BPMN message flow as a first cut.

  • I am writing a paper on UML 2.0

  • 3dsky digital Inc has a computer rendering and animation division, we are experienced and provide quality computer graphics at the lowest possible prices. we bring your architectural paper designs to life, so it is easy for your clients to see how the building looks like when it is finish. architects, real estate developers, facility owners, city planners, interior designers, and landscape architects who require quality renderings benefit from our realistic presentation