diff options
Diffstat (limited to 'CIAO/docs/static_dance.html')
-rw-r--r-- | CIAO/docs/static_dance.html | 214 |
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&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&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&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&C -process using the DAnCE framework. This is the standard D&C -process as specified in the CCM D&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&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 </li> - <li>Generate the static function entrypoints (plan.h)<br> - <span style="font-family: monospace;">> cd -$CIAO_ROOT/examples/Hello/descriptors</span><span - style="font-family: monospace;"><br> -> <span style="font-family: "times new roman",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;">> 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> -> cd $CIAO_ROOT/DAnCE/StaticConfigurator</span><br - style="font-family: monospace;"> - <span style="font-family: monospace;"></span><span - style="font-family: monospace;">> cp StaticDAnCEApp.cpp.tmpl -StaticDAnCEApp.cpp</span><br style="font-family: monospace;"> - <span style="font-family: monospace;">> cp -StaticDAnCEApp.mpc.tmpl StaticDAnCEApp.mpc<br> -> $ACE_ROOT/bin/mwc.pl<br> -> 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 <span style="font-family: monospace;"> -$CIAO_ROOT/examples/Hello/descriptors/TestNodeManagerMap.dat </span><br> -> <span style="font-family: monospace;">cd -$CIAO_ROOT/DAnCE/StaticConfigurator<br> -> ./StaticDAnCEApp -ORBEndpoint iiop://localhost:60001 &<br> - </span><span style="font-family: monospace;">> ./StaticDAnCEApp --ORBEndpoint iiop://localhost:60002 &</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 <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;">> cd -$CIAO_ROOT/examples/Hello/descriptors<br> -> ./</span><span style="font-family: monospace;">run_test_without_ns.pl</span></li> -</ol> -<br> -<p></p> -</body> -</html> |