Fw: FW: Status of UML 2.0



Date view Thread view Subject view Author view Attachment view

From: Andy Evans (andye@cs.york.ac.uk)
Date: Sat 26 Oct 2002 - 06:37:00 BST


> >Mitch,
> >
> >If a UML model defines constraints on the programs that are consistent 
> >with the model, then consider the case where there are a collection of 
> >such programs - ie., one model and several programs consistent with that 
> >model - that is, several programs that are not semantically 
> >equivalent.  Then, well, that's clearly the definition of ambiguity - for 
> >if your intention was to describe program P but I interpret it as program 
> >Q while yet another individual interprets it as program S, that's a recipe 
> >for confusion.
> 
> You are assuming that the intention of the modeler when producing a UML 
> model is to define a single program. That is not the case. One intention 
> might be to characterise a class of programs, and a model may be 
> unambiguous in the sense that you can determine unambiguously whether a 
> program is in that class or not. (Incidentally, I don't see how this is any 
> different to so-called formal specification languages such as Z or VDM. Are 
> you saying that those are ambiguous as well?)
> 
> The 2U submission is unambiguous in the sense that it provides, within the 
> confines of metamodelling, an abstract syntax for that part of UML which 
> the submission covers, a characterization of possible traces of a UML 
> model, and the rules by which you can determine unambiguously whether or 
> not a trace satisfies a given model. Thus, provided you accept the chosen 
> characterization of traces, you can determine unambiguously the meaning of 
> a model as you have a way of determining whether any given trace is valid 
> or not. In contrast, a description of the meaning in English is ambiguous, 
> in that it does not provide you with a sufficiently accurate 
> characterization of traces or the rules by which you could determine 
> whether or not a trace (if you could characterize it) satisfies a model.
> 
> We were planning to provide a metamodel of concrete syntax (notation) with 
> rules that would unambiguously (excepting layout considerations) determine 
> how to derive abstract syntax from a concrete diagram, but we didn't have 
> time.
> 
> But actually we were just looking for a catch phrase that allowed us to use 
> the acronym 2U (Unambiguous UML), to go alongside U2P (UML2 Partners), who 
> are responsible for another UML 2 submission. For this we needed to find a 
> word that began with 'U', and 'unambiguous' seemed to fit the bill quite well.
> 
> Finally, as someone from Rational who clearly cares about these things, you 
> are no doubt proud to be associated with the U2P submission, the paragon of 
> precision, formality, understandability and lack of ambiguity that it is :-)
> 
> Stuart
> 
> >We could try use constraints to identify one specific program, but of 
> >course, that's the problem I wrote about.
> >
> >With respect to a<b, you wrote: ... They describe subsets or classes of 
> >things.  Is a<b ambiguous on say natural numbers? - - the answer is:
> >
> >Let a be the set of natural numbers (1,2,3) let b be the number 25  is 
> >(1,2,3) < 25 - I don't know.
> >
> >Now if you meant that a, b are restricted to being a natural number, and 
> >we assume you mean a formalization of natural numbers isomorphic to peano 
> >arithmetic without the axiom of infinity, then sure a<b isn't 
> >ambiguous.  BUT that's not what you wrote.
> >-----Original Message-----
> >From: Mitch Kokar [mailto:mitch.vis@verizon.net]
> >Sent: Friday, October 25, 2002 12:09 PM
> >To: puml-list@cs.york.ac.uk
> >Subject: RE: Status of UML 2.0
> >
> >Robert,
> >
> >I think a UML model defines constaraints on the programs that are 
> >consistent with the model. And constratints don't need to be ambiguous 
> >just because they are constraints. They describe subsets or classes of 
> >things. Is a<b ambiguous on say natural numbers?
> >
> >=Mitch
> >
> >-----Original Message-----
> >From: puml-list-request@cs.york.ac.uk 
> >[mailto:puml-list-request@cs.york.ac.uk]On Behalf Of Bauer, Robert
> >Sent: Friday, October 25, 2002 12:58 PM
> >To: 'puml-list@cs.york.ac.uk'
> >Subject: RE: Status of UML 2.0
> >
> >Hi,
> >
> >Let me address the various responses in this one email.  If I forgot 
> >something, well, sorry.
> >
> >The first thing is to understand what it means to formal specify a 
> >programming language.  We specify
> >a programming language so that we can understand what a program means.  We 
> >describe that understanding
> >by defining how the "state" (I use this in a very generic sense to 
> >encompass not only memory, but
> >registers, i/o channels, etc) is modified via the "execution" of the 
> >program.  Irrespective of the
> >mechanism of the semantics (e.g., operational, axiomatic, denotational), 
> >determining the meaning of the
> >program results in a sort of symbolic execution of the program.  As a 
> >consequence, for specific programs,
> >etc., one can determine whether two programs are equivalent in the sense 
> >that their finals states are
> >equivalent, though this problem is known to be np-complete.
> >
> >So, in a very real sense, that the specification language is undeciable, 
> >semi-undeciable, etc., is
> >not critical, because we are only interested in identifying how various 
> >constructs in the programming language
> >being described modify the state.  Hence, languages like Z and HOL are 
> >quite beneficial.  Yet, I can
> >write sentences whose truth value cannot be determined in both Z and HOL; 
> >however and fortunately, these kinds
> >of sentences do not show up to describe modifications made by constructs 
> >in a programming language.
> >
> >So, if one were to use, say HOL to describe UML, it begs an important 
> >questions - what about UML is being
> >described?
> >
> >UML is not a programming language nor is it a semantic language that 
> >describes how the constructs of a programming language modify the 
> >state.  At best, UML seems to capture some information about the static
> >structure of a system and it is able to capture some information about the 
> >dynamic behaviour of the system in terms of objects that get created and 
> >some of the communication among objects.
> >So, at least to me, it appears that we understand a UML model by the 
> >program that gets generated from the UML model.  But the UML model is not 
> >a complete specification of that program, since to do that would require a 
> >complete specification of the programming language in which that program 
> >is generated as well a formal specification of the desired program (and if 
> >we had the latter, we wouldn't need the model except as an
> >example of "one" implementation of the specifcation - we know that in each 
> >programming language there are a countably finite set of programs with 
> >equivalent semantics).
> >Following this chain of reasoning - then UML stands as sort of 
> >meta-program that by definition is an incomplete description of the 
> >program being represented.  This begs the question to determine what parts 
> >of the program are represented?  And, of course, how are they being 
> >represented?  It is my contention that any such representation may be 
> >ambiguous (unambiguity can't be proven)/inconsistent (inconsistency can't 
> >be proved).
> >robert
> >
> >-----Original Message-----
> >From: Niall@feabhas.com [<mailto:Niall@feabhas.com>mailto:Niall@feabhas.com]
> >Sent: Friday, October 25, 2002 7:55 AM
> >To: puml-list@cs.york.ac.uk
> >Subject: RE: Status of UML 2.0
> >
> >
> >
> > > -----Original Message-----
> > > From: Hubert Baumeister 
> > [<mailto:baumeist@informatik.uni-muenchen.de>mailto:baumeist@informatik.uni-muenchen.de] 
> >
> > > >
> > > > For example, given some program P, I wish to determine it's
> > > meaning.
> > > > To
> > > > do so requires that I have
> > > > a formal semantics, one that is unambiguous and complete in
> > > the sense
> > > > that every sentence constructed
> > > > in the implementation language has only one interpretation in the
> > > > specification language - but that requires
> > > > me to show that the specification language itself is
> > > unambiguous - which
> > > > in general can't be done.
> > >
> > > So what your are saying is, that it is impossible to give a
> > > precise mathematical semantics to
> > > programming language constructs?
> >
> >Correct me if I'm wrong but I believe Modula-2 was specified using VDM.
> >
> >
> >
> >To remove yourself from this list please mail 
> >puml-list-request@cs.york.ac.uk
> >with a message containing the word "unsubscribe".
> 
> 
> 

Date view Thread view Subject view Author view Attachment view