From omg-list-errors@omg.org  Thu Nov  6 13:50:30 2003
Subject: Re: MDA / Martin Fowler
From: Allan Kennedy <allan.kennedy@kc.com>
To: <clive@trireme.com>
CC: "Stephen J. Mellor" <steve@projtech.com>, <ormsc@omg.org>, <adtf@omg.org>,
   Andrew Watson <andrew@omg.org>, Richard Mark Soley <soley@omg.org>,
   <kc_staff@kc.com>, Martin fowler <fowler@acm.org>

Hi Clive

Thanks for drawing my attention to Martin's jottings.

Broadly speaking, I agree with everything he has said. It seems that he may
have written most of this after the OOPSLA panel in which Steve Mellor and I
participated. Steve and I were depicted as pioneers and champions of MDA
while also on the panel was Dave Thomas who was an acerbic and aggressive
critic of the OMG process (not without good reason). The "zeitgeist" as
revealed by audience comment was critical and dismissive of the MDA
initiative though many of the critics  - in my perception - may have been
motivated by i) ignorance ii) prejudice iii) desire to show off. It was all
good clean knock-about fun.

But to respond to Martin's comments more seriously, particularly the
"platform independent malapropism". I myself said during the panel
discussion that "the most platform independent (executable) UML model is
dependent on just one platform - the UML virtual machine. The problem is
that there is no standard defining the operation of that machine." So Martin
is right, its just that he is avoiding the point that the UML machine is a
more abstract (and therefore possibly easier to program) machine than any
3GL level machine. The virtue of "platform independent" executable UML is
that it is NOT java, C, C#, C++, Ada but can be translated to any of these.
Further, the services provided by the UML virtual machine can be implemented
in terms of the services provided by the users' preferred implementation
domains in terms of database, GUI, OS, middleware etc. thus decoupling
applications from those implementation technologies and facilitating the
upgrade and change of those platform specific capabilities. However, it
would be true to say that the extant implementations of the "executable UML
machine" are currently vendor specific. Although Project Technology's
Bridgepoint tool might be able to import and display an xUML model created
in iUML, put it through one of their model compilers and the resulting code
almost certainly will not perform the same way in all circumstances as the
code produced by one of our model compilers. And that is despite the fact
that our two companies share a lot of history. (As for Telelogic!....). I
hope Steve would agree that we both think that this situation is regretable
and we wish to work together within an OMG process to do something about it.

On his other point about the UML diverging into different dialects - yes it
seems to me that has been happening for a long time and will continue.
Indeed, many at the OMG repeat the mantra that the "UML is a family of
languages". The crunch issue for me is "what does this particular UML model
mean? Ie, what is it intended to do when it executes?" The strategy that
Steve and I believe could make sense of this question is to define as a
standard the semantics of the "core UML machine" and "the language with
which it is programmed" in such a way that all the current and future
dialects/profiles/subsets of UML can be built on top of that core. This is
still pretty irrelevant to Martin's UmlAsSketch community because for them -
I guess - the meaning of a sketch is determined by the sketcher.

I hope this is helpful. No doubt others to whom this is copied will
contribute their views and correct my misunderstandings.

Best wishes

Allan


On 5/11/03 12:47, "Clive Menhinick" <clive@trireme.com> wrote:

> If you have a spare moment, I would be very interested in your commments
> about Martin Fowler's (tad negative) perceptions of MDA (and related
> links about a divergent future for the UML(s)) thanks.
>
> http://martinfowler.com/bliki/PlatformIndependentMalapropism.html
>
> http://martinfowler.com/bliki/UnwantedModelingLanguage.html

    ******LATEST NEWS********
For full press release on SIAP win go to:-
http://www.kc.com/press/press_siap.html
      ****STOP PRESS*****
