comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: polyorb
Date: Tue, 13 Aug 2019 12:09:21 +0200
Date: 2019-08-13T12:09:21+02:00	[thread overview]
Message-ID: <qiu28h$oot$1@gioia.aioe.org> (raw)
In-Reply-To: 7682ca22-c220-44be-ad66-9b814556e06f@googlegroups.com

On 2019-08-13 10:13, tonyg wrote:
> The flexibility from the DSA comes from the rigidity of the types used across the partitions. This being a natural amplification from the ada language.

Annex E is intended and good for tightly coupled static systems, e.g. a 
network of engine control units of a car.

In a loosely coupled system with nodes going on and off, changing or 
only modifying their roles and services, RPCs and types known prior to 
start is not a good choice. Another problem with RPC is that synchronous 
calls are utterly inefficient and slow. For a real-time system with a 
time-triggered transport calculated for the worst-case scenario this is 
no problem. But for most practical applications the load is 
unpredictable and millisecond accumulating latencies is not an option.

Regarding types, there were many attempts to bring some sort of abstract 
types and even OO to distributed systems, they all failed (CORBA, ASN.1 
included).

This is why data distribution layers stick to some fixed set of 
primitive types leaving to the application to build upon them. Many have 
no types at all, only messages (e.g. MQTT). It is not nice but it works.

IMO, annex E's remote types was a good start. But there is a lot of work 
required to make it full OO, to defining QoS things making it usable in 
loosely coupled applications.

I also think that current work on new concurrent programming primitives 
is wasting time. It must be invested into annex E which should serve 
both concurrent and distributed programming. The difference between a 
distributed and a multiple core system is not that dramatic (and shared 
memory architectures will likely die in some future anyway).

> I have found it in action, very resiliant, one time when the connection was interrupted between two nodes by a server room fire, both nodes merrily carried on and updated nicely swapping all the stored information once the server inbetween was replaced. **true story :) **

Well that is certainly some application layer stuff that did the 
replication, not the annex E. It has no idea about the deeper states (no 
pun intended (:-)) of partitions.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2019-08-13 10:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-10 22:49 polyorb tonyg
2019-08-10 22:58 ` polyorb Jere
2019-08-11  8:05 ` polyorb Dmitry A. Kazakov
2019-08-11  8:29   ` polyorb tonyg
2019-08-11  8:34   ` polyorb tonyg
2019-08-11 15:45     ` polyorb Dmitry A. Kazakov
2019-08-12 16:31       ` polyorb tonyg
2019-08-12 19:44         ` polyorb Dmitry A. Kazakov
2019-08-13  8:13           ` polyorb tonyg
2019-08-13 10:09             ` Dmitry A. Kazakov [this message]
2019-08-12 19:49 ` polyorb cryintothebluesky
2019-08-13  7:45   ` polyorb tonyg
2019-08-20 16:12 ` polyorb Frédéric Praca
  -- strict thread matches above, loose matches on Subject: below --
2011-01-04  7:24 PolyORB Shark8
2011-01-07 17:24 ` PolyORB Anh Vo
2011-01-12  2:09   ` PolyORB Shark8
2011-01-12 17:12     ` PolyORB Anh Vo
2011-01-12 22:03       ` PolyORB Shark8
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox