summaryrefslogtreecommitdiff
path: root/CIAO/docs/static_dance.html
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/docs/static_dance.html')
-rw-r--r--CIAO/docs/static_dance.html214
1 files changed, 0 insertions, 214 deletions
diff --git a/CIAO/docs/static_dance.html b/CIAO/docs/static_dance.html
deleted file mode 100644
index 3bd6433e133..00000000000
--- a/CIAO/docs/static_dance.html
+++ /dev/null
@@ -1,214 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
- <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
- <title></title>
-<!-- $Id$ -->
- <meta name="GENERATOR" content="OpenOffice.org 1.1.2 (Linux)">
- <meta name="CREATED" content="20041128;11452700">
- <meta name="CHANGED" content="20041210;11524200">
- <style>
- <!--
- @page { size: 8.5in 11in; margin-left: 1.25in; margin-right: 1.25in; margin-top: 1in; margin-bottom: 1in }
- P { margin-bottom: 0.08in }
- H2.western { font-family: "Times New Roman", serif }
- H2.cjk { font-family: "Arial Unicode MS" }
- H2.ctl { font-family: "Tahoma" }
- H3.western { font-family: "Times New Roman", serif }
- H3.cjk { font-family: "Arial Unicode MS" }
- H3.ctl { font-family: "Tahoma" }
- -->
- </style>
-</head>
-<body dir="ltr" lang="en-US">
-<h2 class="western" align="center">CIAO Static Configuration Support
-with DanCE for Real-Time Platforms </h2>
-<h3 class="western">1. Introduction</h3>
-<p>The dynamic packaging, assembly, and deployment mechanisms
-currently available in CIAO are useful for application domains where
-component metadata is less likely to be known a priori, where
-implementation upgrades may need to be performed on-line, and where
-platform features like loading and unloading dynamic libraries are
-both available and useful. We have already incorporated <a
- href="http://www.cs.wustl.edu/%7Eschmidt/ACE_wrappers/TAO/CIAO/docs/static_ciao_index.html">static
-configuration support</a> for component configuration in CIAO on
-platforms like VxWorks, as a set of optional strategies and
-optimizations to the existing CIAO configuration capabilities (). In
-this white paper, we discuss implementation details for extending the
-static configuration capabilities as part of the new DanCE (D&amp;C
-support available with CIAO) framework.</p>
-<p>The fundamental intuition in understanding our approach is that in
-DRE systems the stages of the overall system lifecycle are similar to
-those in more dynamic conventional component-oriented client-server
-applications.However, in DRE systems several phases of the system
-lifecycle are compressed into the compile-time and
-system-initialization phases, so that (1) for testing and
-verification purposes the set of components in an application can be
-identified and analyzed before run-time, and (2) overheads for
-run-time operation following initialization are reduced and made more
-predictable. Furthermore, due to the nuances of the platforms
-traditionally used for deploying DRE systems, not all features of
-conventional platforms are available. Our approach therefore avoids
-certain mechanisms that are either unavailable or too costly in terms
-of performance. We follow these intuitions in our approach, taking
-the existing configuration phases in CIAO and pushing several of them
-earlier in the configuration lifecycle.</p>
-<h3 class="western">2. Current D&amp;C in CIAO with DanCE</h3>
-<p><img src="imgs/dance_arch.jpg" name="Graphic2"
- style="border: 0px solid ; width: 600px; height: 400px;" alt=""
- align="left"><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br><b>Figure 1.</b> <b>Current D&amp;C process using DAnCE</b></p>
-One of the key concerns while supporting the static configuration
-within the DAnCE framework is to reuse the existing components in the
-DAnCE framework as much as possible. Figure 1 shows the current D&amp;C
-process using the DAnCE framework. This is the standard D&amp;C
-process as specified in the CCM D&amp;C specification.As seen from
-the figure, there are multiple processes (Executor, ExecutionManager,
-NodeManagers and NodeApplications) that are involved.
-<h3 class="western">3. Static Configuration with DanCE</h3>
-<p><img src="imgs/static_dance_arch.jpg" name="Graphic3"
- style="border: 0px solid ; width: 800px; height: 800px;" alt=""
- align="left"><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br>
-</p>
-<p><br><b>Figure 2.</b> <b>Static D&amp;C in DAnCE</b></p>
-<p>Figure 2 shows the static configuration approach in DAnCE. Here,
-the flattened deployment plan (.cdp) is parsed offline by an offline
-parser ($CIAO_ROOT/StaticConfigurator/StaticDAnCEParser) using the
-same XML parser classes that the dynamic configuration uses. The
-output of the parser is a C++ plan.h file, which contains the function
-entry points for home and home servant creation. The assumption here
-is that all the necessary (component implementations and other)
-libraries are statically linked to the driver application (see a
-template in
-$CIAO_ROOT/DAnCE/StaticConfigurator/StaticDAnCEApp.cpp.tmpl). </p>
-<p>The driver application is essentially a NodeManager which can be
-used to do deployment just the same as in DAnCE. To achieve maximum
-reusability of the existing classes in the DAnCE framework, we use
-the class hierarchy shown in Figure 3. </p>
-<br>
-<b></b>
-<p style="page-break-before: always;" align="left"><img
- src="imgs/static_dance_impl.jpg" name="Graphic1"
- style="border: 0px solid ; width: 700px; height: 700px;" alt=""
- align="left"><br clear="left">
-<b>Figure 3. New class hierarchy to accommodate static configuration
-within DAnCE<br>
-</b></p>
-<h3 class="western">3.Example</h3>
-<p>To run the static version of Hello example, do the following,<br>
-</p>
-<ol>
- <li>Build ACE+TAO+CIAO statically</li>
- <li>Build $CIAO_ROOT/examples/Hello&nbsp;</li>
- <li>Generate the static function entrypoints (plan.h)<br>
- <span style="font-family: monospace;">&gt; cd
-$CIAO_ROOT/examples/Hello/descriptors</span><span
- style="font-family: monospace;"><br>
-&gt; <span style="font-family: &quot;times new roman&quot;,serif;"><span
- style="font-weight: bold;"></span></span>$CIAO_ROOT/DAnCE/StaticConfigurator/StaticDAnCEParser
--p flattened_deploymentplan_without_ns.cdp</span><br>
- <span style="font-family: monospace;">&gt; cp plan.h <span
- style="font-weight: bold;"></span>$CIAO_ROOT/DAnCE/StaticConfigurator/</span><br>
- </li>
- <li>Build the static NodeManager for Hello example<span
- style="font-family: monospace;"><br>
-&gt; cd $CIAO_ROOT/DAnCE/StaticConfigurator</span><br
- style="font-family: monospace;">
- <span style="font-family: monospace;"></span><span
- style="font-family: monospace;">&gt; cp StaticDAnCEApp.cpp.tmpl
-StaticDAnCEApp.cpp</span><br style="font-family: monospace;">
- <span style="font-family: monospace;">&gt; cp
-StaticDAnCEApp.mpc.tmpl StaticDAnCEApp.mpc<br>
-&gt; $ACE_ROOT/bin/mwc.pl<br>
-&gt; make<br>
- </span></li>
- <li>Run the static node managers. Note that the <span
- style="font-family: monospace;">ORBEndpoint</span> values should
-correspond to the ones in&nbsp;<span style="font-family: monospace;">
-$CIAO_ROOT/examples/Hello/descriptors/TestNodeManagerMap.dat </span><br>
-&gt; <span style="font-family: monospace;">cd
-$CIAO_ROOT/DAnCE/StaticConfigurator<br>
-&gt; ./StaticDAnCEApp -ORBEndpoint iiop://localhost:60001 &amp;<br>
- </span><span style="font-family: monospace;">&gt; ./StaticDAnCEApp
--ORBEndpoint iiop://localhost:60002 &amp;</span><br>
- </li>
- <li>Do the deployment. This is just the same as the non-static
-version of DAnCE except that we have the NodeManagers already running
-and need not spawn node managers. To accomplish this, change&nbsp; <span
- style="font-family: monospace;">$CIAO_ROOT/examples/Hello/descriptors/run_test_without_ns.pl
-to <span style="font-weight: bold;">*not*</span> run the node manager
-daemons.<br>
- </span><span style="font-family: monospace;">&gt; cd
-$CIAO_ROOT/examples/Hello/descriptors<br>
-&gt; ./</span><span style="font-family: monospace;">run_test_without_ns.pl</span></li>
-</ol>
-<br>
-<p></p>
-</body>
-</html>