diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2009-07-07 19:14:37 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2009-07-07 19:14:37 +0000 |
commit | d6eddcc7dc258a1c59ddbd0fb57ac2ccebe25267 (patch) | |
tree | d4fcf64ae2725af7d7f098c0ad0895f0f7b82f56 /modules/CIAO | |
parent | e8efdcf988d38234d3ca60e61c29885b00c4e327 (diff) | |
download | ATCD-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.cdp | 117 | ||||
-rwxr-xr-x | modules/CIAO/connectors/dds4ccm/examples/Hello/descriptors/run_test.pl | 203 |
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; |