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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1eef1e815cf70416 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.220.230 with SMTP id pz6mr12936790pbc.3.1338881870615; Tue, 05 Jun 2012 00:37:50 -0700 (PDT) Path: l9ni4893pbj.0!nntp.google.com!news1.google.com!postnews.google.com!3g2000vbx.googlegroups.com!not-for-mail From: Maciej Sobczak Newsgroups: comp.lang.ada Subject: Re: Distributed Systems Annex, data sharing between programs Date: Tue, 5 Jun 2012 00:36:01 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: NNTP-Posting-Host: 195.182.34.254 Mime-Version: 1.0 X-Trace: posting.google.com 1338881870 9822 127.0.0.1 (5 Jun 2012 07:37:50 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 5 Jun 2012 07:37:50 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: 3g2000vbx.googlegroups.com; posting-host=195.182.34.254; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Date: 2012-06-05T00:36:01-07:00 List-Id: On 4 Cze, 20:49, Adam Beneschan wrote: > I haven't had much need to look at the Distributed Systems Annex until recently. [...] These are very interesting observations. I would like to add my two cents to them, as they are related in particular to this: > Also, the note in E(7) says that the resulting execution is semantically equivalent if the program is partitioned differently; DSA is intended to provide transparent "distributability", where transparent means that the physicality of distribution is as hidden as possible (ideally it should be undetectable). The problem that I see is that Ada distinguishes potentially blocking operations from those that never block and allows to use only the latter in protected bodies - now, if we repartition the program in such a way that a given operation (Do_Something_For_Me) ends up in a separate partition, it might become potentially blocking by virtue of the hidden physicality of remote call. In short, it might become a I/O operation even though it is not visible anywhere. If such operation is used within a protected body, then the program can be legal or illegal depending on the partitioning scheme, which is not expressed in code. That's just against what I understand as Ada spirit. Things like this lead me to conclusion that DSA is essentially broken and is not a proper way to handle distribution in the system. > I'm confused by examples such as http://www.adacore.com/... A worse observation is that AdaCore might be confused, too. Which only confirms that DSA is broken. > If my understanding is correct, my next question is: is there any language-defined support for sharing data between programs Do you expect it to be language-defined? Why? Ada is not the only language (not even the only ISO-stamped one) and heterogeneity is a natural property of systems composed of multiple programs. Defining data sharing between programs written in the same language would be a wasted effort (better spent elsewhere in the standard). Instead, allow others (third-parties) to define it so that programs written in different languages will be able to share data - this will have much bigger benefits. -- Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com