Jul 15, 2009

DDS Interoperability Demonstrated

Yesterday afternoon, precisely at 15.30 US ET time the interoperability between different DDS vendors was once again demonstrated. Thanks to a very successful demonstration, OpenSplice DDS is now the first and only Open Source DDS implementation providing interoperability!

A set of slides describing the scenarios that were demonstrated is available here.

Ciao!

Jul 14, 2009

The DDS Interoperability Demo - Reloaded

In a few hours we are going to demonstrate interoperability between different DDS implementations, namely PrismTech's OpenSplice DDS, RTI's DDS, and TwinOaks CoreDX.


This time I'll be demonstrating the interoperability of OpenSplice DDS Community Edition, namely the Open Source version of OpenSplice DDS.

More later.

Ciao!

Jul 12, 2009

The OMG Real-Time Workshop

Following a tradition established over the course of many years, the OMG Real-Time Workshop goes live again tomorrow. The 2009 edition (see http://bit.ly/vcGCd) is strongly centered around DDS, showing how this technology is really picking and quickly walking the path toward becoming the next big thing.


The first day of the Workshop, Monday the 13th, will be full dedicated to Tutorial and will features:

  • OMG DDS Tutorial (full day)
  • UML Profile for DDS Tutorial (Half Day)
  • UML profile for Modeling and Analysis of Real-time and Embedded systems (Half Day)

I'll be giving the DDS Tutorial along with Gerardo Pardo and the UML for DDS Tutorial with Sam Mancarella.


The second and third day of the Workshop, namely Tue 14th and Wed 15th, will be dedicated to paper presentations and the DDS Interoperability Demonstration.


If you want to see the full list of papers check out http://bit.ly/vcGCd I'll try to write up the most interesting things that will be happening.


Ciao!

Jun 22, 2009

Back from India

I spent the whole past week in India across Delhi and Banagalore giving several OpenSplice DDS presentations. I've always been extremely fascinated by India, when I was a kid it was for me the land of mystery, the land in which people could do amazing things; while growing as a teenager I was fascinated by philosophy at the foundation of Hinduism and Buddhism--yet, for one reason or another, I had not yet been in India. This first visit in India was fantastic from all perspective. From a technical perspective OpenSplice DDS presentations were very well attended by an extremely bright audience, which was also one of the most lively and inquisitive I've encountered in years. From a human perspective the experience was very enriching as I had a chance to live and breath the peacefulness and loyalty irradiating from most of the people I met. Thus, once again I'd like to thank all the people that took the time to come and listen to my presentations, that showed me around, and helped me in understanding more about this very fascinating country.

Namaskar,
@ngelo

Jun 20, 2009

Back from India

I spent the whole past week in India across Delhi and Banagalore giving several OpenSplice DDS presentations. I've always been extremely fascinated by India, when I was a kid it was for me the land of mystery, the land in which people could do amazing things; while growing as a teenager I was fascinated by philosophy at the foundation of Hinduism and Buddhism--yet, for one reason or another, I had not yet been in India. This first visit in India was fantastic from all perspective. From a technical perspective OpenSplice DDS presentations were very well attended by an extremely bright audience, which was also one of the most lively and inquisitive I've encountered in years. From a human perspective the experience was very enriching as I had a chance to live and breath the peacefulness and loyalty irradiating from most of the people I met. Thus, once again I'd like to thank all the people that took the time to come and listen to my presentations, that showed me around, and helped me in understanding more about this very fascinating country.

Namaskar,
@ngelo

May 12, 2009

OpenSplice DDS v4.1 Open Source - What's coming up?

Although I am sure that the Open Source release of OpenSplice DDS was noticed by most of you I am equally sure that many of you are wondering what is going to come next. I've discussed the content of the upcoming "source-drops" in my latest webcast, but perhaps it is worth sharing it on the blog as well. 

Before going into the details of what will be available next and when it will be available, it might be worth to spend a few words on the version numbering scheme we are using for the OpenSplice DDS Community edition. The version numbering will be pretty straightforward and will be made of MAJOR.MINOR.YYMMDD where MAJOR is the major version, MINOR (always>0) is the minor version and YYMMDD is the date for the beta incremental release.

Thus as an example the current version is v4.1 is the first v4 major release (notice that MINOR is never 0). The next release will be as follows:

v4.1.090526
  • DDSI/RTPS [beta]
  • Visual Configuration Tool
  • mmstat (shared memory tool)
  • Support for Windows 
  • Support for Visual Studio Express 2005
v4.1.090626
  • Unicast Communication for OpenSplice DDS Native Networking
  • C# API [beta]
  • Linux 64bit support
v4.1.09.07.31
  • C# API 
Thus as you can see there are a lot of goodies coming up in the next few months.

Cheers,
   @ngelo

Mar 19, 2009

The UML Profile for DDS goes Live!

This week, after circa 6 month from when the OMG recommended the UML Profile for DDS (UML4DDS), Sparx has made available a full implementation of this profile. This is a great news for all DDS users; now they have access to a great and affordable tool which will allow them to completely model DDS applications in UML. What I believe users will find fantastic is how the UML4DDS and the Sparx EA Tool make it very natural to work with the DLRL layer of DDS (see previous posts on DLRL and Hibernate). Many users, by seeing the UML4DDS will eventually realize that DLRL is the most natural way of using DDS from Object Oriented Languages, and certainly the most natural way of modeling DDS applications in UML.

DDS Interoperability Demo at the DC OMG Meeting

The next 25th of March, at the Washington DC OMG Meeting, PrismTech, RTI, and TwinOaks, will demonstrate on-the-wire interoperability between their DDS implementations. This is an important step toward proving that OMG DDS compliant implementations can interoperate and yet exchange real-time data without loosing performance or QoS and without introducing single point of failures.
This capability is quite distinct especially when compared with other technologies such as JMS for which on-the-wire interoperability is not an option and for which interoperability has to be achieved by means of bridges that along with introducing performance overhead also introduce single point of failures--often not acceptable in business- and mission-critical applications.

BTW, at the upcoming OMG Meeting there will be also some interesting discussions around the C++ PSM for DDS and the Extensible and Dynamic Topic Types, thus one reason more to be there.

Cheers,
@ngelo

Feb 18, 2009

The Standard C++ PSM for DDS on SourceForge

Hello,

I've recently started CZed a SourceForge project that will provide the reference Standard C++ PSM for DDS. The project page is available here, while the Subversion repository can be navigated from here. The current version of the API is not complete but the bulk of it is in place.

The main idea behind CZed is to have a working C++ PSM before the actual recommendation of the standard takes place. This will ensure that as many people as possible will have experimented the API and feed back comments thus increasing the likelihood that the API is very successful. Thus, take a look at the API and drop me questions, comments, or ideas.

Cheers,
@ngelo

Feb 5, 2009

Choosing OpenSplice DDS

Yesterday I gave a webcast, now available here, which first goes through the strategic, technical, and financial reasons for moving to OpenSplice DDS, and then shows some migration use cases as well as migration tactics.
Strategic vs Tactical Perspective
One of the key point I made in the first part of the webcast was trying to ensure that people look at Open Source in from a strategic as opposed to tactical perspective. In essence, now that OpenSplice DDS is Open Source many people will just see it as a cost effective manner of procuring the best DDS implementation available on the market. This perspective, although correct, is tactical and misses the strategic implication of Open Source, which if properly exploited are those that will bring the highest benefits.

An example, Open Source is a key element in enabling and catalyzing lead-user innovation; some visionary companies in domains characterized by lead-users innovations, such as Aerospace and Defense, have already realized and mastered the strategic relevance of Open Source. Other company are starting to understand its potential and are quickly embracing the new way.

Embracing OpenSplice DDS

The second part of the webcast, focused on showing some use cases motivating a move to OpenSplice DDS. For instance, I showed how OpenSplice DDS can be used to scale-out a data tier by either completely replacing a DBMS, or by offloading or fully federating the DBMS. I also showed how OpenSplice DDS can be used to replace another DDS implementation of yet another pub/sub technology.

From DDS-XYZ to OpenSplice DDS
Finally, one of the topic covered on the webcast was how to actually port applications developed on a DDS-XYZ to OpenSplice DDS. As explained in the webcast this is typically just an exercise of finding and removing calls to proprietary API that might be required by DDS-XYZ. Indeed, as shown by the example below, OpenSplice DDS does not require the use of any custom API for configuring transport or anything else. Configuration completely taken care by external tools. Below is an example that shows the code necessary to write a publisher for a TempSensor Topic.

// -- IDL --
module demo {
module tc {

struct TempSensor {
long tID;
float temp;
float humidity;
};
#pragma keylist TempSensor tID
};
};

// -- Publisher Implementation --

package demo.tc;

import DDS.*;

public class TempSensorApp {

static final String PARTITION = "SensorData";

public static void main(String[] args) {

if (args.length <> ");
System.exit(-1);
}

int tid = Integer.parseInt(args[0]);
int samples = Integer.parseInt(args[1]);

DomainParticipantFactory dpf =
DomainParticipantFactory.get_instance();

/**
* Create Domain Participant
**/
DomainParticipant part =
dpf.create_participant(null,
PARTICIPANT_QOS_DEFAULT.value,
null,
ANY_STATUS.value);

/**
* Regiter Type Support for TempSensor
**/
TempSensorTypeSupport tempSensorTS = new TempSensorTypeSupport();
String tempSensorTN = tempSensorTS.get_type_name();
tempSensorTS.register_type(part, tempSensorTN);

/**
* Create the TempSensor Topic
**/
TopicQosHolder topicQoS = new TopicQosHolder();
part.get_default_topic_qos(topicQoS);
Topic tempSensorTopic = part.create_topic("Demo_TempSensor",
tempSensorTN,
topicQoS.value,
null,
ANY_STATUS.value);


/**
* Create a Publisher
**/
PublisherQosHolder pubQoS = new PublisherQosHolder();
part.get_default_publisher_qos(pubQoS);
pubQoS.value.partition.name = new String[1];
pubQoS.value.partition.name[0] = PARTITION;

Publisher pub =
part.create_publisher(pubQoS.value, null, ANY_STATUS.value);

/**
* Create a Writer
**/
DataWriter writer =
pub.create_datawriter(tempSensorTopic,
DATAWRITER_QOS_USE_TOPIC_QOS.value,
null,
ANY_STATUS.value);

TempSensorDataWriter tempWriter =
TempSensorDataWriterHelper.narrow(writer);

/**
* Register Instance
**/
TempSensor temp = new TempSensor();
temp.tID = tid;

long handle = tempWriter.register_instance(temp);

/**
* Write Sample
**/
temp.temp = 12.1F;
temp.humidity = 0.45F;

for (int i = 0; i <> Temperature = " + temp.temp
+ " - Humidity = " + temp.humidity);

try {
Thread.sleep(1000);
}
catch (InterruptedException e) { }
temp.temp += 0.1;
temp.humidity += 0.01;
}

/**
* Cleanup
**/
tempWriter.dispose(temp, handle);
tempWriter.unregister_instance(temp, handle);

pub.delete_datawriter(tempWriter);

part.delete_publisher(pub);

dpf.delete_participant(part);
}
}

Feb 2, 2009

Sharing Slides

Hello All,

I've just signed up with slideshare.com and from now on most of the slides on DDS or OpenSplice DDS will be available here . For the time being I've uploaded the presentation that explains the vision behind the Open Source launch of OpenSplice DDS, and which also covers the new product structure.

Below is also a neat widget that can be used to check out the various slides I'll be uploading.

Ciao,
@ngelo

Jan 13, 2009

OpenSplice DDS goes Open Source

PrismTech announced today the release of OpenSplice DDS as Open Source Software. OpenSplice DDS is a full implementation of the OMG DDS Standard, providing support for both the DCPS and DLRL layers. PrismTech will be sharing his visions and answering questions during an online webcast organized for the 14th of January 2009. Registration for the webcast is free and available here.