summaryrefslogtreecommitdiff
path: root/modules/CIAO
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2009-07-07 19:14:37 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2009-07-07 19:14:37 +0000
commitd6eddcc7dc258a1c59ddbd0fb57ac2ccebe25267 (patch)
treed4fcf64ae2725af7d7f098c0ad0895f0f7b82f56 /modules/CIAO
parente8efdcf988d38234d3ca60e61c29885b00c4e327 (diff)
downloadATCD-d6eddcc7dc258a1c59ddbd0fb57ac2ccebe25267.tar.gz
Tue Jul 7 19:14:09 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
Diffstat (limited to 'modules/CIAO')
-rw-r--r--modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/DeploymentPlan.cdp117
-rwxr-xr-xmodules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl203
2 files changed, 231 insertions, 89 deletions
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/DeploymentPlan.cdp b/modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/DeploymentPlan.cdp
index 0e44a750617..d4c277f14b0 100644
--- a/modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/DeploymentPlan.cdp
+++ b/modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/DeploymentPlan.cdp
@@ -22,7 +22,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_ReceiverHome_Impl</string>
+ <string>create_Hello_DDS_ReceiverHome_Impl</string>
</value>
</value>
</execParameter>
@@ -33,7 +33,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_ReceiverHome_Servant</string>
+ <string>create_Hello_DDS_ReceiverHome_Servant</string>
</value>
</value>
</execParameter>
@@ -74,7 +74,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_ReceiverConnectorHome_Impl</string>
+ <string>create_Hello_DDS_ReceiverConnectorHome_Impl</string>
</value>
</value>
</execParameter>
@@ -85,7 +85,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_ReceiverConnectorHome_Servant</string>
+ <string>create_Hello_DDS_ReceiverConnectorHome_Servant</string>
</value>
</value>
</execParameter>
@@ -141,7 +141,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_SenderHome_Impl</string>
+ <string>create_Hello_DDS_SenderHome_Impl</string>
</value>
</value>
</execParameter>
@@ -152,7 +152,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_SenderHome_Servant</string>
+ <string>create_Hello_DDS_SenderHome_Servant</string>
</value>
</value>
</execParameter>
@@ -194,7 +194,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_SenderConnectorHome_Impl</string>
+ <string>create_Hello_DDS_SenderConnectorHome_Impl</string>
</value>
</value>
</execParameter>
@@ -205,7 +205,7 @@
<kind>tk_string</kind>
</type>
<value>
- <string>create_Hello_SenderConnectorHome_Servant</string>
+ <string>create_Hello_DDS_SenderConnectorHome_Servant</string>
</value>
</value>
</execParameter>
@@ -279,9 +279,9 @@
</instance>
- <instance xmi:id="Hello_ReceiverHomeInstance">
+ <instance xmi:id="Hello_ReceiverConnectorHomeInstance">
<name>Hello_ReceiverConnectorHome</name>
- <node>ReceiverConnectorNode</node>
+ <node>ReceiverNode</node>
<!-- hostname -->
<source/>
<implementation xmi:idref="Hello_ReceiverConnectorHomeImplementation" />
@@ -353,7 +353,7 @@
<instance xmi:id="Hello_ReceiverConnectorComponentInstance">
<name>Hello_ReceiverConnectorComponent</name>
- <node>ReceiverConnectorNode</node>
+ <node>ReceiverNode</node>
<!-- hostname -->
<source/>
<implementation xmi:idref="Hello_ReceiverConnectorComponentImplementation" />
@@ -425,7 +425,7 @@
<instance xmi:id="Hello_SenderConnectorHomeInstance">
<name>Hello_SenderConnectorHome</name>
- <node>SenderConnectorNode</node>
+ <node>SenderNode</node>
<!-- hostname -->
<source/>
<implementation xmi:idref="Hello_SenderConnectorHomeImplementation" />
@@ -471,36 +471,6 @@
</value>
</configProperty>
<configProperty>
- <name>local_message</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>hello, world!</string>
- </value>
- </value>
- </configProperty>
- <configProperty>
- <name>color</name>
- <value>
- <type>
- <kind>tk_enum</kind>
- <enum>
- <name>COLOR_SELECTION</name>
- <typeId>IDL:Hello/COLOR_SELECTION:1.0</typeId>
- <member>empty</member>
- <member>white</member>
- <member>red</member>
- <member>yellow</member>
- </enum>
- </type>
- <value>
- <enum>yellow</enum>
- </value>
- </value>
- </configProperty>
- <configProperty>
<name>edu.vanderbilt.dre.DAnCE.InstanceIOR</name>
<value>
<type>
@@ -524,11 +494,10 @@
</configProperty>
</instance>
-
+<!--
<instance xmi:id="Hello_SenderComponentInstance">
<name>Hello_SenderComponent</name>
<node>SenderNode</node>
- <!-- hostname -->
<source/>
<implementation xmi:idref="Hello_SenderComponentImplementation" />
<configProperty>
@@ -543,36 +512,6 @@
</value>
</configProperty>
<configProperty>
- <name>local_message</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>hello, world!</string>
- </value>
- </value>
- </configProperty>
- <configProperty>
- <name>color</name>
- <value>
- <type>
- <kind>tk_enum</kind>
- <enum>
- <name>COLOR_SELECTION</name>
- <typeId>IDL:Hello/COLOR_SELECTION:1.0</typeId>
- <member>empty</member>
- <member>white</member>
- <member>red</member>
- <member>yellow</member>
- </enum>
- </type>
- <value>
- <enum>yellow</enum>
- </value>
- </value>
- </configProperty>
- <configProperty>
<name>edu.vanderbilt.dre.DAnCE.InstanceIOR</name>
<value>
<type>
@@ -595,10 +534,10 @@
</value>
</configProperty>
</instance>
-
+-->
<instance xmi:id="Hello_SenderConnectorComponentInstance">
<name>Hello_SenderConnectorComponent</name>
- <node>SenderConnectorNode</node>
+ <node>SenderNode</node>
<!-- hostname -->
<source/>
<implementation xmi:idref="Hello_SenderConnectorComponentImplementation" />
@@ -642,7 +581,7 @@
<internalEndpoint>
<portName>push_data_data</portName>
<provider>false</provider>
- <kind>SimpleReceptacle</kind>
+ <kind>SimplexReceptacle</kind>
<instance xmi:idref="Hello_SenderComponentInstance" />
</internalEndpoint>
<internalEndpoint>
@@ -681,23 +620,23 @@
<portName>receiver_data</portName>
<provider>true</provider>
<kind>Facet</kind>
- <instance xmi:idref="Hello_ReceiveronnectorComponentInstance" />
+ <instance xmi:idref="Hello_ReceiverConnectorComponentInstance" />
</internalEndpoint>
</connection>
<connection>
- <name>ccm_dds_listnercontrol</name>
+ <name>ccm_dds_listenercontrol</name>
<internalEndpoint>
- <portName>receiver_control</portName>
+ <portName>read_message_control</portName>
<provider>false</provider>
<kind>SimplexReceptacle</kind>
<instance xmi:idref="Hello_ReceiverComponentInstance" />
</internalEndpoint>
<internalEndpoint>
- <portName>read_message_control</portName>
+ <portName>receiver_control</portName>
<provider>true</provider>
<kind>Facet</kind>
- <instance xmi:idref="Hello_ReceiveronnectorComponentInstance" />
+ <instance xmi:idref="Hello_ReceiverConnectorComponentInstance" />
</internalEndpoint>
</connection>
@@ -713,7 +652,7 @@
<portName>receiver_listener</portName>
<provider>false</provider>
<kind>SimplexReceptacle</kind>
- <instance xmi:idref="Hello_ReceiveronnectorComponentInstance" />
+ <instance xmi:idref="Hello_ReceiverConnectorComponentInstance" />
</internalEndpoint>
</connection>
@@ -729,7 +668,7 @@
<portName>receiver_dds_entity</portName>
<provider>true</provider>
<kind>Facet</kind>
- <instance xmi:idref="Hello_ReceiveronnectorComponentInstance" />
+ <instance xmi:idref="Hello_ReceiverConnectorComponentInstance" />
</internalEndpoint>
</connection>
@@ -745,7 +684,7 @@
<portName>receiver_status</portName>
<provider>false</provider>
<kind>SimplexReceptacle</kind>
- <instance xmi:idref="Hello_ReceiveronnectorComponentInstance" />
+ <instance xmi:idref="Hello_ReceiverConnectorComponentInstance" />
</internalEndpoint>
</connection>
@@ -780,26 +719,26 @@
<name>Hello_ReceiverConnector_exec</name>
<source/>
<node/>
- <location>Hello_ReceiverConnector_exec</location>
+ <location>Hello_Receiver_Connector_exec</location>
</artifact>
<artifact xmi:id="Hello_ReceiverConnector_SvntArtifact">
<name>Hello_ReceiverConnector_svnt</name>
<source/>
<node/>
- <location>Hello_ReceiverConnector_svnt</location>
+ <location>Hello_Receiver_Connector_svnt</location>
</artifact>
<artifact xmi:id="Hello_SenderConnector_ExecArtifact">
<name>Hello_SenderConnector_exec</name>
<source/>
<node/>
- <location>Hello_SenderConnector_exec</location>
+ <location>Hello_Sender_Connector_exec</location>
</artifact>
<artifact xmi:id="Hello_SenderConnector_SvntArtifact">
<name>Hello_SenderConnector_svnt</name>
<source/>
<node/>
- <location>Hello_SenderConnector_svnt</location>
+ <location>Hello_Sender_Connector_svnt</location>
</artifact>
</Deployment:DeploymentPlan>
diff --git a/modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl b/modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl
new file mode 100755
index 00000000000..e5dba220ae5
--- /dev/null
+++ b/modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl
@@ -0,0 +1,203 @@
+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::Run_Test;
+
+$CIAO_ROOT = "$ENV{'CIAO_ROOT'}";
+$TAO_ROOT = "$ENV{'TAO_ROOT'}";
+$DAnCE = "$ENV{'DANCE_ROOT'}";
+
+$daemons_running = 0;
+$em_running = 0;
+$ns_running = 0;
+
+$daemons = 2;
+@ports = ( 60001, 60002 );
+@iorfiles = ( "NodeApp1.ior", "NodeApp2.ior" );
+@nodenames = ( "SenderNode", "ReceiverNode" );
+
+$status = 0;
+$dat_file = "NodeManagerMap.dat";
+$cdp_file = "DeploymentPlan.cdp";
+
+$nsior = PerlACE::LocalFile ("ns.ior");
+
+PerlACE::add_lib_path ('../lib');
+
+unlink $nsior;
+
+$E = 0;
+$EM = 0;
+
+# Delete if there are any .ior files.
+sub delete_ior_files {
+ for ($i = 0; $i < $daemons; ++$i) {
+ unlink $iorfiles[$i];
+ }
+ unlink PerlACE::LocalFile ("EM.ior");
+ unlink PerlACE::LocalFile ("Receiver.ior");
+ unlink PerlACE::LocalFile ("Sender.ior");
+ unlink PerlACE::LocalFile ("DAM.ior");
+ unlink PerlACE::LocalFile ("ns.ior");
+}
+
+sub kill_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+}
+
+sub kill_open_processes {
+ if ($daemons_running == 1) {
+ kill_node_daemons ();
+ }
+
+ if ($em_running == 1) {
+ $EM->Kill ();
+ $EM->TimedWait (1);
+ }
+
+ if ($ns_running == 1) {
+ $NS->Kill ();
+ $NS->TimedWait (1);
+ }
+
+}
+
+sub run_node_daemons {
+ for ($i = 0; $i < $daemons; ++$i)
+ {
+ $iorfile = $iorfiles[$i];
+ $port = $ports[$i];
+ $nodename = $nodenames[$i];
+ $iiop = "iiop://localhost:$port";
+ $node_app = "$CIAO_ROOT/bin/ciao_componentserver";
+
+ $d_cmd = "$DAnCE/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";
+
+ $Daemons[$i] = new PerlACE::Process ($d_cmd, $d_param);
+ $result = $Daemons[$i]->Spawn ();
+ push(@processes, $Daemons[$i]);
+
+ if (PerlACE::waitforfile_timed ($iorfile,
+ 30) == -1) {
+ print STDERR
+ "ERROR: The ior $iorfile file of node daemon $i could not be found\n";
+ for (; $i >= 0; --$i) {
+ $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1);
+ }
+ return -1;
+ }
+ }
+ return 0;
+}
+
+delete_ior_files ();
+
+# Invoke naming service
+
+$NS = new PerlACE::Process ("$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service", "-m 0 -ORBEndpoint iiop://localhost:60003 -o ns.ior");
+
+$NS->Spawn ();
+
+print STDERR "Starting Naming Service with -m 0 -ORBEndpoint iiop://localhost:60003 -o ns.ior\n";
+
+if (PerlACE::waitforfile_timed ($nsior, $PerlACE::wait_interval_for_process_creation) == -1)
+{
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill ();
+ exit 1;
+}
+
+$ns_running = 1;
+
+# Set up NamingService environment
+$ENV{"NameServiceIOR"} = "corbaloc:iiop:localhost:60003/NameService";
+
+
+# Invoke node daemons.
+print "Invoking node daemons\n";
+$status = run_node_daemons ();
+
+if ($status != 0) {
+ print STDERR "ERROR: Unable to execute the node daemons\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+$daemons_running = 1;
+
+# Invoke execution manager.
+print "Invoking execution manager (dance_execution_manager.exe) with -eEM.ior \n";
+$EM = new PerlACE::Process ("$DAnCE/bin/dance_execution_manager",
+ "-eEM.ior --domain-nc corbaloc:rir:/NameService");
+$EM->Spawn ();
+
+if (PerlACE::waitforfile_timed ("EM.ior",
+ $PerlACE::wait_interval_for_process_creation) == -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 - start the application -\n";
+
+print "Start dance_plan_launcher.exe with -x DeploymentPlan.cdp -k file://EM.ior\n";
+$E =
+ new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher",
+ "-x DeploymentPlan.cdp -k file://EM.ior");
+
+$E->SpawnWaitKill (50);
+
+if (PerlACE::waitforfile_timed (
+ "Receiver.ior",
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: The ior file of receiver could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+if (PerlACE::waitforfile_timed ("Sender.ior",
+ $PerlACE::wait_interval_for_process_creation) == -1) {
+ print STDERR "ERROR: The ior file of sender could not be found\n";
+ kill_open_processes ();
+ exit 1;
+}
+
+# print "Invoking the controller ($controller_exec -k file://Sender.ior)\n";
+# $controller = new PerlACE::Process ("$controller_exec", "-k file://Sender.ior");
+# $result = $controller->SpawnWaitKill (30);
+
+# if ($result != 0) {
+# print STDERR "ERROR: The controller returned $result\n";
+# $status = 1;
+# }
+
+# Invoke executor - stop the application -.
+print "Invoking executor - stop the application -\n";
+print "by running dance_plan_launcher.exe with -k file://EM.ior -x DeploymentPlan.cdp -q\n";
+
+$E =
+ new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher",
+ "-k file://EM.ior -x DeploymentPlan.cdp -q");
+$E->SpawnWaitKill (30);
+
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
+
+delete_ior_files ();
+kill_open_processes ();
+
+exit $status;