summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-08-04 21:46:22 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-08-04 21:46:22 +0000
commitd5248dad5c0f7787bd5c24bdf24ff412f1c5cc72 (patch)
tree997aaedd5b9c70e4ae3da7fb798036252dbcd8b9
parenta6fa5d11395d96399c32d872d270428315247071 (diff)
downloadATCD-d5248dad5c0f7787bd5c24bdf24ff412f1c5cc72.tar.gz
Fri Aug 4 21:40:46 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
-rw-r--r--CIAO/ChangeLog11
-rw-r--r--CIAO/docs/tutorials/CoSMIC/01.html254
-rw-r--r--CIAO/docs/tutorials/CoSMIC/02.html669
-rw-r--r--CIAO/docs/tutorials/CoSMIC/03.html137
-rw-r--r--CIAO/docs/tutorials/CoSMIC/04.html118
-rw-r--r--CIAO/docs/tutorials/CoSMIC/index.html261
-rw-r--r--CIAO/docs/tutorials/CoSMIC/style.css15
7 files changed, 689 insertions, 776 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog
index 1cf1d09f1e2..9e97f2da2af 100644
--- a/CIAO/ChangeLog
+++ b/CIAO/ChangeLog
@@ -1,3 +1,14 @@
+Fri Aug 4 21:40:46 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu>
+
+ * docs/tutorials/CoSMIC/01.html
+ * docs/tutorials/CoSMIC/02.html
+ * docs/tutorials/CoSMIC/03.html
+ * docs/tutorials/CoSMIC/04.html
+ * docs/tutorials/CoSMIC/style.css
+ * docs/tutorials/CoSMIC/index.html
+
+ Style fixes, grammatical and spelling corrections, clarifications.
+
Thu Aug 3 20:38:39 UTC 2006 Nanbor Wang <nanbor (at) txcorp (dot) com>
* DAnCE/NodeManager/NodeManager_Impl.cpp:
diff --git a/CIAO/docs/tutorials/CoSMIC/01.html b/CIAO/docs/tutorials/CoSMIC/01.html
index e43e2c148a8..8423a2175fd 100644
--- a/CIAO/docs/tutorials/CoSMIC/01.html
+++ b/CIAO/docs/tutorials/CoSMIC/01.html
@@ -1,125 +1,139 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<!-- $Id$ -->
+ <meta name="generator" content=
+ "HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" />
+ <!-- $Id$ -->
+
<title>Getting Started</title>
</head>
-<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"
- link="#000fff" vlink="#ff0f0f">
-<h3>Getting Started<br>
-</h3>
-<b>Writing IDL files</b><br>
-<br>
-We will start from writing the idl file for each
-component. <br>
-&nbsp;&nbsp;&nbsp;1. Create a directory named <code> <span
- style="font-style: italic;">MyQuoter</span></code><span
- style="font-style: italic;">.</span><br>
-&nbsp;&nbsp;&nbsp;2. In <code style="font-style: italic;">MyQuoter</code><span
- style="font-style: italic;"> </span>directory, create one
-directory <span style="font-style: italic;">Stock_Base</span> <code></code>for
-the base idl <code></code>and two more directories <span
- style="font-style: italic;">Broker</span>, <span
- style="font-style: italic;">Distributor </span>for each
-component<code></code>. In <code style="font-style: italic;">MyQuoter/Stock_Base</code>,
-place an idl file <code style="font-style: italic;">Stock_Base.idl</code>
-that
-you could copy from <a
- href="../Quoter/Simple/Stock_Base/Stock_Base.idl">here</a>.
-This file defines the interfaces and events that will be used by both
-Stock Distributor and Stock Broker. We put together the
-common interface definitions so the base library can be shared by both
-components, reducing the size of "real" components. <br>
-&nbsp;&nbsp;&nbsp;3. In <code style="font-style: italic;">MyQuoter/Distributor</code>,
-place an idl
-file <code style="font-style: italic;">Distributor.idl</code> that
-looks like <a href="../Quoter/Simple/Distributor/Distributor.idl">this</a>.
-This file defines the StockDistributor component interfaces.<br>
-&nbsp;&nbsp;&nbsp;4. In <code style="font-style: italic;">MyQuoter/Broker</code>
-place an idl
-file <code><span style="font-style: italic;">Broker.id</span>l</code>
-that looks like <a href="../Quoter/Simple/Broker/Broker.idl">this</a>.
-This file defines the StockBroker component interface.<br>
-<br>
-<b>Importing IDL to PICML</b><br>
-<br>
-&nbsp;&nbsp; To quick start our Stock Quoter
-modeling process in GME, CoSMIC introduces <i style=""><span
- style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;" lang="EN-US">idl_to_picml
-</span></i>, which is an executable program that imports the IDL files
-you just created into PICML. <br>
-&nbsp;&nbsp;&nbsp; 1. Make sure <code>%COSMIC_ROOT%\bin</code> is
-included in the
-PATH variable, e.g., c:\Program Files\ISIS\CoSMIC\bin. <br>
-&nbsp;&nbsp;&nbsp; 2. Open a command prompt, run VCVARS32.BAT from the
-MSVC .NET folder if you haven't done so. It will set the environment
-for using Microsoft Visual Studio .NET tools so that <span
- style="font-style: italic;">idl_to_picml</span> works
-properly.<br>
-in my machine, VCVARS32.bat is in C:\Program Files\Microsoft Visual
-Studio .NET 2003\Vc7\bin<br>
-&nbsp;&nbsp;&nbsp; 3. In the same command prompt, change directory to <code>MyQuoter\</code>,
-and type the following
-command:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt; <span
- style="font-family: monospace;">idl_to_picml</span><code> -x MyQuoter
-.\Stock_Base\Stock_Base.idl .\Broker\Broker.idl
-.\Distributor\Distributor.idl -I .\Stock_Base<br>
-&nbsp;&nbsp; (if the above command does not work, you may also try this<br>
-&nbsp;&nbsp; &gt;idl_to_picml -x MyQuoter .\Stock_Base\Stock_Base.idl
-.\Broker\Broker.idl
-.\Distributor\Distributor.idl&nbsp; -I .\Stock_Base -I %TAO_ROOT%
--I %TAO_ROOT%\orbsvcs -I %CIAO_ROOT%\ciao)</code><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span
- style="font-style: italic;">idl_to_picml</span>
-will parse
-your IDL files and generated a <code>MyQuoter.xme</code> file in the <code>MyQuoter</code>
-directory. Note that if -x option is not used, the default xme file
-name will be <span
- style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;" lang="EN-US">PICML_default_xme_file.xme.</span><br>
-&nbsp;&nbsp;&nbsp; 4. Start GME, select <strong>File-&gt;Import xml..</strong>,
-and choose
-the xme file just generated. You should be able to see an imported
-PICML model similar to the one shown in Figure 2.<br>
-<br>
-<div style="text-align: center;"><img alt="" src="Images/fig2.jpg"
- style="width: 781px; height: 635px;"><br>
-<br>
-Figure 2<br>
-<div style="text-align: left;">&nbsp;&nbsp;&nbsp;&nbsp; In the Browser
-of the generated model, the <em>PredefinedTypes
-</em>folder contains a bunch of atomic datatype elements that will be
-referenced by other modeling parts later. You don't have to worry about
-them for now. The models in <em>InterfaceDefinitions</em> folder
-are the PICML representations ofthe IDL files you just imported.
-Double-click to open <em>Broker</em>, it will show you
-a white, document-like entity which represents a
-&lt;&lt;FileRef&gt;&gt; instance and a yellow box-shaped entity
-representing a &lt;&lt;Package&gt;&gt; instance. Their equivalent
-representations in IDL files are "#include" and "module" respectively.
-Figure 3 gives you a clear view of
-GME representation of all the 3 idl files created. We will cover the
-other folders in the next section. <br>
-<div style="text-align: center;"><img alt="" src="Images/fig3.jpg"
- style="width: 223px; height: 336px;"><br>
-<br>
-Figure 3<br>
-<br>
-<div style="text-align: left;">Now we are ready to model the rest of
-the Stock Quoter systems. <br>
-<br>
-<br>
-</div>
-</div>
-<span style="font-weight: bold;"><span style="font-weight: bold;"></span></span></div>
-</div>
-<big><big><small><span style="font-weight: bold;"><small><span
- style="font-weight: bold;"><span style="font-weight: bold;"></span></span></small></span></small></big></big>&nbsp;&nbsp;&nbsp;
-<br style="font-style: italic;">
-<hr style="font-style: italic;">
-<address><a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br>
-</a></address>
-<!-- Created: Sat Nov 27 15:25:06 CST 1999 --><!-- hhmts start -->
-Last modified:<!-- hhmts end -->
+
+<body style=
+"color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link=
+"#000FFF" vlink="#FF0F0F">
+ <h3>Getting Started<br /></h3><b>Writing IDL files</b><br />
+ <br />
+ We will start from writing the idl file for each component.<br />
+
+ <ol>
+ <li>Create a directory named <code><span style=
+ "font-style: italic;">MyQuoter</span></code><span style=
+ "font-style: italic;">.</span></li>
+
+ <li>In <code style="font-style: italic;">MyQuoter</code>
+ directory, create one directory <span style=
+ "font-style: italic;">Stock_Base</span> for the base idl and
+ two more directories <span style=
+ "font-style: italic;">Broker</span>, <span style=
+ "font-style: italic;">Distributor</span> for each component. In
+ <code style="font-style: italic;">MyQuoter/Stock_Base</code>,
+ place an idl file <code style=
+ "font-style: italic;">Stock_Base.idl</code> that you could copy
+ from <a href=
+ "../Quoter/Simple/Stock_Base/Stock_Base.idl">here</a>. This
+ file defines the interfaces and events that will be used by
+ both Stock Distributor and Stock Broker.</li>
+
+ <li style="list-style: none">We put together the common
+ interface definitions so the base library can be shared by both
+ components, reducing the size of "real" components.<br /></li>
+
+ <li>In <code style=
+ "font-style: italic;">MyQuoter/Distributor</code>, place an idl
+ file <code style="font-style: italic;">Distributor.idl</code>
+ that looks like <a href=
+ "../Quoter/Simple/Distributor/Distributor.idl">this</a>. This
+ file defines the StockDistributor component
+ interfaces.<br /></li>
+
+ <li>In <code style="font-style: italic;">MyQuoter/Broker</code>
+ place an idl file <code><span style=
+ "font-style: italic;">Broker.id</span>l</code> that looks like
+ <a href="../Quoter/Simple/Broker/Broker.idl">this</a>. This
+ file defines the StockBroker component interface.<br /></li>
+ </ol><br />
+ <b>Importing IDL to PICML</b><br />
+ <br />
+ &nbsp;&nbsp; To quick start our Stock Quoter modeling process in
+ GME, CoSMIC introduces <em>idl_to_picml</em> , which is an
+ executable program that imports the IDL files you just created
+ into PICML.<br />
+
+ <ol>
+ <li>Make sure <code>%COSMIC_ROOT%\bin</code> is included in the
+ PATH variable, e.g., c:\Program
+ Files\ISIS\CoSMIC\bin.<br /></li>
+
+ <li>Open a command prompt, run VCVARS32.BAT from the MSVC .NET
+ folder if you haven't done so. It will set the environment for
+ using Microsoft Visual Studio .NET tools so that <span style=
+ "font-style: italic;">idl_to_picml</span> works properly.<br />
+ in my machine, VCVARS32.bat is in C:\Program Files\Microsoft
+ Visual Studio .NET 2003\Vc7\bin<br /></li>
+
+ <li>In the same command prompt, change directory to
+ <code>MyQuoter\</code>, and type the following command:<br />
+ &nbsp;&nbsp; &gt; <kbd>-x MyQuoter .\Stock_Base\Stock_Base.idl
+ .\Broker\Broker.idl .\Distributor\Distributor.idl -I
+ .\Stock_Base</kbd><br />
+ &nbsp;&nbsp; (if the above command does not work, you may also
+ try this<br />
+ &nbsp;&nbsp; &gt;<kbd>idl_to_picml -x MyQuoter
+ .\Stock_Base\Stock_Base.idl .\Broker\Broker.idl
+ .\Distributor\Distributor.idl&nbsp; -I .\Stock_Base -I
+ %TAO_ROOT% -I %TAO_ROOT%\orbsvcs -I
+ %CIAO_ROOT%\ciao)</kbd><br />
+ &nbsp; <em>idl_to_picml</em> will parse your IDL files and
+ generated a <code>MyQuoter.xme</code> file in the
+ <code>MyQuoter</code> directory. Note that if -x option is not
+ used, the default xme file name will be
+ <code>PICML_default_xme_file.xme.</code><br />
+ 4. Start GME, select <strong>File-&gt;Import xml..</strong>,
+ and choose the xme file just generated. You should be able to
+ see an imported PICML model similar to the one shown in Figure
+ 2.<br /></li>
+ </ol><br />
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig2.jpg" style=
+ "width: 781px; height: 635px;" /><br />
+ <br />
+ Figure 2<br />
+ </div>
+
+ <p>&nbsp; In the Browser of the generated model, the
+ <em>PredefinedTypes</em> folder contains a bunch of atomic
+ datatype elements that will be referenced by other modeling parts
+ later. You don't have to worry about them for now. The models in
+ <em>InterfaceDefinitions</em> folder are the PICML
+ representations ofthe IDL files you just imported. Double-click
+ to open <em>Broker</em>, it will show you a white, document-like
+ entity which represents a &lt;&lt;FileRef&gt;&gt; instance and a
+ yellow box-shaped entity representing a &lt;&lt;Package&gt;&gt;
+ instance. Their equivalent representations in IDL files are
+ "#include" and "module" respectively. Figure 3 gives you a clear
+ view of GME representation of all the 3 idl files created. We
+ will cover the other folders in the next section.</p>
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig3.jpg" style=
+ "width: 223px; height: 336px;" /><br />
+ <br />
+ Figure 3<br />
+ <br />
+ </div>Now we are ready to model the rest of the Stock Quoter
+ systems.<br />
+ <br />
+ <br />
+ <br />
+ <hr />
+
+ <address>
+ <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /></a>
+ </address><!-- Created: Sat Nov 27 15:25:06 CST 1999 -->
+ <!-- hhmts start -->
+ Last modified:<!-- hhmts end -->
</body>
</html>
diff --git a/CIAO/docs/tutorials/CoSMIC/02.html b/CIAO/docs/tutorials/CoSMIC/02.html
index 6c8cee01aa2..6c5dadec9c0 100644
--- a/CIAO/docs/tutorials/CoSMIC/02.html
+++ b/CIAO/docs/tutorials/CoSMIC/02.html
@@ -1,422 +1,255 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <title>Building a Stock Quoter with TAO - A Tutorial</title>
-<!-- $Id$ -->
+ <meta name="generator" content="HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" />
+
+ <title>Building a Stock Quoter with TAO - A Tutorial</title><!-- $Id$ -->
+ <link rel="stylesheet" type="text/css" href="style.css" />
</head>
-<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"
- link="#000fff" vlink="#ff0f0f">
-<h3>Building Stock Quoter system in PICML<br>
-</h3>
-Now we can start modelling the Quoter system using PICML. If there's
-anything that confuses you as we go through each step, <a
- href="Model/Quoter.xme">here</a> is a pre-built Quoter model for your
-reference.
-It has everything that we will be achieving in this section.
-<blockquote>
- <hr><strong>Note:</strong>
-In case you don't know, to importa a XML file, just select <span
- style="font-weight: bold;">File-&gt;Import XML..</span> from
-GME and choose your XML model <br>
- <hr></blockquote>
-The paradigm of PICML is designed keeping in mind the <a
- href="http://www.omg.org/cgi-bin/doc?ptc/2003-07-08">OMG Deployment
-&amp; Configuration (D&amp;C) specification (ptc/2003-07-08)</a>, so
-the modeling process is straightforwrd if you are familar
-with the specification. Please go to <a
- href="http://www.cs.wustl.edu/%7Eschmidt/ACE_wrappers/TAO/CIAO/docs/releasenotes/dance.html">DAnCE
-project</a> for more information. <br>
-<br>
-<hr>
-<h3>Table of Contents</h3>
-<ul>
- <li><a href="#1">ImplementationArtifacts</a></li>
- <li><a href="#2">ComponentImplementations</a></li>
- <li><a href="#3">ComponentPackages</a></li>
- <li><a href="#4">PackageConfiguration</a></li>
- <li><a href="#5">TopLevelPackage</a></li>
- <li><a href="#6">Targets</a></li>
- <li><a href="#7">DeploymentPlan</a></li>
-</ul>
-<hr>
-The complete PICML Quoter model consists of modeling elements
-distributed in various folders.. <span style="font-style: italic;">idl_to_picml</span>
-has created
-all these folders and some of the modeling entities for us, as you
-might have seen. In
-the rest of the section, we will explain the purpose of each folder as
-well as the modeling entities contained in these folders. We will also
-show how to model some of the folders that have to be done by hand.
-Before we start, it is worth reminding you that, please don't forget to
-check the constraints when you are done with your model. In particular,
-whenever you are about to generate something from your model, check the
-constraint first by choosing <br>
-<span style="font-weight: bold;">File-&gt;Check-&gt;Check All</span> in
-GME. This will help you find a lot of logic error in your model.<br>
-<a name="1">
-<h3>ImplementationArtifacts<br>
-</h3>
-</a>This folder contains implementation artifacts associated with
-components. <span style="font-style: italic;">idl_to_picml</span> has
-created these artifacts for us, with their dependency relationships
-correctly captured. Figure 4 shows the Implementation Artifacts for <span
- style="font-style: italic;">Broker</span>.
-<div style="text-align: center;"><img alt="" src="Images/fig4.jpg"
- style="border: 1px solid ; width: 891px; height: 552px;"><a name="1"><br>
-Figure 4.<br>
-</a><br>
-<div style="text-align: left;"><a name="1"></a>
-<hr><a name="2">
-<h3>ComponentImplementation<br>
-</h3>
-</a>This folder contains models that describes the implementations of
-component interfaces. In the Quoter example, we will have two
-monolithic component implementations; respectively <span
- style="font-style: italic;">StockDistributorImplementation </span><span
- style="font-style: italic;">StockBroker</span>Implementation, and an
-assembly
-component implementation: <span style="font-style: italic;">StockQuoter</span>,
-which is an assembly of <span style="font-style: italic;">StockDistributorImplementation
-</span>and <span style="font-style: italic;">StockBrokerImplementaion</span>.
-<span style="font-style: italic;">idl_to_picml</span> has created the
-monolithic component implementations for us, as shown in figure 5 for
-example, but we have to put them together by hand in order to construct
-a Quoter system. <br>
-<br>
-<br>
-<div style="text-align: center;"><img alt="" src="Images/fig5.jpg"
- style="border: 1px solid ; width: 922px; height: 639px;"><br>
-Figure 5<br>
-<div style="text-align: left;"><br>
-Assembly component is a recursive concept. It provides a boundary for
-the composition of monolithic components.Assembly component does not
-provide real implementation for any interface, i.e., it is a virtual
-component. Modeling an assembly component is different from modeling a
-monolithic component: you don't need to worry about the
-artifacts.Instead, you need to create connections between monolithic
-components so that they can talk via ports. Let's try to assemble the <span
- style="font-style: italic;">StockQuoter</span>.<br>
-<ol>
- <li>Right click folder <span style="font-style: italic;">ComponentImplementations</span>,
-choose <span style="font-weight: bold;">Insert
-Model-&gt;ComponentImplementationContainer</span>, rename it
-as "StockQuoterImplementation" in the Attribute Panel. Double click to
-open it.<br>
- </li>
- <li> From the Part Browser, drag a &lt;&lt;ComponentAssembly&gt;&gt;
-to the modeling window,
-name it "StockQuoter". Double click to open it.<br>
- </li>
- <li> Now we will create two instances for interfaces<span
- style="font-style: italic;"> StockBroker </span>and <span
- style="font-style: italic;">StockDistributor</span>. To do
-that, expand the folder <code><span style="font-style: italic;">InterfaceDefinitions</span></code>,
-then expand the <code><span style="font-style: italic;">InterfaceDefinitions/</span></code><span
- style="font-style: italic;">Broker</span>, then <code><span
- style="font-style: italic;">InterfaceDefinitions/</span></code><span
- style="font-style: italic;">Broker/</span><span
- style="font-style: italic;">Stock</span> until the interface
-definition of <span style="font-style: italic;">StockBroker </span>shows.
-While expanding the tree, always keep
-the "StockQuoter" &lt;&lt;ComponentAssembly&gt;&gt; window open.
-Then drag <code style="font-style: italic;">MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</code>
-in the
-browser to the "StockQuoter" &lt;&lt;ComponentAssembly&gt;&gt; window
-while pressing ALT key. Repeat the
-same steps for <span style="font-style: italic;">My</span><code
- style="font-style: italic;">Quoter/InterfaceDefinitions/Distributor/Stock/StockDistributor</code>,
-and you will see two instances of component interfaces have been
-created as shown in Figure 6 (the black line in the figure only
-indicates .mapping)<br>
- </li>
-</ol>
-<br>
-<div style="text-align: center;"><img alt="" src="Images/fig6.jpg"
- style="width: 972px; height: 714px;"><br>
-<br>
-Figure 6
-<br>
-<ol style="text-align: left;">
- <li value="4"> Create an &lt;&lt;PublishConnector&gt;&gt;.<br>
- </li>
- <li> Now assemble the components together according to <a
- href="Images/fig1.jpg">Figure 1</a>(make sure you change to connect
-mode <img alt="" src="Icons/AddConnMode.gif"
- style="width: 20px; height: 17px;"> ) and
-the resulting assembly model should look like Figure 7. Note that to
-create connections between
-StockDistributor.notify_out and StockBroker.notify_in, you will need
-the intermediate connector &lt;&lt;PublishConnector&gt;&gt;. <br>
- </li>
-</ol>
-<img alt="" src="Images/fig7.jpg" style="width: 724px; height: 402px;"><br>
-<br>
-Figure 7<br>
-</div>
-<hr>
-<a name="3"></a>
-<h3>ComponentPackage<br>
-</h3>
-This folder contains deployable component packages. Every instance in
-an assembly should have a corresponding monolithic implementation and
-packaged in a ComponentPackagebe To create a package for <em>StockBroker</em>.instance<br>
-<ol>
- <li> Right click folder <span style="font-style: italic;">ComponentPackage</span>s
-,
-insert a &lt;&lt;PackageContainer&gt;&gt;, name it "Broker"; Double
-click to open it.<br>
- </li>
- <li> From the PartBrowser, add the following:<br>
- <ul>
- <li>a &lt;&lt;ComponentPackage&gt;&gt; named "Broker";</li>
- <li>a &lt;&lt;ComponentImplementationReference&gt;&gt; named
-"Broker";</li>
- <li>a &lt;&lt;ComponentRef&gt;&gt; named "Broker";</li>
- </ul>
- </li>
- <li> Refer the &lt;&lt;ComponentImplementationReference&gt;&gt; <em>Broker</em>
-to <code>MyQuoter/ComponentImplementations/StockBroker</code>Implementation/StockBrokerMonolithicImpl.
-Refer the
-&lt;&lt;ComponentRef&gt;&gt; <em>Broker</em> to <code>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker.
-To do a refering in GME, simply drage the tree node in the Browser
-"into" the reference model. For example, you should drage the tree node
- </code><code>MyQuoter/ComponentImplementations/StockBroker</code>Implementation/StockBrokerMonolithicImpl
-into &lt;&lt;ComponentImplementationReference&gt;&gt; <em>Broker. </em><code>Check
-GME manual(tutorials) for more information.</code> </li>
- <li> Switch to Connect Mode and create two connections according to
-the following relationship.<br>
- <ul>
- <li> &lt;&lt;ComponentImplementationReference&gt;&gt; <em>Broker</em>
-implements &lt;&lt;ComponentPackage&gt;&gt; <em>Broker</em>; </li>
- <li> &lt;&lt;ComponentPackage&gt;&gt; <em>Broker </em>realizes
-&lt;&lt;ComponentRef&gt;&gt; <em>Broker</em>. </li>
- </ul>
- <br>
- <br>
-&nbsp;&nbsp;&nbsp;&nbsp; The model you built should resemble Figure 8. <br>
- <br>
- <div style="text-align: center;"><img alt="" src="Images/fig8.jpg"
- style="width: 675px; height: 497px;"><br>
- <br>
-Figure 8<br>
- <br>
- <div style="text-align: left;">Now create a
-ComponentPackage/StockDistributor following the same steps.</div>
- </div>
- </li>
- <br>
- <div style="text-align: center;">
- <div style="text-align: left;">We will also need to create a package
-for the assembly component
-StockQuoter. Remember assembly component is a virtual component, it
-does not "realize" a certain interface, so different from the Broker
-and Distributor packages, the
-StockQuoter does not need a &lt;&lt;ComponentRef&gt;&gt;. To create
-this model: </div>
- </div>
- <div style="text-align: center;">
- <div style="text-align: left;">
- <ol>
- <il>1. Insert a &lt;&lt;ComponentPackage&gt;&gt; named "StockQuoter"<br>
- </il><il><il>2. Add a
-&lt;&lt;ComponentImplementationReference&gt;&gt; named "StockQuoter",
-refer it to MyQuoter<span style="font-family: monospace;">/ComponentImplementations/StockQuoter/StockQuoter</span></il></il>
- </ol>
- <ol>
- <il><il>3. Switch to connect mode and connect
-&lt;&lt;ComponentImplementationReference&gt;&gt; StockQuoter with
-&lt;&lt;ComponentPackage&gt;&gt; StockQuoter, as in Figure 9.<br>
- </il></il>
- </ol>
- <ol>
- <ul>
- </ul>
- </ol>
- </div>
- </div>
- <div style="text-align: center;">
- <div style="text-align: left;"> <br>
- <br>
- </div>
- <div style="text-align: center;"><img alt="" src="Images/fig9.jpg"
- style="width: 549px; height: 354px;"><br>
- <br>
-Figure 9<br>
- <br>
- </div>
- </div>
-</ol>
-<hr>
-<div style="text-align: left;"> <a name="4"></a>
-<h3>PackageConfiguration<br>
-</h3>
-This folder contains just one model capturing specific configuration of
-Component packages. <br>
-<ol>
- <li> In the folder <span style="font-style: italic;">PackageConfiguratio</span>n,
-and create a
-&lt;&lt;PackageConfigurationContainer&gt;&gt;, name it "Default", click
-to
-open it.<br>
- </li>
- <li> Add a &lt;&lt;PackageConfiguration&gt;&gt; named "default" and a
-&lt;&lt;ComponentPackageReference&gt;&gt;, name it "StockQuoter",
-connect "Default" to "StockQuoter"<br>
- </li>
- <li> Refer &lt;&lt;ComponentPackageReference&gt;&gt; StockQuoter to
-&lt;&lt;ComponentPackage&gt;&gt; <code>MyQuoter/ComponentPackage/StockQuoter/StockQuoter
- <br>
-(Not &lt;&lt;ComponentImplementationReference&gt;&gt; </code><code>MyQuoter/ComponentPackage/StockQuoter/StockQuoter!)&nbsp;</code>
- </li>
-</ol>
-<br>
-<hr>
-<a name="5"></a>
-<h3>ToplevelPackage<br>
-</h3>
-This folder contains one model capturing information about the
-top-level element that will be fed to
-the application. <br>
-<ol>
- <li>In the folder <span style="font-style: italic;">ToplevelPackage</span>,
-and create a
-&lt;&lt;ToplevelPackageContainer&gt;&gt;, name it "Default", double
-click to open it.<br>
- </li>
- <li> Add a &lt;&lt;ToplevelPackage&gt;&gt; named "ToplevelPackage"
-and a &lt;&lt;PackageConfigurationReference&gt;&gt;, name it "Default",
-connect "ToplevelPackage" to "Default" <br>
- </li>
- <li> Refer "Default" to My<code>Quoter/PackageConfiguration/Default/Default</code><br>
- </li>
-</ol>
-<br>
-<hr>
-<a name="6"></a>
-<h3>Targets<br>
-</h3>
-This folder contains domain-specific models capturing information about
-the target
-environment in which component-based application will be deployed. In
-this Quoter example, we can either deploy the two components into ONE
-host, or into TWO different host. We will deploy the Quoter into two
-different host. <br>
-<ol>
- <li> In the folder <span style="font-style: italic;">Targets</span>,
-insert a new &lt;&lt;Domain&gt;&gt; named "Domain"; double click to
-open it.<br>
- </li>
- <li> From the Part Browser, add two &lt;&lt;Node&gt;&gt; named
-"Broker" and "Distributor" respectively.<br>
- </li>
-</ol>
-<br>
-Now we are ready to deploy our Components to the actual physical
-environment.<br>
-<hr>
-<a name="7"></a>
-<h3>DeploymentPlan<br>
-</h3>
-This folder contains a plan model that captures information about the
-assignment of component to nodes. <br>
-<ol>
- <li> In the folder <span style="font-style: italic;">DeploymentPlan</span>,
-insert a model
-&lt;&lt;DeploymentPlan&gt;&gt;; name it "Plan", click to open it<br>
- </li>
- <li> From the PartBrowser, add the following:<br>
- <ul>
- <li>Two &lt;&lt;CollocationGroup&gt;&gt;</li>
- <li>Two &lt;&lt;NodeReference&gt;&gt; named "Node_Broker" and
-"Node_Distributor" respectively, refering to <code>MyQuoter/Targets/Domain/Broker</code>
-and <code>MyQuoter/Targets/Domain/Distributor<code> respectively</code></code></li>
- <li>Two &lt;&lt;ComponentRef&gt;&gt; named "StockBroker" and
-"StockDistributor" respectively, refering to <code>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockBroker</code>
-and <code>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockDistributor</code>
-respectively. Note that the &lt;&lt;ComponentRef&gt;&gt; in
-DeploymentPlan is not refering to the interface, but rather, the actual
-instance of the implementation.</li>
- </ul>
- </li>
- <li> Switch to Connect Mode, connect one
-&lt;&lt;CollocationGroup&gt;&gt; to &lt;&lt;NodeReference&gt;&gt; <em>Node_Broker</em>,
-connect another
-&lt;&lt;CollocationGroup&gt;&gt; to &lt;&lt;NodeReference&gt;&gt; <span
- style="font-style: italic;">Node_</span><em>Distributor</em>.
-Now the model looks like the following.<br>
- <br>
- <div style="text-align: center;"><img alt="" src="Images/fig10.jpg"
- style="width: 752px; height: 530px;"><br>
- <br>
-Figure 10.<br>
- <br>
- </div>
- </li>
- <li> Now we need to associate &lt;&lt;ComponentRef&gt;&gt;
-StockBroker to the
-&lt;&lt;CollocationGroup&gt;&gt; running on the
-&lt;&lt;NodeReference&gt;&gt; Broker, and &lt;&lt;ComponentRef&gt;&gt;
-StockDistributor to the &lt;&lt;CollocationGroup&gt;&gt; running on the
-&lt;&lt;NodeReference&gt;&gt; Distributor. To do that, switch the Edit
-Mode Bar to Set Mode (<img alt="" src="Icons/SetMode.gif"
- style="width: 20px; height: 17px;">), and move
-the cursor to the &lt;&lt;CollocationGroup&gt;&gt; running on
-&lt;&lt;NodeReference&gt;&gt; Distributor, right-click on it. You will
-find the cursor is changed to set mode cursor, and only the
-&lt;&lt;CollocationGroup&gt;&gt; you clicked in is highlighted, as
-shown
-in Figure 11.<br>
- <br>
- </li>
-</ol>
-</div>
-<div style="text-align: center;"><img alt="" src="Images/fig11.jpg"
- style="width: 672px; height: 505px;"><br>
-<br>
-Figure 11<br>
-<br>
-</div>
-<div style="text-align: left;">&nbsp;Now move your cursor to
-&lt;&lt;ComponentRef&gt;&gt;&nbsp; StockDistributor, and left-click it,
-so that it looks like Figure 12.<br>
-</div>
-<br>
-<div style="text-align: center;"><img alt="" src="Images/fig12.jpg"
- style="width: 672px; height: 505px;"><br>
-<br>
-Figure 12<br>
-<br>
-</div>
-<div style="text-align: left;">&nbsp;&nbsp; This operation
-associates <em>StockDistributor</em> component to the
-&lt;&lt;CollocationGroup&gt;&gt; running on <em>Distributor</em> node.
-To do the same with
-Broker, just right-click on another &lt;&lt;CollocationGroup&gt;&gt;,
-and left-click on StockBroker &lt;&lt;CollocationGroup&gt;&gt; which is
-highlighted. <br>
-<br>
-<hr>
-<a name="8"></a></div>
-<br>
-Up to this point, we are basiclly done with the modeling part. Before
-we generate anything from this model though, please <span
- style="font-weight: bold;">DO </span>remember to check the
-constraints of the model as we mentioned earlier.<br>
-<br>
-After we are done with the modeling, the flattened_deploymentplan
-interpreter that comes along with PICML will help us to generate a
-flattened_deploymentplan.cdp file. Please make sure you generate this
-file to MyQuoter/descriptors.
-<address><span style="font-style: italic;"></span><br>
-<span style="font-style: italic;"></span><br>
-<br>
-<a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br>
-</a></address>
-<!-- Created: Sat Nov 27 15:25:06 CST 1999 --><!-- hhmts start -->
-Last modified:<!-- hhmts end -->
-</div>
-</div>
-</div>
-</div>
+
+<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link="#000FFF" vlink="#FF0F0F">
+ <h3>Building Stock Quoter system in PICML</h3><br />
+
+ <p>This section describes modeling the Quoter application using PICML. If you have trouble producing a functioning model from this tutorial, please see the, <a href="Model/Quoter.xme">pre-built Quoter model</a> which is provided for your reference. This model contains all elements created as part of this tutorial.</p>
+
+ <div class="important">
+ <strong>Note:</strong> To import an XML file in GME, select <em>File-&gt;Import XML..</em> from GME and choose your XML model<br />
+ </div>
+
+ <p>The PICML paradigm is designed for the <a href="http://www.omg.org/cgi-bin/doc?ptc/2003-07-08">OMG Deployment &amp; Configuration (D&amp;C) specification (ptc/2003-07-08)</a>, so the modeling process is straightforward if you are familiar with the specification. Please see the <a href="http://www.cs.wustl.edu/%7Eschmidt/ACE_wrappers/TAO/CIAO/docs/releasenotes/dance.html">DAnCE project</a> for more information.</p>
+ <hr />
+
+ <h3>Table of Contents</h3>
+
+ <ul>
+ <li><a href="#1">ImplementationArtifacts</a></li>
+
+ <li><a href="#2">ComponentImplementations</a></li>
+
+ <li><a href="#3">ComponentPackages</a></li>
+
+ <li><a href="#4">PackageConfiguration</a></li>
+
+ <li><a href="#5">TopLevelPackage</a></li>
+
+ <li><a href="#6">Targets</a></li>
+
+ <li><a href="#7">DeploymentPlan</a></li>
+ </ul>
+ <hr />
+
+ <p>The complete PICML Quoter model consists of modeling elements distributed across various folders. If you used <em>idl_to_picml</em> to generate the initial model, you will see that it has created all these folders and some of the tedious boilerplate modeling for us. The rest of the section will explain the purpose of each folder as well as the modeling entities contained in these folders. We will also show how to model some of the folders that have to be done by hand.</p>
+
+ <div class="important">
+ <strong>Important:</strong> The interpreters that generate deployment artifacts expect very strict constraints in the model. When you finish your model, and any time you wish to generate anything, it is a good idea to check constraints by clicking on <em>File-&gt;Check-&gt;Check All</em> in GME. This will help you find many logic errors in your model.
+ </div>
+
+ <h3><a name="1">ImplementationArtifacts</a></h3>
+
+ <p>This folder contains implementation artifacts associated with components. <em>idl_to_picml</em> has created these artifacts for us, with their dependency relationships correctly captured. Figure 4 shows the Implementation Artifacts for <em>Broker</em>.</p>
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig4.jpg" style="border: 1px solid ; width: 891px; height: 552px;" /><a name="1"><br />
+ Figure 4.<br /></a><br />
+ </div><a name="1"></a>
+ <hr />
+
+ <h3><a name="2">ComponentImplementation</a></h3>
+
+ <p>This folder contains models that describe the implementations of component interfaces. In the Quoter example, we will have two monolithic component implementations - named <em>StockDistributorImplementation</em> and <em>StockBrokerImplementation</em> - and an assembly component implementation named <em>StockQuoter</em>, which is an assembly of <em>StockDistributorImplementation</em> and <em>StockBrokerImplementaion</em>. <em>idl_to_picml</em> has created the monolithic component implementations for us, as shown in figure 5 for example, but we have to specify the connections between them in order to construct a Quoter system.</p>
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig5.jpg" style="border: 1px solid ; width: 922px; height: 639px;" /><br />
+ Figure 5<br />
+ </div>
+
+ <p>Assembly components provide a boundary for the composition of monolithic components and even other assemblies. Assembly components do not provide actual implementations for their interface, it is a virtual component that delegates its ports and attributes to one or more of the entities it contains. There are slight differences between modeling an assembly and modeling a monolithic component. Since the assembly is a virtual component, it is not necessary to model a <code>MonolithicImplementation</code>. Instead, <em>instances</em> of other components are placed within the assembly and connected. Let's try to assemble the <em>StockQuoter</em>.</p>
+
+ <ol>
+ <li>Right click the <em>ComponentImplementations</em> folder, choose <strong>Insert Model-&gt;ComponentImplementationContainer</strong>, rename it as "StockQuoterImplementation" in the Attribute Panel. Double click to open it.</li>
+
+ <li>From the Part Browser, drag a &lt;&lt;ComponentAssembly&gt;&gt; to the modeling window, name it "StockQuoter". Double click to open it.</li>
+
+ <li>Now we will create two instances for interfaces <em>StockBroker</em> and <em>StockDistributor</em>. To do that, expand the folder <code><em>InterfaceDefinitions</em></code>, then expand the <code><em>InterfaceDefinitions/</em></code> <em>Broker</em>, then <code><em>InterfaceDefinitions/</em></code> <em>Broker/ Stock</em> until the interface definition of <em>StockBroker</em> shows. While expanding the tree, always keep the "StockQuoter" &lt;&lt;ComponentAssembly&gt;&gt; window open. Then drag <code>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</code> in the browser to the "StockQuoter" &lt;&lt;ComponentAssembly&gt;&gt; window while pressing ALT key. Repeat the same steps for <code>MyQuoter/InterfaceDefinitions/Distributor/Stock/StockDistributor</code>, and you will see two instances of component interfaces have been created as shown in Figure 6 (the black line in the figure only indicates .mapping)<br /></li>
+ </ol><br />
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig6.jpg" style="width: 972px; height: 714px;" /><br />
+ <br />
+ Figure 6<br />
+ </div>
+
+ <ol>
+ <li value="4">Create an &lt;&lt;PublishConnector&gt;&gt;.<br /></li>
+
+ <li>Now assemble the components together according to <a href="Images/fig1.jpg">Figure 1</a>(make sure you change to connect mode <img alt="" src="Icons/AddConnMode.gif" style="width: 20px; height: 17px;" /> ) and the resulting assembly model should look like Figure 7. Note that to create connections between StockDistributor.notify_out and StockBroker.notify_in, you will need the intermediate connector &lt;&lt;PublishConnector&gt;&gt;.<br /></li>
+ </ol><img alt="" src="Images/fig7.jpg" style="width: 724px; height: 402px;" /><br />
+ <br />
+ Figure 7<br />
+ <hr />
+ <a name="3"></a>
+
+ <h3>ComponentPackage<br /></h3>This folder contains deployable component packages. Every instance in an assembly should have a corresponding monolithic implementation and packaged in a ComponentPackagebe To create a package for <em>StockBroker</em>.instance<br />
+
+ <ol>
+ <li>Right click folder <em>ComponentPackage</em>s , insert a &lt;&lt;PackageContainer&gt;&gt;, name it "Broker"; Double click to open it.<br /></li>
+
+ <li>From the PartBrowser, add the following:<br />
+
+ <ul>
+ <li>a &lt;&lt;ComponentPackage&gt;&gt; named "Broker";</li>
+
+ <li>a &lt;&lt;ComponentImplementationReference&gt;&gt; named "Broker";</li>
+
+ <li>a &lt;&lt;ComponentRef&gt;&gt; named "Broker";</li>
+ </ul>
+ </li>
+
+ <li>Refer the &lt;&lt;ComponentImplementationReference&gt;&gt; <em>Broker</em> to <code>MyQuoter/ComponentImplementations/StockBroker</code>Implementation/StockBrokerMonolithicImpl. Refer the &lt;&lt;ComponentRef&gt;&gt; <em>Broker</em> to <code>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</code>. To create a reference in GME, simply drag the tree node in the Browser "into" the reference model. For example, you should drag the tree node <code>MyQuoter/ComponentImplementations/StockBroker</code>Implementation/StockBrokerMonolithicImpl into &lt;&lt;ComponentImplementationReference&gt;&gt; <em>Broker.</em> Check GME manual(tutorials) for more information.</li>
+
+ <li>Switch to Connect Mode and create two connections according to the following relationship.<br />
+
+ <ul>
+ <li>&lt;&lt;ComponentImplementationReference&gt;&gt; <em>Broker</em> implements &lt;&lt;ComponentPackage&gt;&gt; <em>Broker</em>;</li>
+
+ <li>&lt;&lt;ComponentPackage&gt;&gt; <em>Broker</em> realizes &lt;&lt;ComponentRef&gt;&gt; <em>Broker</em>.</li>
+ </ul><br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp; The model you built should resemble Figure 8.<br />
+ <br />
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig8.jpg" style="width: 675px; height: 497px;" /><br />
+ <br />
+ Figure 8<br />
+ <br />
+ </div>Now create a ComponentPackage/StockDistributor following the same steps.
+ </li>
+
+ <li style="list-style: none">
+ <br />
+ We will also need to create a package for the assembly component StockQuoter. Remember assembly component is a virtual component, it does not "realize" a certain interface, so different from the Broker and Distributor packages, the StockQuoter does not need a &lt;&lt;ComponentRef&gt;&gt;. To create this model:
+
+ <ol>
+ <li>Insert a &lt;&lt;ComponentPackage&gt;&gt; named "StockQuoter"<br /></li>
+
+ <li>Add a &lt;&lt;ComponentImplementationReference&gt;&gt; named "StockQuoter", refer it to MyQuoter<code>/ComponentImplementations/StockQuoter/StockQuoter</code></li>
+
+ <li>Switch to connect mode and connect &lt;&lt;ComponentImplementationReference&gt;&gt; StockQuoter with &lt;&lt;ComponentPackage&gt;&gt; StockQuoter, as in Figure 9.<br /></li>
+ </ol>
+ </li>
+ </ol>
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig9.jpg" style="width: 549px; height: 354px;" /><br />
+ <br />
+ Figure 9<br />
+ <br />
+ </div>
+ <hr />
+ <a name="4"></a>
+
+ <h3>PackageConfiguration<br /></h3>This folder contains just one model capturing specific configuration of Component packages.<br />
+
+ <ol>
+ <li>In the folder <em>PackageConfiguratio</em>n, and create a &lt;&lt;PackageConfigurationContainer&gt;&gt;, name it "Default", click to open it.<br /></li>
+
+ <li>Add a &lt;&lt;PackageConfiguration&gt;&gt; named "default" and a &lt;&lt;ComponentPackageReference&gt;&gt;, name it "StockQuoter", connect "Default" to "StockQuoter"<br /></li>
+
+ <li>Refer &lt;&lt;ComponentPackageReference&gt;&gt; StockQuoter to &lt;&lt;ComponentPackage&gt;&gt; <code>MyQuoter/ComponentPackage/StockQuoter/StockQuoter<br />
+ (Not &lt;&lt;ComponentImplementationReference&gt;&gt;</code> <code>MyQuoter/ComponentPackage/StockQuoter/StockQuoter!)&nbsp;</code></li>
+ </ol><br />
+ <hr />
+ <a name="5"></a>
+
+ <h3>ToplevelPackage<br /></h3>This folder contains one model capturing information about the top-level element that will be fed to the application.<br />
+
+ <ol>
+ <li>In the folder <em>ToplevelPackage</em>, and create a &lt;&lt;ToplevelPackageContainer&gt;&gt;, name it "Default", double click to open it.<br /></li>
+
+ <li>Add a &lt;&lt;ToplevelPackage&gt;&gt; named "ToplevelPackage" and a &lt;&lt;PackageConfigurationReference&gt;&gt;, name it "Default", connect "ToplevelPackage" to "Default"<br /></li>
+
+ <li>Refer "Default" to My<code>Quoter/PackageConfiguration/Default/Default</code><br /></li>
+ </ol><br />
+ <hr />
+ <a name="6"></a>
+
+ <h3>Targets<br /></h3>This folder contains domain-specific models capturing information about the target environment in which component-based application will be deployed. In this Quoter example, we can either deploy the two components into ONE host, or into TWO different host. We will deploy the Quoter into two different host.<br />
+
+ <ol>
+ <li>In the folder <span style="font-style: italic;">Targets</span>, insert a new &lt;&lt;Domain&gt;&gt; named "Domain"; double click to open it.<br /></li>
+
+ <li>From the Part Browser, add two &lt;&lt;Node&gt;&gt; named "Broker" and "Distributor" respectively.<br /></li>
+ </ol><br />
+ Now we are ready to deploy our Components to the actual physical environment.<br />
+ <hr />
+ <a name="7"></a>
+
+ <h3>DeploymentPlan<br /></h3>This folder contains a plan model that captures information about the assignment of component to nodes.<br />
+
+ <ol>
+ <li>In the folder <em>DeploymentPlan</em>, insert a model &lt;&lt;DeploymentPlan&gt;&gt;; name it "Plan", click to open it<br /></li>
+
+ <li>From the PartBrowser, add the following:<br />
+
+ <ul>
+ <li>Two &lt;&lt;CollocationGroup&gt;&gt;</li>
+
+ <li>Two &lt;&lt;NodeReference&gt;&gt; named "Node_Broker" and "Node_Distributor" respectively, refering to <code>MyQuoter/Targets/Domain/Broker</code> and <code>MyQuoter/Targets/Domain/Distributor</code> respectively</li>
+
+ <li>Two &lt;&lt;ComponentRef&gt;&gt; named "StockBroker" and "StockDistributor" respectively, refering to <code>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockBroker</code> and <code>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockDistributor</code> respectively. Note that the &lt;&lt;ComponentRef&gt;&gt; in DeploymentPlan is not referring to the interface, but rather the actual instance of the implementation.</li>
+ </ul>
+ </li>
+
+ <li>Switch to Connect Mode, connect one &lt;&lt;CollocationGroup&gt;&gt; to &lt;&lt;NodeReference&gt;&gt; <em>Node_Broker</em>, connect another &lt;&lt;CollocationGroup&gt;&gt; to &lt;&lt;NodeReference&gt;&gt; <em>Node_</em><em>Distributor</em>. Now the model looks like the following.<br />
+ <br />
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig10.jpg" style="width: 752px; height: 530px;" /><br />
+ <br />
+ Figure 10.<br />
+ <br />
+ </div>
+ </li>
+
+ <li>Now we need to associate &lt;&lt;ComponentRef&gt;&gt; StockBroker to the &lt;&lt;CollocationGroup&gt;&gt; running on the &lt;&lt;NodeReference&gt;&gt; Broker, and &lt;&lt;ComponentRef&gt;&gt; StockDistributor to the &lt;&lt;CollocationGroup&gt;&gt; running on the &lt;&lt;NodeReference&gt;&gt; Distributor. To do that, switch the Edit Mode Bar to Set Mode (<img alt="" src="Icons/SetMode.gif" style="width: 20px; height: 17px;" />), and move the cursor to the &lt;&lt;CollocationGroup&gt;&gt; running on &lt;&lt;NodeReference&gt;&gt; Distributor, right-click on it. You will find the cursor is changed to set mode cursor, and only the &lt;&lt;CollocationGroup&gt;&gt; you clicked in is highlighted, as shown in Figure 11.<br />
+ <br /></li>
+ </ol>
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig11.jpg" style="width: 672px; height: 505px;" /><br />
+ <br />
+ Figure 11<br />
+ <br />
+ </div>
+
+ <p>Now move your cursor to &lt;&lt;ComponentRef&gt;&gt;&nbsp; StockDistributor, and left-click it, so that it looks like Figure 12.<br /></p>
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig12.jpg" style="width: 672px; height: 505px;" /><br />
+ <br />
+ Figure 12<br />
+ <br />
+ </div>
+
+ <p>This operation associates <em>StockDistributor</em> component to the &lt;&lt;CollocationGroup&gt;&gt; running on <em>Distributor</em> node. To do the same with Broker, just right-click on another &lt;&lt;CollocationGroup&gt;&gt;, and left-click on StockBroker &lt;&lt;CollocationGroup&gt;&gt; which is highlighted.<br />
+ <br /></p>
+ <hr />
+ <a name="8"></a>
+
+ <p>Up to this point, we are basically done with the modeling part. Before we generate anything from this model though, please <span style="font-weight: bold;">DO</span> remember to check the constraints of the model as we mentioned earlier.</p>
+
+ <p>After we are done with the modeling, the flattened_deploymentplan interpreter that comes along with PICML will help us to generate a flattened_deploymentplan.cdp file. Please make sure you generate this file to MyQuoter/descriptors.</p>
+
+ <address>
+ <br />
+ <br />
+ <br />
+ <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /></a>
+ </address><!-- Created: Sat Nov 27 15:25:06 CST 1999 -->
+ <!-- hhmts start -->
+ Last modified:<!-- hhmts end -->
</body>
</html>
diff --git a/CIAO/docs/tutorials/CoSMIC/03.html b/CIAO/docs/tutorials/CoSMIC/03.html
index df614e1b2bc..d8d068ff223 100644
--- a/CIAO/docs/tutorials/CoSMIC/03.html
+++ b/CIAO/docs/tutorials/CoSMIC/03.html
@@ -1,68 +1,79 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+
<title>Building a Stock Quoter with TAO - A Tutorial</title>
-<!-- $Id$ -->
+ <!-- $Id$ -->
</head>
-<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"
- link="#000fff" vlink="#ff0f0f">
-<h3>Implementing Quoter Components with DAnCE<br>
-</h3>
-We discuss this section after the PICML modeling only because we would
-like to focus our attention more on the modeling stage. It does not
-indicate that the implementation of components has to be
-subsequent to the work we've done under GME. They are totally
-orthogonal to each other. In fact, they are so orthogonal&nbsp; that we
-won't go into details as to how DAnCE programming should be done. We'll
-briefly go through the functionality of each component and provides the
-links to their implementations respectively. For a hands on experience
-on DAnCE programming, please refer to $CIAO_ROOT/DAnCE/examples/Hello. <br>
-<br>
-<big><big><small>Broker Component<br>
-&nbsp;&nbsp;&nbsp; </small></big></big>The Broker componennt waits to
-be notified by the Distributor component about stock changes. When a
-stock change event arrives,&nbsp; it will go back to Distributor
-component and retrieve the information it interest in and output them
-to the console. The users are allowed to subscribe to the interested
-stock value through the interface supported by Broker component. Here's
-the complete version of <a href="../Quoter/Simple/Broker/Broker_exec.h">Broker_exec.h</a>
-and <a href="../Quoter/Simple/Broker/Broker_exec.cpp">Broker_exec.cpp</a>.
-<br>
-<br>
-<big><big><small>Distributor Component<br>
-&nbsp;&nbsp; </small></big></big>The Distributor componennt monitors
-the real time stock database and publishes events whenever it detects
-stock change. In our program, we use a ACE_Task&nbsp; to simmulate this
-real-life activity. The task will run in a seperate thread and
-periodically increment the stock value by 1. In the same time the stock
-value is incremented, an <span style="font-style: italic;">StockName</span>
-event along with the name of the changed stock will be sent. Here's the
-complete version of <a
- href="../Quoter/Simple/Distributor/Distributor_exec.h">Distributor_exec.h</a>
-and <a href="../Quoter/Simple/Distributor/Distributor_exec.cpp">Distributor_exec.cpp</a><br>
-<big><big><small><span style="font-style: italic;"><span
- style="font-style: italic;"></span></span><br>
-Broker client<br>
-&nbsp;&nbsp;&nbsp; </small></big></big>The Broker client program is
-the driver program for client to control Broker component, subscribe
-and unsubscribe to a specific stock. Here's the complete version of
-<a href="../Quoter/Simple/Broker/Broker.cpp">Broker.cpp</a><br>
-<big><big><small><br>
-Distributor client<br>
-&nbsp;&nbsp;&nbsp;&nbsp; </small></big></big>The Distributor client
-program is the driver program for client
-to control Distributor component, turn on and off the distribution
-service, set up the frequency, etc. Here's the complete version of
-<a href="../Quoter/Simple/Distributor/Distributor.cpp">Distributor.cpp</a><a
- name="2"><br>
-<big><big><small><br>
-</small></big></big></a><br>
-<div style="text-align: center;"><br>
-</div>
-<address><a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br>
-</a></address>
-<!-- Created: Sat Nov 27 15:25:06 CST 1999 --><!-- hhmts start -->
-<a href="mailto:ming.xiong@vanderbilt.edu">Last modified:<!-- hhmts end -->
-</a>
+
+<body style=
+"color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link=
+"#000FFF" vlink="#FF0F0F">
+ <h3>Implementing Quoter Components with DAnCE<br /></h3>We
+ discuss this section after the PICML modeling only because we
+ would like to focus our attention more on the modeling stage. It
+ does not indicate that the implementation of components has to be
+ subsequent to the work we've done under GME. They are totally
+ orthogonal to each other. In fact, they are so orthogonal&nbsp;
+ that we won't go into details as to how DAnCE programming should
+ be done. We'll briefly go through the functionality of each
+ component and provides the links to their implementations
+ respectively. For a hands on experience on DAnCE programming,
+ please refer to $CIAO_ROOT/DAnCE/examples/Hello.<br />
+ <br />
+ <big><big><small>Broker Component<br />
+ &nbsp;&nbsp;&nbsp;</small></big></big> The Broker component
+ waits to be notified by the Distributor component about stock
+ changes. When a stock change event arrives,&nbsp; it will go back
+ to Distributor component and retrieve the information it interest
+ in and output them to the console. The users are allowed to
+ subscribe to the interested stock value through the interface
+ supported by Broker component. Here's the complete version of
+ <a href="../Quoter/Simple/Broker/Broker_exec.h">Broker_exec.h</a>
+ and <a href=
+ "../Quoter/Simple/Broker/Broker_exec.cpp">Broker_exec.cpp</a>.<br />
+
+ <br />
+ <big><big><small>Distributor Component<br />
+ &nbsp;&nbsp;</small></big></big> The Distributor component
+ monitors the real time stock database and publishes events
+ whenever it detects stock change. In our program, we use a
+ ACE_Task&nbsp; to simulate this real-life activity. The task
+ will run in a separate thread and periodically increment the
+ stock value by 1. In the same time the stock value is
+ incremented, an <span style=
+ "font-style: italic;">StockName</span> event along with the name
+ of the changed stock will be sent. Here's the complete version of
+ <a href=
+ "../Quoter/Simple/Distributor/Distributor_exec.h">Distributor_exec.h</a>
+ and <a href=
+ "../Quoter/Simple/Distributor/Distributor_exec.cpp">Distributor_exec.cpp</a><br />
+
+ <big><big><small><br />
+ Broker client<br />
+ &nbsp;&nbsp;&nbsp;</small></big></big> The Broker client program
+ is the driver program for client to control Broker component,
+ subscribe and unsubscribe to a specific stock. Here's the
+ complete version of <a href=
+ "../Quoter/Simple/Broker/Broker.cpp">Broker.cpp</a><br />
+ <br /><big><big><small>
+ Distributor client</small></big></big><br />
+ &nbsp;&nbsp;&nbsp;&nbsp; The Distributor
+ client program is the driver program for client to control
+ Distributor component, turn on and off the distribution service,
+ set up the frequency, etc. Here's the complete version of
+ <a href="../Quoter/Simple/Distributor/Distributor.cpp">Distributor.cpp</a>
+ <a name="2" /><br />
+ <br /><br />
+
+
+ <address>
+ <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /></a>
+ </address><!-- Created: Sat Nov 27 15:25:06 CST 1999 -->
+ <!-- hhmts start -->
+ <a href="mailto:ming.xiong@vanderbilt.edu">Last modified:
+ <!-- hhmts end --></a>
</body>
</html>
diff --git a/CIAO/docs/tutorials/CoSMIC/04.html b/CIAO/docs/tutorials/CoSMIC/04.html
index 27a5344af23..dce2fb1364c 100644
--- a/CIAO/docs/tutorials/CoSMIC/04.html
+++ b/CIAO/docs/tutorials/CoSMIC/04.html
@@ -1,57 +1,77 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <meta name="generator" content=
+ "HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" />
+
<title>Building a Stock Quoter with TAO - A Tutorial</title>
-<!-- $Id$ -->
+ <!-- $Id$ -->
</head>
-<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"
- link="#000fff" vlink="#ff0f0f">
-<h3>Running the application<br></h3>
-
-Now that we have all the components and driver programs successfully built, along with the flattened_deploymentplan generated by PICML, we will be able to run our application<BR><BR>
-
-From different command prompts in <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/descriptors/</code>
-directory:<ul>
- <li>Start NodeManagers (NodeDameon) by running <CODE>runNodeDaemon.pl</CODE> </li>
- <li>Start the execution manager
-<CODE>%CIAO_ROOT%/DAnCE/ExecutionManager/Execution_Manager -o ior -i Stock.dat</CODE>&nbsp;
-</ul>
-<p>The <CODE>Stock.dat</CODE> file describes the deployment daemons CIAO's Execution_Manager
-will contact to instantiate ComponentServer's, home's, and component instances.
-Each line specify the name of a installation &quot;destination&quot; and the corresponding
-IOR for the CIAO_Daemon.</p>
-<ul type="square">
- <li><em>NOTE</em>: As one can see, we use the &quot;Stock.dat&quot; file to instruct the
- Execution_Manager how to find the endpoint of each individual NodeManager
- (i.e., Node Daemon) where component(s) will be deployed, so this is
- non-standard. We plan to use Naming Service to do this in the future. </li>
-</ul>
-<ul>
- <li> Start the plan_launcher by running
-<CODE>%CIAO_ROOT%/DAnCE/Plan_Launcher/Plan_Launcher -p
-flattened_deploymentplan.cdp -k file://ior</CODE></li>
- <li>By now the components should be successfully deployed. You may
-run the driver program to start the application. e.g. you can try the
-following<br>
- </li>
-</ul>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<CODE>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/Distributor.exe -o </CODE><br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<CODE>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe -s MSFT</CODE><br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<CODE>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe -s IBM</CODE><br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<CODE>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe -u MSFT</CODE><br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<CODE>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/Distributor.exe -f </CODE><br>
-<br>
+<body style=
+"color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link=
+"#000FFF" vlink="#FF0F0F">
+ <h3>Running the application<br /></h3>Now that we have all the
+ components and driver programs successfully built, along with the
+ flattened_deploymentplan generated by PICML, we will be able to
+ run our application<br />
+ <br />
+ From different command prompts in
+ <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/descriptors/</code>
+ directory:
+
+ <ul>
+ <li>Start NodeManagers (NodeDameon) by running
+ <code>runNodeDaemon.pl</code></li>
+
+ <li>Start the execution manager
+ <code>%CIAO_ROOT%/DAnCE/ExecutionManager/Execution_Manager -o
+ ior -i Stock.dat</code>&nbsp;</li>
+ </ul>
+
+ <p>The <code>Stock.dat</code> file describes the deployment
+ daemons CIAO's Execution_Manager will contact to instantiate
+ ComponentServer's, home's, and component instances. Each line
+ specify the name of a installation "destination" and the
+ corresponding IOR for the CIAO_Daemon.</p>
+
+ <ul type="square">
+ <li><em>NOTE</em>: As one can see, we use the "Stock.dat" file
+ to instruct the Execution_Manager how to find the endpoint of
+ each individual NodeManager (i.e., Node Daemon) where
+ component(s) will be deployed, so this is non-standard. We plan
+ to use Naming Service to do this in the future.</li>
+ </ul>
+ <ul>
+ <li>Start the plan_launcher by running
+ <code>%CIAO_ROOT%/DAnCE/Plan_Launcher/Plan_Launcher -p
+ flattened_deploymentplan.cdp -k file://ior</code></li>
+ <li>By now the components should be successfully deployed. You
+ may run the driver program to start the application. e.g. you
+ can try the following<br /></li>
+ </ul>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/Distributor.exe
+ -o</code><br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe
+ -s MSFT</code><br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe
+ -s IBM</code><br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/Broker.exe
+ -u MSFT</code><br />
+ <br />
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/Distributor.exe
+ -f</code><br />
+ <br />
</body>
</html>
diff --git a/CIAO/docs/tutorials/CoSMIC/index.html b/CIAO/docs/tutorials/CoSMIC/index.html
index eafa4cf52c4..a487b0f4350 100644
--- a/CIAO/docs/tutorials/CoSMIC/index.html
+++ b/CIAO/docs/tutorials/CoSMIC/index.html
@@ -1,136 +1,145 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <meta name="generator" content=
+ "HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" />
+
<title>Building a Stock Quoter with TAO - A Tutorial</title>
-<!-- $Id$ -->
+ <!-- $Id$ -->
</head>
-<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"
- link="#000fff" vlink="#ff0f0f">
-<h3>Building a Stock Quoter with CoSMIC and DAnCE - A Tutorial<br>
-</h3>
-<p>This tutorial provides a step-by-step lesson on developing
-component-based distributed applications using <a
- href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> modeling
-toolkit and <a href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">CIAO
-DAnCE</a> framework. The example application used in this tutorial is a
-Stock Quoter that consists of two components; the <span
- style="font-style: italic;">StockDistributor</span>
-and the <span style="font-style: italic;">StockBroker</span>. The <span
- style="font-style: italic;">StockDistributor</span>
-notifies one or more stock brokers whenever a stock price changes. Upon
-receiving the notification, the <span style="font-style: italic;">StockBroker</span>
-fetches information about a particular stock from the <span
- style="font-style: italic;">StockDistributor</span>. The figure bellow
-shows the application diagram.
-This Stock Quoter application
-is based on a series of <a
- href="http://www.cs.wustl.edu/%7Eschmidt/report-doc.html">CORBA
-component model</a> columns written by <a
- href="http://www.cs.wustl.edu/%7Eschmidt/">Doug Schmidt</a> and <a
- href="http://www.iona.com/hyplan/vinoski/">Steve Vinoski</a> for <a
- href="http://www.cuj.com">C/C++ Users Journal</a> and has consistently
-been
-used as an example for <a
- href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a>.<br>
-</p>
-<div style="text-align: center;"><img alt="" src="Images/fig1.jpg"
- style="width: 362px; height: 193px;"><br>
-<br>
-Stock Quoter application Diagram <br>
-</div>
-<p>This tutorial will show you how to use generic modeling techniques <a
- href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> to assist the
-development process of CIAO applications. All the necessary steps to
-build a component-based application model via <a
- href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a>
-toolkit are documented here.
-</p>
-<blockquote>
- <hr><strong>Note:</strong> <br>
-1. Although the descriptor files generated by CoSMIC toolkits are
-portable, the modeling environment required by CoSMIC (GME) only
-supports MS Windows platforms currently. So this tutorial will focus on
-Windows users.<br>
-2. The CIAO/DAnCE codes used for this tutorial <span
- style="font-family: monospace;">can be found in </span><code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple</code>.
- <br>
-3. The current tutorial is tested under GME 5.9.21, and&nbsp; CosMIC
-0.4.8. It will be subject to change as version of GME and CoSMIC
-evolves.<br>
- <hr></blockquote>
-<span style="font-weight: bold;"><big>Prerequisite<br>
-<br>
-</big></span>&nbsp;&nbsp;&nbsp;Before you start,
-you need the following:
-<OL>
-<LI> <B>ACE+TAO+CIAO (Component Integraated ACE ORB).</B> ACE + TAO +
-CIAO provide the CCM infrastructure necessary to enable the CCM-based
-distributed component interaction. You can click <a
- href="http://deuce.doc.wustl.edu/Download.html"> here</a> to download
-the latest
-ACE + TAO + CIAO and click <a
- href="http://www.cs.wustl.edu/%7Eschmidt/ACE_wrappers/TAO/CIAO/CIAO-INSTALL.html">here</a>
-for information on how
-to build ACE+TAO+CIAO.<P>
+<body style=
+"color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link=
+"#000FFF" vlink="#FF0F0F">
+ <h3>Building a Stock Quoter with CoSMIC and DAnCE - A
+ Tutorial<br /></h3>
+
+ <p>This tutorial provides a step-by-step lesson on developing
+ component-based distributed applications using <a href=
+ "http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> modeling
+ toolkit and <a href=
+ "http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">CIAO/DAnCE</a>
+ framework. The example application used in this tutorial is a
+ Stock Quoter that consists of two components; the
+ <em>StockDistributor</em> and the <em>StockBroker</em>. The
+ <em>StockDistributor</em> notifies one or more stock brokers
+ whenever a stock price changes. Upon receiving the notification,
+ the <em>StockBroker</em> fetches information about a particular
+ stock from the <em>StockDistributor</em>. The figure bellow shows
+ the application diagram. This Stock Quoter application is based
+ on a series of <a href=
+ "http://www.cs.wustl.edu/%7Eschmidt/report-doc.html">CORBA
+ component model</a> columns written by <a href=
+ "http://www.cs.wustl.edu/%7Eschmidt/">Doug Schmidt</a> and
+ <a href="http://www.iona.com/hyplan/vinoski/">Steve Vinoski</a>
+ for <a href="http://www.cuj.com">C/C++ Users Journal</a> and has
+ consistently been used as an example for <a href=
+ "http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a>.<br /></p>
+
+ <div style="text-align: center;">
+ <img alt="" src="Images/fig1.jpg" style=
+ "width: 362px; height: 193px;" /><br />
+ <br />
+ Stock Quoter application Diagram<br />
+ </div>
+
+ <p>This tutorial will show you how to use generic modeling
+ techniques <a href=
+ "http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> to assist the
+ development process of CIAO applications. All the necessary steps
+ to build a component-based application model via <a href=
+ "http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> toolkit are
+ documented here.</p>
+
+ <blockquote>
+ <hr />
+ <strong>Note:</strong><br />
+ 1. Although the descriptor files generated by CoSMIC toolkits
+ are portable, the modeling environment required by CoSMIC (GME)
+ only supports Microsoft Windows platforms.<br />
+ 2. The CIAO/DAnCE codes used for this tutorial can be found in
+ <code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple</code>.<br />
+ 3. The current tutorial is tested under GME 5.9.21, and&nbsp;
+ CosMIC 0.4.8. It will be subject to change as version of GME
+ and CoSMIC evolves.<br />
+ <hr />
+ </blockquote><strong><big>Prerequisites</big></strong><br />
+ <br />
+ &nbsp;&nbsp;&nbsp;Before you start, you will need the following:
+
+ <ol>
+ <li><strong>ACE+TAO+CIAO (Component Integraated ACE
+ ORB).</strong> ACE + TAO + CIAO provide the CCM infrastructure
+ necessary to enable the CCM-based distributed component
+ interaction. You can click <a href=
+ "http://deuce.doc.wustl.edu/Download.html">here</a> to download
+ the latest ACE + TAO + CIAO and click <a href=
+ "http://www.cs.wustl.edu/%7Eschmidt/ACE_wrappers/TAO/CIAO/CIAO-INSTALL.html">
+ here</a> for information on how to build ACE+TAO+CIAO.</li>
+
+ <li><strong>Generic Modeling Environment (GME).</strong> GME is
+ a configurable toolkit for creating domain-specific modeling
+ and program synthesis environments. It provides the execution
+ environment for CoSMIC toolkits. Click <a href=
+ "http://www.isis.vanderbilt.edu/Projects/gme/download.html">here</a>
+ to download GME.</li>
+
+ <li><strong>CoSMIC toolkit.</strong> Click <a href=
+ "http://www.dre.vanderbilt.edu/cosmic/">here</a> to download
+ the latest CoSMIC release.</li>
+ </ol>
-<LI> <B>Generic Modeling Environment (GME).</B> GME is a configurable
-toolkit for creating domain-specific modeling and program synthesis
-environments. It provides the execution environment for CoSMIC
-toolkits. Click <a
-href="http://www.isis.vanderbilt.edu/Projects/gme/download.html">here</a>
-to download GME.<P>
+ <blockquote>
+ <hr />
+ <strong>Note:</strong><br />
-<LI> <B>CoSMIC toolkit.</B> Click <a
-href="http://www.dre.vanderbilt.edu/cosmic/">here</a> to download the
-latest CoSMIC release.<P>
+ <ol>
+ <li>Please use only the version of GME that the CoSMIC
+ package you have downloaded requires. Attempts to use earlier
+ or later versions may result in undefined behavior.</li>
-</OL>
+ <li>Make sure you install GME before you install CoSMIC.</li>
+ </ol>
+ <hr />
+ </blockquote><strong><a href="01.html">Getting
+ Started</a></strong><br />
+ <br />
+ &nbsp;&nbsp; This section describes the IDL files used by the
+ example and shows you how to import IDL into <a href=
+ "http://www.cs.wustl.edu/%7Eschmidt/PDF/RTAS05-PICML.pdf">PICML
+ (Platform-Independent Component Modeling Language)</a>; a
+ domain-specific modeling language which is defined using GME.
+ PICML is designed to help to bridge the gap between design-time
+ verification and model-checking tools and the deployment of
+ component implementations.<br />
+ <br />
+ <strong><a href="02.html">Modeling StockQuoter system with
+ PICML</a></strong><br />
+ <br />
+ &nbsp;&nbsp;&nbsp; This section describes how to model the Stock
+ Quoter components in PICML.<br />
+ &nbsp;&nbsp;&nbsp;&nbsp;<br />
+ <a href="03.html"><strong>Implementing Quoter components with
+ DAnCE</strong></a><br />
+ <br />
+ &nbsp;&nbsp;&nbsp; This section provides codes for the Quoter
+ example.<br />
+ <br />
+ <strong><a href="04.html">Running the
+ application</a></strong><br />
+ <br />
+ &nbsp;&nbsp; After all the components and descriptors generated
+ by PICML are in place. You are ready to compile and run the
+ application.<br />
+ <br />
+ <hr />
-<blockquote>
- <hr> <strong>Note:</strong><br>
-1.Usually you should download the latest GME, but it is possible that
-CoSMIC hasn't been updated yet to support the very latest GME..The
-installation process of CoSMIC will tell you which version it is
-expecting.&nbsp; So <span class="intbody">please make sure the GME
-version you are using is the version required by CoSMIC. A different
-version of </span>GME may result in
-undefined errors. <br>
-2.Make sure you install GME first before you start with CoSMIC toolkits.<br>
- <hr></blockquote>
-</span>
-<a style="font-weight: bold;" href="01.html">Getting Started</a><br>
-<br>
-&nbsp;&nbsp; This section describes the IDL files used by the example
-and
-shows you how to import IDL into <a
- href="http://www.cs.wustl.edu/%7Eschmidt/PDF/RTAS05-PICML.pdf">
-PICML (Platform-Independent Component Modeling Language)</a>; a
-domain-specific modeling language which is defined using GME. PICML is
-designed to help to bridge the gap between design-time verification and
-model-checking tools and the deployment of component implementations.
-<br>
-<br>
-<a style="font-weight: bold;" href="02.html">Modeling
-StockQuoter system with PICML</a><br>
-<br>
-&nbsp;&nbsp;&nbsp; This section describes how to model the Stock
-Quoter components in PICML.<br>
-&nbsp;&nbsp;&nbsp;&nbsp; <br>
-<a href="03.html"><b>Implementing Quoter components with DAnCE</b></a><br>
-<br>
-&nbsp;&nbsp;&nbsp; This section provides codes for the Quoter example.<br>
-<br>
-<a style="font-weight: bold;" href="04.html">Running the application</a><br>
-<br>
-&nbsp;&nbsp; After all the components and descriptors generated by
-PICML are in place. You are ready to compile and run the application.<br>
-<br>
-<hr>
-<address><a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br>
-</a></address>
-<!-- Created: Sat Nov 27 15:25:06 CST 1999 --><!-- hhmts start -->
-Last modified: Fri May 5 21:29:07 CDT 2006
-<!-- hhmts end -->
+ <address>
+ <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br /></a>
+ </address><!-- Created: Sat Nov 27 15:25:06 CST 1999 -->
+ <!-- hhmts start -->
+ Last modified: Fri May 5 21:29:07 CDT 2006 <!-- hhmts end -->
</body>
</html>
diff --git a/CIAO/docs/tutorials/CoSMIC/style.css b/CIAO/docs/tutorials/CoSMIC/style.css
new file mode 100644
index 00000000000..b86b9ceb671
--- /dev/null
+++ b/CIAO/docs/tutorials/CoSMIC/style.css
@@ -0,0 +1,15 @@
+
+/* Important Node */
+div.important {
+ position: center;
+ width: 75%;
+ text-align: left;
+ border: 1;
+ background: #FAEBD7;
+}
+
+div.important strong {
+ font-weight: bold;
+ color: red;
+ font-variant: small-caps;
+}