"Model Driven Architecture with Executable UML" by Kennedy Carter Ltd
Due for release in January 2004.
Read a review at:-
http://titles.cambridge.org/catalogue.asp?isbn=0521537711
================================================
Kennedy Carter Ltd
Hatchlands
East Clandon
Surrey GU4 7RT
U.K.
Kennedy Carter:
Telephone:  +44 1483 226 180
Fax:        +44 1483 226 199
iUML Support
Telephone:  +44 1483 226 190
E-mail:     support@kc.com
web site: www.kc.com
Office Location:
http://www.theheritagetrail.co.uk/stately%20homes/hatchlands.htm
THE SOLUTION FOR OMG MODEL DRIVEN ARCHITECTURE
================================================
The terms "UML" and "iUML" refer respectively
to the Unified Modelling Language and Kennedy Carter's
MDA product suite and are used with the consent of
the Object Management Group.


From omg-list-errors@omg.org  Thu Nov  6 14:46:54 2003
Date: Thu, 06 Nov 2003 14:24:32 -0500
From: Martin Fowler <fowler@acm.org>
To: Allan Kennedy <allan.kennedy@kc.com>
Cc: clive@trireme.com, "Stephen J. Mellor" <steve@projtech.com>, ormsc@omg.org,
   adtf@omg.org, Andrew Watson <andrew@omg.org>,
   Richard Mark Soley <soley@omg.org>, kc_staff@kc.com
Subject: Re: MDA / Martin Fowler

> But to respond to Martin's comments more seriously, particularly the
> "platform independent malapropism". I myself said during the panel
> discussion that "the most platform independent (executable) UML model is
> dependent on just one platform - the UML virtual machine. The problem is
> that there is no standard defining the operation of that machine." So Martin
> is right, its just that he is avoiding the point that the UML machine is a
> more abstract (and therefore possibly easier to program) machine than any
> 3L level machine.

But this is exactly the point of the Platform Independent Malapropism.
The issue of whether UML/MDA is a better platform is a completely
separate issue from the merits of UML/MDA. Even if I was convinced that
UML/MDA was the best thing around, I would still object strongly to the
talk of platform independence.

I would suggest that you should argue about whether and why the UML/MDA
platform is better rather than talk about a false platform independence.
Otherwise I think you're just adding confusion and undermining your
argument with a red herring. (And cynics would say you're trying to
cover up the weakness of the UML/MDA with this red herring.)

--
Martin Fowler
http://martinfowler.com


From omg-list-errors@omg.org  Thu Nov  6 15:36:05 2003
Date: Thu, 6 Nov 2003 20:29:35 +0000
From: Laurence Tratt <laurie@tratt.net>
To: Allan Kennedy <allan.kennedy@kc.com>
Cc: clive@trireme.com, "Stephen J. Mellor" <steve@projtech.com>, ormsc@omg.org,
   adtf@omg.org, Andrew Watson <andrew@omg.org>,
   Richard Mark Soley <soley@omg.org>, kc_staff@kc.com,
   Martin fowler <fowler@acm.org>
Subject: Re: MDA / Martin Fowler

On Thu, Nov 06, 2003 at 06:42:16PM +0000, Allan Kennedy wrote:

Dear Allan,

> But to respond to Martin's comments more seriously, particularly the
> "platform independent malapropism". I myself said during the panel
> discussion that "the most platform independent (executable) UML model is
> dependent on just one platform - the UML virtual machine. The problem is
> that there is no standard defining the operation of that machine." So
> Martin is right, its just that he is avoiding the point that the UML
> machine is a more abstract (and therefore possibly easier to program)
> machine than any 3GL level machine. The virtue of "platform independent"
> executable UML is that it is NOT java, C, C#, C++, Ada but can be
> translated to any of these.

Having had the opportunity to talk to Martin following his excellent UML
2003 talk, Martin echoed mine (and others view) that "platform independent"
is really a wilfully misleading term. It is my belief that what MDA is
trying to achieve in the long term is to climb another rung on the
abstraction ladder. In this context "platform independent" is a relative,
and not absolute, term. I think you're getting at the same idea too, but I'd
like to bring it out a little more explicitly.

