Tuesday, September 28, 2004

Gay marriage would break the OCL specification

No wonder the Americans (and some formal specification weenies in Australia) have acted to ban gay marriage. It would cause a whole raft of issues to be raised with the Object Constraint Language (v2.0), and it would never get out of finalisation task force. In the first 19 pages (of 200+) I have already found many constraints to do with marriage and gender that would need to be rewritten. :-| Invariants aint what they used to be!

MOF metalevels numbered upside down

For anyone who's read anything about MOF or MDA, the terms meta-level M0 - M3 will mean something. However that something will depend on what scenario you're discussing, and in most cases it will get very confused once you try and relate whatever you're talking about to the MOF metamodel, which is nominally at meta-level M3.

The example that usually gets (ab)used to explain these things is that the MOF meta-model is at M3. then the UML metamodel, which uses MOF as it's meta-language, is at M2. Then software designs written in UML have Classes in them, which are at M1, and then there are Objects that instances of the UML Classes, and these are at M0.

Sounds simple right? Then let's think about the Instance Diagram (or Interaction Diagram) in UML which expresses the relationships between the Objects. Now the Objects in the Instance Diagram are at M0, and so the Instance Diagram metamodels should be at M1, and the MOF, which is the langauge in which this metamodel is expressed should be M2.... but we already established that the MOF metamodel is always M3.

Why the inconsistency? Well the stock answer is that "It's all relative"... so for each example you have to start at M3 (the MOF metamodel) and count down... This is all very confusing, especially since the M-levels have summary names attached: "M3 = metametamodel, M2 = metamodel, M1 = model, m0 = instances. This is the real problem with this numbering scheme.

Proposal

We take a new leter - K - and start numbering the other way up: K0 is the MOF metamodel, and then every other model or artifact that has an "instance of" relationship to the MOF metamodel gets another number. Then the K-number is always relative to the MOF metamodel, and not some attempt to make an absolute characterisation of "how meta is it?".

Disclaimer: this is not solely my idea: it has been kicked around by myself and many DSTC and OMG colleagues for several years now, and it would be a brave person who claims authorship

Painter stilts

I saw these at Indooroopilly Shopping Town today:

Cool Hey!

Monday, September 27, 2004

Creative stencil graffiti

Seen Hradgrave Rd, West End.

Do turtles only come on land during rain?

Some images from beside the UQ lakes last Friday when it was raining

Friday, September 24, 2004

Freak Tidal Wave, Or Art

Photographed last weekend at Wellers Hill

When did Grady Booch become such an airhead?

I can't remember where I got the reference to Grady Booch's MDA manifesto... but having had a look, it's so full of boosterism and nonsense, one wonders what planet Booch is living on.

Some specifics. Booch says:

    I’d like to clear up any fear, uncertainty and doubt surrounding MDA and present seven important reasons why organizations should consider its adoption:
    1. MDA practitioners don’t need to be highly skilled UML modelers.
    2. ...
    3. ...
    4. Business stakeholders will be able to use a Platform-Independent Model (PIM) because it transcends implementation dependencies and is easy to understand.
    5. ...
    6. MDA-based applications allow more sophisticated automated testing.
    7. MDA users won’t become locked into a single vendor.

Firstly: What exactly do "MDA practitioners" do if the don't need to be highly skilled UML modellers? Maybe the hidden meaning is that they need to be highly skilled EDOC modellers, beacuse using UML to model large apps is like using chips and wire and breadboards to build computers.

Then, even though the MDA practitioners only have low/moderate UML skills, the Business stakeholders are gonna be able to understand the PIM (in UML one presumes?) because it's platform independence makes it "easy to understand". Really?

He goes on to elaborate about how Use-case centric design, or RM-ODP viewpoints will help. Well I can see that... and then...

    In an MDA development project, this separation of concerns becomes even clearer. Each stakeholder views the application from a unique point of view (business, architecture, development, infrastructure) and contributes to the project from a specific area of expertise using an easy-to-learn subset of UML to visualize a specific domain and ensure that its requirements are clearly stated and well met.
...but the way he's talking MDA comes with built-in viewpoint integration techniques.. in UML. Rubbish!

On to "patterns are good". Yeah, yeah.

Then some hype about available tools:

    ... If your domain doesn’t have the specialized tools already available for some industries (for example, telecommunications network management and fighter-jet avionics are documented on the OMG’s Web pages), you can use general tools for your business apps. Or, if your company uses its own patterns for competitive advantage, this won’t even be an issue.
yeah - if you want to build a CRUD application, based only on a data-model, and build to J2EE or .NET, then you have tools available now. Build a fighter-jet avionics app with "general tools", and use your own patterns without issues? Get real.

