From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d40f6b657916031c,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-05-02 15:36:11 PST Path: newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.online.be!ams.uu.net!news.mailgate.org!monterey.nps.navy.mil!not-for-mail From: rdriehle@nps.navy.mil ("Riehle, Richard") Newsgroups: comp.lang.ada Subject: re: re: ada95 and uml Date: Wed, 2 May 2001 22:36:08 +0000 (UTC) Organization: Mailgate.ORG Server - http://www.Mailgate.ORG Message-ID: NNTP-Posting-Host: monterey.nps.navy.mil Mime-Version: 1.0 Content-Type: text/plain; X-Trace: news.mailgate.org 988842967 21079 131.120.18.26 (Wed, 2 May 2001 15:36:19 -0700 ) X-Complaints-To: monterey.nps.navy.mil@abuse.net abuse@mailgate.org NNTP-Posting-Date: Wed, 2 May 2001 22:36:08 +0000 (UTC) Mail-From: rdriehle@nps.navy.mil from monterey.nps.navy.mil [131.120.18.26] X-URL: http://www.Mailgate.ORG Xref: newsfeed.google.com comp.lang.ada:7108 Date: 2001-05-02T22:36:08+00:00 List-Id: Robert Palasek > wrote: "Riehle, Richard" wrote: >> From my study of UML and my knowledge of Ada, I have concluded there is a >> substantial linguistic >> discontinuity. Ada has a rich model of program development that cannot be >> completely represented >> with UML. Translating from UML to Ada or Ada to UML is guaranteed to lose >> something in the >> translation. >I know a little about each, but am not an expert yet with either. > >But I don't understand the idea that you are supposed to be >able to generate one from the other. That seems wrong and >misguided to me. > > A model is an abstraction that carries some proper subset of >salient points of the thing being modeled. For it to >be useful, the model has to leave other stuff out. >If it doesn't leave anything out, it's just an >alternate representation. Richard Riehle replies: When I refer to "linguistic continuity" I am suggesting that the same linguistic model should be used for the entire life-cycle of a software product. This is, of course, an unrealized ideal at this stage of software engineering practice. That is, we have few models in which the requirements effort produces output that is linguistically consistent with the analysis, which is in-turn linguistic consistent with the design tools, which is in-turn linguistically consistent with the implementation tools. On most projects, there is a slight discontinuity between the modeling notations and the implementation language. As an extreme example, suppose I decided to create a software application in Smalltalk but used, as my modeling lanuage, a structured analysis toolset. The discontinuity would be stark. In fact, it would be so stark that an observer might question my judgement if not my sanity. This discontinuity is quite evident when trying to match the current Ada standard to UML. Those who seek to cross the chasm nearly always find themselves compromising either the modeling tool, UML, or the possibilities of Ada. I call this "linguistic /continuity/discontinuity," a phrase I adapted from my reading of Bertrand Meyer's "Object_Oriented Software Construction" in which he uses the term, "linguistic modular units." To me, "linguistic continuity" is somewhat more descriptive, even somewhat more general in describing the problem we face. UML seems to have been designed with C++ in mind. I realize the designers of UML have a larger view of the programming world, but their employer has an interest in selling products to the largest developer market possible. That would be C++, at this point. Little vestigial C++ constructs are noticeable throughout the UML. Even the methods in a class box are written with parentheses, just as we would write a C/C++ function with no parameters. To be fair, there are also Ada-like constructs. These constructs are particularly evident when defining constraints. The discontinuity between Ada and UML is not so much syntactic as architectural. Even with the addition of stereotypes, one is hard-pressed to model some of the more important architectural constructs of Ada. Rational's technology support people have offerred suggestions, but most of those have proven to provide solutions somewhat short of what we might like. It is somewhat like the notion of expressibility versus expressivness. In many cases we can find some way to express an Ada idea in UML, but it such expression may be clumsy and fit badly within the larger design. Lest this be interpreted as a criticism of UML or its authors, let me be clear. UML is an excellent design for modeling class-oriented designs. It was intelligently done by intelligent people. One cannot expect that a modeling language can offer linguistic continuity with every programming language. Ada is different enough that it deserves its own modeling tools, perhaps derived from UML. At this point, the Ada marketplace is not large enough to warrant the investment. Consequently, we will have to live with the linguistic discontinuity between UML and Ada until someone finds the time and money to make things better. Richard Riehle -- Posted from monterey.nps.navy.mil [131.120.18.26] via Mailgate.ORG Server - http://www.Mailgate.ORG