The analogy I use to try and explain this is the following. Once upon a time
people programmed in assembly - worse, they programmed in various different
assemblers, and for totally different target architectures. Then a bright
person (Dennis Ritchie, along with Ken Thompson) came along and invented C,
which was effectively a high level assembly language. Someone who wrote good
C code could then target all those different assembly languages and
processor architectures with a single program. But just because C allowed
programs to be written that are independent of the platform of assemblers
and processors doesn't mean it achieves total and absolute platform
independence - in fact, it introduces a whole new platform. Thankfully, the
bump up the abstraction ladder made the introduction of that new platform
worthwhile by removing all the nastiness of the underlying platforms. Any
such bump up the ladder neccessarily introduces a new platform, and MDA
will be no different, whether that new platform takes the form of the UML
virtual machine or whatever else.

It's my personal belief that, now that the real world's become interested
enough in MDA, we'd be well advised to drop the "platform independent"
message, or at least to rephrase it along the lines of "platform
abstraction". A lot of people won't be as diligent as Martin, who saw
through this clumsy phrase to see that MDA does have some potential benefits
if it succeeds - they'll see "platform independent", think "waffle" and walk
away.

Finally, I reserve the right to have inadvertently misrepresented both yours
and Martin's positions :)

Yours,

Laurie
--
QVT-Partners: http://qvtp.org/
Homepage:     http://tratt.net/laurie/



From omg-list-errors@omg.org  Thu Nov  6 15:44:15 2003
From: "Conrad Bock" <conrad.bock@nist.gov>
To: "Martin Fowler" <fowler@acm.org>, "Allan Kennedy" <allan.kennedy@kc.com>
Cc: <clive@trireme.com>, "Stephen J. Mellor" <steve@projtech.com>,
   <ormsc@omg.org>, <adtf@omg.org>, "Andrew Watson" <andrew@omg.org>,
   "Richard Mark Soley" <soley@omg.org>, <kc_staff@kc.com>
Subject: RE: MDA / Martin Fowler
Date: Thu, 6 Nov 2003 15:37:53 -0500

Martin,
 > But this is exactly the point of the Platform Independent Malapropism.
 > The issue of whether UML/MDA is a better platform is a completely
 > separate issue from the merits of UML/MDA. Even if I was convinced that
 > UML/MDA was the best thing around, I would still object strongly to the
 > talk of platform independence.

Plafortform-independencer is the result of translating UML, via MDA, to
a platform.  Per earlier discussions, this is actually a restricted
class of platforms, of course.

Regarding the input you heard about UML 2 given on your web page, they
may not have applications needing the new features, and MDA can
certainly applied independently of UML.  However, plenty of applications
can benefit from UML 2.  It has the first high-level (I won't say
platform independent) component model that is fully pluggable, due to
the two-way interfaces, and that has a model for assembling components.
On the behavior side, the new features in activity models opens out to
wide set of applications in process/workflow modeling that were
previously closed to UML.  These are integrated with coding models so
that process models and code do not have such a high wall between them.
But you already know this from your book.  :)

Conrad


From omg-list-errors@omg.org  Thu Nov  6 15:47:26 2003
From: "David S. Frankel" <df@DavidFrankelConsulting.com>
To: "Martin Fowler" <fowler@acm.org>, "Allan Kennedy" <allan.kennedy@kc.com>
Cc: <clive@trireme.com>, "Stephen J. Mellor" <steve@projtech.com>,
   <ormsc@omg.org>, <adtf@omg.org>, "Andrew Watson" <andrew@omg.org>,
   "Richard Mark Soley" <soley@omg.org>, <kc_staff@kc.com>
Subject: RE: MDA / Martin Fowler
Date: Thu, 6 Nov 2003 12:42:49 -0800

Martin has a point.  The concept of platform-independence is often used in a
way that is simplistic and thus not helpful.  I have always stressed that
platform-independence is a relative concept that has no meaning unless you
state a frame of reference from which independence can be posited.  This is
important, because there are multiple levels of abstraction, not two.

If you look at the "Architectural Context" section of the architecture
board's RFP template (ab/03-09-01), you'll see that platform-independence is
defined as a pattern, with specific instantiations based on a specific frame
of reference.  One instance of the pattern that is cited in that discussion
is CORBA as independent of programming languages and operating systems; in
this frame of reference, an IDL-based specification is platform-independent,
and the results of applying CORBA language mappings to the IDL spec are
platform-specific.

