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=-0.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,7ee10ec601726fbf X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-31 14:35:59 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!fr.clara.net!heighliner.fr.clara.net!157.161.139.35.MISMATCH!10029148!news.imp.ch!psinet-eu-nl!psiuk-p4!psiuk-p3!uknet!psiuk-n!news.pace.co.uk!nh.pace.co.uk!not-for-mail From: "Marin David Condic" Newsgroups: comp.lang.ada Subject: Re: why not Date: Wed, 31 Oct 2001 16:29:28 -0500 Organization: Posted on a server owned by Pace Micro Technology plc Message-ID: <9rpqfr$duh$1@nh.pace.co.uk> References: <3BC5D730.DA950CC7@boeing.com> <9q4pa7$1ad$1@nh.pace.co.uk> <3BC6ACC8.23EF21BC@free.fr> <3BC71F54.1FFE78FA@boeing.com> <1KGx7.26476$ev2.35117@www.newsranger.com> <3BC7AD82.2A0CCCD4@acm.org> <9qhiqr$af0$1@nh.pace.co.uk> <1nDC7.180$6S7.92255364@newssvr11.news.prodigy.com> <9rjsak$bp3$1@nh.pace.co.uk> <9rmhb9$o1b$1@nh.pace.co.uk> <3BDEF0FE.B55FED9E@san.rr.com> <9rmuqi$es$1@nh.pace.co.uk> <3BDF1F13.4B99361C@san.rr.com> <9rnbtv$5i4$1@nh.pace.co.uk> <3BE03E54.57E0E6C8@san.rr.com> <3BE05304.5AB6862D@san.rr.com> NNTP-Posting-Host: dhcp-200-133.miami.pace.co.uk X-Trace: nh.pace.co.uk 1004563771 14289 136.170.200.133 (31 Oct 2001 21:29:31 GMT) X-Complaints-To: newsmaster@news.cam.pace.co.uk NNTP-Posting-Date: 31 Oct 2001 21:29:31 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Xref: archiver1.google.com comp.lang.ada:15514 Date: 2001-10-31T21:29:31+00:00 List-Id: Hypothetically speaking, you could take a library of utilities, specs *and* bodies, and tack them onto the ARM and say "The following source code shall be provided as part of the implementation of Ada..." and that pretty much takes care of any sort of verification. There are obvious problems with this - such as not guaranteeing that any of it works at all and not stipulating what sort of results should come out of it, but it *is* a kind of standard. If you look at the standard libraries of functions that come with ANSI C, you notice that they aren't horribly well thought out and the definitions are not terribly mathematically precise, but they *are* useful and they generally *do* function as expected across a variety of implementations. It got that way because implementations of C started sharing common libraries of source code that gradually became accepted as being part of the language - even though they weren't really part of "Standard C". One compiler is out there with library source available. Other compiler projects picked up on the libraries and either duplicated them or licensed them or otherwise started sharing what was there. Pretty soon, everyone just expects "strchr" and "malloc" and such to be there, just because every implementation has them. ANSI C comes out and - Bam! - its been kicked up a notch by requiring a set of standard libraries. Ada might be able to do the same thing - albeit with a bit more rigor than we are used to seeing with C. Assuming something is agreed upon as a desirable set of packages and some implementation is available under favorable license terms and compiler vendors start bundling it with their compiler, I don't see anything wrong with saying "See that implementation over there? That constitutes the standard..." Of course I don't believe it has to be part of the ARM at all. I think it would be just as useful and acceptable if there *was* an implementation that was commonly included with most compilers. Maybe it should be driven by the grass roots and maybe it should be driven by the vendors, but I don't think it needs to start with the ARM. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Darren New" wrote in message news:3BE05304.5AB6862D@san.rr.com... > > > No question. But then it's harder to precisely specify what the behavior > > > is without saying "it behaves like this implementation." > > > > You need to specify time and space semantics for any abstraction. This is a > > solved problem. > > Right. It seems like you've misunderstood what I was trying to say. I > was simply saying that trying to specify the time, space, and result > semantics of the Booch components would be pointless if you can just > point at the implementation and say "do this." If you're going to make a > more abstract interface that can be implemented in a variety of ways, > it's easier to specify the time, space, and semantics of the operations > on a more simple interface than it is to try to deduce them from an > existant implementation as complex as Booch. >