Then automated testing.

    ... UML 1.5 includes Object Constraint Language with its pre-conditions and post-conditions as well as behavior diagrams optimized for testing. Still, support will improve in UML 2.0, which has features designed for automated testing built in from the start.
Yes, but it's still all in a research phase. There are NO COTS tools to exploit the UML testing profile. I'm involved in a 3 year UQ ITEE ARC grant application to investigate this. There scant few papers, let alone any robust results. It's gonna be years Grady.

Then we get into real fantasy land:

    The Heavy-Duty Strength of MDA

    MDA offers organizations at least three other distinct advantages:

    1. Interoperability and portability. The platform independence of the first stages of MDA development makes it easier to interoperate with, or even move to, different middleware. Given that the middleware space is crowded with Enterprise JavaBeans, CORBA, Web Services, SOAP, C#, .NET and others, this represents a huge savings in time and cost.
    2. ...
    3. A consistent metamodel. A company’s software archive is based on a consistent metamodel, built in UML. This allows its applications to be brought into tools as needed for integration, examination (for duplicate or inconsistent functionality, for example), or other business or technical needs. And that’s just scratching the surface of what a domain-specific metamodel can enable over the long term.
Addressing (1): Interoperability between PSMs generated on different platforms from the same PIM isn't even close to becoming a reality. In my mind this is one of the great tradeoffs of MDA... you get a reusable design, but you generate to each platform in a way that produces the best implementation for that platform... so you may not even recognise the exact form of a PIM atrifact in the implementation - much less be able to interact with the same feature generated for another platform.

As for (3): We're gonna bring in applications (not designs for applications) to "tools [unspecified] as needed... for integration, examination... or other business or technical needs". Great! I'm glad that using UML has so many side benefits. I can't wait to see domain-specific metamodels bringing about world peace over the long term.

Pah!

Thursday, September 23, 2004

Don't bother with Tom White

Who's "Tom White", you ask? It's a new Australian film, starring Colin Friels as the eponymous charachter. Tom escapes his draftman's job at a develpment company making soulless suburban housing estates (he works on "Clearwater Springs" estate - built on a garbage tip). He's obviously "cracked" in some way, and embarks on a life as a homeless person.

I found the main character believable enough, but the way the story is told is disjointed, and we're exposed to a bunch of unrelated people that he meets on the streets. Very little is made of his former life, even though we keep getting flashes of what his wife and kids are up to. There seems to be great potential for exporing the relationship to ever-expanding suburbia - but it's never explored. (For me the best thing about the whole film is the drawing his wife finds of the "Clearwater Springs birdfeeder".)

The cimematography and editing are competent, but uninspired. But, despite my well-known capacity for "European pacing", I got bored (and it's only 106 min). I found the cyclic experience devices to be contrived, and the "resolution" to be unsatisfactory. If the goal of the film is to give one empathy with the lifestyle of the homeless (alienation, grabbing human interaction incedentally and discontinuously, boredom, disconnection from society) then the goal was achieved.... but I think a worthier goal would be to give the viewer an appreciation of this state of existence, not a common experience with those in it.

Tuesday, September 21, 2004

Can you tell the gender of a person from their Arabic name?

I'm replying to a prospective student visitor to DSTC, which in the first person is uncomplicated by the gender of the student.... however, when discussing her/him with colleagues, their gender is useful to know so that we can use a single pronoun.

I suspected that an "El" at the begining of the name might give away their gender, so I went looking for confirmation...

After a few google searches failed I found the following fascinating and detailed explanation. http://en.wikipedia.org/wiki/Arabic_name Now I know that the "El" (could also be "Al" in a different transliteration) means "of", and in particular in this context it prefixes the family name... Also, it explains "bin", or "ben", as in Osama bin Laden... which is "son of". But there's much more... take a look.

Thursday, September 16, 2004

A solution to Jim's Blogging Problem?

Twelve Step Program for blogging addiction. [Contains so many blogging in-jokes, that I don't understand at all, but real blog addicts should get a laugh, or at least a groan out of it??]

Tuesday, September 14, 2004

Double Rainbow

Seen at Souths Union Club Sept 4th 2004

Monday, September 13, 2004

A new take on the Green Bridge

"Development Proposal" Installed at Dutton Park Ferry stop: Green Bridge = 1/2 Yellow, 1/2 Blue Bridge?

Friday, September 03, 2004

Viktoria's Skirt (atop the Siegesauele - Berlin)


What's the Siegesauele? You ask.

Thursday, September 02, 2004

Intercoms in Venice

Yes, that's granite and brass at the end!

Wednesday, September 01, 2004

Looks like the SOSY is a web service

Like tefkat!! Going through their demo... the modelling tool is local, and then it sends something off to SOSY and they send back zip files via email!

Sosy provides commercial model transformation engine

Looks like there might be another real MDA tool out there... http://www.sosyinc.com/technology/whitepapers.html