Another frame of reference we could specify would include middleware in
platforms, supporting the construction of middleware-independent models; in
this frame of reference, an IDL-based spec or a Java-based spec would be a
platform-specific model.  Many of the MDA tools for enterprise computing are
operating in this frame of reference.

As Martin suggests, a middleware-independent UML profile, and the machinery
that implements models specified in that profile, can be posited as a
platform in another frame of reference.  I might create a non-UML,
domain-specific language for, say, modeling financial instrument contracts,
and then I might compile models expressed in that language "down" to the UML
profile.

This relativistic way of looking at platform-independence is what many of us
who initiated MDA intended all along.  The habit of talking about
platform-independence as a fixed concept is fairly widespread, though.

--Dave
=================================================================
David S. Frankel
David Frankel Consulting
Email: df@DavidFrankelConsulting.com
Web: www.DavidFrankelConsulting.com
Tel: +1 530 893-1100
Fax: +1 530 893-1153
David Frankel's MDA book: www.DavidFrankelConsulting.com/book.htm
=================================================================

> -----Original Message-----
> From: Martin Fowler [mailto:fowler@acm.org]
> Sent: Thursday, November 06, 2003 11:25 AM
> To: Allan Kennedy
> Cc: clive@trireme.com; Stephen J. Mellor; ormsc@omg.org; adtf@omg.org;
> Andrew Watson; Richard Mark Soley; kc_staff@kc.com
> Subject: Re: MDA / Martin Fowler
>
> > But to respond to Martin's comments more seriously, particularly the
> > "platform independent malapropism". I myself said during the panel
> > discussion that "the most platform independent (executable) UML model is
> > dependent on just one platform - the UML virtual machine. The problem is
> > that there is no standard defining the operation of that
> machine." So Martin
> > is right, its just that he is avoiding the point that the UML
> machine is a
> > more abstract (and therefore possibly easier to program)
> machine than any
> > 3L level machine.
>
> But this is exactly the point of the Platform Independent Malapropism.
> The issue of whether UML/MDA is a better platform is a completely
> separate issue from the merits of UML/MDA. Even if I was convinced that
> UML/MDA was the best thing around, I would still object strongly to the
> talk of platform independence.
>
> I would suggest that you should argue about whether and why the UML/MDA
> platform is better rather than talk about a false platform independence.
> Otherwise I think you're just adding confusion and undermining your
> argument with a red herring. (And cynics would say you're trying to
> cover up the weakness of the UML/MDA with this red herring.)
> --
> Martin Fowler
> http://martinfowler.com
>


From omg-list-errors@omg.org  Thu Nov  6 15:53:35 2003
From: "Stephen J. Mellor" <steve@projtech.com>
To: "Martin Fowler" <fowler@acm.org>, "Allan Kennedy" <allan.kennedy@kc.com>
Cc: <clive@trireme.com>, <ormsc@omg.org>, <adtf@omg.org>,
   "Andrew Watson" <andrew@omg.org>, "Richard Mark Soley" <soley@omg.org>,
   <kc_staff@kc.com>
Subject: RE: MDA / Martin Fowler
Date: Thu, 6 Nov 2003 13:47:36 -0700

No one is saying that a PIM is independent of *all* platforms.
As you yourself say, Java is independent of the the hardware-
platform, but you don't investigate of what a PIM is independent.

Allan correctly points out a PIM (can) define a virtual machine,
but my reading of his words omitted the key fact that this
virtual machine is independent of the *software* platform: You
can express a problem in a concurrent specification language
without specifying allocation, distribution, data structure etc.,
for these elements evolve independently at their own pace.

Another issue that's received no attention is the aspect-oriented
nature of a well-formed subject-matter model.  This allows you to
combine separate domains into a single system.  Each domain evolves
independently.  This alone is worth the price of admission.

Third, you imply that an Executable UML is just another programming
language.  I'll grant that for the sake of argument (though I could
have a lot of fun taking the other side :)  So then, is Executable
UML a "better" programming language?  I would argue yes, because
the elements of that language (sets, tuples, states, functions)
form a mathematically coherent whole that we have only just begun
to take advantage of.  Just as sequence, conditions, and loops were
more restrictive (but more powerful) than sequence and GOTO's, so
too is the use of the limited constructs of Executable UML.

