This new release is an important milestone and includes a rich Ada-
The Ada-Ravenscar variant of the core interface was introduced for
systems that expect compliance with the Ravenscar language profile.
The original API was retained as well - the two versions are very
similar and differ only in those places where the original interface
violated the restrictions on implicit use of dynamic memory.
Three central services were added to complement the peer-to-peer
capabilities of the YAMI4 library. Contrary to some other messaging
solutions, these services are not necessary components, but are
provided as optional utilities that extend the YAMI4 suite with wider
set of performance and deployment characteristics:
1. Name Server that helps to build easy to configure and manageable
2. Message Broker that supports heavy-duty publish-subscribe messaging
with very powerful and flexible message routing engine.
3. Cache that allows easy data sharing between nodes in a single
All three central services were implemented in Ada on top of the Ada-
Ravenscar interface. The reason for this was to demonstrate that the
provided API is functionally complete and supports efficient
implementation of non-trivial distributed systems. The binary versions
of these services are provided for Windows and Linux as turn-key
components for instant deployment.
Some minor tweaks have been applied to Makefiles and .gpr files to
ensure proper compilation with recent GNAT versions and to include
FreeBSD in the set of supported systems.
Those programmers who work with multi-language systems will also
appreciate the complete .NET implementation in C# - the principal
intent of this library is to integrate Windows-oriented GUI
applications written for the .NET framework with other components in a
single distributed system.
Of course, the YAMI4 book was revised to cover all these new features.
The tutorial on YAMI4 (or rather the Ada perspective of the whole
suite) will be given at the Ada Connection 2011 conference:
I would like to kindly invite all those Ada programmers who will
attend the conference and who are interested in distributed systems.
Don't hesitate to contact me in advance if you have any related