Escalier v0.1 Released

Escalier v0.1, the Scala API for DDS, has been released and is available for download

iCorsaro

Love truth and pardon error -- Voltaire

 

Blog Entries

«»
May 2012
SMTWTFS
 12345
6789101112
13141516171819
20212223242526
2728293031 
The beginning of the new year is the moment in which I like to look back at the year that has just passed through to analyze what has been accomplished and set goals for the new year. I we look at DDS, 2010 was a pretty active year with 3 new standards that were introduced, namely the Extensible and Dynamic Topic Types (X-Types), the ISO C++ PSM and the Java 5 PSM. I think that was quite remarkable and shows how much activity there is around DDS.
Before getting into some details of what each of these new standard provide, I thought it might be useful to visualize the DDS standard ecosystem on a figure that would take into account, roughly, at which level the standard plays. The result of this exercise was the picture shown below:

 

Current DDS Standards

Pre-2010 Standards

Data Distribution for Real-Time Systems (DDS). This is the standard specifying the semantics of DDS and defining an API for data-centric publish/subscribe supporting automatic fail-over, filtering/queries, and full time decoupling (e.g. durability).

 

Data Distribution Service Interoperability Wire Protocol (DDSI/RTPS). This standard defines a high-performance binary and extensible wire-protocol that DDS implementations from different vendors can use to have on-the-wire interoperability. Interoperability has recently been demonstrated among 5 DDS vendors (See http://bit.ly/gCmSj4).
UML Profile for DDS (UML4DDS). This standard defines a UML2 profile for modeling DDS applications.

 

Standards introduced in 2010

Extensible and Dynamic Topic Types (X-TYPES). The X-Types standard is a fundamental extension to DDS that was designed to facilitate the extensibility and evolvability of DDS base systems. In brief, this standard defines (1) a Structural Type System for DDS, (2) an annotation framework (a la Java) that can be used to attach properties to topic types or their attributes, (3) a new API for dynamically defining topic types and creating readers/writers for these dynamically defined types, and (4) defines pluggable data encoding formats. The structural type system introduced by this specification is a key element in allowing the seamless extensibility and evolvability of DDS data models. I'll explain the details of it and provide concrete examples in my next blog entry.

 

ISO C++ DDS PSM. This standard defines a new native C++ API for DDS which takes full advantage of the features provided by the C++ language to provide a safe, efficient, elegant and compact API. Just to provide some hints, this API leverages C++ templates and template meta-programming for dealing with type registrations  and ensuring a type-safe API where no downcasts are ever needed (existing C++ API requires often downcasts...). In addition, all previous API that where forcing a container type on the user rely now on Iterators, thus allowing the user to decide what's best container for the case at hand.

 

Java 5 PSM. Similarly to the ISO C++ PSM, the Java 5 PSM defines a new Java API for DDS that takes full advantage of the Java language. This API along with greatly simplifying the development of DDS applications also allows the definition of topic types to be made using Java classes.

 

Future Standards

The 2011 and 2012 are expected to be as busy as 2010 in terms of new DDS standards coming up.
As shown in the figure below, in 2011 we can expect to see coming the following two standards:
  • Web-Enabled DDS. This specification will define a standardize way for Web applications based on REST, W3C WS-*, Atom, etc., to access the DDS global data space.
  • Ultra-Large Scale DDSI/RTPS (ULS-DDSI). This might not appear like a stand-alone specification but will likely materialize via a set of extensions to the existing DDSI/RTPS wire-protocol.
Upcoming DDS Standards

The DDS Security specification will be worked mostly during 2011 but will probably have to way until 2012 before being mature enough to be voted for adoption. Likewise, 2012 will see the definition of a Remote Method Invocation (RMI) framework for DDS.

 

I'll be providing more information on the specifications that were adopted in 2010 in upcoming posts. I'd also keep you updated on what happens to the planned standards and on which directions they are taking.

 

--Angelo

Tags , , , , ,
Blinklist!Blogmarks!BlinkBits!Ask!

Comments (2)

Angelo Corsaro

None of the standards are yet implemented in commercial nor Open Source DDS implementations -- vendors are working on those. However, for the ISO C++ PSM, there is an Open Source project, called SimD (Simple DDS) http://code.google.com/p/simd-cxx that has been the incubator for the standard. I'll be updating SimD to reflect the ISO C++ PSM, but the current SimD is already a good start.

Okko Willeboordse

I'm very interested in the new standards X-Types and ISO C++ PSM, especially the latter. Can you tell us if and when these standards are made available as open source?
Please login to comment