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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,4c17e6ae73bd8c51 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Path: g2news1.google.com!news3.google.com!feeder.news-service.com!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!gegeweb.org!aioe.org!not-for-mail From: =?utf-8?Q?Yannick_Duch=C3=AAne_=28Hibou57?= =?utf-8?Q?=29?= Newsgroups: comp.lang.ada Subject: Re: Ada and UML Date: Thu, 02 Sep 2010 02:43:02 +0200 Organization: Ada @ Home Message-ID: References: NNTP-Posting-Host: TElOPbDtwZwcMrHuwe+urg.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 User-Agent: Opera Mail/10.61 (Win32) Xref: g2news1.google.com comp.lang.ada:13902 Date: 2010-09-02T02:43:02+02:00 List-Id: Le Wed, 01 Sep 2010 10:20:30 +0200, Matteo Bordin = a =C3=A9crit: > One of the goals of UML is to permits UML models to be implemented on > several run-time platforms: for this to be possible, either you create= > a language which is the union of all possible computational models, Unreachable target > or you leave semantic variation points to permit model transformation > (code generators) to inject platform-specific semantics following a > precise pattern. Look like the question I asked in a prior post : how is the source = generator driven ? > UML chose the second option. The core idea is that, > by modeling your execution platform, you can "instruct" your code > generator to generate code with a fully specified semantics for a > precise target platform starting from an abstract model. This permits > to re-use the same model for different target platforms by just > changing code generator and platform model and to perform high-level > verifications without including "pollution" from the underlying run- > time. I have the same view or except in one point : I do expect abstraction, b= ut = I do not expect automatic generation. Instead of the latter, I expect = abstract view and outlining, which in turn lead to some other questions = to = solve, different than the one of automatic generation (will not talk abo= ut = it here). > The problem is that Ada Packages can have non-primitive operations and= > variables, but UML Packages can't. So indeed, this really to not match Ada package. As it seems some of my words was not understand (I may indeed be = ambiguous) : when I say this is not the same as Ada package, I do not sa= y = I expect UML to be another way to write Ada, ... no, I wanted to = understand things using concept which are already known. > In UML a NameSpace is an abstract metaclass (a sort of abstract > grammar rule), which is extended by concrete metaclasses. BTW, UML > Class inherits from NameSpace: in UML a Class is a NameSpace. I am not sure I understand this. Will later look for a way to understand= = it. > They are part of the UML standard and can be found in true UML > implementations such as those on the Eclipse platform (http:// > www.eclipse.org/modeling/mdt/?project=3Duml2tools, topcased.org, > papyrusuml.org). I have tried this. The first two did not want to lauch, only Papyrus = could. I will try with it (I already tried it in the past, but this is = another story I will not talk about). >> I was a bit long with this reply, let go for a summary: give UML the >> semantic of the target language (implies this choice is maid =C3=A0-p= riori), >> use notation restrictions as much as needed (should be documented, wh= ich >> is OK, as UML seems to have provision for so called Preface). > > I disagree ;-) This approach means using UML at the same abstraction > level of a traditioanl programming language. Right, this have to be more abstract. But some stuff requires an exact = semantic to be interpreted, and this is kind of concrete thing which you= = will typical find with a concrete language like Ada is. > A desirable modeling > approach based on languages of the UML family is to separate what is > platform-independent from what is platform-specific to permit the re- > use of platform-independent models. Let's make an example about > tasking. You can have a platform-independent UML model where you > identify "unit of concurrency". And another, platform-specific UML > model where you describe the low-level implementation in terms of > (Ada, C, ARINC-653, ...) tasks. And how do you link these various more detailed model to the one which = seems to be a master abstract model ? > You may get more information on this approach by reading > tutorials on MARTE (omgmarte.org). I had a overiew. It is said to target Real-Time, which is not my direct = = concern, while seems it can be useful for general purpose. Thanks for th= is = link. -- = =E2=80=9CDual licensing is the Perl's way to disinfect the GNU General P= ublic = Virus!=E2=80=9D (anonymous)