summaryrefslogtreecommitdiff
path: root/CIAO/tutorials/Quoter/Simple/03.html
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/tutorials/Quoter/Simple/03.html')
-rw-r--r--CIAO/tutorials/Quoter/Simple/03.html474
1 files changed, 0 insertions, 474 deletions
diff --git a/CIAO/tutorials/Quoter/Simple/03.html b/CIAO/tutorials/Quoter/Simple/03.html
deleted file mode 100644
index 5f6e8cf6b99..00000000000
--- a/CIAO/tutorials/Quoter/Simple/03.html
+++ /dev/null
@@ -1,474 +0,0 @@
-<!-- -->
-<html xmlns="http://www.w3.org/TR/REC-html40">
-<head>
-<title>Getting Started</title>
-<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
-<style>
-<!--
-h3 {
- font-size:13.5pt;
- font-family:"Times New Roman";
- font-weight:bold;
-}
-a:link, span.MsoHyperlink {
- color:#000FFF;
- text-decoration:underline;
- text-underline:single;
-}
-a:visited, span.MsoHyperlinkFollowed {
- color:#FF0F0F;
- text-decoration:underline;
- text-underline:single;
-}
-p {
- font-size:12.0pt;
- font-family:"Times New Roman";
-}
-address {
- font-size:12.0pt;
- font-family:"Times New Roman";
- font-style:italic;
-}
-code {
- font-family:"Courier New";
-}
-kbd {
- font-family:"Courier New";
-}
-pre {
- tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
- font-size:10.0pt;
- font-family:"Courier New";
-}
-div.Section1 {
- page:Section1
-}
--->
-</style>
-<!-- -->
-</head>
-<body bgcolor="#FFFFFF" lang="EN-US" link="#000fff" vlink="#ff0f0f">
-<div class="Section1">
- <h3 align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>Step 3:
- Package your components</span></h3>
- <h3 align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img width="572" height="358" id="_x0000_i1025" src="images/step3.jpg"> </span></h3>
- <p><b>Brief Introduction to CosMIC:</b></p>
- <p>The Component Synthesis
- using Model Integrated Computing (CoSMIC) project is a MDA toolset being
- developed by the Institute for Software Integrated Systems (ISIS) at
- <st1:place w:st="on">
- <st1:PlaceName w:st="on">
- Vanderbilt
- <st1:PlaceType w:st="on">
- University
-
- to:</p>
- <p style='MARGIN-LEFT:39pt;TEXT-INDENT:-0.25in;'>1.<span style="FONT:7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span><i>Model and</i> <i>analyze </i>distributed real-time and embedded
- application functionality and QoS requirements.</p>
- <p style='MARGIN-LEFT:39pt;TEXT-INDENT:-0.25in;'>2.<span style="FONT:7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp; </span><i>Synthesize</i> CCM-specific deployment metadata required to deliver
- end-to-end QoS to DRE applications.</p>
- <p>The CoSMIC toolsuite
- provides modeling of DRE systems, their QoS requirements, and QoS adaptation
- policies used for DRE application QoS management. The component behavior, their
- interactions, and QoS requirements are modeled using a domain specific modeling
- language that adheres to <span style='COLOR:black'>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></span>.
- CoSMIC enables modeling the standards-based CCM components. </p>
- <p>Hand-writing the required
- XML descriptors to configure our components is tedious and error prone. We
- therefore utilize CosMIC (we specifically use a subset of CosMIC called PICML,
- which stands for Platform-Independent Component Modeling Language) to generate
- the bulk of descriptors for us.</p>
- <p>For more information on
- CosMIC, please refer to the following article:</p>
- <p><a href="http://www.cs.wustl.edu/~schmidt/PDF/mamad2003.pdf">CoSMIC:
- An MDA Generative Tool for Distributed Real-time and Embedded Applications</a>.</p>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
- <p><b><span style='COLOR:black'>Importing IDL to PICML</span></b><span style='COLOR:black'><br>
- <br>
- &nbsp;&nbsp; To quick start our Stock Quoter modeling process in GME, CoSMIC
- introduces <tt>idl_to_picml</tt> , which is an executable program that imports
- the IDL files you just created into PICML.</span></p>
- <ol start="1" type="1">
- <li style='COLOR:black;'> Make sure <code> <span style='FONT-SIZE:10pt'>%COSMIC_ROOT%\bin</span></code> is included in
- the PATH variable, e.g., c:\Program Files\ISIS\CoSMIC\bin.
- <li style='COLOR:black;'> 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 <i>idl_to_picml</i> works properly.<br>
- in my machine, VCVARS32.bat is in C:\Program Files\Microsoft Visual Studio .NET
- 2003\Vc7\bin
- <li style='COLOR:black;'> In the same command prompt, change directory to <code> <span style='FONT-SIZE:10pt'>Quoter\Simple</span></code>, and type the
- following command:<br>
- &nbsp;&nbsp; &gt; <kbd> <span style='FONT-SIZE:10pt'> idl_to_picml -x Quoter -r .&nbsp;</span></kbd><br>
- <tt>idl_to_picml</tt> will parse your IDL files and generated a <code> <span style='FONT-SIZE:10pt'>Quoter.xme</span></code> file in the <code>
- <span style='FONT-SIZE:10pt'>Quoter</span></code> directory. Note that if
- -x option is not used, the default xme file name will be <code> <span style='FONT-SIZE:10pt'>PICML_default_xme_file.xme.</span></code><br>
- <span style='COLOR:black;'>When this command is run a second time, be sure to delete all E.idl files first!</span><br>
- <br>
- <LI style="COLOR: black; "> Start GME, select <strong>File | 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. </LI>
- </ol>
- <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <img border="0" id="_x0000_i1027" src="images/fig2.jpg" width="80%"><br>
- <br>
- Figure 2</span></p>
- <p><span style='COLOR:black'>&nbsp; In the Browser of the generated model, the
- <tt>PredefinedTypes</tt>
- 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 <tt>InterfaceDefinitions</tt> folder are the PICML representations
- of the IDL files you just imported. Double-click to open <tt>StockBroker</tt>, it
- will show you a yellow box-shaped entity representing a &lt;&lt;Package&gt;&gt;
- instance. Its equivalent representation in IDL is &quot;module&quot;. 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.</span></p>
- <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'>
- <img border="1" id="_x0000_i1028" src="images/fig3.jpg"><br>
- <br>
- Figure 3</span></p>
- <p style='MARGIN-BOTTOM:12pt'><span style='COLOR:black'>Now
- we are ready to model the rest of the Stock Quoter systems.<br>
- <br>
- <br>
- </span></p>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
-
- <h3>Building Stock Quoter System in PICML<span style='COLOR:black'> </span></h3>
-
- <p><span style='COLOR:black'>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.</span></p>
- <p><strong><span style='COLOR:black'>Note:</span></strong><span style='COLOR:black'>
- To import an XML file in GME, select <b>File | Import XML...</b> from GME and choose your XML model</span></p>
- <p><span style='COLOR:black'>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="../../../docs/releasenotes/dance.html">DAnCE
- project</a> for more
- information.&nbsp;For those who hate specifications (including me, :-)), an <a href="http://www.cs.wustl.edu/%7Eschmidt/PDF/DAnCE.pdf">overview
- of D&amp;C</a> and as well as a <a href="../../../docs/OMG-CCM-Tutorial.pptx">tutorial of D&amp;C
- and CCM</a> can help to reduce the learning curve. In addition, it is
- also helpful to read through documentation which originally came from the TAO's Developer's Guide 1.4a (CIAO
- and CCM) which thoroughly describes the various descriptors required for a
- component (*.iad, *.ccd, *.cid, etc). This chapter is available <a href="../../../docs/CIAO.pdf">here.</a></span></p>
- <h3><span style='COLOR:black'>Table of Contents</span></h3>
- <ul type="disc">
- <li style='COLOR:black;'> <a href="#1">ImplementationArtifacts</a>
- <li style='COLOR:black;'> <a href="#2">ComponentImplementations</a>
-
- <!-- disabled part of tutorial -->
- <!-- li style='COLOR:black;'> <a href="#3">ComponentPackages</a>
- <li style='COLOR:black;'> <a href="#4">PackageConfiguration</a>
- <li style='COLOR:black;'> <a href="#5">TopLevelPackage</a -->
-
- <li style='COLOR:black;'> <a href="#6">Targets</a>
- <li style='COLOR:black;'> <a href="#7">DeploymentPlan</a></li>
- </ul>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
- <p><span style='COLOR:black'>The complete PICML Quoter model consists of
- modeling elements distributed across various folders. If you used <tt>idl_to_picml</tt>
- 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.</span></p>
-
- <p><b><span style='BACKGROUND:silver;COLOR:red;FONT-VARIANT:small-caps;'>Important:</span></b><span style='BACKGROUND:silver;COLOR:black;'> 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 <b>Tools | Constraints | Check All</b> in GME. This
- will help you find many logic errors in your model.</span><span style='COLOR:black'> </span></p>
-
- <h3><span style='COLOR:black'>ImplementationArtifacts</span></h3>
- <p><span style='COLOR:black'>This folder contains implementation artifacts
- associated with components. <tt>idl_to_picml</tt> has created these artifacts
- for us to ensure the are named correctly when associated with their
- target implementation. Figure 4 shows the Implementation Artifacts for
- the <tt>StockBroker</tt> implementation.</span>
- </p>
-
- <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'>
- <span style='COLOR:black'><img border="0" id="_x0000_i1031" width="70%" src="images/fig4.jpg"><br>
- Figure 4.</span></p>
- <div align="center" style='TEXT-ALIGN:center'><a name="1"></a><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
- <h3><span style='COLOR:black'>ComponentImplementation<a name="2"></a></span></h3>
- <p><span style='COLOR:black'>This folder contains models that describe the implementations
- of component interfaces. In the Quoter example, we will have two monolithic
- component implementations - named <tt>Stock_StockDistributorImpl</tt> and
- <tt>Stock_StockBrokerImpl</tt> - and an assembly component implementation
- named <tt>StockQuoter</tt>, which is an assembly of
- <tt>Stock_StockDistributorImpl</tt> and <tt>Stock_StockBrokerImpl</tt>.
- <tt>idl_to_picml</tt> has created the monolithic component implementations
- for us, as shown in Figure 5.</span></p>
-
- <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <img border="0" id="_x0000_i1033" src="images/fig5.jpg" width="70%"><br>
- Figure 5</span>
- </p>
-
- <p><span style='COLOR:black'>We also need to specify the connections between a <tt>Stock_StockDistributorImpl</tt>
- and a <tt>Stock_StockBrokerImpl</tt> in order to construct a Quoter system. We
- therefore we need to create the mentioned StockQuoter component assemby.</span></p>
-
- <p><span style='COLOR:black'>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 </span><code><span style='FONT-SIZE:10pt;
- COLOR:black'>MonolithicImplementation</span></code><span style='COLOR:black'>.
- Instead, <em>instances</em> of other components are placed within the assembly
- and connected. Let's try to assemble the <tt>StockQuoter</tt>.</span></p>
-
- <ol start="1" type="1">
- <li style='COLOR:black;'> 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 style='COLOR:black;'> 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 style='COLOR:black;'> Now we will create two instances for interfaces <tt>StockBroker</tt>
- and <tt>StockDistributor</tt>. To do that, first add a &lt;&lt;ComponentInstance&gt;&gt; element
- to the model, select the Stock_StockBrokerImpl from the pop-up dialog, and
- change the name of the &lt;&lt;ComponentInstance&gt;&gt; to &quot;StockBroker&quot;.
-
- <li style='COLOR:black;'>Repeat the same process for the <tt>StockDistributor</tt>
- component instance. Figure 6 show the model of the both the <tt>StockBroker</tt>
- and <tt>StockDistributor</tt> component instances.</li>
- <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" id="Img1" width="70%" src="images/fig6a.jpg"><br>
- Figure 6</span></p>
-
- <li style='COLOR:black;'> Now assemble the components together according to <a href="images/fig1.jpg">Figure
- 1</a> (make sure you change to connect mode <img border="0" width="16" height="16" id="_x0000_i1035" src="Icons/AddConnMode.gif" />)
- and the resulting assembly model should look like Figure 7.
- </li>
- <li style='COLOR:black;'>With ComponentIOR, one could
- configure the name of the IOR file. This can
- be done by dragging two &lt;&lt;SimpleProperty&gt;&gt; items from the part browser onto the window,
- one for StockBroker and one for StockDistributor, and setting to reference the
- &lt;&lt;String&gt;&gt; predefined type.
- Now it's time to configure the name and value of both &lt;&lt;SimpleProperty&gt;&gt; items.
- <ul>
- <li>The name of each &lt;&lt;SimpleProperty&gt;&gt; should be &quot;ComponentIOR&quot;
- </li>
- <li>One of the values should be &quot;StockBroker.ior&quot; and the other
- should be &quot;StockDistributor.ior&quot;
- </li>
- </ul>
- </li>
- </ol>
- <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <img border="0" id="_x0000_i1036" src="images/fig7.jpg" width="70%" />
- <br><br>
- Figure 7</span></p>
-
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
-
- <!-- h3><a name="3"></a><span style='COLOR:black'>ComponentPackage</span></h3>
- <p><span style='COLOR:black'>This folder contains deployable component packages. Every instance in an assembly should have a corresponding
- monolithic implementation and packaged in a ComponentPackage. To create a package for <em>StockBroker</em>.instance</span></p>
- <ol start="1" type="1">
- <li style='COLOR:black;'> Right click folder <em>ComponentPackage</em>s , insert a
- &lt;&lt;PackageContainer&gt;&gt;, name it "Broker". Double click to open it.
- <li style='COLOR:black;'> From the PartBrowser, add the following:
- <ul type="circle">
- <li style='COLOR:black;'> a &lt;&lt;ComponentPackage&gt;&gt; named "Broker";
- <li style='COLOR:black;'> a &lt;&lt;ComponentImplementationReference&gt;&gt; named "ComponentImplBrokerRef";
- <li style='COLOR:black;'> a &lt;&lt;ComponentRef&gt;&gt; named "ComponentBrokerRef";</li>
- </ul>
- <li style='COLOR:black;'>Now we need to create references for "ComponentImplBrokerRef" and "ComponentBrokerRef".
- To create a reference in GME, simply drag the tree node in the Browser "into" the reference model.<br/>
- We need to refer &lt;&lt;ComponentImplementationReference&gt;&gt; "ComponentImplBrokerRef" to
- <code><span style='FONT-SIZE:10pt'>Quoter/ComponentImplementations/StockBrokerImplementation/StockBrokerMonolithicImpl</span></code>
- and &lt;&lt;ComponentRef&gt;&gt; "ComponentBrokerRef" to <code><span style='FONT-SIZE:10pt'>Quoter/InterfaceDefinitions/StockBroker/Stock/StockBroker</span></code>.<br/>
- For example, you should drag the tree node <code><span style='FONT-SIZE:10pt'>Quoter/ComponentImplementations/StockBroker</span></code>Implementation/StockBrokerMonolithicImpl
- into &lt;&lt;ComponentImplementationReference&gt;&gt; "ComponentImplBrokerRef".<br/> Check GME manual(tutorials) for more information.
- <li style='COLOR:black;'> Switch to Connect Mode and create two connections according to the following relationship.
- <ul type="circle">
- <li style='COLOR:black;'> &lt;&lt;ComponentImplementationReference&gt;&gt; "ComponentImplBrokerRef" implements
- &lt;&lt;ComponentPackage&gt;&gt; "Broker"
- </li>
- <li style='COLOR:black;'> &lt;&lt;ComponentPackage&gt;&gt; "Broker" realizes
- &lt;&lt;ComponentRef&gt;&gt; "ComponentBrokerRef".
- </li>
- </ul>
- <br/>
- <br/>
- The model you built should resemble Figure 8.
- <br />
- <br />
- <p align="center" style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;TEXT-ALIGN:center;'><span style='COLOR:black'><img border="0" id="_x0000_i1038" src="images/fig8.jpg">
- <br><br>
- Figure 8</span>
- </p>
- <p>Now create a StockDistributor following the same steps.</p>
- </li>
-
- <li style='LIST-STYLE-POSITION:outside;COLOR:black;'>
- We will also need to create a component 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:<br/>
-
- <ol>
- <li>Insert a &lt;&lt;ComponentPackage&gt;&gt; named "StockQuoter"
- </li>
- <li>Add a &lt;&lt;ComponentImplementationReference&gt;&gt; named "ComponentImplStockQuoterRef", refer it to
- <code><span style='FONT-SIZE:10pt'>Quoter/ComponentImplementations/StockQuoterImplementation/StockQuoter</span></code>
- </li>
- <li>Switch to connect mode and connect &lt;&lt;ComponentImplementationReference&gt;&gt; "ComponentImplStockQuoterRef" with
- &lt;&lt;ComponentPackage&gt;&gt; "StockQuoter", as in Figure 9.
- <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" id="_x0000_i1039" src="images/fig9.jpg">
- <br><br>
- Figure 9</span>
- </p>
- </li>
- </ol>
- </ol>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div -->
-
- <!-- h3><a name="4"></a><span style='COLOR:black'>PackageConfiguration</span></h3>
- <p><span style='COLOR:black'>This folder contains just one
- model capturing specific configuration of Component packages.</span></p>
- <ol start="1" type="1">
- <li style='COLOR:black;'> In the folder <em>PackageConfiguratio</em>n, and create a
- &lt;&lt;PackageConfigurationContainer&gt;&gt;, name it "Default", double click to open
- it.
- <li style='COLOR:black;'> Add a &lt;&lt;PackageConfiguration&gt;&gt; named "default" and a
- &lt;&lt;ComponentPackageReference&gt;&gt;, name it "StockQuoter", connect
- "Default" to "StockQuoter"
- <li style='COLOR:black;'> Refer &lt;&lt;ComponentPackageReference&gt;&gt; StockQuoter to
- &lt;&lt;ComponentPackage&gt;&gt; <code> <span style='FONT-SIZE:10pt'>Quoter/ComponentPackage/StockQuoter/StockQuoter</span></code><span style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New'"><br>
- <code>(Not &lt;&lt;ComponentImplementationReference&gt;&gt;</code></span> <code> <span style='FONT-SIZE:10pt'>Quoter/ComponentPackage/StockQuoter/ComponentImplStockQuoterRef!)&nbsp;</span></code></li>
- </ol>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
- <h3><a name="5"></a><span style='COLOR:black'>ToplevelPackage</span></h3>
- <p><span style='COLOR:black'>This folder contains one model
- capturing information about the top-level element that will be fed to the
- application.</span></p>
- <ol start="1" type="1">
- <li style='COLOR:black;'> In the folder <em>ToplevelPackages</em>, create a
- &lt;&lt;ToplevelPackageContainer&gt;&gt; and name it "Default". Double click to
- open it.
- <li style='COLOR:black;'> Add a &lt;&lt;ToplevelPackage&gt;&gt; named "ToplevelPackage" and a
- &lt;&lt;PackageConfigurationReference&gt;&gt;, name it "Default", connect
- "ToplevelPackage" to "Default"
- <li style='COLOR:black;'> Refer "Default" to <code><span style='FONT-SIZE:10pt'>Quoter/PackageConfiguration/Default/Default</span></code></li>
- </ol>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div-->
-
- <h3><a name="6"></a><span style='COLOR:black'>Targets</span></h3>
- <p><span style='COLOR:black'>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.</span></p>
- <ol start="1" type="1">
- <li style='COLOR:black;'> In the folder <i>Targets</i>, insert a new &lt;&lt;Domain&gt;&gt; named
- "Domain"; double click to open it.
- <li style='COLOR:black;'> From the Part Browser, add two &lt;&lt;Node&gt;&gt;s, named "Broker" and
- "Distributor" respectively.</li>
- </ol>
- <p><span style='COLOR:black'><br>
- Now we are ready to deploy our Components to the actual physical environment.</span></p>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
-
- <h3><a name="7"></a><span style='COLOR:black'>Deployment Plan</span></h3>
- <p><span style='COLOR:black'>This folder contains a plan model
- that captures information about the assignment of component to nodes.</span></p>
- <ol start="1" type="1">
- <li style='COLOR:black;'> In the folder <em>DeploymentPlan</em>, insert a model
- &lt;&lt;DeploymentPlan&gt;&gt;; name it "Plan". Double click to open it.
- <li style='COLOR:black;'> From the PartBrowser, add the following:
- <ul type="circle">
- <li style='COLOR:black;'> Two &lt;&lt;NodeReference&gt;&gt; named "Node_Broker" and "Node_Distributor"
- respectively, refering to <code> <span style='FONT-SIZE:10pt'>Quoter/Targets/Domain/Broker</span></code> and
- <code><span style='FONT-SIZE:10pt'>Quoter/Targets/Domain/Distributor</span></code> respectively.<br/>
- A &lt;&lt;CollationGroup&gt;&gt;, named "DefaultGroup", is added automatically when adding a &lt;&lt;NodeReference&gt;&gt;.
- </li>
- <li style='COLOR:black;'> Two &lt;&lt;ComponentInstanceRef&gt;&gt; named "StockBroker" and "StockDistributor"
- respectively, refering to <code> <span style='FONT-SIZE:10pt'>Quoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockBroker</span></code>
- and <code><span style='FONT-SIZE:10pt'>Quoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockDistributor</span></code> respectively.<br/>
- </li>
- </ul>
- <p>The model should look like this:</p>
- </ol>
- <p align="center" style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;TEXT-ALIGN:center;'>
- <span style='COLOR:black'><img border="0" id="_x0000_i1044" src="images/fig10.jpg" width="70%"><br>
- <br>
- Figure 10.</span></p>
- <ol start="4" type="1">
- <li style='MARGIN-BOTTOM:12pt;COLOR:black;'> Now we need to associate &lt;&lt;ComponentInstanceRef&gt;&gt; StockBroker to the
- &lt;&lt;CollocationGroup&gt;&gt; running on the &lt;&lt;NodeReference&gt;&gt; Node_Broker, and &lt;&lt;ComponentInstanceRef&gt;&gt; StockDistributor to the
- &lt;&lt;CollocationGroup&gt;&gt; running on the &lt;&lt;NodeReference&gt;&gt; Node_Distributor. To do that, switch the Edit Mode Bar to Set Mode
- (<img border="0" width="16" height="16" id="_x0000_i1045" src="Icons/SetMode.gif">), and move the cursor to the &lt;&lt;CollocationGroup&gt;&gt; running on
- &lt;&lt;NodeReference&gt;&gt; Node_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.
- </li>
- </ol>
- <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'>
- <img border="0" id="_x0000_i1046" src="images/fig11.jpg" width="70%">
- <br><br>
- Figure 11</span>
- </p>
- <p><span style='COLOR:black'>Now move your cursor to &lt;&lt;ComponentInstanceRef&gt;&gt;&nbsp; StockDistributor, and left-click it, so that
- it looks like Figure 12.</span>
- </p>
- <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'>
- <img border="0" id="_x0000_i1047" src="images/fig12.jpg" width="70%"> &nbsp;<br>
- <br>
- Figure 12</span>
- </p>
- <p style='MARGIN-BOTTOM:12pt'><span style='COLOR:black'>This operation associates <em>StockDistributor</em> component to the
- &lt;&lt;CollocationGroup&gt;&gt; running on <tt>Distributor</tt> node. To do the same with Broker, just right-click on the associate
- &lt;&lt;CollocationGroup&gt;&gt;, and left-click on StockBroker &lt;&lt;CollocationGroup&gt;&gt; which is then highlighted.</span>
- </p>
- <div align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
- <p><a name="8"></a><span style='COLOR:black'>Up to this point, we are basically
- done with the modeling part. Before we generate anything from this model
- though, please <b>DO</b> remember to check the constraints of the model as we
- mentioned earlier.</span></p>
- <p><span style='COLOR:black'>After we are done with the modeling, the
- Deploymentplan interpreter that comes along with PICML will help us
- to generate a Plan.cdp file. Please make sure you generate
- this file to Quoter/descriptors. Note that to get the example working</span><span style="COLOR:black; FONT-FAMILY:'Courier New'">,</span><span style='COLOR:black'>a
- Node Map xml file (NodeMap.cdd) in Quoter/descriptors should be created to map logical nodes to NodeManager object
- references.</span></p>
- <pre><span
-style='COLOR:black'>&nbsp;</span></pre>
- <pre><span style='COLOR:black'>&nbsp;</span></pre>
- <p align="center" style='TEXT-ALIGN:center;'><span style='COLOR:black'><a href="02.html">Previous</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="04.html">Next</a> </span></p>
- <div align="center" style='TEXT-ALIGN:center;'><span style='COLOR:black'>
- <hr size="2" width="100%" align="center">
- </span></div>
- <address>
- <span style='COLOR:black'><a href="mailto:ming.xiong@vanderbilt.edu">Ming
- Xiong<br>
- </a> </span><a href="mailto:abdullah.sowayan@lmco.com">Abdullah Sowayan</a>
- </address>
- <P><SPAN style="COLOR: black"> </SPAN>&nbsp;</P>
-</div>
-</body>
-</html>