In sum, an aspect-oriented, concurrent specification language that
uses a mathematically powerful subset of ideas that is independent
of the software platform and that can be transformed by a set of
reusable mapping rules to the target software platform is a more
powerful approach to systems development than the unprovable, low-
level, software-platform dependent sequential system specification
environment that is Java, say.

(And before you reply, I did NOT:
 * suggest that you could do this with the entire Unholy-messML,
   only a tractable semantic subset that can be represented by
   the constructs in the UglyML.
 * suggest that the graphic properties of UML confer any advantage)

-- steve



| -----Original Message-----
| From: Martin Fowler [mailto:fowler@acm.org]
| Sent: Thursday, 2003-11-06 12:25
| To: Allan Kennedy
| Cc: clive@trireme.com; Stephen J. Mellor; ormsc@omg.org; adtf@omg.org;
| Andrew Watson; Richard Mark Soley; kc_staff@kc.com
| Subject: Re: MDA / Martin Fowler
|
|
|
|
| > But to respond to Martin's comments more seriously, particularly the
| > "platform independent malapropism". I myself said during the panel
| > discussion that "the most platform independent (executable) UML model is
| > dependent on just one platform - the UML virtual machine. The problem is
| > that there is no standard defining the operation of that
| machine." So Martin
| > is right, its just that he is avoiding the point that the UML
| machine is a
| > more abstract (and therefore possibly easier to program)
| machine than any
| > 3L level machine.
|
| But this is exactly the point of the Platform Independent Malapropism.
| The issue of whether UML/MDA is a better platform is a completely
| separate issue from the merits of UML/MDA. Even if I was convinced that
| UML/MDA was the best thing around, I would still object strongly to the
| talk of platform independence.
|
| I would suggest that you should argue about whether and why the UML/MDA
| platform is better rather than talk about a false platform independence.
| Otherwise I think you're just adding confusion and undermining your
| argument with a red herring. (And cynics would say you're trying to
| cover up the weakness of the UML/MDA with this red herring.)
|
| --
| Martin Fowler
| http://martinfowler.com
|



From omg-list-errors@omg.org  Thu Nov  6 17:11:21 2003
From: Edwin Seidewitz <eseidewitz@intelidata.com>
To: ormsc@omg.org, adtf@omg.org
Cc: clive@trireme.com, "Stephen J. Mellor" <steve@projtech.com>,
   Andrew Watson <andrew@omg.org>, Richard Mark Soley <soley@omg.org>,
   kc_staff@kc.com, "'Martin Fowler'" <fowler@acm.org>,
   Allan Kennedy <allan.kennedy@kc.com>
Subject: RE: MDA / Martin Fowler [What is a platform, anyway?]
Date: Thu, 6 Nov 2003 17:07:40 -0500

I, too, think the term "platform-independent model" is causing some
confusion.

As has already been pointed out by a couple of respondents on this thread,
"platform independence" must be considered as a _relative_, not an
_absolute_, term. What I want to point out is that it _is_ defined as a
relative term in MDA, and its use in an absolute sense is, in my opinion, a
misunderstanding of MDA (perhaps a reasonable misunderstanding, given the
connotation of the term itself).

As to how this, and other terms, are defined in MDA, I turn to the "MDA
Guide" (publicly available from the OMG Web site at
<http://www.omg.org/docs/omg/03-06-01.pdf>). I actually had not taken a good
look at the latest version of this document (even though I am listed as one
of the many contributors) until prompted to do so by this thread, and I am
impressed with the comprehensive presentation of basic MDA concepts that it
gives (for which a good deal of credit is due to the editors, Joaquin Miller
and Jishnu Murkerji). I will pull a few key quotations from this document,
but I encourage anyone who is interested in MDA to look through the document
itself, if they haven't done so already.

The MDA Guide (Section 2.2.7) defines a platform as follows:

"A platform is a set of subsystems and technologies that provide a coherent
set of functionality through interfaces and specified usage patterns,
which any application supported by that platform can use without concern
for the details of how the functionality provided by the platform is implemented."

