From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Distributed Systems Annex, data sharing between programs
Date: Tue, 5 Jun 2012 00:36:01 -0700 (PDT)
Date: 2012-06-05T00:36:01-07:00 [thread overview]
Message-ID: <fd335fc3-4109-4943-b360-23cbe20ec7ea@3g2000vbx.googlegroups.com> (raw)
In-Reply-To: f2da7f3c-2e3c-4156-960e-7cc4675a2cd8@googlegroups.com
On 4 Cze, 20:49, Adam Beneschan <a...@irvine.com> 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
next prev parent reply other threads:[~2012-06-05 7:37 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 18:49 Distributed Systems Annex, data sharing between programs Adam Beneschan
2012-06-05 7:36 ` Maciej Sobczak [this message]
2012-06-05 16:02 ` Adam Beneschan
2012-06-05 18:35 ` tmoran
2012-06-06 7:14 ` Jacob Sparre Andersen
2012-06-06 7:39 ` Maciej Sobczak
2012-06-06 8:07 ` Dmitry A. Kazakov
2012-06-06 10:09 ` Niklas Holsti
2012-06-06 11:40 ` Maciej Sobczak
2012-06-06 12:08 ` Dmitry A. Kazakov
2012-06-06 19:17 ` Simon Wright
2012-06-08 11:38 ` Peter C. Chapin
2012-06-08 16:29 ` Simon Wright
2012-06-06 20:02 ` Niklas Holsti
2012-06-07 10:37 ` Maciej Sobczak
2012-06-08 2:11 ` Shark8
2012-06-08 6:31 ` Pascal Obry
2012-06-08 21:26 ` Maciej Sobczak
2012-06-09 1:10 ` tmoran
2012-06-09 12:02 ` Maciej Sobczak
2012-06-09 12:25 ` Pascal Obry
2012-06-09 20:29 ` Maciej Sobczak
2012-06-09 6:59 ` Dmitry A. Kazakov
2012-06-13 10:55 ` Marius Amado-Alves
2012-06-13 13:26 ` Dmitry A. Kazakov
2012-06-14 20:29 ` tmoran
2012-06-09 9:59 ` Pascal Obry
2012-06-09 15:14 ` Robert A Duff
2012-06-09 20:40 ` Maciej Sobczak
2012-06-07 0:55 ` BrianG
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox