comp.lang.ada
 help / color / mirror / Atom feed
From: Anh Vo <anhvofrcaus@gmail.com>
Subject: Re: Inter-process communication in Ada with Simple Components v 4.28
Date: Wed, 2 May 2018 15:52:55 -0700 (PDT)
Date: 2018-05-02T15:52:55-07:00	[thread overview]
Message-ID: <4ccf46d5-ceea-43fb-88af-cb7ab076b26e@googlegroups.com> (raw)
In-Reply-To: <pccq9l$nel$1@gioia.aioe.org>

On Wednesday, May 2, 2018 at 9:51:05 AM UTC-7, Dmitry A. Kazakov wrote:
> The latest version 4.28 of Simple Components introduces inter-process 
> communication primitives. The implementation does not rely networking 
> and is based on shared memory and OS primitives available. Both Linux 
> and Windows are supported. No configuration is required, no source code 
> generation is used either. The interface packages are OS-independent.
> 
> The following synchronization and communication primitives are provided:
> 
> - Manual set/reset event;
> 
> - Pulse event;
> 
> - Re-entrant mutex. A mutex that can be seized by the same task several 
> times without blocking;
> 
> - Shared object that can be accessed from different processes;
> 
> - FIFO, first-in, first-out queue with the ends in different processes;
> 
> - Blackboard for publishing updates in a way that do not block the 
> publisher;
> 
> - Inter-process stream with the end points in different processes;
> 
> - Shared memory pool which can be allocated and freed from different 
> processes. The pool supports references which can be converted forth and 
> back access type. The pool reference can be exchanged between processes 
> and stored in the shared memory;
> 
> - Process call service, that provides remote procedure call facilities. 
> Both synchronous and asynchronous remote calls are supported. 
> Synchronous calls can return back results or update arguments. 
> Exceptions propagated at the callee's side are reported back to the 
> caller and re-raised at the call point.
> 
> - Manager of the process call services that allow processes involving in 
> RPC exchange to come and go dynamically.
> 
> The configuration of primitives is based on introspection of the Ada 
> type that describes the shared environment. The primitives are merely 
> components of the shared environment object. The coherence of the shared 
> environment is checked when the process joins other processes.
> 
> The intended audience is Ada developers of servers, e.g. Gnoga users. 
> Bug reports and feature requests are welcome.
> 
> P.S. The Distributed Systems Annex E can be supported if there is 
> demand, provided some help with configuring GNAT to respect the pragma 
> Remote Call Interface and use the custom System.RPC.
 
Good work Dmitry. Thank you for sharing your work with others.

By the way, I had trouble to untar after downloading it. The output error are "tar: Archive value 197608 is out of uid_t range 0..65535"

Anh Vo

  reply	other threads:[~2018-05-02 22:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-02 16:51 Inter-process communication in Ada with Simple Components v 4.28 Dmitry A. Kazakov
2018-05-02 22:52 ` Anh Vo [this message]
2018-05-03  7:29   ` Dmitry A. Kazakov
2018-05-03 16:00     ` Anh Vo
2018-05-03 16:25       ` Dmitry A. Kazakov
2018-05-03 22:41 ` Olivier Henley
replies disabled

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