Some examples given include "generic platform types" such as object, batch
and dataflow; "technology specific platform types" such as CORBA and J2EE;
and "vendor specific platform types" such as Iona ORBIX and BEA WebLogic.

Of particular interest, the Guide (Section 2.2.9) provides a specific
definition of "platform independence":

"Platform independence is a quality, which a model may exhibit. This is the
quality that the model is independent of the features of a platform of any
particular type.
Like most qualities, platform independence is a matter of degree. So, one
model might only assume availability of features of a very general type
of platform, such as remote invocation, while another model might assume
the availability a particular set of tools for the CORBA platform.
Likewise, one model might assume the availability of one
feature of a particular type of platform, while another model might be fully
committed to that type of platform."

For "platform independent model" (PIM), the Guide (Section 2.2.12) then
states that "A PIM exhibits a specified degree of platform independence so
as to be suitable for use with a number of different platforms of similar
type." This is as opposed to a "platform specific model" (PSM), that
"combines the specifications in the PIM with the details that specify how
that system uses a particular type of platform" (Section 2.2.13).

Importantly, a PIM in one context may be a PSM in another context. (Section
6 of the MDA Guide has a good discussion of this.) Thus, it is perfectly
consistent with the term "platform independent", as defined for MDA, to say
that, say, a J2EE program is independent of vendor, operating system and
hardware platforms, while a UML model of the same application is independent
of the J2EE technology platform. In one context, the Java program can,
itself, be considered a PIM, while in the other it is a PSM.

The question then is, of course, whether it is _useful_ to have an
application model that is independent of the choice of the technology
platform at the level of J2EE. But, MDA aside, many people find it useful to
do models, and many of those models are, indeed, technology-platform
independent. However, as has been often noted, it can be very difficult to
manually keep such models in sync with the application code as development
continues -- leading to the use of models as "sketches" rather than as
primary artifacts.

The basic premise of MDA is that it should be possible to achieve greater
power for application development by being able to further elevate the level
of PIM that can be a primary artifact. The idea is simply to automate the
transformation of a PIM, independent relative to one or more platforms, into
one or more PSMs, specific to each of those platforms. As has also been
mentioned previously in this thread, this is very analogous to the
transformation from a source program to the machine code for a specific
operating system and hardware platform that is implemented in a Java
compiler. A PIM that is, say, technology-platform independent can then
become a primary development artifact -- just as, in normal practice, source
code has become the primary development artifact, even though it is the
machine code that "really" runs.

One can, of course, question whether the fundamental premise of MDA is
correct or even possible. But this is a separate (though important)
discussion from whether the very concept of MDA is well conceived. And, note
also, that none of the above discussion mentions UML at all. It is yet
another (very important) discussion as to whether UML, as currently
specified by OMG, is a "good", "universal" modeling language for MDA.

I, of course, have a lot I could say (and have said) as part of this latter
discussion on UML. But this message is already too long, and my comments on
the current state of UML are, of necessity, more personal and subjective
then the previous discussion. So I will save them for another message.

-- Ed

Ed Seidewitz, Chief Architect
InteliData Technologies
<mailto:eseidewitz@intelidata.com>
<http://www.intelidata.com>
Office:         +1.703.259.3076
Mobile:        +1.301.455.3681
Fax:             +1.703.259.3100




From omg-list-errors@omg.org  Thu Nov  6 21:43:26 2003
Date: Fri, 07 Nov 2003 11:05:27 +0900
To: Edwin Seidewitz <eseidewitz@intelidata.com>
From: Joaquin Miller <joaquin@joaquin.net>
Subject: RE: MDA / Martin Fowler [What is a platform, anyway?]
Cc: ormsc@omg.org, adtf@omg.org, clive@trireme.com,
   "Stephen J. Mellor" <steve@projtech.com>, Andrew Watson <andrew@omg.org>,
   Richard Mark Soley <soley@omg.org>, kc_staff@kc.com,
   "'Martin Fowler'" <fowler@acm.org>, Allan Kennedy <allan.kennedy@kc.com>

Thanks, Ed, for the fine discussion of the term, 'platform independence.'

