From 248ab48f97113b8ed4bcf38d12de6760bd28b886 Mon Sep 17 00:00:00 2001
From: Phil Mesnier
Date: Wed, 10 Apr 2013 21:39:19 +0000
Subject: merge from trunk
---
CIAO/CIAO_TAO_DAnCE_OpenDDS_shapes.mwc | 47 +
CIAO/ChangeLog | 49 +
CIAO/NEWS | 3 +
CIAO/PROBLEM-REPORT-FORM | 6 +-
CIAO/VERSION | 2 +-
CIAO/ciao/Version.h | 4 +-
CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html | 7 +-
.../Shapes/Receiver/Shapes_Receiver_exec.cpp | 85 +-
.../examples/Shapes/Sender/Shapes_Sender_exec.cpp | 24 +-
.../Shapes/descriptors/2013_interop_demo/run_1.cdp | 498 +++++++++
.../Shapes/descriptors/2013_interop_demo/run_1.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_2.cdp | 1123 ++++++++++++++++++++
.../Shapes/descriptors/2013_interop_demo/run_2.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_2.xml | 42 +
.../Shapes/descriptors/2013_interop_demo/run_3.cdp | 1123 ++++++++++++++++++++
.../Shapes/descriptors/2013_interop_demo/run_3.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_3.xml | 42 +
.../Shapes/descriptors/2013_interop_demo/run_4.cdp | 520 +++++++++
.../Shapes/descriptors/2013_interop_demo/run_4.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_4.xml | 26 +
.../Shapes/descriptors/2013_interop_demo/run_6.cdp | 1123 ++++++++++++++++++++
.../Shapes/descriptors/2013_interop_demo/run_6.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_6.xml | 54 +
.../Shapes/descriptors/2013_interop_demo/run_7.cdp | 520 +++++++++
.../Shapes/descriptors/2013_interop_demo/run_7.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_7.xml | 21 +
.../Shapes/descriptors/2013_interop_demo/run_8.cdp | 840 +++++++++++++++
.../Shapes/descriptors/2013_interop_demo/run_8.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_8.xml | 21 +
.../Shapes/descriptors/2013_interop_demo/run_9.cdp | 520 +++++++++
.../Shapes/descriptors/2013_interop_demo/run_9.pl | 245 +++++
.../Shapes/descriptors/2013_interop_demo/run_9.xml | 12 +
32 files changed, 8656 insertions(+), 16 deletions(-)
create mode 100644 CIAO/CIAO_TAO_DAnCE_OpenDDS_shapes.mwc
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.xml
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.xml
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.xml
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.xml
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.xml
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.xml
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.cdp
create mode 100755 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl
create mode 100644 CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.xml
diff --git a/CIAO/CIAO_TAO_DAnCE_OpenDDS_shapes.mwc b/CIAO/CIAO_TAO_DAnCE_OpenDDS_shapes.mwc
new file mode 100644
index 00000000000..0df68dd28f7
--- /dev/null
+++ b/CIAO/CIAO_TAO_DAnCE_OpenDDS_shapes.mwc
@@ -0,0 +1,47 @@
+// -*- MPC -*-
+// $Id$
+
+workspace {
+ $(ACE_ROOT)/ace
+ $(ACE_ROOT)/apps/gperf/src
+ $(ACE_ROOT)/protocols/ace/INet
+ $(TAO_ROOT)/TAO_IDL
+ $(TAO_ROOT)/tao
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming.mpc
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming_Serv.mpc
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNaming_Skel.mpc
+ $(TAO_ROOT)/orbsvcs/Naming_Service
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Svc_Utils.mpc
+ ccm
+ ciao
+ $(DANCE_ROOT)/dance
+ $(DANCE_ROOT)/tools
+ connectors/dds4ccm/idl
+ connectors/dds4ccm/impl
+ $(DDS_ROOT)/DDS_TAOv2.mwc
+ $(DDS_ROOT)/examples/DCPS/ishapes
+ connectors/dds4ccm/examples/Shapes
+ exclude {
+ $(DANCE_ROOT)/dance/TargetManager
+ $(DANCE_ROOT)/dance/RepositoryManager
+ $(DANCE_ROOT)/tools/System_Health
+ $(DANCE_ROOT)/tools/Logger_Backend
+ $(ACE_ROOT)/ace/Compression
+ $(ACE_ROOT)/ace/ETCL
+ $(ACE_ROOT)/ace/Monitor_Control
+ $(ACE_ROOT)/ace/SSL
+ $(TAO_ROOT)/tao/CSD_Framework
+ $(TAO_ROOT)/tao/CSD_ThreadPool
+ $(TAO_ROOT)/tao/Compression
+ $(TAO_ROOT)/tao/Dynamic_TP
+ $(TAO_ROOT)/tao/ETCL
+ $(TAO_ROOT)/tao/TransportCurrent
+ $(TAO_ROOT)/tao/ZIOP
+ $(TAO_ROOT)/tao/SmartProxies
+ $(TAO_ROOT)/tao/RTCORBA
+ $(TAO_ROOT)/tao/RTPortableServer
+ $(TAO_ROOT)/tao/RTScheduling
+ $(TAO_ROOT)/tao/Monitor
+
+ }
+}
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index fc400ecd880..cef064d4583 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,52 @@
+Wed Apr 10 14:08:25 UTC 2013 Johnny Willemsen
+
+ * connectors/dds4ccm/DDS4CCM-INSTALL.html:
+ Extended instructions for OpenDDS
+
+Thu Mar 14 12:42:30 UTC 2013 Johnny Willemsen
+
+ * CIAO_TAO_DAnCE_OpenDDS_shapes.mwc:
+ New workspace for compiling just the shapes example with everything
+ related to it
+
+Thu Mar 14 08:39:03 UTC 2013 Johnny Willemsen
+
+ * NEWS:
+ Updated for next release
+
+ * connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp:
+ * connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp:
+ Log topic_name with each message
+
+Thu Mar 14 09:04:46 CET 2013 Johnny Willemsen
+
+ * CIAO version 1.1.8 released.
+
+Tue Mar 12 13:49:26 UTC 2013 Johnny Willemsen
+
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.xml:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.xml:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.xml:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.xml:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.cdp:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl:
+ * connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.xml:
+ Various plans for 2013 DDS interop demo
+
Mon Mar 4 12:55:09 UTC 2013 Johnny Willemsen
* connectors/dds4ccm/examples/Shapes/Base/Shapes_Base.idl:
diff --git a/CIAO/NEWS b/CIAO/NEWS
index d94e299c97c..d48fabf88c3 100644
--- a/CIAO/NEWS
+++ b/CIAO/NEWS
@@ -1,3 +1,6 @@
+USER VISIBLE CHANGES BETWEEN CIAO-1.1.8 and CIAO-1.2.0
+=======================================================
+
USER VISIBLE CHANGES BETWEEN CIAO-1.1.7 and CIAO-1.1.8
=======================================================
diff --git a/CIAO/PROBLEM-REPORT-FORM b/CIAO/PROBLEM-REPORT-FORM
index c48ae62af24..5c269cc0fa3 100644
--- a/CIAO/PROBLEM-REPORT-FORM
+++ b/CIAO/PROBLEM-REPORT-FORM
@@ -41,9 +41,9 @@
To: ciao-users@list.isis.vanderbilt.edu
Subject: [area]: [synopsis]
- CIAO VERSION: 1.1.7
- TAO VERSION : 2.1.7
- ACE VERSION : 6.1.7
+ CIAO VERSION: 1.1.8
+ TAO VERSION : 2.1.8
+ ACE VERSION : 6.1.8
HOST MACHINE and OPERATING SYSTEM:
If on Windows based OS's, which version of WINSOCK do you
diff --git a/CIAO/VERSION b/CIAO/VERSION
index 5926fbbba1f..6a88518017f 100644
--- a/CIAO/VERSION
+++ b/CIAO/VERSION
@@ -1,4 +1,4 @@
-This is CIAO version 1.1.7, released Thu Dec 27 10:00:49 CET 2012
+This is CIAO version 1.1.8, released Thu Mar 14 09:04:46 CET 2013
If you have any problems with or questions about CIAO, please send
e-mail to the CIAO mailing list (ciao-users@list.isis.vanderbilt.edu),
diff --git a/CIAO/ciao/Version.h b/CIAO/ciao/Version.h
index b05c2db39d0..b764bdeecc1 100644
--- a/CIAO/ciao/Version.h
+++ b/CIAO/ciao/Version.h
@@ -5,5 +5,5 @@
#define CIAO_MAJOR_VERSION 1
#define CIAO_MINOR_VERSION 1
-#define CIAO_BETA_VERSION 7
-#define CIAO_VERSION "1.1.7"
+#define CIAO_BETA_VERSION 8
+#define CIAO_VERSION "1.1.8"
diff --git a/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html b/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html
index 0859078ab93..a68ce38f6b1 100644
--- a/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html
+++ b/CIAO/connectors/dds4ccm/DDS4CCM-INSTALL.html
@@ -52,7 +52,12 @@ For compiling and installing CIAO see CIAO-INS
To be sure that CIAO, DAnCE and DDS4CCM are build correctly, one might
- use the $CIAO_ROOT/CIAO_TAO_DAnCE.mwc workspace for RTI DDS and $CIAO_ROOT/CIAO_TAO_DAnCE_OpenDDS.mwc for OpenDDS.
+ use the $CIAO_ROOT/CIAO_TAO_DAnCE.mwc workspace for RTI DDS.
+
+
+ When using DDS4CCM with OpenDDS we commend you to use the $CIAO_ROOT/CIAO_TAO_DAnCE_OpenDDS.mwc workspace. This workspace
+ will compile all needed parts of ACE, TAO, CIAO, DAnCE, and OpenDDS. OpenDDS has to be compiled before compiling DDS4CCM
+ because we are using several of the OpenDDS libraries and the OpenDDS IDL compiler.
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp
index 26351126be6..8b221c06b21 100644
--- a/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/Receiver/Shapes_Receiver_exec.cpp
@@ -84,8 +84,28 @@ namespace CIAO_Shapes_Receiver_Impl
info_out_data_listener_exec_i::on_one_data (const ::ShapeType & datum,
const ::CCM_DDS::ReadInfo & /* info */)
{
+ ::Shapes::Reader_var reader =
+ this->ciao_context_->get_connection_info_out_data ();
+ ::CORBA::Object_var cmp = reader->_get_component ();
+ if (::CORBA::is_nil (cmp.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: info_out_data_listener_exec_i::on_one_data - "
+ "Unable to get component interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ ::Shapes::CCM_DDS_Event_var conn =
+ ::Shapes::CCM_DDS_Event::_narrow (cmp.in ());
+ if (::CORBA::is_nil (conn.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: info_out_data_listener_exec_i::on_one_data - "
+ "Unable to narrow connector interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ CORBA::String_var topic = conn->topic_name ();
+
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("ShapeType_Listener: ")
- ACE_TEXT ("received shape_info for <%C> at X <%u> Y <%u> size <%u>\n"),
+ ACE_TEXT ("received shape_info <%C> for <%C> at X <%u> Y <%u> size <%u>\n"),
+ topic.in (),
datum.color.in (),
datum.x,
datum.y,
@@ -216,13 +236,31 @@ namespace CIAO_Shapes_Receiver_Impl
this->ciao_context_->get_connection_info_out_data ();
if (! ::CORBA::is_nil (reader.in ()))
{
+ ::CORBA::Object_var cmp = reader->_get_component ();
+ if (::CORBA::is_nil (cmp.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Receiver_exec_i::read_one - "
+ "Unable to get component interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ ::Shapes::CCM_DDS_Event_var conn =
+ ::Shapes::CCM_DDS_Event::_narrow (cmp.in ());
+ if (::CORBA::is_nil (conn.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Receiver_exec_i::read_one - "
+ "Unable to narrow connector interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ CORBA::String_var topic = conn->topic_name ();
+
reader->read_one_last (shape_info, readinfo, ::DDS::HANDLE_NIL);
ACE_Time_Value time;
time <<= readinfo.source_timestamp;
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ONE Read_Info ")
ACE_TEXT (" -> date = %#T\n"), &time));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ ON shape info : ")
- ACE_TEXT ("received shape_info for <%C> at X <%u> Y <%u> size <%u>\n"),
+ ACE_TEXT ("received shape_info <%C> for <%C> at X <%u> Y <%u> size <%u>\n"),
+ topic.in (),
shape_info.color.in (),
shape_info.x,
shape_info.y,
@@ -250,6 +288,23 @@ namespace CIAO_Shapes_Receiver_Impl
this->ciao_context_->get_connection_info_out_data ();
if (! ::CORBA::is_nil (reader.in ()))
{
+ ::CORBA::Object_var cmp = reader->_get_component ();
+ if (::CORBA::is_nil (cmp.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Receiver_exec_i::read_all - "
+ "Unable to get component interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ ::Shapes::CCM_DDS_Event_var conn =
+ ::Shapes::CCM_DDS_Event::_narrow (cmp.in ());
+ if (::CORBA::is_nil (conn.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Receiver_exec_i::read_all - "
+ "Unable to narrow connector interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ CORBA::String_var topic = conn->topic_name ();
+
reader->read_all(shape_infos, readinfoseq);
for(CORBA::ULong i = 0; i < readinfoseq.length(); ++i)
{
@@ -261,8 +316,8 @@ namespace CIAO_Shapes_Receiver_Impl
for(CORBA::ULong i = 0; i < shape_infos.length(); ++i)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("READ_ALL Shape Info : ")
- ACE_TEXT ("received shape_info for <%C> at X <%u> Y <%u> size <%u>\n"),
- i,
+ ACE_TEXT ("received shape_info <%C> for <%C> at X <%u> Y <%u> size <%u>\n"),
+ topic.in (),
shape_infos[i].color.in (),
shape_infos[i].x,
shape_infos[i].y,
@@ -288,6 +343,23 @@ namespace CIAO_Shapes_Receiver_Impl
this->ciao_context_->get_connection_info_get_fresh_data ();
if (! ::CORBA::is_nil (getter.in ()))
{
+ ::CORBA::Object_var cmp = getter->_get_component ();
+ if (::CORBA::is_nil (cmp.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Receiver_exec_i::get_one - "
+ "Unable to get component interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ ::Shapes::CCM_DDS_Event_var conn =
+ ::Shapes::CCM_DDS_Event::_narrow (cmp.in ());
+ if (::CORBA::is_nil (conn.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Receiver_exec_i::get_one - "
+ "Unable to narrow connector interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ CORBA::String_var topic = conn->topic_name ();
+
if (getter->get_one (shape_info.out (), readinfo.out ()))
{
ACE_Time_Value time;
@@ -295,7 +367,8 @@ namespace CIAO_Shapes_Receiver_Impl
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE ReadInfo -> ")
ACE_TEXT ("date = %#T\n"), &time));
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("GET_ONE ShapeType : ")
- ACE_TEXT ("received shape_info for <%C> at X <%u> Y <%u> size <%u>\n"),
+ ACE_TEXT ("received shape_info <%C> for <%C> at X <%u> Y <%u> size <%u>\n"),
+ topic.in (),
shape_info->color.in (),
shape_info->x,
shape_info->y,
@@ -458,7 +531,7 @@ namespace CIAO_Shapes_Receiver_Impl
Receiver_exec_i::ccm_activate (void)
{
::CCM_DDS::DataListenerControl_var lc =
- this->ciao_context_->get_connection_info_out_data_control ();
+ this->ciao_context_->get_connection_info_out_data_control ();
if (::CORBA::is_nil (lc.in ()))
{
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp
index 13db4011ff7..516fb1768ab 100644
--- a/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/Sender/Shapes_Sender_exec.cpp
@@ -146,8 +146,26 @@ namespace CIAO_Shapes_Sender_Impl
this->ciao_context_->get_connection_info_write_data ();
if (! ::CORBA::is_nil (writer.in ()))
{
+ ::CORBA::Object_var cmp = writer->_get_component ();
+ if (::CORBA::is_nil (cmp.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Sender_exec_i::tick - "
+ "Unable to get component interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ ::Shapes::CCM_DDS_Event_var conn =
+ ::Shapes::CCM_DDS_Event::_narrow (cmp.in ());
+ if (::CORBA::is_nil (conn.in ()))
+ {
+ ACE_ERROR ((LM_ERROR, "ERROR: Sender_exec_i::tick - "
+ "Unable to narrow connector interface\n"));
+ throw ::CORBA::INTERNAL ();
+ }
+ CORBA::String_var topic = conn->topic_name ();
+
writer->write_one (*this->square_, this->instance_handle_);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("UPDATED Shape_info for <%C> %u:%u:%u\n"),
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("UPDATED Shape_info <%C> for <%C> %u:%u:%u\n"),
+ topic.in (),
this->square_->color.in (),
this->square_->x,
this->square_->y,
@@ -162,8 +180,8 @@ namespace CIAO_Shapes_Sender_Impl
catch (const CCM_DDS::NonExistent& )
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Shape_info for <%C> not updated: <%C> didn't exist.\n"),
- this->square_->color.in (), this->square_->color.in ()));
+ ACE_TEXT ("Shape_info for <%C> not updated: didn't exist.\n"),
+ this->square_->color.in ()));
}
catch (const CCM_DDS::InternalError& )
{
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.cdp
new file mode 100644
index 00000000000..0a0df7a5c4b
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.cdp
@@ -0,0 +1,498 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+ ReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ Shapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ Shapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+
+ info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ _listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ _portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ _listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl
new file mode 100755
index 00000000000..80183c57650
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_1.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_1.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.cdp
new file mode 100644
index 00000000000..b239738f092
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.cdp
@@ -0,0 +1,1123 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+
+ SquareReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ CircleReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ TriangleReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+
+ SquareShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_2#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_2#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ TriangleShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_2#triangle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Triangle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_2#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_2#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ TriangleShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_2#triangle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Triangle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ CircleSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ TriangleSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+
+ square_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ square_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ square_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ square_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ circle_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ circle_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ circle_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ circle_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ triangle_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ triangle_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ triangle_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ triangle_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ square_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ circle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ triangle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl
new file mode 100755
index 00000000000..ef1b8aae488
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_2.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.xml b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.xml
new file mode 100644
index 00000000000..1f5b3e83bcc
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_2.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ RELIABLE_RELIABILITY_QOS
+
+
+
+
+ RELIABLE_RELIABILITY_QOS
+
+
+
+
+
+
+ BEST_EFFORT_RELIABILITY_QOS
+
+
+
+
+ BEST_EFFORT_RELIABILITY_QOS
+
+
+
+
+
+
+ BEST_EFFORT_RELIABILITY_QOS
+
+
+
+
+ RELIABLE_RELIABILITY_QOS
+
+
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.cdp
new file mode 100644
index 00000000000..07bd06f248d
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.cdp
@@ -0,0 +1,1123 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+
+ SquareReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ CircleReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ TriangleReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+
+ SquareShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_3#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_3#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ TriangleShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_3#triangle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Triangle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_3#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_3#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ TriangleShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_3#triangle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Triangle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ CircleSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ TriangleSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+
+ square_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ square_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ square_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ square_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ circle_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ circle_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ circle_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ circle_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ triangle_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ triangle_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ triangle_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ triangle_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ square_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ circle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ triangle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl
new file mode 100755
index 00000000000..1ecb11d259a
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_3.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.xml b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.xml
new file mode 100644
index 00000000000..18957feeaa7
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_3.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ SHARED_OWNERSHIP_QOS
+
+
+
+
+ SHARED_OWNERSHIP_QOS
+
+
+
+
+
+
+ EXCLUSIVE_OWNERSHIP_QOS
+
+
+
+
+ EXCLUSIVE_OWNERSHIP_QOS
+
+
+
+
+
+
+ EXCLUSIVE_OWNERSHIP_QOS
+
+
+
+
+ SHARED_OWNERSHIP_QOS
+
+
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.cdp
new file mode 100644
index 00000000000..cf03725a8be
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.cdp
@@ -0,0 +1,520 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+ ReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ Shapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_4#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ Shapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_4#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ CYAN
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+
+ info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ _listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ _portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ _listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl
new file mode 100755
index 00000000000..0596f51235c
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_4.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.xml b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.xml
new file mode 100644
index 00000000000..6337ac29641
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_4.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+ TRANSIENT_DURABILITY_QOS
+
+
+ KEEP_LAST_HISTORY_QOS
+ 100
+
+
+
+
+ TRANSIENT_DURABILITY_QOS
+
+
+ KEEP_LAST_HISTORY_QOS
+ 100
+
+
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.cdp
new file mode 100644
index 00000000000..679c7c7eaa5
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.cdp
@@ -0,0 +1,1123 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+
+ SquareReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ CircleReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ TriangleReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+
+ SquareShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ TriangleShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#triangle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Triangle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ TriangleShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#triangle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Triangle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ CircleSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ TriangleSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+
+ square_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ square_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ square_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ square_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ circle_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ circle_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ circle_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ circle_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ triangle_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ triangle_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ triangle_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ triangle_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ square_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ circle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ triangle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl
new file mode 100755
index 00000000000..89d4d9ce552
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_6.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.xml b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.xml
new file mode 100644
index 00000000000..88241913449
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_6.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+ A
+
+
+
+
+
+
+ A
+
+
+
+
+
+
+
+
+ B
+
+
+
+
+
+
+ A
+
+
+
+
+
+
+
+
+ *
+
+
+
+
+
+
+ A
+
+
+
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.cdp
new file mode 100644
index 00000000000..14f2fee924e
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.cdp
@@ -0,0 +1,520 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+ ReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ Shapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_7#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ Shapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_7#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ MAGENTA
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+
+ info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ _listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ _portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ _listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl
new file mode 100755
index 00000000000..8f8185790c4
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_7.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.xml b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.xml
new file mode 100644
index 00000000000..991bb7c34d8
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_7.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ 10
+
+
+ EXCLUSIVE_OWNERSHIP_QOS
+
+
+
+
+ EXCLUSIVE_OWNERSHIP_QOS
+
+
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.cdp
new file mode 100644
index 00000000000..fbb30d6dc3b
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.cdp
@@ -0,0 +1,840 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+
+ SquareReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ CircleReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ SquareShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ CircleShapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_6#circle
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Circle
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SquareSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ CircleSenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ ORANGE
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+
+ square_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ square_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ square_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ square_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ circle_info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ circle_listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ circle_portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ circle_listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ square_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ circle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+ triangle_writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl
new file mode 100755
index 00000000000..0a567fce817
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_8.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.xml b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.xml
new file mode 100644
index 00000000000..991bb7c34d8
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_8.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ 10
+
+
+ EXCLUSIVE_OWNERSHIP_QOS
+
+
+
+
+ EXCLUSIVE_OWNERSHIP_QOS
+
+
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.cdp b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.cdp
new file mode 100644
index 00000000000..cf03725a8be
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.cdp
@@ -0,0 +1,520 @@
+
+
+ Shapes_Depl_1
+ Shapes_Depl_1
+
+
+ ReceiverComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Receiver_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Receiver_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Receiver_exec
+
+
+
+
+
+
+ Shapes_ConnectorComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_DDS_Event_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Shapes_Connector_exec
+
+
+
+
+
+ SenderComponentImplementation
+
+
+
+
+
+ component factory
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Impl
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantEntrypoint
+
+
+ tk_string
+
+
+ create_Shapes_Sender_Servant
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ServantArtifact
+
+
+ tk_string
+
+
+ Sender_svnt
+
+
+
+
+ edu.vanderbilt.dre.CIAO.ExecutorArtifact
+
+
+ tk_string
+
+
+ Sender_exec
+
+
+
+
+
+ ReceiverComponent
+ ReceiverNode
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 1
+
+
+
+
+ get_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ read_data
+
+
+ tk_boolean
+
+
+ false
+
+
+
+
+ raw_listen
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+ Shapes_ConnectorComponent
+ SenderNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_4#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ Shapes_ConnectorComponent2
+ ReceiverNode
+
+
+
+
+ qos_profile
+
+
+ tk_string
+
+
+ run_4#square
+
+
+
+
+ topic_name
+
+
+ tk_string
+
+
+ Square
+
+
+
+
+ type_name
+
+
+ tk_string
+
+
+ ShapeType
+
+
+
+
+
+ SenderComponent
+ SenderNode
+
+
+
+
+ color
+
+
+ tk_string
+
+
+ CYAN
+
+
+
+
+ rate
+
+
+ tk_ulong
+
+
+ 10
+
+
+
+
+ max_x
+
+
+ tk_ushort
+
+
+ 225
+
+
+
+
+ max_y
+
+
+ tk_ushort
+
+
+ 250
+
+
+
+
+ max_size
+
+
+ tk_ushort
+
+
+ 50
+
+
+
+
+ resize_shape
+
+
+ tk_boolean
+
+
+ true
+
+
+
+
+
+
+ info_out_data
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data
+ true
+ Facet
+
+
+
+
+ _listenercontrol
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_control
+ false
+ SimplexReceptacle
+
+
+
+ push_consumer_data_control
+ true
+ Facet
+
+
+
+
+ _portstatuslistener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_status
+ true
+ Facet
+
+
+
+ push_consumer_status
+ false
+ SimplexReceptacle
+
+
+
+
+ _listener
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_out_data_listener
+ true
+ Facet
+
+
+
+ push_consumer_data_listener
+ false
+ SimplexReceptacle
+
+
+
+
+
+ writer_connection
+
+ edu.dre.vanderbilt.DAnCE.ConnectionType
+ Local_Interface
+
+
+ info_write_data
+ false
+ SimplexReceptacle
+
+
+
+ supplier_data
+ true
+ Facet
+
+
+
+
+
+ Sender_exec
+
+
+ Sender_exec
+
+
+ Sender_svnt
+
+
+ Sender_svnt
+
+
+ Sender_stub
+
+
+ Sender_stub
+
+
+ Shapes_Connector_exec
+
+
+ DDS_Shapes_Connector_exec
+
+
+ Shapes_Connector_svnt
+
+
+ DDS_Shapes_Connector_svnt
+
+
+ Shapes_Connector_stub
+
+
+ DDS_Shapes_Connector_stub
+
+
+ Receiver_exec
+
+
+ Receiver_exec
+
+
+ Receiver_svnt
+
+
+ Receiver_svnt
+
+
+ Receiver_stub
+
+
+ Receiver_stub
+
+
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl
new file mode 100755
index 00000000000..9ad5a188578
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.pl
@@ -0,0 +1,245 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib "$ENV{'ACE_ROOT'}/bin";
+use PerlACE::TestTarget;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DANCE_ROOT = "$ENV{'DANCE_ROOT'}";
+$DDS_ROOT = "$ENV{'DDS_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$nr_daemon = 2;
+@ports = ( 60001, 60002 );
+@iorbases = ( "NodeApp1.ior", "NodeApp2.ior" );
+@iorfiles = 0;
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+# ior files other than daemon
+$ior_nsbase = "ns.ior";
+$ior_nsfile = 0;
+$ior_embase = "EM.ior";
+$ior_emfile = 0;
+
+# Processes
+$E = 0;
+$EM = 0;
+$NS = 0;
+@DEAMONS = 0;
+
+# targets
+@tg_daemons = 0;
+$tg_naming = 0;
+$tg_exe_man = 0;
+$tg_executor = 0;
+
+$status = 0;
+$cdp_file = "run_9.cdp";
+
+sub create_targets {
+ # naming service
+ $tg_naming = PerlACE::TestTarget::create_target (1) || die "Create target for ns failed\n";
+ $tg_naming->AddLibPath ('../lib');
+ # daemon
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i] = PerlACE::TestTarget::create_target ($i+1) || die "Create target for daemon $i failed\n";
+ $tg_daemons[$i]->AddLibPath ('../lib');
+ }
+ # execution manager
+ $tg_exe_man = PerlACE::TestTarget::create_target (1) || die "Create target for EM failed\n";
+ $tg_exe_man->AddLibPath ('../lib');
+ # executor (plan_launcher)
+ $tg_executor = PerlACE::TestTarget::create_target (1) || die "Create target for executor failed\n";
+ $tg_executor->AddLibPath ('../lib');
+}
+
+sub init_ior_files {
+ $ior_nsfile = $tg_naming->LocalFile ($ior_nsbase);
+ $ior_emfile = $tg_exe_man->LocalFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+ delete_ior_files ();
+}
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $tg_daemons[$i]->DeleteFile ($iorbases[$i]);
+ }
+ $tg_naming->DeleteFile ($ior_nsbase);
+ $tg_exe_man->DeleteFile ($ior_embase);
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorfiles[$i] = $tg_daemons[$i]->LocalFile ($iorbases[$i]);
+ }
+}
+
+sub kill_node_daemon {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemon ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill (); $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill (); $NS->TimedWait (1);
+ }
+ # in case shutdown did not perform as expected
+ $tg_executor->KillAll ('dance_locality_manager');
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $nr_daemon; ++$i) {
+ $iorbase = $iorbases[$i];
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = $tg_daemons[$i]->GetArchDir("$DANCE_ROOT/bin/") . "dance_locality_manager";
+
+ $d_cmd = "$DANCE_ROOT/bin/dance_node_manager";
+ $d_param = "-ORBEndpoint $iiop -s $node_app -n $nodename=$iorfile -t 30 --domain-nc corbaloc:rir:/NameService";
+
+ print "Run dance_node_manager with $d_param\n";
+
+ $DEAMONS[$i] = $tg_daemons[$i]->CreateProcess ($d_cmd, $d_param);
+ $DEAMONS[$i]->Spawn ();
+
+ if ($tg_daemons[$i]->WaitForFileTimed($iorbase,
+ $tg_daemons[$i]->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $DEAMONS[$i]->Kill (); $DEAMONS[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+create_targets ();
+init_ior_files ();
+
+# Invoke naming service
+
+$NS = $tg_naming->CreateProcess ("$TAO_ROOT/bin/tao_cosnaming", " -ORBEndpoint iiop://localhost:60003 -o $ior_nsfile");
+
+$ns_status = $NS->Spawn ();
+
+if ($ns_status != 0) {
+ print STDERR "ERROR: Unable to execute the naming service\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print STDERR "Starting Naming Service with -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if ($tg_naming->WaitForFileTimed ($ior_nsbase,
+ $tg_naming->ProcessStartWaitInterval ()) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill (); $NS->TimedWait (1);
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+# Invoke node daemon.
+print "Invoking node daemon\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemon\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -e$ior_emfile\n";
+$EM = $tg_exe_man->CreateProcess ("$DANCE_ROOT/bin/dance_execution_manager",
+ "-e$ior_emfile --domain-nc corbaloc:rir:/NameService");
+$em_status = $EM->Spawn ();
+
+if ($em_status != 0) {
+ print STDERR "ERROR: dance_execution_manager returned $em_status";
+ exit 1;
+}
+
+if ($tg_exe_man->WaitForFileTimed ($ior_embase,
+ $tg_exe_man->ProcessStartWaitInterval ()) == -1) {
+ print STDERR
+ "ERROR: The ior file of execution manager could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$em_running = 1;
+
+# Invoke executor - start the application -.
+print "Invoking executor - launch the application -\n";
+
+print "Start dance_plan_launcher.exe with -x $cdp_file -k file://$ior_emfile\n";
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://$ior_emfile");
+$pl_status = $E->SpawnWaitKill (2 * $tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+for ($i = 0; $i < $nr_daemon; ++$i) {
+ if ($tg_daemons[$i]->WaitForFileTimed ($iorbases[$i],
+ $tg_daemons[$i]->ProcessStopWaitInterval ()) == -1) {
+ print STDERR "ERROR: The ior file of daemon $i could not be found\n";
+ kill_open_processes ();
+ exit 1;
+ }
+}
+
+print "Sleeping 60 seconds to allow task to complete\n";
+sleep (60);
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://$ior_emfile -x $cdp_file\n";
+
+$E = $tg_executor->CreateProcess ("$DANCE_ROOT/bin/dance_plan_launcher",
+ "-k file://$ior_emfile -x $cdp_file -s");
+$pl_status = $E->SpawnWaitKill ($tg_executor->ProcessStartWaitInterval ());
+
+if ($pl_status != 0) {
+ print STDERR "ERROR: dance_plan_launcher returned $pl_status\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;
diff --git a/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.xml b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.xml
new file mode 100644
index 00000000000..b084e767fa3
--- /dev/null
+++ b/CIAO/connectors/dds4ccm/examples/Shapes/descriptors/2013_interop_demo/run_9.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
--
cgit v1.2.1