diff options
Diffstat (limited to 'modules/CIAO/examples/Hello/descriptors')
25 files changed, 1321 insertions, 0 deletions
diff --git a/modules/CIAO/examples/Hello/descriptors/DeploymentPlan.cdp b/modules/CIAO/examples/Hello/descriptors/DeploymentPlan.cdp new file mode 100644 index 00000000000..eda6344646e --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/DeploymentPlan.cdp @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:DeploymentPlan + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Hello Deployment Plan</label> + <instance xmi:id="Sender_Instance"> + <name>Sender_Instance</name> + <node>SenderNode</node> + </instance> + <instance xmi:id="Receiver_Instance"> + <name>Receiver_Instance</name> + <node>ReceiverNode</node> + </instance> +</Deployment:DeploymentPlan> diff --git a/modules/CIAO/examples/Hello/descriptors/Domain.cdd b/modules/CIAO/examples/Hello/descriptors/Domain.cdd new file mode 100644 index 00000000000..882b29724cd --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Domain.cdd @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<Deployment:Domain + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> +<label>Hello Domain</label> +<UUID>effd4bd0-6db0-4c50-9bb7-db9decebae1c</UUID> +<node> + <name>Sender</name> + <label>Sender's Node</label> +</node> +<node> + <name>Receiver</name> + <label>Receiver's Node</label> +</node> +</Deployment:Domain> diff --git a/modules/CIAO/examples/Hello/descriptors/Hello.cid b/modules/CIAO/examples/Hello/descriptors/Hello.cid new file mode 100644 index 00000000000..f7abad71ded --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Hello.cid @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentImplementationDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Hello Example Assembly</label> + <UUID>effd4bd0-6db0-4c50-9bb7-db9decebae1c</UUID> + <assemblyImpl> + <instance xmi:id="a_Sender"> + <name>Sender_Instance</name> + <package href="Sender.cpd"/> + + <configProperty> + <name>ComponentIOR</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Sender.ior</string> + </value> + </value> + </configProperty> + + <configProperty> + <name>local_message</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>This is a test message passed in through XML.</string> + </value> + </value> + </configProperty> + + <configProperty> + <name>hertz</name> + <value> + <type> + <kind>tk_long</kind> + </type> + <value> + <long>50</long> + </value> + </value> + </configProperty> + </instance> + + <!-- ***************************** --> + + <instance xmi:id="a_Receiver"> + <name>Receiver_Instance</name> + <package href="Receiver.cpd"/> + + <configProperty> + <name>ComponentIOR</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Receiver.ior</string> + </value> + </value> + </configProperty> + </instance> + + <connection> + <name>Messages</name> + <internalEndpoint> + <portName>read_message</portName> + <instance xmi:idref="a_Receiver"/> + </internalEndpoint> + <internalEndpoint> + <portName>push_message</portName> + <instance xmi:idref="a_Sender"/> + </internalEndpoint> + </connection> + <connection> + <name>Events</name> + <internalEndpoint> + <portName>click_in</portName> + <instance xmi:idref="a_Receiver"/> + </internalEndpoint> + <internalEndpoint> + <portName>click_out</portName> + <instance xmi:idref="a_Sender"/> + </internalEndpoint> + </connection> + </assemblyImpl> +</Deployment:ComponentImplementationDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Hello.cpd b/modules/CIAO/examples/Hello/descriptors/Hello.cpd new file mode 100644 index 00000000000..52b0e9a6c1d --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Hello.cpd @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentPackageDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Hello Example Package</label> + <UUID>823e4287-f53c-4caa-8619-f3dfda4c4998</UUID> + <implementation> + <name>Hello</name> + <referencedImplementation href="Hello.cid"/> + </implementation> +</Deployment:ComponentPackageDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Hello.pcd b/modules/CIAO/examples/Hello/descriptors/Hello.pcd new file mode 100644 index 00000000000..a0f5051444a --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Hello.pcd @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:PackageConfiguration +xmlns:Deployment="http://www.omg.org/Deployment" +xmlns:xmi="http://www.omg.org/XMI" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Hello Example Configuration for Unix machines</label> + <UUID>559d65e8-0407-48c0-a158-dafe21360fef</UUID> + <basePackage href="Hello.cpd"/> +</Deployment:PackageConfiguration> diff --git a/modules/CIAO/examples/Hello/descriptors/Libraries.iad b/modules/CIAO/examples/Hello/descriptors/Libraries.iad new file mode 100644 index 00000000000..6112a23ca3b --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Libraries.iad @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ImplementationArtifactDescription xmlns:Deployment="http://www.omg.org/Deployment" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Common Libraries</label> + <UUID>6bae4fcd-c71c-44b4-a0d4-0e4199ce1a49</UUID> + <location>$ACE_ROOT/lib/libACE</location> + <location>$ACE_ROOT/lib/libTAO</location> + <location>$ACE_ROOT/lib/libCIAO_DnC_Client</location> +</Deployment:ImplementationArtifactDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/NodeManagerMap.dat b/modules/CIAO/examples/Hello/descriptors/NodeManagerMap.dat new file mode 100644 index 00000000000..fe88523971e --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/NodeManagerMap.dat @@ -0,0 +1,2 @@ +SenderNode corbaloc:iiop:localhost:60001/NodeManager +ReceiverNode corbaloc:iiop:localhost:60002/NodeManager diff --git a/modules/CIAO/examples/Hello/descriptors/Receiver.ccd b/modules/CIAO/examples/Hello/descriptors/Receiver.ccd new file mode 100644 index 00000000000..a5167d03e7a --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Receiver.ccd @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentInterfaceDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Receiver Component </label> + <UUID>589462ed-e88f-4f96-a7a7-359cdc333d63</UUID> + <specificType>IDL:Hello/Receiver:1.0</specificType> + <supportedType>IDL:Hello/Receiver:1.0</supportedType> + <idlFile>Receiver.idl</idlFile> + <port> + <name>click_in</name> + <exclusiveProvider>false</exclusiveProvider> + <exclusiveUser>false</exclusiveUser> + <optional>false</optional> + <provider>false</provider> + <supportedType>IDL:Hello/TimeOut:1.0</supportedType> + <specificType>IDL:Hello/TimeOut:1.0</specificType> + <kind>EventConsumer</kind> + </port> + + <port> + <name>read_message</name> + <exclusiveProvider>false</exclusiveProvider> + <exclusiveUser>false</exclusiveUser> + <optional>false</optional> + <provider>false</provider> + <supportedType>IDL:Hello/ReadMessage:1.0</supportedType> + <specificType>IDL:Hello/ReadMessage:1.0</specificType> + <kind>SimplexReceptacle</kind> + </port> + +</Deployment:ComponentInterfaceDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Receiver.cid b/modules/CIAO/examples/Hello/descriptors/Receiver.cid new file mode 100644 index 00000000000..18d379e7eba --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Receiver.cid @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentImplementationDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Receiver Implementation</label> + <UUID>0a52c9de-7852-42e4-aac7-bf478169a21a</UUID> + <implements href="Receiver.ccd"/> + <monolithicImpl> + <primaryArtifact> + <name>Receiver_Stub</name> + <referencedArtifact href="Receiver_Stub.iad"/> + </primaryArtifact> + <primaryArtifact> + <name>Receiver_Svnt</name> + <referencedArtifact href="Receiver_Svnt.iad"/> + </primaryArtifact> + <primaryArtifact> + <name>Receiver_Exec</name> + <referencedArtifact href="Receiver_Exec.iad"/> + </primaryArtifact> + </monolithicImpl> +</Deployment:ComponentImplementationDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Receiver.cpd b/modules/CIAO/examples/Hello/descriptors/Receiver.cpd new file mode 100644 index 00000000000..3cddb924834 --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Receiver.cpd @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentPackageDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Receiver Package</label> + <UUID>a5923ef4-9c62-4458-9fa4-869b53d834ca</UUID> + <realizes href="Receiver.ccd"/> + <implementation> + <name>Receiver</name> + <referencedImplementation href="Receiver.cid"/> + </implementation> +</Deployment:ComponentPackageDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Receiver_Exec.iad b/modules/CIAO/examples/Hello/descriptors/Receiver_Exec.iad new file mode 100644 index 00000000000..6caa480b9db --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Receiver_Exec.iad @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ImplementationArtifactDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Receiver Executor Artifact</label> + <UUID>412f8156-7913-4651-9110-f7a3f98c7a83</UUID> + <location>Receiver_DnC_exec</location> + <dependsOn> + <name>ACE</name> + <referencedArtifact href="Libraries.iad"/> + </dependsOn> + <dependsOn> + <name>Receiver_Stub</name> + <referencedArtifact href="Receiver_Stub.iad"/> + </dependsOn> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>createReceiverHome_Impl</string> + </value> + </value> + </execParameter> +</Deployment:ImplementationArtifactDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Receiver_Stub.iad b/modules/CIAO/examples/Hello/descriptors/Receiver_Stub.iad new file mode 100644 index 00000000000..80d7a509e8b --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Receiver_Stub.iad @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ImplementationArtifactDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Receiver Stub Artifact</label> + <UUID>4d02c22b-768e-4d1a-bf07-76da2f5d1fbf</UUID> + <location>Receiver_DnC_stub</location> + <dependsOn> + <name>ACE</name> + <referencedArtifact href="Libraries.iad"/> + </dependsOn> +</Deployment:ImplementationArtifactDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Receiver_Svnt.iad b/modules/CIAO/examples/Hello/descriptors/Receiver_Svnt.iad new file mode 100644 index 00000000000..54f024360c7 --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Receiver_Svnt.iad @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ImplementationArtifactDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Receiver Servant Artifact</label> + <UUID>ad052b10-0806-43c7-9ccc-2dfeda0e0e03</UUID> + <location>Receiver_DnC_svnt</location> + <dependsOn> + <name>ACE</name> + <referencedArtifact href="Libraries.iad"/> + </dependsOn> + <dependsOn> + <name>Receiver_Stub</name> + <referencedArtifact href="Receiver_Stub.iad"/> + </dependsOn> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_Hello_ReceiverHome_Servant</string> + </value> + </value> + </execParameter> +</Deployment:ImplementationArtifactDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Sender.ccd b/modules/CIAO/examples/Hello/descriptors/Sender.ccd new file mode 100644 index 00000000000..cf07fe0ef75 --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Sender.ccd @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentInterfaceDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + + <label>Sender Component</label> + <UUID>803f8fc7-55de-4a20-81eb-ae951d85b7f4</UUID> + <specificType>IDL:Hello/Sender:1.0</specificType> + <supportedType>IDL:Hello/Sender:1.0</supportedType> + <property> + <name>local_message</name> + <type> + <kind>tk_string</kind> + </type> + </property> + <port> + <name>supports</name> + <exclusiveProvider>false</exclusiveProvider> + <exclusiveUser>false</exclusiveUser> + <optional>false</optional> + <provider>true</provider> + <supportedType>IDL:Hello/trigger:1.0</supportedType> + <kind>Facet</kind> + </port> + <port> + <name>click_out</name> + <exclusiveProvider>false</exclusiveProvider> + <exclusiveUser>false</exclusiveUser> + <optional>false</optional> + <provider>true</provider> + <supportedType>IDL:Hello/TimeOut:1.0</supportedType> + <specificType>IDL:Hello/TimeOut:1.0</specificType> + <kind>EventPublisher</kind> + </port> + <port> + <name>push_message</name> + <exclusiveProvider>false</exclusiveProvider> + <exclusiveUser>false</exclusiveUser> + <optional>false</optional> + <provider>true</provider> + <supportedType>IDL:Hello/ReadMessage:1.0</supportedType> + <specificType>IDL:Hello/ReadMessage:1.0</specificType> + <kind>Facet</kind> + </port> + +</Deployment:ComponentInterfaceDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Sender.cid b/modules/CIAO/examples/Hello/descriptors/Sender.cid new file mode 100644 index 00000000000..c6e02fc2d25 --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Sender.cid @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentImplementationDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Sender Implementation</label> + <UUID>789e1be2-703f-4bd3-af50-b400eef91fd0</UUID> + <implements href="Sender.ccd"/> + <monolithicImpl> + <primaryArtifact> + <name>Sender_Stub</name> + <referencedArtifact href="Sender_Stub.iad"/> + </primaryArtifact> + <primaryArtifact> + <name>Sender_Svnt</name> + <referencedArtifact href="Sender_Svnt.iad"/> + </primaryArtifact> + <primaryArtifact> + <name>Sender_Exec</name> + <referencedArtifact href="Sender_Exec.iad"/> + </primaryArtifact> + </monolithicImpl> +</Deployment:ComponentImplementationDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Sender.cpd b/modules/CIAO/examples/Hello/descriptors/Sender.cpd new file mode 100644 index 00000000000..df2c441be3f --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Sender.cpd @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ComponentPackageDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Sender Package</label> + <UUID>07ebf947-2174-4a3b-bd37-bcb92986eaf4</UUID> + <realizes href="Sender.ccd"/> + <implementation> + <name>Sender</name> + <referencedImplementation href="Sender.cid"/> + </implementation> +</Deployment:ComponentPackageDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Sender_Exec.iad b/modules/CIAO/examples/Hello/descriptors/Sender_Exec.iad new file mode 100644 index 00000000000..610b525e77a --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Sender_Exec.iad @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ImplementationArtifactDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Sender Executor Artifact</label> + <UUID>5e4f2366-3810-4d4c-a269-5788a525cbe1</UUID> + <location>Sender_DnC_exec</location> + <dependsOn> + <name>ACE</name> + <referencedArtifact href="Libraries.iad"/> + </dependsOn> + <dependsOn> + <name>Sender_Stub</name> + <referencedArtifact href="Sender_Stub.iad"/> + </dependsOn> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>createSenderHome_Impl</string> + </value> + </value> + </execParameter> +</Deployment:ImplementationArtifactDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Sender_Stub.iad b/modules/CIAO/examples/Hello/descriptors/Sender_Stub.iad new file mode 100644 index 00000000000..aab4e018f0e --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Sender_Stub.iad @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ImplementationArtifactDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Sender Stub Artifact</label> + <UUID>93bbdf7d-d3f7-4227-bb75-b0562ac15b92</UUID> + <location>Sender_DnC_stub</location> + <dependsOn> + <name>ACE</name> + <referencedArtifact href="Libraries.iad"/> + </dependsOn> +</Deployment:ImplementationArtifactDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/Sender_Svnt.iad b/modules/CIAO/examples/Hello/descriptors/Sender_Svnt.iad new file mode 100644 index 00000000000..8a9d128e50d --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/Sender_Svnt.iad @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:ImplementationArtifactDescription + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <label>Sender Servant Artifact</label> + <UUID>04e4d246-e6eb-4b0e-8e32-60b996497cea</UUID> + <location>Sender_DnC_svnt</location> + <dependsOn> + <name>ACE</name> + <referencedArtifact href="Libraries.iad"/> + </dependsOn> + <dependsOn> + <name>Sender_Stub</name> + <referencedArtifact href="Sender_Stub.iad"/> + </dependsOn> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_Hello_SenderHome_Servant</string> + </value> + </value> + </execParameter> +</Deployment:ImplementationArtifactDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/flattened_deploymentplan.cdp b/modules/CIAO/examples/Hello/descriptors/flattened_deploymentplan.cdp new file mode 100644 index 00000000000..c7fc639a70e --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/flattened_deploymentplan.cdp @@ -0,0 +1,240 @@ +<!-- This flattened deployment plan allows component instance to + register to naming service, if you don't want to use naming + service at all, you can use the flattened_deployment_without_ns.cdp + as your deployment descriptor. --> + +<Deployment:deploymentPlan + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + + <label>Hello-DeploymentPlan</label> + <UUID>Hello_Plan_UUID_0001</UUID> + <!-- Could be ZERO --> + <realizes> + <label>BasicSP-realizes-cid</label> + <UUID>c0965470-7b83-11d9-9669-0800200c9a66</UUID> + <specificType><!-- @@ What does here? --></specificType> + <supportedType>IDL:BasicSP/EC:1.0</supportedType> + <port> + <name>read_message</name> + <specificType>IDL:Hello/ReadMessage:1.0</specificType> + <supportedType>IDL:Hello/ReadMessage:1.0</supportedType> + <provider>false</provider> + <exclusiveProvider>false</exclusiveProvider> + <exclusiveUser>true</exclusiveUser> + <optional>false</optional> + <kind>SimplexReceptacle</kind> + </port> + </realizes> + + <implementation id="Hello-Sender-mdd"> + <name>Hello-Sender-mdd</name> + <source><!-- @@ Don't know what goes here --></source> + <artifact>Hello-Sender_exec</artifact> + <artifact>Hello-Sender_svnt</artifact> + <!-- + <execParameter></execParameter> + <deployRequirement></deployRequirement> + --> + </implementation> + + <implementation id="Hello-Receiver-mdd"> + <name>Hello-Receiver-mdd</name> + <source><!-- @@ Don't know what goes here --></source> + <artifact>Hello-Receiver_exec</artifact> + <artifact>Hello-Receiver_svnt</artifact> + <!-- + <execParameter></execParameter> + <deployRequirement></deployRequirement> + --> + </implementation> + + <instance id="Hello-Sender-idd"> + <name>Hello-Sender-idd</name> + <node>SenderNode</node> + <source><!-- @@ What goes here --></source> + <implementation>Hello-Sender-mdd</implementation> + + <!-- Add this property if you want to write component reference to IOR --> + <configProperty> + <name>ComponentIOR</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Sender.ior</string> + </value> + </value> + </configProperty> + + <!-- Add this property if you want to register with naming service --> + <!-- The string is the naming context to bind to naming service --> + <configProperty> + <name>RegisterNaming</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Sender_001</string> + </value> + </value> + </configProperty> + + <!-- Add this property if you want to initialize component attribute --> + <configProperty> + <name>local_message</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>This is a test message passed in through XML.</string> + </value> + </value> + </configProperty> + <!-- This attribute initializes an enumerated value --> + <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> + </instance> + + <instance id="Hello-Receiver-idd"> + <name>Hello-Receiver-idd</name> + <node>ReceiverNode</node> + <source><!-- @@ What goes here --></source> + <implementation>Hello-Receiver-mdd</implementation> + <configProperty> + <name>ComponentIOR</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Receiver.ior</string> + </value> + </value> + </configProperty> + </instance> + + + <connection> + <name>hell_event_connection</name> + <internalEndpoint> + <portName>click_out</portName> + <kind>EventPublisher</kind> + <instance>Hello-Sender-idd</instance> + </internalEndpoint> + <internalEndpoint> + <portName>click_in</portName> + <kind>EventConsumer</kind> + <instance>Hello-Receiver-idd</instance> + </internalEndpoint> + </connection> + + <connection> + <name>hello_facet_connection</name> + <internalEndpoint> + <portName>push_message</portName> + <kind>Facet</kind> + <instance>Hello-Sender-idd</instance> + </internalEndpoint> + <internalEndpoint> + <portName>read_message</portName> + <kind>SimplexReceptacle</kind> + <instance>Hello-Receiver-idd</instance> + </internalEndpoint> + </connection> + + <!-- @@ Runtime library name must match exactly in "location" tag --> + <artifact id="Hello-Sender_exec"> + <name>Sender_exec</name> + <source><!-- @@ Not sure about this--></source> + <node><!-- blank --></node> + <location>Sender_DnC_exec</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>createSenderHome_Impl</string> + </value> + </value> + </execParameter> + </artifact> + + <artifact id="Hello-Sender_svnt"> + <name>Sender_svnt</name> + <source><!-- @@ Not sure --></source> + <node><!-- blank --></node> + <location>Sender_DnC_svnt</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_Hello_SenderHome_Servant</string> + </value> + </value> + </execParameter> + </artifact> + + <artifact id="Hello-Receiver_exec"> + <name>Receiver_exec</name> + <source><!-- @@ Not sure about this--></source> + <node><!-- blank --></node> + <location>Receiver_DnC_exec</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>createReceiverHome_Impl</string> + </value> + </value> + </execParameter> + </artifact> + + <artifact id="Hello-Receiver_svnt"> + <name>Receiver_svnt</name> + <source><!-- @@ Not sure --></source> + <node><!-- blank --></node> + <location>Receiver_DnC_svnt</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_Hello_ReceiverHome_Servant</string> + </value> + </value> + </execParameter> + </artifact> +</Deployment:deploymentPlan> diff --git a/modules/CIAO/examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp b/modules/CIAO/examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp new file mode 100644 index 00000000000..8b42fa056ef --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/flattened_deploymentplan_without_ns.cdp @@ -0,0 +1,222 @@ +<Deployment:deploymentPlan + xmlns:Deployment="http://www.omg.org/Deployment" + xmlns:xmi="http://www.omg.org/XMI" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + + <label>Hello-DeploymentPlan</label> + <UUID>Hello_Plan_UUID_0001</UUID> + <!-- Could be ZERO --> + <realizes> + <label>BasicSP-realizes-cid</label> + <UUID>c0965470-7b83-11d9-9669-0800200c9a66</UUID> + <specificType><!-- @@ What does here? --></specificType> + <supportedType>IDL:BasicSP/EC:1.0</supportedType> + <port> + <name>read_message</name> + <specificType>IDL:Hello/ReadMessage:1.0</specificType> + <supportedType>IDL:Hello/ReadMessage:1.0</supportedType> + <provider>false</provider> + <exclusiveProvider>false</exclusiveProvider> + <exclusiveUser>true</exclusiveUser> + <optional>false</optional> + <kind>SimplexReceptacle</kind> + </port> + </realizes> + + <implementation id="Hello-Sender-mdd"> + <name>Hello-Sender-mdd</name> + <source><!-- @@ Don't know what goes here --></source> + <artifact>Hello-Sender_exec</artifact> + <artifact>Hello-Sender_svnt</artifact> + <!-- + <execParameter></execParameter> + <deployRequirement></deployRequirement> + --> + </implementation> + + <implementation id="Hello-Receiver-mdd"> + <name>Hello-Receiver-mdd</name> + <source><!-- @@ Don't know what goes here --></source> + <artifact>Hello-Receiver_exec</artifact> + <artifact>Hello-Receiver_svnt</artifact> + <!-- + <execParameter></execParameter> + <deployRequirement></deployRequirement> + --> + </implementation> + + <instance id="Hello-Sender-idd"> + <name>Hello-Sender-idd</name> + <node>SenderNode</node> + <source><!-- @@ What goes here --></source> + <implementation>Hello-Sender-mdd</implementation> + + <!-- Add this property if you want to write component reference to IOR --> + <configProperty> + <name>ComponentIOR</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Sender.ior</string> + </value> + </value> + </configProperty> + + <!-- Add this property if you want to initialize component attribute --> + <configProperty> + <name>local_message</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>This is a test message passed in through XML.</string> + </value> + </value> + </configProperty> + + <!-- This attribute initializes an enumerated value --> + <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> + </instance> + + <instance id="Hello-Receiver-idd"> + <name>Hello-Receiver-idd</name> + <node>SenderNode</node> + <source><!-- @@ What goes here --></source> + <implementation>Hello-Receiver-mdd</implementation> + <configProperty> + <name>ComponentIOR</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>Receiver.ior</string> + </value> + </value> + </configProperty> + </instance> + + + <connection> + <name>hello_event_connection</name> + <internalEndpoint> + <portName>click_out</portName> + <kind>EventPublisher</kind> + <instance>Hello-Sender-idd</instance> + </internalEndpoint> + <internalEndpoint> + <portName>click_in</portName> + <kind>EventConsumer</kind> + <instance>Hello-Receiver-idd</instance> + </internalEndpoint> + </connection> + + <connection> + <name>hello_facet_connection</name> + <internalEndpoint> + <portName>push_message</portName> + <kind>Facet</kind> + <instance>Hello-Sender-idd</instance> + </internalEndpoint> + <internalEndpoint> + <portName>read_message</portName> + <kind>SimplexReceptacle</kind> + <instance>Hello-Receiver-idd</instance> + </internalEndpoint> + </connection> + + <!-- @@ Runtime library name must match exactly in "location" tag --> + <artifact id="Hello-Sender_exec"> + <name>Sender_exec</name> + <source><!-- @@ Not sure about this--></source> + <node><!-- blank --></node> + <location>Sender_DnC_exec</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>createSenderHome_Impl</string> + </value> + </value> + </execParameter> + </artifact> + + <artifact id="Hello-Sender_svnt"> + <name>Sender_svnt</name> + <source><!-- @@ Not sure --></source> + <node><!-- blank --></node> + <location>Sender_DnC_svnt</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_Hello_SenderHome_Servant</string> + </value> + </value> + </execParameter> + </artifact> + + <artifact id="Hello-Receiver_exec"> + <name>Receiver_exec</name> + <source><!-- @@ Not sure about this--></source> + <node><!-- blank --></node> + <location>Receiver_DnC_exec</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>createReceiverHome_Impl</string> + </value> + </value> + </execParameter> + </artifact> + + <artifact id="Hello-Receiver_svnt"> + <name>Receiver_svnt</name> + <source><!-- @@ Not sure --></source> + <node><!-- blank --></node> + <location>Receiver_DnC_svnt</location> + <execParameter> + <name>entryPoint</name> + <value> + <type> + <kind>tk_string</kind> + </type> + <value> + <string>create_Hello_ReceiverHome_Servant</string> + </value> + </value> + </execParameter> + </artifact> +</Deployment:deploymentPlan> diff --git a/modules/CIAO/examples/Hello/descriptors/package.tpd b/modules/CIAO/examples/Hello/descriptors/package.tpd new file mode 100644 index 00000000000..d447a2abb4a --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/package.tpd @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Deployment:TopLevelPackageDescription +xmlns:Deployment="http://www.omg.org/Deployment" +xmlns:xmi="http://www.omg.org/XMI" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd"> + <package href="Hello.pcd"/> +</Deployment:TopLevelPackageDescription> diff --git a/modules/CIAO/examples/Hello/descriptors/run_NodeDaemons.pl b/modules/CIAO/examples/Hello/descriptors/run_NodeDaemons.pl new file mode 100644 index 00000000000..d5e956ade06 --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/run_NodeDaemons.pl @@ -0,0 +1,40 @@ +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; + +$status = 0; +$iorfile1 = PerlACE::LocalFile ("NodeApp1.ior"); +$iorfile2 = PerlACE::LocalFile ("NodeApp2.ior"); + +#for ($iter = 0; $iter <= $#ARGV; $iter++) { +# if ($ARGV[$iter] eq "-h" || $ARGV[$iter] eq "-?") { +# print "Run_Test Perl script for NodeApplicationTest \n\n"; +# print "run_test \n"; +# print "\n"; +# print "-h -- prints this information\n"; +# exit 0; +# } +#} + + +unlink $iorfile1; +unlink $iorfile2; + +$CIAO_ROOT=$ENV{'CIAO_ROOT'}; + +$SV1 = new PerlACE::Process ("$CIAO_ROOT/DAnCE/NodeManager/NodeManager", + "-ORBEndpoint iiop://localhost:60001 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + +$SV2 = new PerlACE::Process ("$CIAO_ROOT/DAnCE/NodeManager/NodeManager", + "-ORBEndpoint iiop://localhost:60002 -s $CIAO_ROOT/DAnCE/NodeApplication/NodeApplication"); + +$SV1->Spawn (); +$SV2->Spawn (); + +sleep (99999999999); diff --git a/modules/CIAO/examples/Hello/descriptors/run_test.pl b/modules/CIAO/examples/Hello/descriptors/run_test.pl new file mode 100755 index 00000000000..29baefcca38 --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/run_test.pl @@ -0,0 +1,192 @@ +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{'CIAO_ROOT'}/DAnCE"; +$daemons_running = 0; +$em_running = 0; +$ns_running = 0; +$daemons = 2; +@ports = ( 60001, 60002 ); +@iorfiles = ( "NodeApp1.ior", "NodeApp2.ior" ); +$status = 0; +$dat_file = "NodeManagerMap.dat"; +$cdp_file = "DeploymentPlan.cdp"; +$controller_exec = "$CIAO_ROOT/examples/Hello/Sender/starter"; + +$nsior = PerlACE::LocalFile ("ns.ior"); + +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]; + + $iiop = "iiop://localhost:$port"; + $node_app = "$DAnCE/NodeApplication/NodeApplication"; + + $d_cmd = "$DAnCE/NodeManager/NodeManager"; + $d_param = "-ORBEndpoint $iiop -s $node_app -o $iorfile -d 30"; + + $Daemons[$i] = new PerlACE::Process ($d_cmd, $d_param); + $result = $Daemons[$i]->Spawn (); + push(@processes, $Daemons[$i]); + + if (PerlACE::waitforfile_timed ($iorfile, + $PerlACE::wait_interval_for_process_creation) == -1) { + print STDERR + "ERROR: The ior 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\n"; + +if (PerlACE::waitforfile_timed ($nsior, 10) == -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\n"; +$EM = new PerlACE::Process ("$DAnCE/ExecutionManager/Execution_Manager", + "-o EM.ior -i $dat_file"); +$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"; +$E = + new PerlACE::Process ("$DAnCE/Plan_Launcher/plan_launcher", + "-p flattened_deploymentplan.cdp -k file://EM.ior -o DAM.ior"); + +$E->SpawnWaitKill (5000); + +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\n"; +$controller = new PerlACE::Process ("$controller_exec", "-k file://Sender.ior"); +$result = $controller->SpawnWaitKill (3000); + +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"; +$E = + new PerlACE::Process ("$DAnCE/Plan_Launcher/plan_launcher", + "-k file://EM.ior -i file://DAM.ior"); +$E->SpawnWaitKill (3000); + +print "Executor returned.\n"; +print "Shutting down rest of the processes.\n"; + +delete_ior_files (); +kill_open_processes (); + +exit $status; diff --git a/modules/CIAO/examples/Hello/descriptors/run_test_without_ns.pl b/modules/CIAO/examples/Hello/descriptors/run_test_without_ns.pl new file mode 100755 index 00000000000..25be260cd32 --- /dev/null +++ b/modules/CIAO/examples/Hello/descriptors/run_test_without_ns.pl @@ -0,0 +1,158 @@ +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'}"; +$DAnCE = "$ENV{'CIAO_ROOT'}/DAnCE"; + +$daemons_running = 0; +$em_running = 0; +$daemons = 2; +@ports = ( 60001, 60002 ); +@iorfiles = ( "NodeApp1.ior", "NodeApp2.ior" ); +$status = 0; +$dat_file = "NodeManagerMap.dat"; +$cdp_file = "DeploymentPlan.cdp"; +$controller_exec = "$CIAO_ROOT/examples/Hello/Sender/starter"; + +$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"); +} + +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); + } +} + +sub run_node_daemons { + for ($i = 0; $i < $daemons; ++$i) + { + $iorfile = $iorfiles[$i]; + $port = $ports[$i]; + + $iiop = "iiop://localhost:$port"; + $node_app = "$DAnCE/NodeApplication/NodeApplication"; + + $d_cmd = "$DAnCE/NodeManager/NodeManager"; + $d_param = "-ORBEndpoint $iiop -s $node_app -o $iorfile -d 30"; + + $Daemons[$i] = new PerlACE::Process ($d_cmd, $d_param); + $result = $Daemons[$i]->Spawn (); + push(@processes, $Daemons[$i]); + + if (PerlACE::waitforfile_timed ($iorfile, + $PerlACE::wait_interval_for_process_creation) == -1) { + print STDERR + "ERROR: The ior file of node daemon $i could not be found\n"; + for (; $i > 0; --$i) { + $Daemons[$i]->Kill (); $Daemons[$i]->TimedWait (1); + } + return -1; + } + } + $daemons_running = 1; + return 0; +} + +delete_ior_files (); + +# 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"; + exit 1; +} + +$ns_running = 1; + +# Invoke execution manager. +print "Invoking execution manager\n"; +$EM = new PerlACE::Process ("$DAnCE/ExecutionManager/Execution_Manager", + "-o EM.ior -i $dat_file"); +$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"; +$E = + new PerlACE::Process ("$DAnCE/Plan_Launcher/plan_launcher", + "-p flattened_deploymentplan_without_ns.cdp -k file://EM.ior -o DAM.ior"); + +$E->SpawnWaitKill (5000); + +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\n"; +$controller = new PerlACE::Process ("$controller_exec", "-k file://Sender.ior"); +$result = $controller->SpawnWaitKill (3000); + +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"; +$E = + new PerlACE::Process ("$DAnCE/Plan_Launcher/plan_launcher", + "-k file://EM.ior -i file://DAM.ior"); +$E->SpawnWaitKill (3000); + +print "Executor returned.\n"; +print "Shutting down rest of the processes.\n"; + +delete_ior_files (); +kill_open_processes (); + +exit $status; |