Edwin Seidewitz wrote:
>As has already been pointed out by a couple of respondents on this thread,
>"platform independence" must be considered as a _relative_, not an
>_absolute_, term. What I want to point out is that it _is_ defined as a
>relative term in MDA, and its use in an absolute sense is, in my opinion,
>a misunderstanding of MDA (perhaps a reasonable misunderstanding, given
>the connotation of the term itself).

I share your gentle and courteous feelings toward folks who misunderstand
what is intended by 'platform independence.'  But i don't feel that the
connotation of the term itself can stand as an explanation.  The obvious
(and maybe the only likely) meaning of 'platform independence' is: the
quality of being independent of a platform or platforms.  I don't expect
there is any problem with the meaning of 'to be independent of.'  So, if
the misunderstanding has to do with the connotation of the term, it must be
'platform' that is the problem.

Let me give a few examples that i feel most folks ought to recognize as
platforms:

IBM ThinkPad 570 E
IBM ThinkPad 570 E + Big Bill Windows 2000
IBM ThinkPad 570 E + Linux
Linux
CORBA
J2EE
IBM MVS
BEA WebLogic
Apple System X
Smalltalk

Even if some folks do not consider some of these to be platforms, they
ought to admit most of them as platforms.  (Of course, 'CORBA,' as a
platform, must mean CORBA plus some operating system(s) and
computer(s):  CORBA software alone is helpless.)

The examples, if they are all (or most) platforms, ought to show that
platform independence is necessarily relative to the platforms one has in mind.

If i understand Martin (i am not well internet-connected, and have not seen
his original comments), or better: If i understand the explanations of what
Martin wrote, he points out that it is impossible for a model or
specification to be independent of all platforms.  I'll buy that.  At the
same time, i believe one can write a model that is independent of the class
of platforms that includes CORBA Components and J2EE, and a model that is
object-oriented, but independent of a large class of platforms.

If the term, 'platform independence' is a malaproprism, that can be
fixed.  On the other hand, if i misunderstand the explanations of what
Martin wrote and what he points out is instead that the idea we are using
that name for is bogus, then I'll have to get better connected and read his
wiki comments.

.......

For my part, i certainly do not consider UML a platform.  It is a
language.  I do believe that Process Technology and many others since
provide platforms which support UML models.  And i suppose that some, many,
most, or all UML models supported by one of those platforms are not
independent of that platform.

For my part, i certainly do not consider MDA to be a platform.  It is an
approach.  [omg/2002-06-01 at 2.1.1]  It is correct usage to use 'CORBA'
for both the architecture and the platform.  But those are two separate
things.  If it is not clear from the context, then we need to say either
'the CORBA architecture' or 'a CORBA platform.'  If we say 'the CORBA
platform,' we must mean the class of platforms that conform to the CORBA
specification.

If folks want to talk about an MDA platform, that's fine.  There 'MDA' is
an adjective, not a noun.  Then, of course, given the way our language
works, 'MDA' will, as 'CORBA' has,  come to have two meanings as a
noun.  For now, let's be clear, and use 'an MDA platform,' if we want to
mean a platform which is MDA-like, or MDA-suitable, or whatever we intend
to mean by that term.

'The UML/MDA platform' (with 'the') can (for me) only mean a class of
platforms that use the UML language and the MDA approach.

It is certainly true that a model for "the UML/MDA platform" is dependent
on "the UML/MDA platform."  It is quite possible that such a model could be
independent of some class of "UML/MDA platforms," instead of locked into a
particular "UML/MDA platform."   Let's hope so.  Down the road, anyway.

Please remember that it was some time from the promulgation of CORBA (the
architecture) to the possibility of a program that was portable across
several different CORBAs (the platforms).  These things take many years.

The MDA of today is like the CORBA of the first years: a beacon showing a
direction.  It ain't no platform, nohow.

Cordially,

Joaquin

[Martin, please forgive me for commenting before reading.]

[Allan, I'd like to quibble about "the UML virtual machine."  I'll believe
it when i see it.  I have no objection to the use of 'a UML virtual
machine.'  (Yes, i do know what is intended, and, yes, this is a quibble.
But: Loose lips sink ships.)]