summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2009-02-06 18:29:30 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2009-02-06 18:29:30 +0000
commitc78b21e66270413e39bbe6424b7ecdef3ae0f561 (patch)
tree2a5b13b8bf4a6f7244671879e871448be3239745
parent4fdcf8c4e7cf699ef9a016631c4d1d1434fd69ca (diff)
downloadATCD-c78b21e66270413e39bbe6424b7ecdef3ae0f561.tar.gz
ChangeLogTag: Fri Feb 6 18:26:39 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
-rw-r--r--flat/CIAO/ChangeLog39
-rw-r--r--flat/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp7
-rw-r--r--flat/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp313
-rwxr-xr-xflat/CIAO/DAnCE/bin/PythonDAnCE/generator/artifact.py6
-rwxr-xr-xflat/CIAO/DAnCE/bin/PythonDAnCE/generator/comp_impl.py1
-rwxr-xr-xflat/CIAO/DAnCE/bin/PythonDAnCE/generator/header.py3
-rwxr-xr-xflat/CIAO/DAnCE/bin/generate_plan.py50
-rw-r--r--flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp13
-rw-r--r--flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h3
-rw-r--r--flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.cpp13
-rw-r--r--flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.h3
-rw-r--r--flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.cpp13
-rw-r--r--flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.h3
-rw-r--r--flat/CIAO/examples/BasicSP/EC/EC_exec.cpp13
-rw-r--r--flat/CIAO/examples/BasicSP/EC/EC_exec.h3
-rw-r--r--flat/CIAO/examples/BasicSP/descriptors/BasicSP.cdp649
-rw-r--r--flat/CIAO/examples/BasicSP/descriptors/BasicSP.dat6
-rw-r--r--flat/CIAO/examples/BasicSP/descriptors/BasicSP_Unhomed.cdp397
-rwxr-xr-xflat/CIAO/examples/BasicSP/descriptors/run_test.pl219
19 files changed, 806 insertions, 948 deletions
diff --git a/flat/CIAO/ChangeLog b/flat/CIAO/ChangeLog
index 48bf065f6f1..84e2629179a 100644
--- a/flat/CIAO/ChangeLog
+++ b/flat/CIAO/ChangeLog
@@ -1,3 +1,38 @@
+Fri Feb 6 18:26:39 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp:
+ * DAnCE/NodeApplication/NodeApplication_Impl.cpp:
+
+ Better exception handling.
+
+ * DAnCE/bin/PythonDAnCE/generator/artifact.py:
+ * DAnCE/bin/PythonDAnCE/generator/comp_impl.py:
+ * DAnCE/bin/PythonDAnCE/generator/header.py:
+ * DAnCE/bin/generate_plan.py:
+
+ Bugfixes for plangenerator.
+
+ * examples/BasicSP/BMClosedED/BMClosedED_exec.h:
+ * examples/BasicSP/BMClosedED/BMClosedED_exec.cpp:
+ * examples/BasicSP/BMDevice/BMDevice_exec.h:
+ * examples/BasicSP/BMDevice/BMDevice_exec.cpp:
+ * examples/BasicSP/BMDisplay/BMDisplay_exec.h:
+ * examples/BasicSP/BMDisplay/BMDisplay_exec.cpp:
+ * examples/BasicSP/EC/EC_exec.h:
+ * examples/BasicSP/EC/EC_exec.cpp:
+
+ Added component servant and executor factory operations.
+
+ * examples/BasicSP/descriptors/BasicSP.dat:
+ * examples/BasicSP/descriptors/BasicSP_Unhomed.cdp:
+ * examples/BasicSP/descriptors/run_test.pl:
+
+ Ported to new version of DAnCE. test script still needs to invoke correct controller.
+
+ * examples/BasicSP/descriptors/BasicSP.cdp:
+
+ Removed obsolete plan.
+
Fri Feb 6 13:44:54 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
* DAnCE/bin/PythonDAnCE:
@@ -17,8 +52,8 @@ Fri Feb 6 13:44:54 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
* DAnCE/bin/PythonDAnCE/generator/templet.py:
* DAnCE/bin/generate_plan.py:
- First cut implementation of a very simple cdp generator.
-
+ First cut implementation of a very simple cdp generator.
+
Thu Feb 5 19:36:49 UTC 2009 William R. Otte <wotte@dre.vanderbilt.edu>
* ofccm/DAnCE_Scripts:
diff --git a/flat/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp b/flat/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
index 3f0ab7cdb52..47f85e19812 100644
--- a/flat/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
+++ b/flat/CIAO/DAnCE/DomainApplicationManager/DomainApplicationManager_Impl.cpp
@@ -480,6 +480,13 @@ DomainApplicationManager_Impl::preparePlan()
"Propagating StartError exception caught here\n"));
throw e;
}
+ catch (CORBA::Exception &ex)
+ {
+ DANCE_ERROR ((LM_ERROR, DLINFO "DomainApplicationManager_Impl::preparePlan - "
+ "Caught a CORBA exception, propagating StartError: %s\n",
+ ex._info ().c_str ()));
+ throw ::Deployment::StartError ();
+ }
catch (...)
{
DANCE_ERROR ((LM_ERROR, DLINFO "DomainApplicationManager_Impl::preparePlan - "
diff --git a/flat/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp b/flat/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
index a14171dbbf6..1a82a6202c6 100644
--- a/flat/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
+++ b/flat/CIAO/DAnCE/NodeApplication/NodeApplication_Impl.cpp
@@ -1614,8 +1614,11 @@ NodeApplication_Impl::getAllConnections()
{
DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::getAllConnections - "
"Components::CCMObject_var::provide_facet() returned "
- "::Components::InvalidName exception\n"));
- throw ::Deployment::InvalidProperty();
+ "::Components::InvalidName exception for connection %C and port %C\n",
+ this->plan_.connection[i].name.in (),
+ this->plan_.connection[i].internalEndpoint[j].portName.in ()));
+ throw ::Deployment::InvalidProperty(this->plan_.connection[i].name.in (),
+ "Container returned InvalidName");
}
break;
}
@@ -1642,8 +1645,11 @@ NodeApplication_Impl::getAllConnections()
{
DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::getAllConnections - "
"Components::CCMObject_var::get_consumer() returned "
- "::Components::InvalidName exception\n"));
- throw ::Deployment::InvalidProperty();
+ "::Components::InvalidName exception for connection %C and port %C\n",
+ this->plan_.connection[i].name.in (),
+ this->plan_.connection[i].internalEndpoint[j].portName.in ()));
+ throw ::Deployment::InvalidProperty(this->plan_.connection[i].name.in (),
+ "Container returned InvalidName exception");
}
break;
}
@@ -1727,147 +1733,158 @@ NodeApplication_Impl::finishLaunch (const Deployment::Connections & providedRefe
if (name.compare (providedReference[i].name.in()) == 0)
{
- switch (conn.internalEndpoint[0].kind)
- {
- case Deployment::Facet:
- {
- DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - "
- "set for facet %C \n", name.c_str ()));
- Components::CCMObject_var ext_inst;
- try
- {
- if (0 == conn.externalReference.length())
- {
- if (conn.internalEndpoint.length () == 2 &&
- (conn.internalEndpoint[1].kind == Deployment::MultiplexReceptacle ||
- conn.internalEndpoint[1].kind == Deployment::SimplexReceptacle))
- {
- obj = Components::CCMObject::
- _narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
-
- this->connect_receptacle (obj.in (),
- conn.internalEndpoint[1].portName.in(),
- providedReference[i].endpoint[0].in());
- }
- /*
- DANCE_ERROR ((LM_ERROR, DLINFO "NodeApplication_impl::finishLaunch - "
- "Unsupported facet connection; lacks either external reference or "
- "multiple internalEndpoints.\n"));
- throw ::Deployment::StartError (name.c_str (),
- "Unsupported facet connection; lacks either external reference "
- "or multiple internalEndpoints.\n");
- */
- break;
- }
- CORBA::Object_var tmp =
- this->orb_->string_to_object (conn.externalReference[0].location.in());
- ext_inst = Components::CCMObject::_narrow (tmp);
- if (CORBA::is_nil (ext_inst.in()))
- {
- DANCE_ERROR((LM_ERROR, DLINFO "NodeApplication_impl::finishLaunch - "
- "facet for %C can't be narrowed \n", name.c_str ()));
- break;
- }
- this->connect_receptacle_ext (ext_inst,
- conn.externalReference[0].portName.in(),
- providedReference[i].endpoint[0].in());
- }
- catch (const CORBA::OBJECT_NOT_EXIST&)
- {
- // @@TODO: Shouldn't this be an error?!?
- break;
- }
- catch (const CORBA::TRANSIENT&)
- {
- // @@TODO: Shouldn't this be an error?!?
- break;
- }
-
- break;
- }
- case Deployment::EventConsumer:
- {
- DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for consumer \n"));
- Components::CCMObject_var ext_inst;
- try
- {
- if (0 == conn.externalReference.length())
- {
- break;
- }
- CORBA::Object_var tmp =
- this->orb_->string_to_object (conn.externalReference[0].location.in());
- ext_inst = Components::CCMObject::_narrow (tmp);
- if (CORBA::is_nil (ext_inst.in()))
- {
- DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::finishLaunch - "
- "reference for %C can't be narrowed \n", name.c_str ()));
- throw ::Deployment::InvalidConnection();
- break;
- }
- try
- {
- // Check is connection kind is consumer to emitter?
- this->connect_emitter_ext (ext_inst,
- conn.externalReference[0].portName.in(),
- providedReference[i].endpoint[0].in());
- }
- catch (const ::Components::InvalidName&)
- {
- // No this is consumer to publisher
- this->connect_publisher (ext_inst,
- conn.externalReference[0].portName.in(),
- providedReference[i].endpoint[0].in());
- }
- }
- catch (const CORBA::OBJECT_NOT_EXIST&)
- {
- break;
- }
- catch (const CORBA::TRANSIENT&)
- {
- break;
- }
- break;
- }
- case Deployment::MultiplexReceptacle:
- case Deployment::SimplexReceptacle:
- {
- // What we should do with Cookie, returned from connect call???
- DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for receptacle \n"));
- this->connect_receptacle (obj.in(),
- conn.internalEndpoint[0].portName.in(),
- providedReference[i].endpoint[0].in());
- break;
- }
- case Deployment::EventEmitter:
- {
- DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for emitter \n"));
- this->connect_emitter (obj.in(),
- conn.internalEndpoint[0].portName.in(),
- providedReference[i].endpoint[0].in());
- break;
- }
- case Deployment::EventPublisher:
- {
- DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for publisher \n"));
- this->connect_publisher (obj.in(),
- conn.internalEndpoint[0].portName.in(),
- providedReference[i].endpoint[0].in());
- break;
- }
- default:
- {
- DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::finishLaunch - currect Connection.InternalEndPoint.Kind "
- "is not a Deployment::SimplexReceptacle, Deployment::EventEmitter, Deployment::EventPublisher "
- "(Connection:%C Kind:%i PortName:%C)\n",
- conn.name.in(),
- conn.internalEndpoint[0].kind,
- conn.internalEndpoint[0].portName.in()
- ));
- throw ::Deployment::InvalidConnection();
- }//default
- }//switch
+ try
+ {
+ switch (conn.internalEndpoint[0].kind)
+ {
+ case Deployment::Facet:
+ {
+ DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - "
+ "set for facet %C \n", name.c_str ()));
+ Components::CCMObject_var ext_inst;
+ try
+ {
+ if (0 == conn.externalReference.length())
+ {
+ if (conn.internalEndpoint.length () == 2 &&
+ (conn.internalEndpoint[1].kind == Deployment::MultiplexReceptacle ||
+ conn.internalEndpoint[1].kind == Deployment::SimplexReceptacle))
+ {
+ obj = Components::CCMObject::
+ _narrow (this->instances_[conn.internalEndpoint[1].instanceRef]->ref.in ());
+
+ this->connect_receptacle (obj.in (),
+ conn.internalEndpoint[1].portName.in(),
+ providedReference[i].endpoint[0].in());
+ }
+ /*
+ DANCE_ERROR ((LM_ERROR, DLINFO "NodeApplication_impl::finishLaunch - "
+ "Unsupported facet connection; lacks either external reference or "
+ "multiple internalEndpoints.\n"));
+ throw ::Deployment::StartError (name.c_str (),
+ "Unsupported facet connection; lacks either external reference "
+ "or multiple internalEndpoints.\n");
+ */
+ break;
+ }
+ CORBA::Object_var tmp =
+ this->orb_->string_to_object (conn.externalReference[0].location.in());
+ ext_inst = Components::CCMObject::_narrow (tmp);
+ if (CORBA::is_nil (ext_inst.in()))
+ {
+ DANCE_ERROR((LM_ERROR, DLINFO "NodeApplication_impl::finishLaunch - "
+ "facet for %C can't be narrowed \n", name.c_str ()));
+ break;
+ }
+ this->connect_receptacle_ext (ext_inst,
+ conn.externalReference[0].portName.in(),
+ providedReference[i].endpoint[0].in());
+ }
+ catch (const CORBA::OBJECT_NOT_EXIST&)
+ {
+ // @@TODO: Shouldn't this be an error?!?
+ break;
+ }
+ catch (const CORBA::TRANSIENT&)
+ {
+ // @@TODO: Shouldn't this be an error?!?
+ break;
+ }
+
+ break;
+ }
+ case Deployment::EventConsumer:
+ {
+ DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for consumer \n"));
+ Components::CCMObject_var ext_inst;
+ try
+ {
+ if (0 == conn.externalReference.length())
+ {
+ break;
+ }
+ CORBA::Object_var tmp =
+ this->orb_->string_to_object (conn.externalReference[0].location.in());
+ ext_inst = Components::CCMObject::_narrow (tmp);
+ if (CORBA::is_nil (ext_inst.in()))
+ {
+ DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::finishLaunch - "
+ "reference for %C can't be narrowed \n", name.c_str ()));
+ throw ::Deployment::InvalidConnection();
+ break;
+ }
+ try
+ {
+ // Check is connection kind is consumer to emitter?
+ this->connect_emitter_ext (ext_inst,
+ conn.externalReference[0].portName.in(),
+ providedReference[i].endpoint[0].in());
+ }
+ catch (const ::Components::InvalidName&)
+ {
+ // No this is consumer to publisher
+ this->connect_publisher (ext_inst,
+ conn.externalReference[0].portName.in(),
+ providedReference[i].endpoint[0].in());
+ }
+ }
+ catch (const CORBA::OBJECT_NOT_EXIST&)
+ {
+ break;
+ }
+ catch (const CORBA::TRANSIENT&)
+ {
+ break;
+ }
+ break;
+ }
+ case Deployment::MultiplexReceptacle:
+ case Deployment::SimplexReceptacle:
+ {
+ // What we should do with Cookie, returned from connect call???
+ DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for receptacle \n"));
+ this->connect_receptacle (obj.in(),
+ conn.internalEndpoint[0].portName.in(),
+ providedReference[i].endpoint[0].in());
+ break;
+ }
+ case Deployment::EventEmitter:
+ {
+ DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for emitter \n"));
+ this->connect_emitter (obj.in(),
+ conn.internalEndpoint[0].portName.in(),
+ providedReference[i].endpoint[0].in());
+ break;
+ }
+ case Deployment::EventPublisher:
+ {
+ DANCE_DEBUG((LM_DEBUG, DLINFO "NodeApplication_impl::finishLaunch - set for publisher \n"));
+ this->connect_publisher (obj.in(),
+ conn.internalEndpoint[0].portName.in(),
+ providedReference[i].endpoint[0].in());
+ break;
+ }
+ default:
+ {
+ DANCE_ERROR((LM_ERROR, DLINFO "NodeApplication_impl::finishLaunch - currect Connection.InternalEndPoint.Kind "
+ "is not a Deployment::SimplexReceptacle, Deployment::EventEmitter, Deployment::EventPublisher "
+ "(Connection:%C Kind:%i PortName:%C)\n",
+ conn.name.in(),
+ conn.internalEndpoint[0].kind,
+ conn.internalEndpoint[0].portName.in()
+ ));
+ throw ::Deployment::InvalidConnection();
+ }//default
+ }//switch
+ }
+ catch (::Deployment::StartError &ex)
+ {
+ DANCE_ERROR ((LM_ERROR, DLINFO "NodeApplication_impl::finishLaunch - "
+ "Intercepted StartError exception while configuring %C conneciton, rethrowing\n",
+ name.c_str ()));
+ throw ::Deployment::StartError (name.c_str (),
+ ex.reason.in ());
+ }
}//if(name.compare(providedReference[i].name.in()) == 0)
}//for ( unsigned int i = 0; i < providedReference.length(); ++i )
}//for ( unsigned int j = 0; j < this->plan_.connection.length(); ++j )
@@ -2049,19 +2066,19 @@ NodeApplication_Impl::connect_publisher (Components::CCMObject_ptr inst,
{
DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::finishLaunch - "
"Components::CCMObject_var::subscribe() returned ::Components::InvalidName exception\n"));
- throw ::Deployment::StartError();
+ throw ::Deployment::StartError("", "Caught InvalidName exception");
}
catch (const ::Components::InvalidConnection& )
{
DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::finishLaunch - "
"Components::CCMObject_var::subscribe() returned ::Components::InvalidConnection exception\n"));
- throw ::Deployment::InvalidConnection();
+ throw ::Deployment::InvalidConnection("", "Caught InvalidConnection exception");
}
catch (const ::Components::ExceededConnectionLimit& )
{
DANCE_ERROR((LM_ERROR, DLINFO " NodeApplication_impl::finishLaunch - "
"Components::CCMObject_var::subscribe() returned ::Components::ExceededCOnnectionLimit exception\n"));
- throw ::Deployment::InvalidConnection();
+ throw ::Deployment::InvalidConnection("", "Caught ExceededConnectionLimit exception\n");
}
return res;
}
diff --git a/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/artifact.py b/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/artifact.py
index 07b3e897448..dbebad5291d 100755
--- a/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/artifact.py
+++ b/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/artifact.py
@@ -3,19 +3,19 @@ from templet import stringfunction
@stringfunction
def template (component_name):
"""
- <artifact xmi:id="${component_name}ExecArtifact">
+ <artifact xmi:id="${component_name}_ExecArtifact">
<name>${component_name}_exec</name>
<source/>
<node/>
<location>${component_name}_exec</location>
</artifact>
- <artifact xmi:id="${component_name}SvntArtifact">
+ <artifact xmi:id="${component_name}_SvntArtifact">
<name>${component_name}_svnt</name>
<source/>
<node/>
<location>${component_name}_svnt</location>
</artifact>
- <artifact xmi:id="${component_name}StubArtifact">
+ <artifact xmi:id="${component_name}_StubArtifact">
<name>${component_name}_stub</name>
<source/>
<node/>
diff --git a/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/comp_impl.py b/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/comp_impl.py
index eb709fb4e51..6c311bc56bc 100755
--- a/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/comp_impl.py
+++ b/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/comp_impl.py
@@ -3,6 +3,7 @@ from templet import stringfunction
@stringfunction
def template (component_name) :
"""
+
<implementation xmi:id="${component_name}ComponentImplementation">
<name>${component_name}ComponentImplementation</name>
<source/>
diff --git a/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/header.py b/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/header.py
index 60dc096dd83..c16146ae028 100755
--- a/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/header.py
+++ b/flat/CIAO/DAnCE/bin/PythonDAnCE/generator/header.py
@@ -10,4 +10,5 @@ def template (uuid):
xsi:schemaLocation="http://www.omg.org/Deployment Deployment.xsd">
<label>${uuid}</label>
<UUID>${uuid}</UUID>
- """
+
+"""
diff --git a/flat/CIAO/DAnCE/bin/generate_plan.py b/flat/CIAO/DAnCE/bin/generate_plan.py
index 212c2ce61b0..1dee2cbb708 100755
--- a/flat/CIAO/DAnCE/bin/generate_plan.py
+++ b/flat/CIAO/DAnCE/bin/generate_plan.py
@@ -1,4 +1,8 @@
#!/usr/bin/python
+import sys, os
+
+sys.path.append (os.getenv ("DANCE_ROOT"))
+
def parse_args ():
from optparse import OptionParser
@@ -34,32 +38,38 @@ def main ():
artifacts = {}
#implementations
-
- for item in opts.homes:
- retval += generator.home_impl.template (item)
- artifacts[item] = 1
+ if opts.homes is not None:
+ for item in opts.homes:
+ retval += generator.home_impl.template (item)
+ artifacts[item] = 1
- for item in opts.homed_components:
- retval += generator.homed_comp_impl.template (item)
- artifacts[item] = 1
+ if opts.homed_components is not None:
+ for item in opts.homed_components:
+ retval += generator.homed_comp_impl.template (item)
+ artifacts[item] = 1
- for item in opts.components:
- retval += generator.comp_impl.template (item)
- artifacts[item] = 1
+ if opts.components is not None:
+ for item in opts.components:
+ retval += generator.comp_impl.template (item)
+ artifacts[item] = 1
#instances
- for item in opts.homes:
- retval += generator.home_inst.template (item)
-
- for item in opts.homed_components:
- retval += generator.homed_comp_inst.template (item)
-
- for item in opts.components:
- retval += generator.comp_inst.template (item)
+ if opts.homes is not None:
+ for item in opts.homes:
+ retval += generator.home_inst.template (item)
+
+ if opts.homed_components is not None:
+ for item in opts.homed_components:
+ retval += generator.homed_comp_inst.template (item)
+
+ if opts.components is not None:
+ for item in opts.components:
+ retval += generator.comp_inst.template (item)
#artifacts
- for item in artifacts.keys():
- retval += generator.artifact.template(item)
+ if artifacts is not None:
+ for item in artifacts.keys():
+ retval += generator.artifact.template(item)
retval += generator.footer.template ()
diff --git a/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp b/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp
index cb12f9eacc5..a4d855213f7 100644
--- a/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp
+++ b/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.cpp
@@ -115,6 +115,19 @@ MyImpl::BMClosedED_exec_i::ccm_remove ()
"MyImpl::BMClosedED_exec_i::ccm_remove\n"));
}
+extern "C" BMCLOSEDED_EXEC_Export ::Components::EnterpriseComponent_ptr
+create_BasicSP_BMClosedED_Impl (void)
+{
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_RETURN (retval,
+ MyImpl::BMClosedED_exec_i,
+ ::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+}
+
/// Default ctor.
MyImpl::BMClosedEDHome_exec_i::BMClosedEDHome_exec_i ()
{
diff --git a/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h b/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h
index 37152dfc70f..df241e09315 100644
--- a/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h
+++ b/flat/CIAO/examples/BasicSP/BMClosedED/BMClosedED_exec.h
@@ -73,6 +73,9 @@ namespace MyImpl
BasicSP::CCM_BMClosedED_Context_var context_;
};
+ extern "C" BMCLOSEDED_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_BasicSP_BMClosedED_Impl (void);
+
/**
* @class BMClosedEDHome_exec_i
*
diff --git a/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.cpp b/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.cpp
index ae59cdb167e..f19eb750f2a 100644
--- a/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.cpp
+++ b/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.cpp
@@ -79,6 +79,19 @@ MyImpl::BMDevice_exec_i::ccm_remove ()
"MyImpl::BMDevice_exec_i::ccm_remove\n"));
}
+extern "C" BMDEVICE_EXEC_Export ::Components::EnterpriseComponent_ptr
+create_BasicSP_BMDevice_Impl (void)
+{
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_RETURN (retval,
+ MyImpl::BMDevice_exec_i,
+ ::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+}
+
/// Default ctor.
MyImpl::BMDeviceHome_exec_i::BMDeviceHome_exec_i ()
{
diff --git a/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.h b/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.h
index 896d2e8d6ff..16d97b47e32 100644
--- a/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.h
+++ b/flat/CIAO/examples/BasicSP/BMDevice/BMDevice_exec.h
@@ -71,6 +71,9 @@ namespace MyImpl
MyImpl::ReadData_Impl* data_read_;
};
+ extern "C" BMDEVICE_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_BasicSP_BMDevice_Impl (void);
+
/**
* @class BMDeviceHome_exec_i
*
diff --git a/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.cpp b/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.cpp
index 7b24088cef6..a7944d1a71d 100644
--- a/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.cpp
+++ b/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.cpp
@@ -87,6 +87,19 @@ MyImpl::BMDisplay_exec_i::ccm_remove ()
"MyImpl::BMDisplay_exec_i::ccm_remove\n"));
}
+extern "C" BMDISPLAY_EXEC_Export ::Components::EnterpriseComponent_ptr
+create_BasicSP_BMDisplay_Impl (void)
+{
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_RETURN (retval,
+ MyImpl::BMDisplay_exec_i,
+ ::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+}
+
/// Default ctor.
MyImpl::BMDisplayHome_exec_impl::BMDisplayHome_exec_impl ()
{
diff --git a/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.h b/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.h
index 47fec9f2cf6..c56d57a3825 100644
--- a/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.h
+++ b/flat/CIAO/examples/BasicSP/BMDisplay/BMDisplay_exec.h
@@ -61,6 +61,9 @@ namespace MyImpl
BasicSP::CCM_BMDisplay_Context_var context_;
};
+ extern "C" BMDISPLAY_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_BasicSP_BMDisplay_Impl (void);
+
/**
* @class BMDisplayHome_exec_impl
*
diff --git a/flat/CIAO/examples/BasicSP/EC/EC_exec.cpp b/flat/CIAO/examples/BasicSP/EC/EC_exec.cpp
index 64a345b9c44..741f9826b5d 100644
--- a/flat/CIAO/examples/BasicSP/EC/EC_exec.cpp
+++ b/flat/CIAO/examples/BasicSP/EC/EC_exec.cpp
@@ -233,6 +233,19 @@ MyImpl::EC_exec_i::pulse (void)
}
}
+extern "C" EC_EXEC_Export ::Components::EnterpriseComponent_ptr
+create_BasicSP_EC_Impl (void)
+{
+ ::Components::EnterpriseComponent_ptr retval =
+ ::Components::EnterpriseComponent::_nil ();
+
+ ACE_NEW_RETURN (retval,
+ MyImpl::EC_exec_i,
+ ::Components::EnterpriseComponent::_nil ());
+
+ return retval;
+}
+
MyImpl::ECHome_exec_i::ECHome_exec_i ()
{
}
diff --git a/flat/CIAO/examples/BasicSP/EC/EC_exec.h b/flat/CIAO/examples/BasicSP/EC/EC_exec.h
index a062995f151..67d0171082b 100644
--- a/flat/CIAO/examples/BasicSP/EC/EC_exec.h
+++ b/flat/CIAO/examples/BasicSP/EC/EC_exec.h
@@ -70,6 +70,9 @@ namespace MyImpl
ACE_Thread_Manager thr_mgr_;
};
+ extern "C" EC_EXEC_Export ::Components::EnterpriseComponent_ptr
+ create_BasicSP_EC_Impl (void);
+
/**
* @class EC_exec_i
*
diff --git a/flat/CIAO/examples/BasicSP/descriptors/BasicSP.cdp b/flat/CIAO/examples/BasicSP/descriptors/BasicSP.cdp
deleted file mode 100644
index 9679a125e55..00000000000
--- a/flat/CIAO/examples/BasicSP/descriptors/BasicSP.cdp
+++ /dev/null
@@ -1,649 +0,0 @@
-<?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">
-
- <UUID>1D6FDF7A-96B6-42C0-8C29-D9135ACD5491</UUID>
-
- <implementation id="_B89013A8-AE19-4719-BC89-A68C5FB57A83">
- <name>BasicSP.ComponentImplementations.BMClosedED.BMClosedED</name>
- <source/>
- <artifact>_2DB384A3-5C66-49DF-8F82-B5197B27B69D</artifact>
- <artifact>_A4A6CF39-DC3C-4FBC-AC22-1F3140506315</artifact>
- <artifact>_E7F6E4B9-39FD-4984-A445-CFAB41B12FCD</artifact>
- </implementation>
-
- <implementation id="_0BA28CFB-6384-4CB8-8802-FBE2265F621C">
- <name>BasicSP.ComponentImplementations.BMDevice.BMDevice</name>
- <source/>
- <artifact>_65B95763-506E-43FF-BF45-74D39F3D6722</artifact>
- <artifact>_224BE213-886F-4B13-93D3-306823AF3CCE</artifact>
- <artifact>_48EAED0D-B445-49B6-A76D-7DFAB05DD062</artifact>
- </implementation>
-
- <implementation id="_E6D5AE4E-0F9A-4BCB-9F8B-83BE7CD7796E">
- <name>BasicSP.ComponentImplementations.BMDisplay_Windows.BMDisplay_Windows</name>
- <source/>
- <artifact>_5015E55E-3D64-4A41-A828-93118654490F</artifact>
- <artifact>_673E9592-F577-4EF4-96E7-A64EA82D2AAE</artifact>
- <artifact>_2621661F-D144-4317-AEEE-118E8AFAAC7E</artifact>
- </implementation>
-
- <implementation id="_903A5BA3-3794-4D58-A5A6-143EEF7EEB2A">
- <name>BasicSP.ComponentImplementations.EC_Windows.EC_Windows</name>
- <source/>
- <artifact>_3F773C52-78B8-49D1-8E0C-8C7DD346B3D9</artifact>
- <artifact>_D2F6D6D3-A06D-426D-A179-484F35A6AE98</artifact>
- <artifact>_DE25A81F-758F-4E23-87A8-C54ED43A36CD</artifact>
- </implementation>
-
- <implementation id="_49DC6AC8-76B6-4166-B953-88CCAED17955">
- <name>BasicSP.ComponentImplementations.BMClosedED_Windows.BMClosedED_Windows</name>
- <source/>
- <artifact>_396EF214-CE5E-4A3B-8F0F-5DB1F6A23F12</artifact>
- <artifact>_6D5A2477-3CD7-4AE6-BB00-D9948E77058B</artifact>
- <artifact>_D1890470-82F5-4832-8C99-2E6DF64C636F</artifact>
- </implementation>
-
- <implementation id="_6E94C415-564F-4DFE-A587-C37248382137">
- <name>BasicSP.ComponentImplementations.BMDevice_Windows.BMDevice_Windows</name>
- <source/>
- <artifact>_62852846-B6C5-4779-9E79-52B67E3DE268</artifact>
- <artifact>_DED02302-3E81-4A6E-B71D-8821D6CEB2FE</artifact>
- <artifact>_5060A846-E6AA-402D-A14C-774B914BF9EF</artifact>
- </implementation>
-
- <implementation id="_5E0BC014-4F05-4374-9B21-03DBA0142B7F">
- <name>BasicSP.ComponentImplementations.BMDisplay.BMDisplay</name>
- <source/>
- <artifact>_EA190017-CEC5-48D4-AB26-34E40E6BCD03</artifact>
- <artifact>_9D3A55F7-B7F9-4612-ABB5-A5FC5B69D710</artifact>
- <artifact>_19089E67-07B1-47C4-A7F4-DC4F3EA81227</artifact>
- </implementation>
-
- <implementation id="_D2F1AA1B-4E16-46AC-9A1B-9F04253F14BD">
- <name>BasicSP.ComponentImplementations.EC.EC</name>
- <source/>
- <artifact>_63C63797-2B3A-46F1-82B5-81DC6FAE6042</artifact>
- <artifact>_219F2FAB-E96E-4CB4-B1F6-22CFFE7667F9</artifact>
- <artifact>_AE86F474-9286-4AA2-8000-2C5813EB65A6</artifact>
- </implementation>
-
- <implementation id="_71359436-E878-492B-86E9-660414403D25">
- <name>BasicSP.ComponentImplementations.BasicSPAsmImplementation.BasicSPAsmMonolithicImpl</name>
- <source/>
- <artifact>_66FB9FB8-EB86-48BD-9378-E0F68F34887B</artifact>
- <artifact>_67BF3864-3AE9-4401-A661-50D2558FF7BF</artifact>
- <artifact>_ADF31B15-6CCE-4BAF-A379-2592EC613B4E</artifact>
- </implementation>
-
- <instance id="BasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED">
- <name>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED</name>
- <node>BMDisplay</node>
- <source/>
- <implementation>_B89013A8-AE19-4719-BC89-A68C5FB57A83</implementation>
- <configProperty>
- <name>ComponentIOR</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>BMClosedED.ior</string>
- </value>
- </value>
- </configProperty>
- </instance>
-
- <instance id="BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDevice">
- <name>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDevice</name>
- <node>BMDisplay</node>
- <source/>
- <implementation>_0BA28CFB-6384-4CB8-8802-FBE2265F621C</implementation>
- <configProperty>
- <name>ComponentIOR</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>BMDevice.ior</string>
- </value>
- </value>
- </configProperty>
- </instance>
-
- <instance id="BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDisplay">
- <name>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDisplay</name>
- <node>BMDisplay</node>
- <source/>
- <implementation>_E6D5AE4E-0F9A-4BCB-9F8B-83BE7CD7796E</implementation>
- <configProperty>
- <name>ComponentIOR</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>BMDisplay.ior</string>
- </value>
- </value>
- </configProperty>
- </instance>
-
- <instance id="BasicSP.ComponentImplementations.BasicSP.BasicSP.EC">
- <name>BasicSP.ComponentImplementations.BasicSP.BasicSP.EC</name>
- <node>EC</node>
- <source/>
- <implementation>_903A5BA3-3794-4D58-A5A6-143EEF7EEB2A</implementation>
- <configProperty>
- <name>ComponentIOR</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>EC.ior</string>
- </value>
- </value>
- </configProperty>
- </instance>
-
- <connection>
- <name>datain_data_readBasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedEDBasicSP.ComponentImplementations.BasicSP.BasicSP.BMDevice</name>
- <internalEndpoint>
- <portName>datain</portName>
- <kind>SimplexReceptacle</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED</instance>
- </internalEndpoint>
- <internalEndpoint>
- <portName>data_read</portName>
- <kind>Facet</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDevice</instance>
- </internalEndpoint>
- </connection>
-
- <connection>
- <name>comp_data_dataoutBasicSP.ComponentImplementations.BasicSP.BasicSP.BMDisplayBasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED</name>
- <internalEndpoint>
- <portName>comp_data</portName>
- <kind>SimplexReceptacle</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDisplay</instance>
- </internalEndpoint>
- <internalEndpoint>
- <portName>dataout</portName>
- <kind>Facet</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED</instance>
- </internalEndpoint>
- </connection>
-
- <connection>
- <name>timeout_timeoutBasicSP.ComponentImplementations.BasicSP.BasicSP.ECBasicSP.ComponentImplementations.BasicSP.BasicSP.BMDevice</name>
- <internalEndpoint>
- <portName>timeout</portName>
- <kind>EventPublisher</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.EC</instance>
- </internalEndpoint>
- <internalEndpoint>
- <portName>timeout</portName>
- <kind>EventConsumer</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDevice</instance>
- </internalEndpoint>
- </connection>
-
- <connection>
- <name>data_available_in_availBasicSP.ComponentImplementations.BasicSP.BasicSP.BMDeviceBasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED</name>
- <internalEndpoint>
- <portName>data_available</portName>
- <kind>EventPublisher</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDevice</instance>
- </internalEndpoint>
- <internalEndpoint>
- <portName>in_avail</portName>
- <kind>EventConsumer</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED</instance>
- </internalEndpoint>
- </connection>
-
- <connection>
- <name>out_avail_data_readyBasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedEDBasicSP.ComponentImplementations.BasicSP.BasicSP.BMDisplay</name>
- <internalEndpoint>
- <portName>out_avail</portName>
- <kind>EventPublisher</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedED</instance>
- </internalEndpoint>
- <internalEndpoint>
- <portName>data_ready</portName>
- <kind>EventConsumer</kind>
- <instance>BasicSP.ComponentImplementations.BasicSP.BasicSP.BMDisplay</instance>
- </internalEndpoint>
- </connection>
-
- <artifact id="_2DB384A3-5C66-49DF-8F82-B5197B27B69D">
- <name>BasicSP.ImplementationArtifacts.BMClosedED.BMClosedED_exec</name>
- <source/>
- <node/>
- <location>BMClosedED_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMClosedEDHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_E7F6E4B9-39FD-4984-A445-CFAB41B12FCD">
- <name>BasicSP.ImplementationArtifacts.BMClosedED.BMClosedED_stub</name>
- <source/>
- <node/>
- <location>BMClosedED_stub</location>
- </artifact>
-
- <artifact id="_A4A6CF39-DC3C-4FBC-AC22-1F3140506315">
- <name>BasicSP.ImplementationArtifacts.BMClosedED.BMClosedED_svnt</name>
- <source/>
- <node/>
- <location>BMClosedED_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMClosedEDHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_396EF214-CE5E-4A3B-8F0F-5DB1F6A23F12">
- <name>BasicSP.ImplementationArtifacts.BMClosedED.BMClosedED_exec_Windows</name>
- <source/>
- <node/>
- <location>BMClosedED_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMClosedEDHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_D1890470-82F5-4832-8C99-2E6DF64C636F">
- <name>BasicSP.ImplementationArtifacts.BMClosedED.BMClosedED_stub_Windows</name>
- <source/>
- <node/>
- <location>BMClosedED_stub</location>
- </artifact>
-
- <artifact id="_6D5A2477-3CD7-4AE6-BB00-D9948E77058B">
- <name>BasicSP.ImplementationArtifacts.BMClosedED.BMClosedED_svnt_Windows</name>
- <source/>
- <node/>
- <location>BMClosedED_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMClosedEDHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_65B95763-506E-43FF-BF45-74D39F3D6722">
- <name>BasicSP.ImplementationArtifacts.BMDevice.BMDevice_exec</name>
- <source/>
- <node/>
- <location>BMDevice_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDeviceHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_224BE213-886F-4B13-93D3-306823AF3CCE">
- <name>BasicSP.ImplementationArtifacts.BMDevice.BMDevice_stub</name>
- <source/>
- <node/>
- <location>BMDevice_stub</location>
- </artifact>
-
- <artifact id="_48EAED0D-B445-49B6-A76D-7DFAB05DD062">
- <name>BasicSP.ImplementationArtifacts.BMDevice.BMDevice_svnt</name>
- <source/>
- <node/>
- <location>BMDevice_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDeviceHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_DED02302-3E81-4A6E-B71D-8821D6CEB2FE">
- <name>BasicSP.ImplementationArtifacts.BMDevice.BMDevice_svnt_Windows</name>
- <source/>
- <node/>
- <location>BMDevice_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDeviceHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_5060A846-E6AA-402D-A14C-774B914BF9EF">
- <name>BasicSP.ImplementationArtifacts.BMDevice.BMDevice_stub_Windows</name>
- <source/>
- <node/>
- <location>BMDevice_stub</location>
- </artifact>
-
- <artifact id="_62852846-B6C5-4779-9E79-52B67E3DE268">
- <name>BasicSP.ImplementationArtifacts.BMDevice.BMDevice_exec_Windows</name>
- <source/>
- <node/>
- <location>BMDevice_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDeviceHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_19089E67-07B1-47C4-A7F4-DC4F3EA81227">
- <name>BasicSP.ImplementationArtifacts.BMDisplay.BMDisplay_exec</name>
- <source/>
- <node/>
- <location>BMDisplay_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDisplayHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_9D3A55F7-B7F9-4612-ABB5-A5FC5B69D710">
- <name>BasicSP.ImplementationArtifacts.BMDisplay.BMDisplay_svnt</name>
- <source/>
- <node/>
- <location>BMDisplay_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDisplayHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_EA190017-CEC5-48D4-AB26-34E40E6BCD03">
- <name>BasicSP.ImplementationArtifacts.BMDisplay.BMDisplay_stub</name>
- <source/>
- <node/>
- <location>BMDisplay_stub</location>
- </artifact>
-
- <artifact id="_2621661F-D144-4317-AEEE-118E8AFAAC7E">
- <name>BasicSP.ImplementationArtifacts.BMDisplay.BMDisplay_exec_Windows</name>
- <source/>
- <node/>
- <location>BMDisplay_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDisplayHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_673E9592-F577-4EF4-96E7-A64EA82D2AAE">
- <name>BasicSP.ImplementationArtifacts.BMDisplay.BMDisplay_svnt_Windows</name>
- <source/>
- <node/>
- <location>BMDisplay_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BMDisplayHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_5015E55E-3D64-4A41-A828-93118654490F">
- <name>BasicSP.ImplementationArtifacts.BMDisplay.BMDisplay_stub_Windows</name>
- <source/>
- <node/>
- <location>BMDisplay_stub</location>
- </artifact>
-
- <artifact id="_219F2FAB-E96E-4CB4-B1F6-22CFFE7667F9">
- <name>BasicSP.ImplementationArtifacts.EC.EC_exec</name>
- <source/>
- <node/>
- <location>EC_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_ECHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_AE86F474-9286-4AA2-8000-2C5813EB65A6">
- <name>BasicSP.ImplementationArtifacts.EC.EC_svnt</name>
- <source/>
- <node/>
- <location>EC_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_ECHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_63C63797-2B3A-46F1-82B5-81DC6FAE6042">
- <name>BasicSP.ImplementationArtifacts.EC.EC_stub</name>
- <source/>
- <node/>
- <location>EC_stub</location>
- </artifact>
-
- <artifact id="_3F773C52-78B8-49D1-8E0C-8C7DD346B3D9">
- <name>BasicSP.ImplementationArtifacts.EC.EC_stub_Windows</name>
- <source/>
- <node/>
- <location>EC_stub</location>
- </artifact>
-
- <artifact id="_D2F6D6D3-A06D-426D-A179-484F35A6AE98">
- <name>BasicSP.ImplementationArtifacts.EC.EC_svnt_Windows</name>
- <source/>
- <node/>
- <location>EC_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_ECHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_DE25A81F-758F-4E23-87A8-C54ED43A36CD">
- <name>BasicSP.ImplementationArtifacts.EC.EC_exec_Windows</name>
- <source/>
- <node/>
- <location>EC_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_ECHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_C1990F73-87B6-42AF-93CA-858EC98A4D87">
- <name>BasicSP.ImplementationArtifacts.CommonArtifacts.BasicSP_stub</name>
- <source/>
- <node/>
- <location/>
- </artifact>
-
- <artifact id="_96FC1B6C-062F-4C29-867F-2C26352279CF">
- <name>BasicSP.ImplementationArtifacts.CommonArtifacts.BasicSP_svnt</name>
- <source/>
- <node/>
- <location/>
- </artifact>
-
- <artifact id="_E7C42E93-353F-4D17-96C5-3DAF63647247">
- <name>BasicSP.ImplementationArtifacts.CommonArtifacts.BasicSP_svnt_Windows</name>
- <source/>
- <node/>
- <location/>
- </artifact>
-
- <artifact id="_5CF0BFBB-81CE-4FA4-85C2-36287EF9495A">
- <name>BasicSP.ImplementationArtifacts.CommonArtifacts.BasicSP_stub_Windows</name>
- <source/>
- <node/>
- <location/>
- </artifact>
-
- <artifact id="_513FCD8E-7AFD-415B-9CB2-913FDD4A90FA">
- <name>BasicSP.ImplementationArtifacts.CommonArtifacts.BasicSP_exec</name>
- <source/>
- <node/>
- <location/>
- </artifact>
-
- <artifact id="_03E19F2A-9CA2-4050-A0D7-5277E3BD9BF2">
- <name>BasicSP.ImplementationArtifacts.CommonArtifacts.BasicSP_exec_Windows</name>
- <source/>
- <node/>
- <location/>
- </artifact>
-
- <artifact id="_66FB9FB8-EB86-48BD-9378-E0F68F34887B">
- <name>BasicSP.ImplementationArtifacts.BasicSPAsmArtifacts.BasicSPAsm_stub</name>
- <source/>
- <node/>
- <location>BasicSPAsm_stub</location>
- </artifact>
-
- <artifact id="_67BF3864-3AE9-4401-A661-50D2558FF7BF">
- <name>BasicSP.ImplementationArtifacts.BasicSPAsmArtifacts.BasicSPAsm_svnt</name>
- <source/>
- <node/>
- <location>BasicSPAsm_svnt</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BasicSPAsmHome_Servant</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
- <artifact id="_ADF31B15-6CCE-4BAF-A379-2592EC613B4E">
- <name>BasicSP.ImplementationArtifacts.BasicSPAsmArtifacts.BasicSPAsm_exec</name>
- <source/>
- <node/>
- <location>BasicSPAsm_exec</location>
- <execParameter>
- <name>entryPoint</name>
- <value>
- <type>
- <kind>tk_string</kind>
- </type>
- <value>
- <string>create_BasicSP_BasicSPAsmHome_Impl</string>
- </value>
- </value>
- </execParameter>
- </artifact>
-
-</Deployment:deploymentPlan>
diff --git a/flat/CIAO/examples/BasicSP/descriptors/BasicSP.dat b/flat/CIAO/examples/BasicSP/descriptors/BasicSP.dat
index f6723ab42fb..2131aeec973 100644
--- a/flat/CIAO/examples/BasicSP/descriptors/BasicSP.dat
+++ b/flat/CIAO/examples/BasicSP/descriptors/BasicSP.dat
@@ -1,2 +1,4 @@
-EC corbaloc:iiop:localhost:10000/NodeManager
-BMDisplay corbaloc:iiop:localhost:20000/NodeManager \ No newline at end of file
+EC corbaloc:iiop:localhost:10000/EC.NodeManager
+BMDisplay corbaloc:iiop:localhost:20000/BMDisplay.NodeManager
+BMClosedED corbaloc:iiop:localhost:30000/BMClosedED.NodeManager
+BMDevice corbaloc:iiop:localhost:40000/BMDevice.NodeManager
diff --git a/flat/CIAO/examples/BasicSP/descriptors/BasicSP_Unhomed.cdp b/flat/CIAO/examples/BasicSP/descriptors/BasicSP_Unhomed.cdp
new file mode 100644
index 00000000000..cab36e8bb0e
--- /dev/null
+++ b/flat/CIAO/examples/BasicSP/descriptors/BasicSP_Unhomed.cdp
@@ -0,0 +1,397 @@
+<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>BasicSP_Unhomed</label>
+ <UUID>BasicSP_Unhomed</UUID>
+
+ <implementation xmi:id="BMDisplayComponentImplementation">
+ <name>BMDisplayComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="BMDisplay_ExecArtifact" />
+ <artifact xmi:idref="BMDisplay_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_BMDisplay_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_BMDisplay_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>BMDisplay_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>BMDisplay_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="BMClosedEDComponentImplementation">
+ <name>BMClosedEDComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="BMClosedED_ExecArtifact" />
+ <artifact xmi:idref="BMClosedED_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_BMClosedED_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_BMClosedED_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>BMClosedED_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>BMClosedED_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="BMDeviceComponentImplementation">
+ <name>BMDeviceComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="BMDevice_ExecArtifact" />
+ <artifact xmi:idref="BMDevice_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_BMDevice_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_BMDevice_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>BMDevice_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>BMDevice_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+
+ <implementation xmi:id="ECComponentImplementation">
+ <name>ECComponentImplementation</name>
+ <source/>
+ <artifact xmi:idref="EC_ExecArtifact" />
+ <artifact xmi:idref="EC_SvntArtifact" />
+ <execParameter>
+ <!-- entrypoint as exec parameter (see 10.6.1) -->
+ <name>component factory</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_EC_Impl</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantEntrypoint</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>create_BasicSP_EC_Servant</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ServantArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>EC_svnt</string>
+ </value>
+ </value>
+ </execParameter>
+ <execParameter>
+ <name>edu.vanderbilt.dre.CIAO.ExecutorArtifact</name>
+ <value>
+ <type>
+ <kind>tk_string</kind>
+ </type>
+ <value>
+ <string>EC_exec</string>
+ </value>
+ </value>
+ </execParameter>
+ </implementation>
+ <instance xmi:id="BMDisplayComponentInstance">
+ <name>BMDisplayComponent</name>
+ <node>BMDisplay</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="BMDisplayComponentImplementation" />
+ </instance>
+ <instance xmi:id="BMClosedEDComponentInstance">
+ <name>BMClosedEDComponent</name>
+ <node>BMClosedED</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="BMClosedEDComponentImplementation" />
+ </instance>
+ <instance xmi:id="BMDeviceComponentInstance">
+ <name>BMDeviceComponent</name>
+ <node>BMDevice</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="BMDeviceComponentImplementation" />
+ </instance>
+ <instance xmi:id="ECComponentInstance">
+ <name>ECComponent</name>
+ <node>EC</node>
+ <!-- hostname -->
+ <source/>
+ <implementation xmi:idref="ECComponentImplementation" />
+ </instance>
+
+ <connection>
+ <name>datain_data_readBasicSP.ComponentImplementations.BasicSP.BasicSP.BMClosedEDBMDeviceComponentInstance</name>
+ <internalEndpoint>
+ <portName>datain</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="BMClosedEDComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>data_read</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="BMDeviceComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>comp_data_dataoutBMDisplayComponentInstanceBMDisplayComponentInstance</name>
+ <internalEndpoint>
+ <portName>comp_data</portName>
+ <provider>false</provider>
+ <kind>SimplexReceptacle</kind>
+ <instance xmi:idref="BMDisplayComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>dataout</portName>
+ <provider>true</provider>
+ <kind>Facet</kind>
+ <instance xmi:idref="BMClosedEDComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>timeout_timeoutECComponentInstanceBMDeviceComponentInstance</name>
+ <internalEndpoint>
+ <portName>timeout</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance xmi:idref="ECComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>timeout</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="BMDeviceComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>data_available_in_availBMDeviceComponentInstanceBMDisplayComponentInstance</name>
+ <internalEndpoint>
+ <portName>data_available</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance xmi:idref="BMDeviceComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>in_avail</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="BMClosedEDComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <connection>
+ <name>out_avail_data_readyBMDisplayComponentInstanceBMDisplayComponentInstance</name>
+ <internalEndpoint>
+ <portName>out_avail</portName>
+ <provider>false</provider>
+ <kind>EventPublisher</kind>
+ <instance xmi:idref="BMClosedEDComponentInstance" />
+ </internalEndpoint>
+ <internalEndpoint>
+ <portName>data_ready</portName>
+ <provider>true</provider>
+ <kind>EventConsumer</kind>
+ <instance xmi:idref="BMDisplayComponentInstance" />
+ </internalEndpoint>
+ </connection>
+
+ <artifact xmi:id="BMDisplay_ExecArtifact">
+ <name>BMDisplay_exec</name>
+ <source/>
+ <node/>
+ <location>BMDisplay_exec</location>
+ </artifact>
+ <artifact xmi:id="BMDisplay_SvntArtifact">
+ <name>BMDisplay_svnt</name>
+ <source/>
+ <node/>
+ <location>BMDisplay_svnt</location>
+ </artifact>
+ <artifact xmi:id="BMDisplay_StubArtifact">
+ <name>BMDisplay_stub</name>
+ <source/>
+ <node/>
+ <location>BMDisplay_stub</location>
+ </artifact>
+ <artifact xmi:id="BMClosedED_ExecArtifact">
+ <name>BMClosedED_exec</name>
+ <source/>
+ <node/>
+ <location>BMClosedED_exec</location>
+ </artifact>
+ <artifact xmi:id="BMClosedED_SvntArtifact">
+ <name>BMClosedED_svnt</name>
+ <source/>
+ <node/>
+ <location>BMClosedED_svnt</location>
+ </artifact>
+ <artifact xmi:id="BMClosedED_StubArtifact">
+ <name>BMClosedED_stub</name>
+ <source/>
+ <node/>
+ <location>BMClosedED_stub</location>
+ </artifact>
+ <artifact xmi:id="EC_ExecArtifact">
+ <name>EC_exec</name>
+ <source/>
+ <node/>
+ <location>EC_exec</location>
+ </artifact>
+ <artifact xmi:id="EC_SvntArtifact">
+ <name>EC_svnt</name>
+ <source/>
+ <node/>
+ <location>EC_svnt</location>
+ </artifact>
+ <artifact xmi:id="EC_StubArtifact">
+ <name>EC_stub</name>
+ <source/>
+ <node/>
+ <location>EC_stub</location>
+ </artifact>
+ <artifact xmi:id="BMDevice_ExecArtifact">
+ <name>BMDevice_exec</name>
+ <source/>
+ <node/>
+ <location>BMDevice_exec</location>
+ </artifact>
+ <artifact xmi:id="BMDevice_SvntArtifact">
+ <name>BMDevice_svnt</name>
+ <source/>
+ <node/>
+ <location>BMDevice_svnt</location>
+ </artifact>
+ <artifact xmi:id="BMDevice_StubArtifact">
+ <name>BMDevice_stub</name>
+ <source/>
+ <node/>
+ <location>BMDevice_stub</location>
+ </artifact>
+</Deployment:DeploymentPlan> \ No newline at end of file
diff --git a/flat/CIAO/examples/BasicSP/descriptors/run_test.pl b/flat/CIAO/examples/BasicSP/descriptors/run_test.pl
index 668207a717a..c4622e41b73 100755
--- a/flat/CIAO/examples/BasicSP/descriptors/run_test.pl
+++ b/flat/CIAO/examples/BasicSP/descriptors/run_test.pl
@@ -1,6 +1,6 @@
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
- & eval 'exec perl -S $0 $argv:q'
- if 0;
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
# $Id$
# -*- perl -*-
@@ -14,107 +14,88 @@ $DAnCE = "$ENV{'CIAO_ROOT'}/DAnCE";
$daemons_running = 0;
$em_running = 0;
$ns_running = 0;
-$pl_running = 0;
-$daemons = 2;
-@ports = ( 10000, 20000 );
-@iorfiles = ( "NodeManager1.ior", "NodeManager2.ior" );
-@componentiorfiles = ("BMDevice.ior", "BMDisplay.ior", "BMClosedED.ior", "EC.ior");
-
+$daemons = 4;
+@ports = ( 10000, 20000, 30000, 40000 );
+@iorfiles = ( "NodeApp1.ior", "NodeApp2.ior", "NodeApp3.ior", "NodeApp4.ior" );
+@nodenames = ( "EC", "BMDisplay", "BMClosedED", "BMDevice" );
$status = 0;
$dat_file = "BasicSP.dat";
-$cdp_file = "BasicSP.cdp";
-$emior_file = "EM.ior";
-$nsior_file = "ns.ior";
-$damior_file = "DAM.ior";
-$controller_exec = "$CIAO_ROOT/examples/BasicSP/EC/controller";
+$cdp_file = "BasicSP_Unhomed.cdp";
+$controller_exec = "$CIAO_ROOT/examples/BasicSP/";
+
+$nsior = PerlACE::LocalFile ("ns.ior");
-$nsior = PerlACE::LocalFile ($nsior_file);
-$emior = PerlACE::LocalFile ($emior_file);
-$damior = PerlACE::LocalFile ($damior_file);
+unlink $nsior;
-$PL = 0;
+$E = 0;
$EM = 0;
# Delete if there are any .ior files.
sub delete_ior_files {
- for ($i = 0; $i < @iorfiles; ++$i) {
+ for ($i = 0; $i < $daemons; ++$i) {
unlink $iorfiles[$i];
}
- for ($i = 0; $i < @componentiorfiles; ++$i) {
- unlink $componentiorfiles[$i];
- }
- unlink $nsior;
- unlink $emior;
- unlink $damior;
-}
-
-sub run_node_daemons {
- for ($i = 0; $i < @iorfiles; ++$i) {
- $iorfile = $iorfiles[$i];
- $port = $ports[$i];
-
- $iiop = "iiop://localhost:$port";
- $node_app = "$CIAO_ROOT/bin/NodeApplication";
-
- $d_cmd = "$CIAO_ROOT/bin/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;
+ 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);
- }
+ 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 ($daemons_running == 1) {
+ kill_node_daemons ();
+ }
- if ($em_running == 1) {
- $EM->Kill ();
- $EM->TimedWait (1);
- }
+ if ($em_running == 1) {
+ $EM->Kill ();
+ $EM->TimedWait (1);
+ }
- if ($ns_running == 1) {
- $NS->Kill ();
- $NS->TimedWait (1);
- }
-
- if ($pl1_running == 1) {
- $PL1->Kill();
- $PL1->TimedWait (1);
- }
+ if ($ns_running == 1) {
+ $NS->Kill ();
+ $NS->TimedWait (1);
+ }
- if ($pl2_running == 1) {
- $PL2->Kill();
- $PL2->TimedWait (1);
- }
+}
- delete_ior_files();
+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 --instance-nc corbaloc:rir:/NameService";
+ print "$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");
@@ -123,7 +104,8 @@ $NS->Spawn ();
print STDERR "Starting Naming Service\n";
-if (PerlACE::waitforfile_timed ($nsior, $PerlACE::wait_interval_for_process_creation) == -1) {
+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;
@@ -134,25 +116,26 @@ $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;
+ 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 ("$CIAO_ROOT/bin/Execution_Manager",
- "-o $emior_file -i $dat_file");
+$EM = new PerlACE::Process ("$DAnCE/bin/dance_execution_manager",
+ "-eEM.ior --node-map $dat_file");
$EM->Spawn ();
-if (PerlACE::waitforfile_timed ("$emior_file",
+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";
@@ -162,43 +145,31 @@ if (PerlACE::waitforfile_timed ("$emior_file",
$em_running = 1;
-# Deploy the application
-print "Invoking plan_launcher - deploy the application -\n";
-$PL1 =
- new PerlACE::Process ("$CIAO_ROOT/bin/plan_launcher",
- "-p $cdp_file -k file://$emior_file -o $damior_file");
-$PL1->Spawn ();
+# Invoke executor - start the application -.
+print "Invoking executor - start the application -\n";
+$E =
+ new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher",
+ "-x $cdp_file -k file://EM.ior");
-$pl1_running = 1;
+$E->SpawnWaitKill (5000);
-if (PerlACE::waitforfile_timed ("$damior_file",
- $PerlACE::wait_interval_for_process_creation) == -1) {
- print STDERR
- "ERROR: The ior file of domain application manager could not be found\n";
+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;
}
-
-sleep (10);
-
-# Invoke executor - start the application -.
-print "Starting the application\n";
-$controller = new PerlACE::Process ("$controller_exec",
- "-k file://$componentiorfiles[3] -o");
-$result = $controller->SpawnWaitKill (3000);
-
-if ($result != 0) {
- print STDERR "ERROR: The controller returned $result\n";
- $status = 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;
}
-sleep (10);
-
-# Invoke executor - stop the application -.
-print "Stopping the application\n";
-$controller = new PerlACE::Process ("$controller_exec",
- "-k file://$componentiorfiles[3] -f");
+print "Invoking the controller\n";
+$controller = new PerlACE::Process ("$controller_exec", "-k file://Sender.ior");
$result = $controller->SpawnWaitKill (3000);
if ($result != 0) {
@@ -207,14 +178,16 @@ if ($result != 0) {
}
# Invoke executor - stop the application -.
-print "Invoking plan_launcher - tearing down the application\n";
-$PL2 =
- new PerlACE::Process ("$CIAO_ROOT/bin/plan_launcher",
- "-k file://$emior_file -p $cdp_file -i file://$damior_file");
-$PL2->Spawn();
+print "Invoking executor - stop the application -\n";
+$E =
+ new PerlACE::Process ("$DAnCE/bin/dance_plan_launcher",
+ "-k file://EM.ior -x $cdp_file -q");
+$E->SpawnWaitKill (3000);
-$pl2_running = 1;
+print "Executor returned.\n";
+print "Shutting down rest of the processes.\n";
-sleep(5);
+delete_ior_files ();
+kill_open_processes ();
-kill_open_processes();
+exit $status;