diff options
Diffstat (limited to 'CIAO/docs/tutorials/Quoter/Simple')
11 files changed, 894 insertions, 1567 deletions
diff --git a/CIAO/docs/tutorials/Quoter/Simple/01.html b/CIAO/docs/tutorials/Quoter/Simple/01.html index 1ea57484540..6b3cdf7c50f 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/01.html +++ b/CIAO/docs/tutorials/Quoter/Simple/01.html @@ -1,421 +1,222 @@ <!-- $Id$ --> -<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" - xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" - xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns="http://www.w3.org/TR/REC-html40"> - <head> - <title>Getting Started</title> - <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> - <meta name="ProgId" content="Word.Document"> - <meta name="Generator" content="Microsoft Word 11"> - <meta name="Originator" content="Microsoft Word 11"> - <link rel="File-List" href="01_files/filelist.xml"> - <link rel="Edit-Time-Data" href="01_files/editdata.mso"> <!--[if !mso]> -<STYLE> -v\:* {behavior:url(#default#VML);} -o\:* {behavior:url(#default#VML);} -w\:* {behavior:url(#default#VML);} -.shape {behavior:url(#default#VML);} -</STYLE> -<![endif]--> <!--[if gte mso 9]><xml> - <o:DocumentProperties> - <o:Author>Abdullah Sowayan</o:Author> - <o:LastAuthor>Abdullah Sowayan</o:LastAuthor> - <o:Revision>24</o:Revision> - <o:TotalTime>250</o:TotalTime> - <o:Created>2006-10-09T18:21:00Z</o:Created> - <o:LastSaved>2007-03-08T01:16:00Z</o:LastSaved> - <o:Pages>1</o:Pages> - <o:Words>878</o:Words> - <o:Characters>5011</o:Characters> - <o:Company>Maritime Systems & Sensors</o:Company> - <o:Lines>41</o:Lines> - <o:Paragraphs>11</o:Paragraphs> - <o:CharactersWithSpaces>5878</o:CharactersWithSpaces> - <o:Version>11.5606</o:Version> - </o:DocumentProperties> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:WordDocument> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</xml><![endif]--> - <style> <!-- /* Font Definitions */ @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:1627421319 -2147483648 8 0 66047 0;} - /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} - h3 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:3; 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 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} - address {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; font-style:italic;} - code {font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Times New Roman"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} - p.MsoAcetate, li.MsoAcetate, div.MsoAcetate {mso-style-noshow:yes; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:8.0pt; font-family:Tahoma; mso-fareast-font-family:"Times New Roman";} - @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} - div.Section1 {page:Section1;} - /* List Definitions */ @list l0 {mso-list-id:137387275; mso-list-type:hybrid; mso-list-template-ids:268987612 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} - @list l0:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.75in; mso-level-number-position:left; margin-left:.75in; text-indent:-.25in; font-family:Symbol;} - @list l0:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1 {mso-list-id:425031842; mso-list-type:hybrid; mso-list-template-ids:158504358 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} - @list l1:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.75in; mso-level-number-position:left; margin-left:1.75in; text-indent:-.25in; font-family:Symbol;} - @list l1:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2 {mso-list-id:632565866; mso-list-type:hybrid; mso-list-template-ids:542421050 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} - @list l2:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.25in; mso-level-number-position:left; margin-left:1.25in; text-indent:-.25in; font-family:Symbol;} - @list l2:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3 {mso-list-id:974944555; mso-list-type:hybrid; mso-list-template-ids:1880366448 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} - @list l3:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.25in; mso-level-number-position:left; margin-left:1.25in; text-indent:-.25in; font-family:Symbol;} - @list l3:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4 {mso-list-id:1876190917; mso-list-type:hybrid; mso-list-template-ids:-767374784 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} - @list l4:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.75in; mso-level-number-position:left; margin-left:1.75in; text-indent:-.25in; font-family:Symbol;} - @list l4:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - ol {margin-bottom:0in;} - ul {margin-bottom:0in;} - --></style> - <!--[if gte mso 10]> +<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> - /* Style Definitions */ - table.MsoNormalTable - {mso-style-name:"Table Normal"; - mso-tstyle-rowband-size:0; - mso-tstyle-colband-size:0; - mso-style-noshow:yes; - mso-style-parent:""; - mso-padding-alt:0in 5.4pt 0in 5.4pt; - mso-para-margin:0in; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; +<!-- +@font-face { +font-family:Tahoma; +panose-1:2 11 6 4 3 5 4 4 2 4; +} +h3 { + font-size:13.5pt; font-family:"Times New Roman"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} + 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"; +} +p.MsoAcetate, li.MsoAcetate, div.MsoAcetate { + font-size:8.0pt; + font-family:Tahoma; +} +div.Section1 { + page:Section1 +} +--> </style> -<![endif]--> <!-- 01.html,v 1.3 2006/02/10 14:34:35 mxiong Exp --> <!--[if gte mso 9]><xml> - <o:shapedefaults v:ext="edit" spidmax="10242"/> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> - </head> - <body bgcolor="white" lang="EN-US" link="#000fff" vlink="#ff0f0f" style='tab-interval: -.5in'> - <h3 align="center" style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%; TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'>Step 1: Define your interfaces and -component types<o:p></o:p></span></h3> - <h3 align="center" style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%; TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'><img width="447" height="350" id="_x0000_i1025" src="images/step1.jpg"><o:p></o:p> - </span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='COLOR:black'><o:p> </o:p> - </span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'>Please make sure to read the following article to under -the Stock Quoter system architecture before delving further into the tutorial:<o:p></o:p></span></h3> - <p style='MARGIN:0in 0in 0pt 0.75in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; mso-list:l0 level1 lfo2; tab-stops:list .75in' - class="Section1"><![if !supportLists]><span style='FONT-FAMILY:Symbol; -mso-fareast-font-family:Symbol; -mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> -</span></span> - </span><![endif]><a href="http://www.cuj.com/documents/s=9152/cujexp0404vinoski/">The - CORBA Component Model, Part 2: Defining Components with the IDL 3.x Types</a></p> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'><o:p> </o:p> - </span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%'>Directory Structure:<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'>The tutorial relies on the following directory -structure. Create Quoter and all its subdirectories as shown below. We will -describe the purpose of these directories later in the tutorial.<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt; TEXT-INDENT:0.5in; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'>Quoter<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'><span style='mso-spacerun:yes'> -</span>|---- descriptors<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'><span style='mso-spacerun:yes'> -</span>|---- Stock_Base<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'><span style='mso-spacerun:yes'> -</span>|---- Distributor<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'><span style='mso-spacerun:yes'> -</span>|---- Broker<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'><o:p> </o:p> - </span></h3> - <h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%'>Preliminaries:<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt 0.75in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; mso-list:l0 level1 lfo2; tab-stops:list .75in' - class="Section1"><![if !supportLists]><span style='FONT-WEIGHT:normal; +<!-- 01.html,v 1.3 2006/02/10 14:34:35 mxiong Exp --> +</head> +<body bgcolor="#FFFFFF" lang="EN-US" link="#000fff" vlink="#ff0f0f"> +<h3 align="center" style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%; TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'>Step 1: Define your interfaces and + component types</span></h3> +<h3 align="center" style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%; TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'><img width="447" height="350" id="_x0000_i1025" src="images/step1.jpg"> </span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='COLOR:black'> </span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'>Please make sure to read the following article to under + the Stock Quoter system architecture before delving further into the tutorial:</span></h3> +<p style='MARGIN:0in 0in 0pt 0.75in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; ' + class="Section1"><span style='FONT-FAMILY:Symbol; +'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><a href="http://www.cuj.com/documents/s=9152/cujexp0404vinoski/">The + CORBA Component Model, Part 2: Defining Components with the IDL 3.x Types</a></p> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'> </span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%'>Directory Structure:</span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'>The tutorial relies on the following directory + structure. Create Quoter and all its subdirectories as shown below. We will + describe the purpose of these directories later in the tutorial.</span></h3> +<h3 style='MARGIN:0in 0in 0pt; TEXT-INDENT:0.5in; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'>Quoter</span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'> |---- descriptors</span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'> |---- Stock_Base</span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'> |---- Distributor</span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'> |---- Broker</span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'> </span></h3> +<h3 style='MARGIN:0in 0in 0pt; LINE-HEIGHT:150%' class="Section1"><span style='FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%'>Preliminaries:</span></h3> +<h3 style='MARGIN:0in 0in 0pt 0.75in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; ' + class="Section1"><span style='FONT-WEIGHT:normal; FONT-SIZE:12pt; COLOR:black; LINE-HEIGHT:150%; FONT-FAMILY:Symbol; -mso-fareast-font-family:Symbol; -mso-bidi-font-family:Symbol; -mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> -</span></span> - </span><![endif]><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'>We use the Make -Project Creator (MPC) throughout this tutorial. Understanding MPC will aid you -in understanding this tutorial. For more information on MPC please look at the -following:<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt 1.5in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; mso-list:l0 level3 lfo2; tab-stops:list 1.5in' - class="Section1"><![if !supportLists]><span style='FONT-WEIGHT:normal; +'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'>We use the Make + Project Creator (MPC) throughout this tutorial. Understanding MPC will aid you + in understanding this tutorial. For more information on MPC please look at the + following:</span></h3> +<h3 style='MARGIN:0in 0in 0pt 1.5in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; ' + class="Section1"><span style='FONT-WEIGHT:normal; FONT-SIZE:12pt; COLOR:black; LINE-HEIGHT:150%; -mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>1.<span style="FONT:7pt 'Times New Roman'"> -</span></span> - </span><![endif]><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'>MPC <a href="http://downloads.ociweb.com/MPC/MakeProjectCreator.pdf">Chapter</a> in -TAO’s Developer’s Guide 1.4a.<o:p></o:p></span></h3> - <h3 style='MARGIN:0in 0in 0pt 1.5in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; mso-list:l0 level3 lfo2; tab-stops:list 1.5in' - class="Section1"><![if !supportLists]><span style='FONT-WEIGHT:normal; +'>1.<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'>MPC <a href="http://downloads.ociweb.com/MPC/MakeProjectCreator.pdf">Chapter</a> in + TAO’s Developer’s Guide 1.4a.</span></h3> +<h3 style='MARGIN:0in 0in 0pt 1.5in; TEXT-INDENT:-0.25in; LINE-HEIGHT:150%; ' + class="Section1"><span style='FONT-WEIGHT:normal; FONT-SIZE:12pt; COLOR:black; LINE-HEIGHT:150%; -mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>2.<span style="FONT:7pt 'Times New Roman'"> -</span></span> - </span><![endif]><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;mso-bidi-font-weight:bold'>$ACE_ROOT/MPC/README<o:p></o:p></span></h3> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><b><span style='COLOR:black'>Interface -Design:</span></b><span style='COLOR:black'><o:p></o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.75in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;mso-list:l0 level1 lfo2;tab-stops:list .75in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>In the <i style='mso-bidi-font-style:normal'>Quoter/<span style='mso-bidi-font-style:italic'>Stock_Base </span></i><span style='mso-bidi-font-style:italic'>sub-</span>directory, place an idl file </span><code><i><span style='FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:150%'>Stock_Base.idl</span></i></code><span style='COLOR:black'> that you could copy from <a href="Stock_Base/Stock_Base.idl">here</a> . This file defines the interfaces -and events that will be used by both StockDistributor and StockBroker components. We put -together the common interface definitions so the base library can be shared by -both components, reducing the size of "real" components.<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.75in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;mso-list:l0 level1 lfo2;tab-stops:list .75in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>Next, we need to create a Make Project Creator (MPC) file -to generate the make files for us. From the <i style='mso-bidi-font-style:normal'>Quoter/<span style='mso-bidi-font-style:italic'>Stock_Base</span></i><span style='mso-bidi-font-style: -italic'> subdirectory, type the following command:</span><o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"> -generate_component_mpc.pl –n Stock_Base<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span><span style='COLOR:black;mso-bidi-font-style:italic'> </span><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.75in;LINE-HEIGHT:150%'><span style='COLOR:black;mso-bidi-font-style:italic'>The command above will generate -a <i>Stock_Base.mpc</i> file that contains two projects <i>Stock_Base_stub </i>and -<i>Stock_Base_skel </i>for the Stub and Servant code respectively. In addition, -the command above will generate export files that will portably handle platform -specific issues of import/export declarations of dynamically linked libraries -(DLLs). After executing the command above you should see the following output -on your screen.<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic">The -following commands have been executed:<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCK_BASE_STUB > Stock_Base_stub_export.h<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCK_BASE_SKEL > Stock_Base_skel_export.h<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.75in;TEXT-INDENT:-1.25in;LINE-HEIGHT:150%;mso-list:l1 level1 lfo4;tab-stops:list .75in 1.75in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-style:italic'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-style:italic'>The MPC file should look like <a href="Stock_Base/Stock_Base.mpc">this</a>. </span><span style="COLOR: +'>2.<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='FONT-WEIGHT:normal;FONT-SIZE:12pt;COLOR:black;LINE-HEIGHT:150%;'>$ACE_ROOT/MPC/README</span></h3> +<p style='LINE-HEIGHT:150%'><b><span style='COLOR:black'>Interface + Design:</span></b><span style='COLOR:black'> </span></p> +<p style='MARGIN-LEFT:0.75in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>In the <i>Quoter/Stock_Base </i>sub-directory, place an idl file </span><code><i><span style='FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:150%'>Stock_Base.idl</span></i></code><span style='COLOR:black'> that you could copy from <a href="Stock_Base/Stock_Base.idl">here</a> . This file defines the interfaces + and events that will be used by both StockDistributor and StockBroker components. We put + together the common interface definitions so the base library can be shared by + both components, reducing the size of "real" components.</span></p> +<p style='MARGIN-LEFT:0.75in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>Next, we need to create a Make Project Creator (MPC) file + to generate the make files for us. From the <i>Quoter/Stock_Base</i> subdirectory, type the following command:</span></p> +<p style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_component_mpc.pl –n Stock_Base</span></p> +<p style='MARGIN-LEFT:0.75in;LINE-HEIGHT:150%'><span style='COLOR:black;'>The command above will generate + a <i>Stock_Base.mpc</i> file that contains two projects <i>Stock_Base_stub </i>and <i>Stock_Base_skel </i>for the Stub and Servant code respectively. In addition, + the command above will generate export files that will portably handle platform + specific issues of import/export declarations of dynamically linked libraries + (DLLs). After executing the command above you should see the following output + on your screen.</span></p> +<p style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; ">The + following commands have been executed:</span></p> +<p style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCK_BASE_STUB > Stock_Base_stub_export.h</span></p> +<p style='MARGIN-LEFT:0.5in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCK_BASE_SKEL > Stock_Base_skel_export.h</span></p> +<p style='MARGIN-LEFT:1.75in;TEXT-INDENT:-1.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'>The MPC file should look like <a href="Stock_Base/Stock_Base.mpc">this</a>. </span><span style="COLOR: black; FONT-FAMILY: -'Courier New'; mso-bidi-font-style: -italic"><o:p></o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><b><span style='COLOR:black'>Component -Design:</span></b><span style='COLOR:black'><o:p></o:p> - </span></p> - <p class="MsoNormal" style='TEXT-INDENT:0.5in;LINE-HEIGHT:150%'><b style='mso-bidi-font-weight:normal'><span style='COLOR:black'>Distributor:</span></b><span style='COLOR:black'> <o:p></o:p></span></p> - <![if !supportLists]> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;mso-list:l3 level1 lfo6;tab-stops:list 1.25in'><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>In the </span><code><i><span style='FONT-SIZE:10pt; +'Courier New'; "> </span></p> +<p style='LINE-HEIGHT:150%'><b><span style='COLOR:black'>Component + Design:</span></b><span style='COLOR:black'> </span></p> +<p style='TEXT-INDENT:0.5in;LINE-HEIGHT:150%'><b><span style='COLOR:black'>Distributor:</span></b><span style='COLOR:black'> </span></p> +<p style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>In the </span><code><i><span style='FONT-SIZE:10pt; COLOR:black; -LINE-HEIGHT:150%'>Quoter/Distributor </span></i></code><code><span style="COLOR:black;LINE-HEIGHT:150%;FONT-FAMILY:'Times New Roman';mso-bidi-font-style:italic;mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt">sub-directory</span></code><span style='COLOR:black'>, place an idl file </span><code><i><span style='FONT-SIZE: +LINE-HEIGHT:150%'>Quoter/Distributor </span></i></code><code><span style="COLOR:black;LINE-HEIGHT:150%;FONT-FAMILY:'Times New Roman';">sub-directory</span></code><span style='COLOR:black'>, place an idl file </span><code><i><span style='FONT-SIZE: 10pt;COLOR: black;LINE-HEIGHT: 150%'>StockDistributor.idl</span></i></code><span style='COLOR:black'> that looks like <a href="Distributor/StockDistributor.idl">this</a>. -This file defines the StockDistributor component interfaces.<o:p></o:p><![if - !supportLists]></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;mso-list:l3 level1 lfo6;tab-stops:list 1.25in'><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>Next, we need to create a Make Project Creator (MPC) file -to generate the make files for us. From the <i style='mso-bidi-font-style:normal'>Quoter/<span style='mso-bidi-font-style:italic'>Distributor </span></i><span style='mso-bidi-font-style:italic'><span style='mso-spacerun:yes'> </span>sub-directory, type the following -command</span></span></p> - <P class="MsoNormal" style="MARGIN-LEFT: 0.5in; TEXT-INDENT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"> - <o:p>generate_component_mpc.pl -p Stock_Base -c -StockDistributorDriver StockDistributor</o:p> - </SPAN></P> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:1.25in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p></o:p> - </span> </p> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;LINE-HEIGHT:150%'><span style='COLOR:black;mso-bidi-font-style:italic'>The command above takes a few optional parameter. The -p -option states that the <FONT face="Courier" size="2">StockDistributor</FONT> -component has a dependency on <FONT face="Courier" size="2">Stock_Base<FONT face="Times New Roman" size="3">, - the -c option causes the script to generates make files for a simple driver - program. In this tutorial, we use a simple driver program to demonstrate how a - non-CCM applications can interact with Components.</FONT></FONT></span></p> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; mso-bidi-font-style: italic"></SPAN> </P> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; mso-bidi-font-style: italic">The command above will generate -a <i>StockDistirubotor.mpc</i> file that -contains several projects that will build the Stub, Servant, and Executor -code respectively. In addition, the command above will generate export files -that will portably handle platform specific issues of import/export -declarations of dynamically linked libraries (DLLs). After executing the command -above you should see the following output on your screen.<o:p></o:p></SPAN></P> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic">The -following commands have been executed:<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCKDISTRIBUTOR_STUB > StockDistributor_stub_export.h<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCKDISTRIBUTOR_SVNT > StockDistributor_svnt_export.h<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCKDISTRIBUTOR_EXEC > -StockDistributor_exec_export.h</span></p> - <P class="MsoNormal" style="MARGIN-LEFT: 1.5in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-style: italic"></SPAN> </P> - <SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'; mso-bidi-font-style: italic"> - <o:p> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 150%; mso-list: l4 level1 lfo8; tab-stops: list 1.25in 1.75in"><SPAN style="COLOR: black; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-style: italic"><SPAN style="mso-list: Ignore">·<SPAN style="FONT: 7pt 'Times New Roman'"> -</SPAN></SPAN> - </SPAN><SPAN style="COLOR: black; mso-bidi-font-style: italic">Next we write a simple driver -program (<CODE><I><SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 150%">StockDistributorDriver.cpp)</SPAN></I></CODE> -that will control the <FONT face="Courier" size="2">StockDistributor</FONT> -component. The simple driver program controls when the <FONT face="Courier" size="2">StockDistributor </FONT>component publishes stock quotes, the rates of -publication, and when publication of stock quotes stops. The simple driver -program should look like </SPAN><SPAN style="COLOR: black; mso-bidi-font-style: italic"><A href="Distributor/StockDistributorDriver.cpp">this</A>. </SPAN></P> - </o:p> - </SPAN> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'><o:p></o:p> - </span></p> - <![if !supportLists]> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;mso-list:l4 level1 lfo8;tab-stops:list 1.25in 1.75in'><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-style:italic'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-style:italic'>The -generated </span><span style='COLOR:black;mso-bidi-font-style:italic'> MPC file should -look like <a href="Distributor/StockDistributor.mpc">this</a>. </span></p> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 150%; mso-list: l4 level1 lfo8; tab-stops: list 1.25in 1.75in"><SPAN style="COLOR: black; mso-bidi-font-style: italic"></SPAN> </P> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'><o:p></o:p> - </span></p> - <p class="MsoNormal" style='TEXT-INDENT:0.5in;LINE-HEIGHT:150%'><b style='mso-bidi-font-weight:normal'><span style='COLOR:black'>Broker:<o:p></o:p></span></b></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;mso-list:l2 level1 lfo10;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>In the </span><code><i><span style='FONT-SIZE:10pt; + This file defines the StockDistributor component interfaces. </span></p> +<p style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>Next, we need to create a Make Project Creator (MPC) file + to generate the make files for us. From the <i>Quoter/Distributor </i><span> </span>sub-directory, type the following + command</span></p> +<P style="MARGIN-LEFT: 0.5in; TEXT-INDENT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"> generate_component_mpc.pl -p Stock_Base -c + StockDistributorDriver StockDistributor </SPAN></P> +<p style='MARGIN-LEFT:1.25in;LINE-HEIGHT:150%'><span style='COLOR:black;'>The command above takes a few optional parameter. The -p + option states that the <FONT face="Courier" size="2">StockDistributor</FONT> component has a dependency on <FONT face="Courier" size="2">Stock_Base<FONT face="Times New Roman" size="3">, + the -c option causes the script to generates make files for a simple driver + program. In this tutorial, we use a simple driver program to demonstrate how a + non-CCM applications can interact with Components.</FONT></FONT></span></p> +<P style="MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; ">The command above will generate + a <i>StockDistirubotor.mpc</i> file that + contains several projects that will build the Stub, Servant, and Executor + code respectively. In addition, the command above will generate export files + that will portably handle platform specific issues of import/export + declarations of dynamically linked libraries (DLLs). After executing the command + above you should see the following output on your screen.</SPAN></P> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; ">The + following commands have been executed:</span></p> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCKDISTRIBUTOR_STUB > StockDistributor_stub_export.h</span></p> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCKDISTRIBUTOR_SVNT > StockDistributor_svnt_export.h</span></p> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCKDISTRIBUTOR_EXEC > + StockDistributor_exec_export.h</span></p> +<SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'; "> +<P style="MARGIN-LEFT: 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 150%; "><SPAN style="COLOR: black; FONT-FAMILY: Symbol; ">·<SPAN style="FONT: 7pt 'Times New Roman'"> </SPAN> </SPAN><SPAN style="COLOR: black; ">Next we write a simple driver + program (<CODE><I><SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 150%">StockDistributorDriver.cpp)</SPAN></I></CODE> that will control the <FONT face="Courier" size="2">StockDistributor</FONT> component. The simple driver program controls when the <FONT face="Courier" size="2">StockDistributor </FONT>component publishes stock quotes, the rates of + publication, and when publication of stock quotes stops. The simple driver + program should look like </SPAN><SPAN style="COLOR: black; "><A href="Distributor/StockDistributorDriver.cpp">this</A>. </SPAN></P> +</SPAN> +<p style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'>The + generated </span><span style='COLOR:black;'> MPC file should + look like <a href="Distributor/StockDistributor.mpc">this</a>. </span></p> +<p style='TEXT-INDENT:0.5in;LINE-HEIGHT:150%'><b><span style='COLOR:black'>Broker:</span></b></p> +<p style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>In the </span><code><i><span style='FONT-SIZE:10pt; COLOR:black; -LINE-HEIGHT:150%'>Quoter/Broker</span></i></code><span style='COLOR:black'> <code><span style="LINE-HEIGHT:150%;FONT-FAMILY:'Times New Roman';mso-bidi-font-style:italic;mso-ansi-font-size:12.0pt;mso-bidi-font-size:12.0pt">sub-directory,</span></code> -place an idl file </span><code><i><span style='FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:150%'>StockBroker.id</span></i></code><code><span style='FONT-SIZE:10pt; +LINE-HEIGHT:150%'>Quoter/Broker</span></i></code><span style='COLOR:black'> <code><span style="LINE-HEIGHT:150%;FONT-FAMILY:'Times New Roman';">sub-directory,</span></code> place an idl file </span><code><i><span style='FONT-SIZE:10pt;COLOR:black;LINE-HEIGHT:150%'>StockBroker.id</span></i></code><code><span style='FONT-SIZE:10pt; COLOR:black; LINE-HEIGHT:150%'>l</span></code><span style='COLOR:black'> that -looks like <a href="Broker/StockBroker.idl">this</a>. This file defines the -StockBroker component interface.<b style='mso-bidi-font-weight:normal'><o:p></o:p></b></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;mso-list:l2 level1 lfo10;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>Next, we need to create a Make Project Creator (MPC) file -to generate the make files for us. From the <i style='mso-bidi-font-style:normal'>Quoter/<span style='mso-bidi-font-style:italic'>Broker</span></i><span style='mso-bidi-font-style: -italic'> sub-directory, type the following command:</span><o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:1.25in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'"> - <o:p> - <SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"> - <o:p>generate_component_mpc.pl --p Stock_Base -c StockBrokerDriver StockBroker</o:p> - </SPAN> - </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:1.25in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;LINE-HEIGHT:150%'><span style='COLOR:black;mso-bidi-font-style:italic'><SPAN style="COLOR: black; mso-bidi-font-style: italic">The -command above takes a few optional parameter. The -p option states that the -<FONT face="Courier" size="2">StockBroker</FONT> component has a dependency on <FONT face="Courier" size="2">Stock_Base<FONT face="Times New Roman" size="3">, - the -c option causes the script to generates make files for a simple driver - program. In this tutorial, we use a simple driver program to demonstrate how a - non-CCM applications can interact with Components.</FONT></FONT></SPAN> - </span></p> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; mso-bidi-font-style: italic"><SPAN style="COLOR: black; mso-bidi-font-style: italic"></SPAN> - </SPAN> </P> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; mso-bidi-font-style: italic"><SPAN style="COLOR: black; mso-bidi-font-style: italic">The command above will -generate a <I>StockBroker.mpc</I> file that contains several projects that -will build the Stub, Servant, and Executor code respectively. In addition, the -command above will generate export files that will portably handle platform -specific issues of import/export declarations of dynamically linked libraries -(DLLs). After executing the command above you should see the following output on -your screen.</SPAN> - </SPAN></P> - <p class="MsoNormal" style='MARGIN-LEFT:1.25in;TEXT-INDENT:0.75in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic">The -following commands have been executed:<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCKBROKER_STUB > StockBroker_stub_export.h<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCKBROKER_SVNT > StockBroker_svnt_export.h<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic"><span style='mso-spacerun:yes'> -</span>generate_export_file.pl STOCKBROKER_EXEC > StockBroker_exec_export.h<o:p></o:p></span></p> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'><o:p> </o:p> - </span><span style='COLOR:black'></p> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 150%; mso-list: l4 level1 lfo8; tab-stops: list 1.25in 1.75in"><SPAN style="COLOR: black; FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol; mso-bidi-font-style: italic"><SPAN style="mso-list: Ignore">·<SPAN style="FONT: 7pt 'Times New Roman'"> -</SPAN></SPAN> - </SPAN><SPAN style="COLOR: black; mso-bidi-font-style: italic">Next we write a simple driver -program (<CODE><I><SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 150%">StockBrokerDriver.cpp)</SPAN></I></CODE> -that would control the <FONT face="Courier" size="2">StockBroker</FONT> component. -The simple driver program controls what stocks the <FONT face="Courier" size="2">StockBroker </FONT>component subscribes to. The simple driver program -should look like </SPAN><SPAN style="COLOR: black; mso-bidi-font-style: italic"><A href="Broker/StockBrokerDriver.cpp">this</A>. </SPAN></P> - <P class="MsoNormal" style="MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%"> - <o:p></o:p></SPAN></P> - <p class="MsoNormal" style='MARGIN-LEFT:1.75in;TEXT-INDENT:-0.75in;LINE-HEIGHT:150%;mso-list:l4 level1 lfo8;tab-stops:list 1.25in 1.75in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-style:italic'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-style:italic'><SPAN style="COLOR: black; mso-bidi-font-style: italic">The generated </SPAN><SPAN style="COLOR: black; mso-bidi-font-style: italic">MPC file should look like -</SPAN> - <a href="Broker/StockBroker.mpc">this</a>. </span><span style="COLOR: + looks like <a href="Broker/StockBroker.idl">this</a>. This file defines the + StockBroker component interface.</span></p> +<p style='MARGIN-LEFT:1.25in;TEXT-INDENT:-0.25in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>Next, we need to create a Make Project Creator (MPC) file + to generate the make files for us. From the <i>Quoter/Broker</i> sub-directory, type the following command:</span></p> +<p style='MARGIN-LEFT:0.5in;TEXT-INDENT:1.25in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'"> <SPAN style="COLOR: black; FONT-FAMILY: 'Courier New'"> generate_component_mpc.pl + -p Stock_Base -c StockBrokerDriver StockBroker </SPAN> </span></p> +<p style='MARGIN-LEFT:1.25in;LINE-HEIGHT:150%'><span style='COLOR:black;'><SPAN style="COLOR: black; ">The + command above takes a few optional parameter. The -p option states that the <FONT face="Courier" size="2">StockBroker</FONT> component has a dependency on <FONT face="Courier" size="2">Stock_Base<FONT face="Times New Roman" size="3">, + the -c option causes the script to generates make files for a simple driver + program. In this tutorial, we use a simple driver program to demonstrate how a + non-CCM applications can interact with Components.</FONT></FONT></SPAN> </span></p> +<P style="MARGIN-LEFT: 1.25in; LINE-HEIGHT: 150%"><SPAN style="COLOR: black; "><SPAN style="COLOR: black; ">The command above will + generate a <I>StockBroker.mpc</I> file that contains several projects that + will build the Stub, Servant, and Executor code respectively. In addition, the + command above will generate export files that will portably handle platform + specific issues of import/export declarations of dynamically linked libraries + (DLLs). After executing the command above you should see the following output on + your screen.</SPAN> </SPAN></P> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; ">The + following commands have been executed:</span></p> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCKBROKER_STUB > StockBroker_stub_export.h</span></p> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCKBROKER_SVNT > StockBroker_svnt_export.h</span></p> +<p style='MARGIN-LEFT:1.5in;LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> generate_export_file.pl STOCKBROKER_EXEC > StockBroker_exec_export.h</span></p> +<P style="MARGIN-LEFT: 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 150%; "><SPAN style="COLOR: black; FONT-FAMILY: Symbol; ">·<SPAN style="FONT: 7pt 'Times New Roman'"> </SPAN> </SPAN><SPAN style="COLOR: black; ">Next we write a simple driver + program (<CODE><I><SPAN style="FONT-SIZE: 10pt; COLOR: black; LINE-HEIGHT: 150%">StockBrokerDriver.cpp)</SPAN></I></CODE> that would control the <FONT face="Courier" size="2">StockBroker</FONT> component. + The simple driver program controls what stocks the <FONT face="Courier" size="2">StockBroker </FONT>component subscribes to. The simple driver program + should look like </SPAN><SPAN style="COLOR: black; "><A href="Broker/StockBrokerDriver.cpp">this</A>. </SPAN></P> +<p style='MARGIN-LEFT:1.75in;TEXT-INDENT:-0.75in;LINE-HEIGHT:150%;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'><SPAN style="COLOR: black; ">The generated </SPAN><SPAN style="COLOR: black; ">MPC file should look like </SPAN> <a href="Broker/StockBroker.mpc">this</a>. </span><span style="COLOR: black; FONT-FAMILY: -'Courier New'; mso-bidi-font-style: -italic"><o:p></o:p> - </span></p> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'><br> - <b style='mso-bidi-font-weight:normal'>Note:<o:p></o:p></b></span></p> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'>To -understand the meaning of different parameters passed to </span><span style="COLOR:black; FONT-FAMILY:'Courier New'">generate_component_mpc.pl<span style='mso-bidi-font-style:italic'></span></span><span style='COLOR:black; -mso-bidi-font-style:italic'>click <a href="../../../generate_component_mpc.html">here</a> -or type the</span><span style='COLOR:black'> following command:<o:p></o:p></span></p> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'">generate_component_mpc.pl<span style='mso-bidi-font-style:italic'> --h</span></span><span style='COLOR:black'><br style='mso-special-character: -line-break'><![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'><![endif]><o:p></o:p></span></p> - <p class="MsoNormal" align="center" style='LINE-HEIGHT:150%;TEXT-ALIGN:center'><span style='COLOR:black'><a href="index.html">Previous</a><span style='mso-tab-count: -8'> </span> - <a href="02.html">Next</a><o:p></o:p> - </span></p> - <div class="MsoNormal" align="center" style='LINE-HEIGHT:150%;TEXT-ALIGN:center'><span style='COLOR:black'> - <hr size="2" width="100%" align="center"> - </span></div> - <DIV class="Section1"> - <address style='LINE-HEIGHT:150%'><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> - <ADDRESS style="LINE-HEIGHT: 150%"> </ADDRESS> - <ADDRESS style="LINE-HEIGHT: 150%">$Id$</ADDRESS> - </DIV> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'><o:p> </o:p> - </span></p> - </body> +'Courier New'; "> </span></p> +<p style='LINE-HEIGHT:150%'><span style='COLOR:black'><br> + <b>Note:</b></span></p> +<p style='LINE-HEIGHT:150%'><span style='COLOR:black'>To + understand the meaning of different parameters passed to </span><span style="COLOR:black; FONT-FAMILY:'Courier New'">generate_component_mpc.pl</span><span style='COLOR:black; +'>click <a href="../../../generate_component_mpc.html">here</a> or type the</span><span style='COLOR:black'> following command:</span></p> +<p style='LINE-HEIGHT:150%'><span style="COLOR:black; FONT-FAMILY:'Courier New'">generate_component_mpc.pl -h</span><span style='COLOR:black'><br> + <br> + </span></p> +<p align="center" style='LINE-HEIGHT:150%;TEXT-ALIGN:center'><span style='COLOR:black'><a href="index.html">Previous</a> <a href="02.html">Next</a> </span></p> +<div align="center" style='LINE-HEIGHT:150%;TEXT-ALIGN:center'><span style='COLOR:black'> + <hr size="2" width="100%" align="center"> + </span></div> +<DIV class="Section1"> + <address style='LINE-HEIGHT:150%'> + <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> + <ADDRESS style="LINE-HEIGHT: 150%"> + + </ADDRESS> + <ADDRESS style="LINE-HEIGHT: 150%"> + $Id$ + </ADDRESS> +</DIV> +</body> </html> diff --git a/CIAO/docs/tutorials/Quoter/Simple/02.html b/CIAO/docs/tutorials/Quoter/Simple/02.html index 2a5a0f20a1c..36417b6da43 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/02.html +++ b/CIAO/docs/tutorials/Quoter/Simple/02.html @@ -1,202 +1,107 @@ <!-- $Id$ --> -<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" - xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" - xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns="http://www.w3.org/TR/REC-html40"> - <head> - <title>Getting Started</title> - <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> - <meta name="ProgId" content="Word.Document"> - <meta name="Generator" content="Microsoft Word 11"> - <meta name="Originator" content="Microsoft Word 11"> - <link rel="File-List" href="02_files/filelist.xml"> - <link rel="Edit-Time-Data" href="02_files/editdata.mso"> <!--[if !mso]> -<STYLE> -v\:* {behavior:url(#default#VML);} -o\:* {behavior:url(#default#VML);} -w\:* {behavior:url(#default#VML);} -.shape {behavior:url(#default#VML);} -</STYLE> -<![endif]--> <!--[if gte mso 9]><xml> - <o:DocumentProperties> - <o:Author>Abdullah Sowayan</o:Author> - <o:LastAuthor>Abdullah Sowayan</o:LastAuthor> - <o:Revision>11</o:Revision> - <o:TotalTime>90</o:TotalTime> - <o:Created>2006-10-09T19:28:00Z</o:Created> - <o:LastSaved>2007-03-08T01:17:00Z</o:LastSaved> - <o:Pages>1</o:Pages> - <o:Words>443</o:Words> - <o:Characters>2531</o:Characters> - <o:Company>Maritime Systems & Sensors</o:Company> - <o:Lines>21</o:Lines> - <o:Paragraphs>5</o:Paragraphs> - <o:CharactersWithSpaces>2969</o:CharactersWithSpaces> - <o:Version>11.5606</o:Version> - </o:DocumentProperties> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:WordDocument> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</xml><![endif]--> - <style> <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} - h3 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:3; font-size:13.5pt; font-family:"Times New Roman";} - a:link, span.MsoHyperlink {color:#000FFF; text-decoration:underline; text-underline:single;} - a:visited, span.MsoHyperlinkFollowed {color:#FF0F0F; text-decoration:underline; text-underline:single;} - address {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman";} - code {font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Times New Roman"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} - @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} - div.Section1 {page:Section1;} - /* List Definitions */ @list l0 {mso-list-id:555236070; mso-list-type:hybrid; mso-list-template-ids:2061531284 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} - @list l0:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:1.25in; mso-level-number-position:left; margin-left:1.25in; text-indent:-.25in; font-family:Symbol;} - @list l0:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - ol {margin-bottom:0in;} - ul {margin-bottom:0in;} - --></style> - <!--[if gte mso 10]> +<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> - /* Style Definitions */ - table.MsoNormalTable - {mso-style-name:"Table Normal"; - mso-tstyle-rowband-size:0; - mso-tstyle-colband-size:0; - mso-style-noshow:yes; - mso-style-parent:""; - mso-padding-alt:0in 5.4pt 0in 5.4pt; - mso-para-margin:0in; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; +<!-- +h3 { + font-size:13.5pt; font-family:"Times New Roman"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} +} +a:link, span.MsoHyperlink { + color:#000FFF; + text-decoration:underline; + text-underline:single; +} +a:visited, span.MsoHyperlinkFollowed { + color:#FF0F0F; + text-decoration:underline; + text-underline:single; +} +address { + font-size:12.0pt; + font-family:"Times New Roman"; +} +code { + font-family:"Courier New"; +} +div.Section1 { + page:Section1 +} +--> </style> -<![endif]--> <!-- 01.html,v 1.3 2006/02/10 14:34:35 mxiong Exp --> <!--[if gte mso 9]><xml> - <o:shapedefaults v:ext="edit" spidmax="5122"/> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> - </head> - <body bgcolor="white" lang="EN-US" link="#000fff" vlink="#ff0f0f" style='tab-interval: -.5in'> - <div class="Section1"> - <h3 align="center" style='MARGIN:0in 0in 0pt;LINE-HEIGHT:150%;TEXT-ALIGN:center'><span style='COLOR:black'>Step 2: Implement your components<o:p></o:p></span></h3> - <h3 align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img width="634" height="376" id="_x0000_i1025" src="images/step2.jpg"><o:p></o:p> - </span></h3> - <p class="MsoNormal" style='MARGIN-BOTTOM:12pt'><b><span style='COLOR:black'>Writing -CIDL files:<o:p></o:p></span></b></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 0.5in'><b><span style='COLOR:black'>Distributor:<o:p></o:p></span></b></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo2;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-weight:bold'>In <i style='mso-bidi-font-style: -normal'>Quoter/Distributor </i>sub-directory, place a cidl file -StockDistributor.cidl that looks like <a href="Distributor/StockDistributor.cidl">this</a>. -<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo2;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-weight:bold'>The MPC files we generated -earlier automatically invoked the CIDLC compiler to generate the Servants, Executors, -and Contexts for us. To reduce the amount of work and typing we need to do, we -will next instruct the CIDLC compiler to generate an empty StockDistributor Executor -implementation (Object implementation in the figure above). In the <i style='mso-bidi-font-style:normal'>Quoter/Distributor - </i>sub-directory, type -the following:<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.5in'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-weight:bold"> cidlc -I$TAO_ROOT -I$TAO_ROOT/tao --I$CIAO_ROOT/ciao --gen-exec-impl StockDistributor.cidl<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in'><span style='COLOR:black'>The above command will generate a -<i style='mso-bidi-font-style:normal'>StockDistributor_exec.h </i>and <i style='mso-bidi-font-style:normal'> - StockDistributor_exec.cpp </i>files. These -generated files greatly reduced the amount of work we do. We’ll edit -those files later in the tutorial to insert our business logic in the -Distributor component.<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in'><span style='COLOR:black'><o:p> </o:p> - </span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 0.5in'><b style='mso-bidi-font-weight:normal'><span style='COLOR:black'>Broker:<o:p></o:p></span></b></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo2;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-weight:bold'>In <i style='mso-bidi-font-style: -normal'>Quoter/Broker </i>sub-directory, place a cidl file StockBroker.cidl that -looks like <a href="Broker/StockBroker.cidl">this</a>. <o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo2;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-weight:bold'> The MPC files we -generated earlier automatically invoked the CIDLC compiler to generate the -Servants, Executors, and Contexts for us. To reduce the amount of work and typing we -need to do, we will next instruct the CIDLC compiler to generate an empty StockBroker -Executor implementation (Object implementation in the figure above). In the <i style='mso-bidi-font-style:normal'>Quoter/Broker - </i>sub-directory, type the -following:<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.5in'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-weight:bold">cidlc -I$TAO_ROOT --I$TAO_ROOT/tao -I$CIAO_ROOT/ciao --gen-exec-impl StockBroker.cidl<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in'><span style='COLOR:black'>The above command will generate a -<i style='mso-bidi-font-style:normal'>StockBroker_exec.h </i>and <i style='mso-bidi-font-style:normal'>StockBroker_exec.cpp - </i>files. These generated -files greatly reduced the amount of work we do. We’ll edit those files -later in the tutorial to insert our business logic in the Broker component.<o:p></o:p></span></p> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'><br> - <b style='mso-bidi-font-weight:normal'>Note:<o:p></o:p></b></span></p> - <p class="MsoNormal" style='LINE-HEIGHT:150%'><span style='COLOR:black'>To -understand the meaning of different parameters passed to the CIDLC compiler -click <a href="../../../cidlc.html">here</a> or <span style='mso-bidi-font-style: -italic'>type the</span> following command:<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-BOTTOM:12pt'><span style="COLOR:black; FONT-FAMILY:'Courier New'; mso-bidi-font-style:italic">cidlc --h</span><span style='COLOR: +<!-- 01.html,v 1.3 2006/02/10 14:34:35 mxiong Exp --> +</head> +<body bgcolor="#FFFFFF" lang="EN-US" link="#000fff" vlink="#ff0f0f"> +<div class="Section1"> + <h3 align="center" style='MARGIN:0in 0in 0pt;LINE-HEIGHT:150%;TEXT-ALIGN:center'><span style='COLOR:black'>Step 2: Implement your components</span></h3> + <h3 align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img width="634" height="376" id="_x0000_i1025" src="images/step2.jpg"> </span></h3> + <p style='MARGIN-BOTTOM:12pt'><b><span style='COLOR:black'>Writing + CIDL files:</span></b></p> + <p style='MARGIN:0in 0in 12pt 0.5in'><b><span style='COLOR:black'>Distributor:</span></b></p> + <p style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'>In <i>Quoter/Distributor </i>sub-directory, place a cidl file + StockDistributor.cidl that looks like <a href="Distributor/StockDistributor.cidl">this</a>. </span></p> + <p style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'>The MPC files we generated + earlier automatically invoked the CIDLC compiler to generate the Servants, Executors, + and Contexts for us. To reduce the amount of work and typing we need to do, we + will next instruct the CIDLC compiler to generate an empty StockDistributor Executor + implementation (Object implementation in the figure above). In the <i>Quoter/Distributor </i>sub-directory, type + the following:</span></p> + <p style='MARGIN:0in 0in 12pt 1.5in'><span style="COLOR:black; FONT-FAMILY:'Courier New'; "> cidlc -I$TAO_ROOT -I$TAO_ROOT/tao + -I$CIAO_ROOT/ciao --gen-exec-impl StockDistributor.cidl</span></p> + <p style='MARGIN:0in 0in 12pt 1.25in'><span style='COLOR:black'>The above command will generate a <i>StockDistributor_exec.h </i>and <i> StockDistributor_exec.cpp </i>files. These + generated files greatly reduced the amount of work we do. We’ll edit + those files later in the tutorial to insert our business logic in the + Distributor component.</span></p> + <p style='MARGIN:0in 0in 12pt 0.5in'><b><span style='COLOR:black'>Broker:</span></b></p> + <p style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'>In <i>Quoter/Broker </i>sub-directory, place a cidl file StockBroker.cidl that + looks like <a href="Broker/StockBroker.cidl">this</a>. </span></p> + <p style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'> The MPC files we + generated earlier automatically invoked the CIDLC compiler to generate the + Servants, Executors, and Contexts for us. To reduce the amount of work and typing we + need to do, we will next instruct the CIDLC compiler to generate an empty StockBroker + Executor implementation (Object implementation in the figure above). In the <i>Quoter/Broker </i>sub-directory, type the + following:</span></p> + <p style='MARGIN:0in 0in 12pt 1.5in'><span style="COLOR:black; FONT-FAMILY:'Courier New'; ">cidlc -I$TAO_ROOT + -I$TAO_ROOT/tao -I$CIAO_ROOT/ciao --gen-exec-impl StockBroker.cidl</span></p> + <p style='MARGIN:0in 0in 12pt 1.25in'><span style='COLOR:black'>The above command will generate a <i>StockBroker_exec.h </i>and <i>StockBroker_exec.cpp </i>files. These generated + files greatly reduced the amount of work we do. We’ll edit those files + later in the tutorial to insert our business logic in the Broker component.</span></p> + <p style='LINE-HEIGHT:150%'><span style='COLOR:black'><br> + <b>Note:</b></span></p> + <p style='LINE-HEIGHT:150%'><span style='COLOR:black'>To + understand the meaning of different parameters passed to the CIDLC compiler + click <a href="../../../cidlc.html">here</a> or type the following command:</span></p> + <p style='MARGIN-BOTTOM:12pt'><span style="COLOR:black; FONT-FAMILY:'Courier New'; ">cidlc --h</span><span style='COLOR: black'><br> -<br style='mso-special-character:line-break'><![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'><![endif]><o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-BOTTOM:12pt'><b><span style='COLOR:black'>Implement -the Components:<o:p></o:p></span></b></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 0.5in'><b><span style='COLOR:black'>Distributor:<o:p></o:p></span></b></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo2;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-weight:bold'>The CIDLC compiler generated an -empty </span><i style='mso-bidi-font-style:normal'><span style='COLOR:black'>StockDistributor_exec.h -</span></i><span style='COLOR:black'>and <i style='mso-bidi-font-style:normal'>StockDistributor_exec.cpp - </i>files for us. You should now add your business logic to the executors. Look -into <i style='mso-bidi-font-style:normal'><a href="Distributor/StockDistributor_exec.h">StockDistributor_exec.h</a> - </i>and <i style='mso-bidi-font-style:normal'><a href="Distributor/StockDistributor_exec.cpp"> - StockDistributor_exec.cpp</a> </i>to see how we implemented this.<span style='mso-bidi-font-weight:bold'> - <o:p></o:p> - </span></span></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 0.5in'><b style='mso-bidi-font-weight:normal'><span style='COLOR:black'>Broker:<o:p></o:p></span></b></p> - <p class="MsoNormal" style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;mso-list:l0 level1 lfo2;tab-stops:list 1.25in'><![if - !supportLists]><span style='COLOR:black;FONT-FAMILY:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;mso-bidi-font-weight:bold'><span style='mso-list:Ignore'>·<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black;mso-bidi-font-weight:bold'>The CIDLC compiler generated an -empty </span><i style='mso-bidi-font-style:normal'><span style='COLOR:black'>StockBroker_exec.h -</span></i><span style='COLOR:black'>and <i style='mso-bidi-font-style:normal'>StockBroker_exec.cpp </i>files for us. You should now add your business logic to the executors. Look -into <i style='mso-bidi-font-style:normal'><a href="Broker/StockBroker_exec.h">StockBroker_exec.h</a> </i>and <i style='mso-bidi-font-style:normal'> - <a href="Broker/StockBroker_exec.cpp">StockBroker_exec.cpp</a> </i>to see how we implemented this.<span style='mso-bidi-font-weight:bold'> - <o:p></o:p> - </span></span></p> - <p class="MsoNormal" style='MARGIN-BOTTOM:12pt'><span style='COLOR:black'><o:p> </o:p> - </span></p> - <p class="MsoNormal" align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><a href="01.html">Previous</a><span style='mso-tab-count: -8'> </span> - <a href="03.html">Next</a><o:p></o:p> - </span></p> - <div class="MsoNormal" 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> - <ADDRESS> </ADDRESS> - <ADDRESS>$Id$</ADDRESS> - <p class="MsoNormal"><span style='COLOR:black'><o:p> </o:p> - </span></p> - </div> - </body> + <br> + <br> + </span></p> + <p style='MARGIN-BOTTOM:12pt'><b><span style='COLOR:black'>Implement + the Components:</span></b></p> + <p style='MARGIN:0in 0in 12pt 0.5in'><b><span style='COLOR:black'>Distributor:</span></b></p> + <p style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'>The CIDLC compiler generated an + empty </span><i><span style='COLOR:black'>StockDistributor_exec.h </span></i><span style='COLOR:black'>and <i>StockDistributor_exec.cpp </i>files for us. You should now add your business logic to the executors. Look + into <i><a href="Distributor/StockDistributor_exec.h">StockDistributor_exec.h</a> </i>and <i><a href="Distributor/StockDistributor_exec.cpp"> StockDistributor_exec.cpp</a> </i>to see how we implemented this. </span></p> + <p style='MARGIN:0in 0in 12pt 0.5in'><b><span style='COLOR:black'>Broker:</span></b></p> + <p style='MARGIN:0in 0in 12pt 1.25in;TEXT-INDENT:-0.25in;'><span style='COLOR:black;FONT-FAMILY:Symbol;'>·<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black;'>The CIDLC compiler generated an + empty </span><i><span style='COLOR:black'>StockBroker_exec.h </span></i><span style='COLOR:black'>and <i>StockBroker_exec.cpp </i>files for us. You should now add your business logic to the executors. Look + into <i><a href="Broker/StockBroker_exec.h">StockBroker_exec.h</a> </i>and <i> <a href="Broker/StockBroker_exec.cpp">StockBroker_exec.cpp</a> </i>to see how we implemented this. </span></p> + <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><a href="01.html">Previous</a> <a href="03.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> + <ADDRESS> + + </ADDRESS> + <ADDRESS> + $Id$ + </ADDRESS> +</div> +</body> </html> diff --git a/CIAO/docs/tutorials/Quoter/Simple/03.html b/CIAO/docs/tutorials/Quoter/Simple/03.html index ee2cafc370a..13a05f1d8f5 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/03.html +++ b/CIAO/docs/tutorials/Quoter/Simple/03.html @@ -1,694 +1,437 @@ <!-- $Id$ --> -<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" - xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" - xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" - xmlns="http://www.w3.org/TR/REC-html40"> - <head> - <title>Getting Started</title> - <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> - <meta name="ProgId" content="Word.Document"> - <meta name="Generator" content="Microsoft Word 11"> - <meta name="Originator" content="Microsoft Word 11"> - <link rel="File-List" href="03_files/filelist.xml"> - <link rel="Edit-Time-Data" href="03_files/editdata.mso"> <!--[if !mso]> -<STYLE> -v\:* {behavior:url(#default#VML);} -o\:* {behavior:url(#default#VML);} -w\:* {behavior:url(#default#VML);} -.shape {behavior:url(#default#VML);} -</STYLE> -<![endif]--> - <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place" /> - <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PlaceType" /> - <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PlaceName" /> <!--[if gte mso 9]><xml> - <o:DocumentProperties> - <o:Author>Abdullah Sowayan</o:Author> - <o:LastAuthor>Abdullah Sowayan</o:LastAuthor> - <o:Revision>13</o:Revision> - <o:TotalTime>54</o:TotalTime> - <o:Created>2006-10-09T22:26:00Z</o:Created> - <o:LastSaved>2007-03-08T01:18:00Z</o:LastSaved> - <o:Pages>1</o:Pages> - <o:Words>2585</o:Words> - <o:Characters>14741</o:Characters> - <o:Company>Maritime Systems & Sensors</o:Company> - <o:Lines>122</o:Lines> - <o:Paragraphs>34</o:Paragraphs> - <o:CharactersWithSpaces>17292</o:CharactersWithSpaces> - <o:Version>11.5606</o:Version> - </o:DocumentProperties> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:WordDocument> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</xml><![endif]--> <!--[if !mso]> -<OBJECT id=ieooui classid=clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D></OBJECT> -<STYLE> -st1\:*{behavior:url(#ieooui) } -</STYLE> -<![endif]--> - <style> <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} - h3 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:3; 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 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} - address {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; font-style:italic;} - code {font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Times New Roman"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} - kbd {font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Times New Roman"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} - pre {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; 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"; mso-fareast-font-family:"Times New Roman";} - @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} - div.Section1 {page:Section1;} - /* List Definitions */ @list l0 {mso-list-id:154345203; mso-list-template-ids:-289649766;} - @list l0:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1 {mso-list-id:201526982; mso-list-template-ids:-336678638;} - @list l1:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level2 {mso-level-number-format:bullet; mso-level-text:o; mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} - @list l1:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2 {mso-list-id:777020325; mso-list-template-ids:-483995422;} - @list l2:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} - @list l2:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3 {mso-list-id:907959882; mso-list-template-ids:323885252;} - @list l3:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l3:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4 {mso-list-id:1065254837; mso-list-template-ids:1089662206;} - @list l4:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l4:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l5 {mso-list-id:1084494006; mso-list-template-ids:-1504120978;} - @list l5:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l5:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l6 {mso-list-id:1153565371; mso-list-template-ids:-169696680;} - @list l6:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l6:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l7 {mso-list-id:1832599161; mso-list-template-ids:-966728002;} - @list l7:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l7:level2 {mso-level-number-format:bullet; mso-level-text:o; mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} - @list l7:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l7:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l7:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l7:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l7:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l7:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l7:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l8 {mso-list-id:1956401533; mso-list-template-ids:-909756440;} - @list l8:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l9 {mso-list-id:2012949130; mso-list-type:hybrid; mso-list-template-ids:990837084 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} - @list l9:level1 {mso-level-tab-stop:39.0pt; mso-level-number-position:left; margin-left:39.0pt; text-indent:-.25in;} - @list l9:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l9:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l9:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l9:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l9:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l9:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l9:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l9:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l8:level1 lfo5 {mso-level-start-at:4;} - @list l1:level2 lfo7 {mso-level-number-format:arabic; mso-level-numbering:continue; mso-level-text:"%2\."; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:0in; text-indent:0in; mso-ansi-font-size:10.0pt; font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} - ol {margin-bottom:0in;} - ul {margin-bottom:0in;} - --></style> - <!--[if gte mso 10]> +<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> - /* Style Definitions */ - table.MsoNormalTable - {mso-style-name:"Table Normal"; - mso-tstyle-rowband-size:0; - mso-tstyle-colband-size:0; - mso-style-noshow:yes; - mso-style-parent:""; - mso-padding-alt:0in 5.4pt 0in 5.4pt; - mso-para-margin:0in; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; +<!-- +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"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} + 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> -<![endif]--> <!-- $Id$ --> <!--[if gte mso 9]><xml> - <o:shapedefaults v:ext="edit" spidmax="6146"/> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> - </head> - <body bgcolor="white" lang="EN-US" link="#000fff" vlink="#ff0f0f" style='tab-interval: -.5in'> - <div class="Section1"> - <h3 align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'>Step 3: -Package your components<o:p></o:p></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"><o:p></o:p> - </span></h3> - <p class="MsoNormal"><b><span style='COLOR:red'><o:p> </o:p> - </span></b></p> - <p class="MsoNormal"><b>Brief Introduction to CosMIC:<o:p></o:p></b></p> - <p class="MsoNormal" style='mso-layout-grid-align:none'>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:PlaceName> - <st1:PlaceType w:st="on">University</st1:PlaceType> - </st1:place> - to:</p> - <p class="MsoNormal" style='MARGIN-LEFT:39pt;TEXT-INDENT:-0.25in;tab-stops:list 39.0pt;mso-layout-grid-align:none;mso-list:l9 level1 lfo1'><![if - !supportLists]><span style='mso-list:Ignore'>1.<span style="FONT:7pt 'Times New Roman'"> -</span></span><![endif]><i>Model and</i> <i>analyze </i>distributed real-time and embedded - application functionality and QoS requirements.</p> - <p class="MsoNormal" style='MARGIN-LEFT:39pt;TEXT-INDENT:-0.25in;tab-stops:list 39.0pt;mso-layout-grid-align:none;mso-list:l9 level1 lfo1'><![if - !supportLists]><span style='mso-list:Ignore'>2.<span style="FONT:7pt 'Times New Roman'"> -</span></span><![endif]><i>Synthesize</i> CCM-specific deployment metadata required to deliver - end-to-end QoS to DRE applications.</p> - <p class="MsoNormal" style='mso-layout-grid-align:none'><o:p> </o:p></p> - <p class="MsoNormal" style='mso-layout-grid-align:none'>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 & Configuration (D&C) specification (ptc/2003-07-08)</a></span>. - CoSMIC enables modeling the standards-based CCM components. - </p> - <p class="MsoNormal" style='mso-layout-grid-align:none'><o:p> </o:p></p> - <p class="MsoNormal" style='mso-layout-grid-align:none'>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 class="MsoNormal" style='mso-layout-grid-align:none'><o:p> </o:p></p> - <p class="MsoNormal" style='mso-layout-grid-align:none'>For more information on - CosMIC, please refer to the following article:</p> - <p class="MsoNormal" style='mso-layout-grid-align:none'><span style='mso-bidi-font-weight:bold'><a href="http://www.cs.wustl.edu/~schmidt/PDF/mamad2003.pdf">CoSMIC: - An MDA Generative Tool for Distributed Real-time and Embedded Applications</a>.<o:p></o:p></span></p> - <p class="MsoNormal" style='mso-layout-grid-align:none'><span style='mso-bidi-font-weight:bold'><o:p> </o:p> - </span></p> - <div class="MsoNormal" align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'> - <hr size="2" width="100%" align="center"> - </span></div> - <p class="MsoNormal" style='mso-layout-grid-align:none'><span style='mso-bidi-font-weight:bold'><o:p> </o:p> - </span></p> - <p class="MsoNormal"><b><span style='COLOR:black'>Importing IDL to PICML</span></b><span style='COLOR:black'><br> -<br> - 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.<o:p></o:p></span></p> - <ol start="1" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l3 level1 lfo2'> - 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.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l3 level1 lfo2'> - 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<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l3 level1 lfo2'> - In the same command prompt, change directory to <code> - <span style='FONT-SIZE:10pt'>MyQuoter\</span></code>, and type the - following command:<br> - > <kbd> - <span style='FONT-SIZE:10pt'> - idl_to_picml -x MyQuoter -r . </span></kbd><br> - <em>idl_to_picml</em> will parse your IDL files and generated a <code> - <span style='FONT-SIZE:10pt'>MyQuoter.xme</span></code> file in the <code> - <span style='FONT-SIZE:10pt'>MyQuoter</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> - <LI class="MsoNormal" style="COLOR: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in; mso-list: l3 level1 lfo2"> - 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.<o:p></o:p> - </LI> - </ol> - <p class="MsoNormal"><span style='COLOR:black'><o:p> </o:p> - </span></p> - <p class="MsoNormal" align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="960" height="719" id="_x0000_i1027" src="images/fig2.jpg"><br> -<br> -Figure 2<o:p></o:p></span></p> - <p><span style='COLOR:black'> 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 -<<FileRef>> instance and a yellow box-shaped entity representing a -<<Package>> 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.<o:p></o:p></span></p> - <p class="MsoNormal" align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="218" height="364" id="_x0000_i1028" src="images/fig3.jpg"><br> -<br> -Figure 3<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-BOTTOM:12pt'><span style='COLOR:black'>Now -we are ready to model the rest of the Stock Quoter systems.<br> -<br style='mso-special-character:line-break'><![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'><![endif]><o:p></o:p></span></p> - <div class="MsoNormal" 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'><o:p></o:p> - </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.<o:p></o:p></span></p> - <div> - <p class="MsoNormal"><strong><span style='COLOR:black'>Note:</span></strong><span style='COLOR:black'> To import an XML file in GME, select <em>File->Import - XML..</em> from GME and choose your XML model<o:p></o:p></span></p> - </div> - <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 & Configuration (D&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="../../../releasenotes/dance.html">DAnCE - project</a> for more -information. For those who hate specification (including me, :-)), an <a href="http://www.cs.wustl.edu/%7Eschmidt/PDF/DAnCE.pdf">overview - of D&C</a> -and as well as a <a href="http://www.cs.wustl.edu/%7Eschmidt/OMG-CCM-Tutorial.ppt">tutorial of D&C - and CCM</a> can help to reduce the learning curve. In addition, it is -also helpful to read through Chapter 32 of TAO's Developer's Guide 1.4a (CIAO -and CCM) which thoroughly describes the various descriptors required for a -component (*.iad, *.ccd, *.cid, etc). <o:p></o:p></span></p> - <h3><span style='COLOR:black'>Table of Contents<o:p></o:p></span></h3> - <ul type="disc"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l2 level1 lfo3'> - <a href="#1">ImplementationArtifacts</a><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l2 level1 lfo3'> - <a href="#2">ComponentImplementations</a><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l2 level1 lfo3'> - <a href="#3">ComponentPackages</a><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l2 level1 lfo3'> - <a href="#4">PackageConfiguration</a><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l2 level1 lfo3'> - <a href="#5">TopLevelPackage</a><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l2 level1 lfo3'> - <a href="#6">Targets</a><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l2 level1 lfo3'> - <a href="#7">DeploymentPlan</a><o:p></o:p></li> - </ul> - <div class="MsoNormal" 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 <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.<o:p></o:p></span></p> - <p><b><span style='BACKGROUND:silver;COLOR:red;FONT-VARIANT:small-caps;mso-highlight:silver'>Important:</span></b><span style='BACKGROUND:silver;COLOR:black;mso-highlight:silver'> 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->Check->Check All</em> in GME. This -will help you find many logic errors in your model.</span><span style='COLOR:black'><o:p></o:p> - </span></p> - <h3><span style='COLOR:black'>ImplementationArtifacts<o:p></o:p></span></h3> - <p><span style='COLOR:black'>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>.<o:p></o:p></span></p> - <p class="MsoNormal" align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="883" height="528" id="_x0000_i1031" src="images/fig4.jpg"><br> -Figure 4.<o:p></o:p></span></p> - <div class="MsoNormal" 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><o:p></o:p></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 <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.<o:p></o:p></span></p> - <p class="MsoNormal" align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="894" height="617" id="_x0000_i1033" src="images/fig5.jpg"><br> -Figure 5<o:p></o:p></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; +<!-- $Id$ --> +</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'"> </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'"> </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 & Configuration (D&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> + 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.</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'>MyQuoter\</span></code>, and type the + following command:<br> + > <kbd> <span style='FONT-SIZE:10pt'> idl_to_picml -x MyQuoter -r . </span></kbd><br> + <em>idl_to_picml</em> will parse your IDL files and generated a <code> <span style='FONT-SIZE:10pt'>MyQuoter.xme</span></code> file in the <code> <span style='FONT-SIZE:10pt'>MyQuoter</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> + <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" width="960" height="719" id="_x0000_i1027" src="images/fig2.jpg"><br> + <br> + Figure 2</span></p> + <p><span style='COLOR:black'> 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 + <<FileRef>> instance and a yellow box-shaped entity representing a + <<Package>> 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.</span></p> + <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="218" height="364" 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 <em>File->Import + XML..</em> 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 & Configuration (D&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="../../../releasenotes/dance.html">DAnCE + project</a> for more + information. For those who hate specification (including me, :-)), an <a href="http://www.cs.wustl.edu/%7Eschmidt/PDF/DAnCE.pdf">overview + of D&C</a> and as well as a <a href="http://www.cs.wustl.edu/%7Eschmidt/OMG-CCM-Tutorial.ppt">tutorial of D&C + and CCM</a> can help to reduce the learning curve. In addition, it is + also helpful to read through Chapter 32 of TAO's Developer's Guide 1.4a (CIAO + and CCM) which thoroughly describes the various descriptors required for a + component (*.iad, *.ccd, *.cid, etc). </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> + <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 <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.</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 <em>File->Check->Check All</em> 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. <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>.</span></p> + <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="883" height="528" id="_x0000_i1031" 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 <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.</span></p> + <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="894" height="617" id="_x0000_i1033" src="images/fig5.jpg"><br> + Figure 5</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 <em>StockQuoter</em>.<o:p></o:p></span></p> - <ol start="1" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l0 level1 lfo4'> - Right click the <em>ComponentImplementations</em> folder, choose <strong>Insert - Model->ComponentImplementationContainer</strong>, rename it as - "StockQuoterImplementation" in the Attribute Panel. Double click to open it.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l0 level1 lfo4'> - From the Part Browser, drag a <<ComponentAssembly>> to the modeling - window, name it "StockQuoter". Double click to open it.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l0 level1 lfo4'> - Now we will create two instances for interfaces <em>StockBroker</em> and <em>StockDistributor</em>. - To do that, expand the folder <em> - <span style="FONT-SIZE:10pt; - FONT-FAMILY:'Courier New'">InterfaceDefinitions</span></em>, then expand the <em> - <span style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New'">InterfaceDefinitions/</span></em> - <em>Broker</em>, then <em> - <span style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New'">InterfaceDefinitions/</span></em> - <em>Broker/ Stock</em> until the interface definition of <em>StockBroker</em> shows. - While expanding the tree, always keep the "StockQuoter" - <<ComponentAssembly>> window open. Then drag <code> - <span style='FONT-SIZE:10pt'>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</span></code> - in the browser to the "StockQuoter" <<ComponentAssembly>> window - while pressing ALT key. Repeat the same steps for <code> - <span style='FONT-SIZE:10pt'>MyQuoter/InterfaceDefinitions/Distributor/Stock/StockDistributor</span></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)<o:p></o:p></li> - </ol> - <p class="MsoNormal"><span style='COLOR:black'><o:p> </o:p> - </span></p> - <p class="MsoNormal" align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="696" id="_x0000_i1034" src="images/fig6.jpg"><br> -<br> -Figure 6<o:p></o:p></span></p> - <ol start="4" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l8 level1 lfo5'> - Create an <<PublishConnector>>.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l8 level1 lfo5'> - 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="32" height="32" id="_x0000_i1035" src="Icons/AddConnMode.gif">) - 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 <<PublishConnector>>.<o:p></o:p></li> - </ol> - <p class="MsoNormal" align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="445" id="_x0000_i1036" src="images/fig7.jpg"><!-- hhmts end -->><br> -<br> -Figure 7<o:p></o:p></span></p> - <div class="MsoNormal" 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<o:p></o:p></span></h3> - <p class="MsoNormal"><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 ComponentPackagebe To create a -package for <em>StockBroker</em>.instance<o:p></o:p></span></p> - <ol start="1" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l1 level1 lfo6'> - Right click folder <em>ComponentPackage</em>s , insert a - <<PackageContainer>>, name it "Broker"; Double click to open it.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l1 level1 lfo6'> - From the PartBrowser, add the following:<o:p></o:p> - <ul type="circle"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l1 level2 lfo6'> - a <<ComponentPackage>> named "Broker";<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l1 level2 lfo6'> - a <<ComponentImplementationReference>> named "Broker";<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l1 level2 lfo6'> - a <<ComponentRef>> named "Broker";<o:p></o:p></li> - </ul> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l1 level1 lfo6'> - Refer the <<ComponentImplementationReference>> <em>Broker</em> to <code> - <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockBroker</span></code>Implementation/StockBrokerMonolithicImpl. - Refer the <<ComponentRef>> <em>Broker</em> to <code> - <span style='FONT-SIZE:10pt'>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</span></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> - <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockBroker</span></code>Implementation/StockBrokerMonolithicImpl - into <<ComponentImplementationReference>> <em>Broker.</em> Check - GME manual(tutorials) for more information.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l1 level1 lfo6'> - Switch to Connect Mode and create two connections according to the following - relationship.<o:p></o:p> - <ul type="circle"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l1 level2 lfo6'> - <<ComponentImplementationReference>> <em>Broker</em> implements - <<ComponentPackage>> <em>Broker</em>;<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l1 level2 lfo6'> - <<ComponentPackage>> <em>Broker</em> realizes - <<ComponentRef>> <em>Broker</em>.<o:p></o:p></li> - </ul> - </li> - </ol> - <p class="MsoNormal" style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;mso-margin-top-alt:auto'><span style='COLOR:black'><br> -<br> - The model you built should resemble Figure 8.<o:p></o:p></span></p> - <p class="MsoNormal" align="center" style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;TEXT-ALIGN:center;mso-margin-top-alt:auto'><span style='COLOR:black'><img border="0" width="1076" height="445" id="_x0000_i1038" src="images/fig8.jpg"><!-- hhmts start -->><br> -<br> -Figure 8<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='COLOR:black'>Now create a -ComponentPackage/StockDistributor following the same steps. <o:p></o:p></span></p> - <ol start="5" type="1"> - <li class="MsoNormal" style='LIST-STYLE-POSITION:outside;COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l1 level1 lfo6'> - <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 <<ComponentRef>>. To create this model: - <o:p></o:p></li> - </ol> - <p class="MsoNormal" style='MARGIN-LEFT:0.5in;TEXT-INDENT:-0.25in;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level2 lfo7'><![if - !supportLists]><span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';mso-bidi-font-size:12.0pt"><span style='mso-list:Ignore'>1.<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>Insert a <<ComponentPackage>> named -"StockQuoter"<o:p></o:p></span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1in;TEXT-INDENT:-0.25in;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level2 lfo7'><![if - !supportLists]><span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';mso-bidi-font-size:12.0pt"><span style='mso-list:Ignore'>2.<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>Add a <<ComponentImplementationReference>> -named "StockQuoter", refer it to MyQuoter</span><code><span style='FONT-SIZE:10pt;COLOR:black'>/ComponentImplementations/StockQuoter/StockQuoter</span></code><span style='COLOR:black'><o:p></o:p> - </span></p> - <p class="MsoNormal" style='MARGIN-LEFT:1in;TEXT-INDENT:-0.25in;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level2 lfo7'><![if - !supportLists]><span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:'Courier New';mso-fareast-font-family:'Courier New';mso-bidi-font-size:12.0pt"><span style='mso-list:Ignore'>3.<span style="FONT:7pt 'Times New Roman'"> </span></span> - </span><![endif]><span style='COLOR:black'>Switch to connect mode and connect -<<ComponentImplementationReference>> StockQuoter with -<<ComponentPackage>> StockQuoter, as in Figure 9.<o:p></o:p></span></p> - <p class="MsoNormal" align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="445" id="_x0000_i1039" src="images/fig9.jpg"><!-- Created: Sat Nov 27 15:25:06 CST 1999 --><!-- hhmts start -->><br> -<br> -Figure 9<o:p></o:p></span></p> - <div class="MsoNormal" 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<o:p></o:p></span></h3> - <p class="MsoNormal"><span style='COLOR:black'>This folder contains just one -model capturing specific configuration of Component packages.<o:p></o:p></span></p> - <ol start="1" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l6 level1 lfo8'> - In the folder <em>PackageConfiguratio</em>n, and create a - <<PackageConfigurationContainer>>, name it "Default", click to open - it.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l6 level1 lfo8'> - Add a <<PackageConfiguration>> named "default" and a - <<ComponentPackageReference>>, name it "StockQuoter", connect - "Default" to "StockQuoter"<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l6 level1 lfo8'> - Refer <<ComponentPackageReference>> StockQuoter to - <<ComponentPackage>> <code> - <span style='FONT-SIZE:10pt'>MyQuoter/ComponentPackage/StockQuoter/StockQuoter</span></code><span style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New'"><br> - <code>(Not <<ComponentImplementationReference>></code></span> - <code> - <span style='FONT-SIZE:10pt'>MyQuoter/ComponentPackage/StockQuoter/StockQuoter!) </span></code><o:p></o:p></li> - </ol> - <p class="MsoNormal"><span style='COLOR:black'><o:p> </o:p> - </span></p> - <div class="MsoNormal" 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<o:p></o:p></span></h3> - <p class="MsoNormal"><span style='COLOR:black'>This folder contains one model -capturing information about the top-level element that will be fed to the -application.<o:p></o:p></span></p> - <ol start="1" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l4 level1 lfo9'> - In the folder <em>ToplevelPackage</em>, and create a - <<ToplevelPackageContainer>>, name it "Default", double click to - open it.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l4 level1 lfo9'> - Add a <<ToplevelPackage>> named "ToplevelPackage" and a - <<PackageConfigurationReference>>, name it "Default", connect - "ToplevelPackage" to "Default"<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l4 level1 lfo9'> - Refer "Default" to My<code><span style='FONT-SIZE:10pt'>Quoter/PackageConfiguration/Default/Default</span></code><o:p></o:p></li> - </ol> - <p class="MsoNormal"><span style='COLOR:black'><o:p> </o:p> - </span></p> - <div class="MsoNormal" 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<o:p></o:p></span></h3> - <p class="MsoNormal"><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.<o:p></o:p></span></p> - <ol start="1" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l5 level1 lfo10'> - In the folder <i>Targets</i>, insert a new <<Domain>> named - "Domain"; double click to open it.<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l5 level1 lfo10'> - From the Part Browser, add two <<Node>> named "Broker" and - "Distributor" respectively.<o:p></o:p></li> - </ol> - <p class="MsoNormal"><span style='COLOR:black'><br> -Now we are ready to deploy our Components to the actual physical environment.<o:p></o:p></span></p> - <div class="MsoNormal" 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'>DeploymentPlan<o:p></o:p></span></h3> - <p class="MsoNormal"><span style='COLOR:black'>This folder contains a plan model -that captures information about the assignment of component to nodes.<o:p></o:p></span></p> - <ol start="1" type="1"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l7 level1 lfo11'> - In the folder <em>DeploymentPlan</em>, insert a model - <<DeploymentPlan>>; name it "Plan", click to open it<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list .5in;mso-list:l7 level1 lfo11'> - From the PartBrowser, add the following:<o:p></o:p> - <ul type="circle"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l7 level2 lfo11'> - Two <<CollocationGroup>><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l7 level2 lfo11'> - Two <<NodeReference>> named "Node_Broker" and "Node_Distributor" - respectively, refering to <code> - <span style='FONT-SIZE:10pt'>MyQuoter/Targets/Domain/Broker</span></code> and - <code> - <span style='FONT-SIZE:10pt'>MyQuoter/Targets/Domain/Distributor</span></code> - respectively<o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;tab-stops:list 1.0in;mso-list:l7 level2 lfo11'> - Two <<ComponentRef>> named "StockBroker" and "StockDistributor" - respectively, refering to <code> - <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockBroker</span></code> - and <code> - <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockDistributor</span></code> - respectively. Note that the <<ComponentRef>> in DeploymentPlan is - not referring to the interface, but rather the actual instance of the - implementation.<o:p></o:p></li> - </ul> - <li class="MsoNormal" style='MARGIN-BOTTOM:12pt;COLOR:black;mso-margin-top-alt:auto;tab-stops:list .5in;mso-list:l7 level1 lfo11'> - Switch to Connect Mode, connect one <<CollocationGroup>> to - <<NodeReference>> <em>Node_Broker</em>, connect another - <<CollocationGroup>> to <<NodeReference>> <em>Node_Distributor</em>. - Now the model looks like the following.<o:p></o:p></li> - </ol> - <p class="MsoNormal" align="center" style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;TEXT-ALIGN:center;mso-margin-top-alt:auto'><span style='COLOR:black'><img border="0" width="1076" height="530" id="_x0000_i1044" src="images/fig10.jpg"><br> -<br> -Figure 10.<o:p></o:p></span></p> - <ol start="4" type="1"> - <li class="MsoNormal" style='MARGIN-BOTTOM:12pt;COLOR:black;mso-margin-top-alt:auto;tab-stops:list .5in;mso-list:l7 level1 lfo11'> - Now we need to associate <<ComponentRef>> StockBroker to the - <<CollocationGroup>> running on the <<NodeReference>> - Broker, and <<ComponentRef>> StockDistributor to the - <<CollocationGroup>> running on the <<NodeReference>> - Distributor. To do that, switch the Edit Mode Bar to Set Mode (<img border="0" width="32" height="32" id="_x0000_i1045" src="Icons/SetMode.gif">), - and move the cursor to the <<CollocationGroup>> running on - <<NodeReference>> Distributor, right-click on it. You will find the - cursor is changed to set mode cursor, and only the - <<CollocationGroup>> you clicked in is highlighted, as shown in - Figure 11.<o:p></o:p></li> - </ol> - <p class="MsoNormal" align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="530" id="_x0000_i1046" src="images/fig11.jpg"><!-- 01.html,v 1.3 2006/02/10 14:34:35 mxiong Exp -->><br> -<br> -Figure 11<o:p></o:p></span></p> - <p><span style='COLOR:black'>Now move your cursor to -<<ComponentRef>> StockDistributor, and left-click it, so that -it looks like Figure 12.<o:p></o:p></span></p> - <p class="MsoNormal" align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="530" id="_x0000_i1047" src="images/fig12.jpg"> - - <br> -<br> -Figure 12<o:p></o:p></span></p> - <p style='MARGIN-BOTTOM:12pt'><span style='COLOR:black'>This operation -associates <em>StockDistributor</em> component to the -<<CollocationGroup>> running on <em>Distributor</em> node. To do -the same with Broker, just right-click on another -<<CollocationGroup>>, and left-click on StockBroker -<<CollocationGroup>> which is highlighted.<o:p></o:p></span></p> - <div class="MsoNormal" 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.<o:p></o:p></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 MyQuoter/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 file should be created to map logical nodes to NodeManager object -references,e.g:<o:p></o:p></span></p> - <pre wrap=""><span style='COLOR:black'>DistributorNode corbaloc:iiop:localhost:30000/NodeManager<o:p></o:p></span></pre> - <pre><span -style='COLOR:black'>BrokerNode<span style='mso-spacerun:yes'> </span>corbaloc:iiop:localhost:40000/NodeManager<o:p></o:p></span></pre> - <pre><span -style='COLOR:black'><o:p> </o:p></span></pre> - <pre><span style='COLOR:black'><o:p> </o:p></span></pre> - <p class="MsoNormal" align="center" style='TEXT-ALIGN:center;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'><span style='COLOR:black'><a href="02.html">Previous</a><span style='mso-tab-count: -8'> </span> - <a href="04.html">Next</a><o:p></o:p> - </span></p> - <div class="MsoNormal" align="center" style='TEXT-ALIGN:center;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'><span style='COLOR:black'> - <hr size="2" width="100%" align="center"> - </span></div> - <address style='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'><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 class="MsoNormal" style='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'><span style='COLOR:black'><o:p> </o:p> - </span></p> - <P class="MsoNormal" style="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"><SPAN style="COLOR: black"> - <o:p>$Id$</o:p> - </SPAN><o:p> </o:p></P> - </div> - </body> + Instead, <em>instances</em> of other components are placed within the assembly + and connected. Let's try to assemble the <em>StockQuoter</em>.</span></p> + <ol start="1" type="1"> + <li style='COLOR:black;'> Right click the <em>ComponentImplementations</em> folder, choose <strong>Insert + Model->ComponentImplementationContainer</strong>, rename it as + "StockQuoterImplementation" in the Attribute Panel. Double click to open it. + <li style='COLOR:black;'> From the Part Browser, drag a <<ComponentAssembly>> to the modeling + window, name it "StockQuoter". Double click to open it. + <li style='COLOR:black;'> Now we will create two instances for interfaces <em>StockBroker</em> and <em>StockDistributor</em>. + To do that, expand the folder <em> <span style="FONT-SIZE:10pt; + FONT-FAMILY:'Courier New'">InterfaceDefinitions</span></em>, then expand the <em> <span style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New'">InterfaceDefinitions/</span></em> <em>Broker</em>, then <em> <span style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New'">InterfaceDefinitions/</span></em> <em>Broker/ Stock</em> until the interface definition of <em>StockBroker</em> shows. + While expanding the tree, always keep the "StockQuoter" + <<ComponentAssembly>> window open. Then drag <code> <span style='FONT-SIZE:10pt'>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</span></code> in the browser to the "StockQuoter" <<ComponentAssembly>> window + while pressing ALT key. Repeat the same steps for <code> <span style='FONT-SIZE:10pt'>MyQuoter/InterfaceDefinitions/Distributor/Stock/StockDistributor</span></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)</li> + </ol> + <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="696" id="_x0000_i1034" src="images/fig6.jpg"><br> + <br> + Figure 6</span></p> + <ol start="4" type="1"> + <li style='COLOR:black;'> Create an <<PublishConnector>>. + <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="32" height="32" id="_x0000_i1035" src="Icons/AddConnMode.gif">) + 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 <<PublishConnector>>.</li> + </ol> + <p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="445" id="_x0000_i1036" src="images/fig7.jpg"> + <!-- hhmts end --> + ><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 ComponentPackagebe 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 + <<PackageContainer>>, 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 <<ComponentPackage>> named "Broker"; + <li style='COLOR:black;'> a <<ComponentImplementationReference>> named "Broker"; + <li style='COLOR:black;'> a <<ComponentRef>> named "Broker";</li> + </ul> + <li style='COLOR:black;'> Refer the <<ComponentImplementationReference>> <em>Broker</em> to <code> <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockBroker</span></code>Implementation/StockBrokerMonolithicImpl. + Refer the <<ComponentRef>> <em>Broker</em> to <code> <span style='FONT-SIZE:10pt'>MyQuoter/InterfaceDefinitions/Broker/Stock/StockBroker</span></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> <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockBroker</span></code>Implementation/StockBrokerMonolithicImpl + into <<ComponentImplementationReference>> <em>Broker.</em> 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;'> <<ComponentImplementationReference>> <em>Broker</em> implements + <<ComponentPackage>> <em>Broker</em>; + <li style='COLOR:black;'> <<ComponentPackage>> <em>Broker</em> realizes + <<ComponentRef>> <em>Broker</em>.</li> + </ul> + </li> + </ol> + <p style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;'><span style='COLOR:black'><br> + <br> + The model you built should resemble Figure 8.</span></p> + <p align="center" style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;TEXT-ALIGN:center;'><span style='COLOR:black'><img border="0" width="1076" height="445" id="_x0000_i1038" src="images/fig8.jpg"> + <!-- hhmts start --> + ><br> + <br> + Figure 8</span></p> + <p style='MARGIN-LEFT:0.5in;'><span style='COLOR:black'>Now create a + ComponentPackage/StockDistributor following the same steps. </span></p> + <ol start="5" type="1"> + <li style='LIST-STYLE-POSITION:outside;COLOR:black;'> <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 <<ComponentRef>>. To create this model: </li> + </ol> + <p style='MARGIN-LEFT:0.5in;TEXT-INDENT:-0.25in;'><span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:'Courier New';'Courier New';">1.<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>Insert a <<ComponentPackage>> named + "StockQuoter"</span></p> + <p style='MARGIN-LEFT:1in;TEXT-INDENT:-0.25in;'><span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:'Courier New';'Courier New';">2.<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>Add a <<ComponentImplementationReference>> + named "StockQuoter", refer it to MyQuoter</span><code><span style='FONT-SIZE:10pt;COLOR:black'>/ComponentImplementations/StockQuoter/StockQuoter</span></code><span style='COLOR:black'> </span></p> + <p style='MARGIN-LEFT:1in;TEXT-INDENT:-0.25in;'><span style="FONT-SIZE:10pt;COLOR:black;FONT-FAMILY:'Courier New';'Courier New';">3.<span style="FONT:7pt 'Times New Roman'"> </span> </span><span style='COLOR:black'>Switch to connect mode and connect + <<ComponentImplementationReference>> StockQuoter with + <<ComponentPackage>> StockQuoter, as in Figure 9.</span></p> + <p align="center" style='MARGIN-BOTTOM:12pt;TEXT-ALIGN:center'><span style='COLOR:black'><img border="0" width="1076" height="445" id="_x0000_i1039" src="images/fig9.jpg"> + <!-- Created: Sat Nov 27 15:25:06 CST 1999 --> + <!-- hhmts start --> + ><br> + <br> + Figure 9</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="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 + <<PackageConfigurationContainer>>, name it "Default", click to open + it. + <li style='COLOR:black;'> Add a <<PackageConfiguration>> named "default" and a + <<ComponentPackageReference>>, name it "StockQuoter", connect + "Default" to "StockQuoter" + <li style='COLOR:black;'> Refer <<ComponentPackageReference>> StockQuoter to + <<ComponentPackage>> <code> <span style='FONT-SIZE:10pt'>MyQuoter/ComponentPackage/StockQuoter/StockQuoter</span></code><span style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New'"><br> + <code>(Not <<ComponentImplementationReference>></code></span> <code> <span style='FONT-SIZE:10pt'>MyQuoter/ComponentPackage/StockQuoter/StockQuoter!) </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>ToplevelPackage</em>, and create a + <<ToplevelPackageContainer>>, name it "Default", double click to + open it. + <li style='COLOR:black;'> Add a <<ToplevelPackage>> named "ToplevelPackage" and a + <<PackageConfigurationReference>>, name it "Default", connect + "ToplevelPackage" to "Default" + <li style='COLOR:black;'> Refer "Default" to My<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 <<Domain>> named + "Domain"; double click to open it. + <li style='COLOR:black;'> From the Part Browser, add two <<Node>> 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'>DeploymentPlan</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 + <<DeploymentPlan>>; name it "Plan", click to open it + <li style='COLOR:black;'> From the PartBrowser, add the following: + <ul type="circle"> + <li style='COLOR:black;'> Two <<CollocationGroup>> + <li style='COLOR:black;'> Two <<NodeReference>> named "Node_Broker" and "Node_Distributor" + respectively, refering to <code> <span style='FONT-SIZE:10pt'>MyQuoter/Targets/Domain/Broker</span></code> and <code> <span style='FONT-SIZE:10pt'>MyQuoter/Targets/Domain/Distributor</span></code> respectively + <li style='COLOR:black;'> Two <<ComponentRef>> named "StockBroker" and "StockDistributor" + respectively, refering to <code> <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockBroker</span></code> and <code> <span style='FONT-SIZE:10pt'>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockDistributor</span></code> respectively. Note that the <<ComponentRef>> in DeploymentPlan is + not referring to the interface, but rather the actual instance of the + implementation.</li> + </ul> + <li style='MARGIN-BOTTOM:12pt;COLOR:black;'> Switch to Connect Mode, connect one <<CollocationGroup>> to + <<NodeReference>> <em>Node_Broker</em>, connect another + <<CollocationGroup>> to <<NodeReference>> <em>Node_Distributor</em>. + Now the model looks like the following.</li> + </ol> + <p align="center" style='MARGIN-BOTTOM:12pt;MARGIN-LEFT:0.5in;TEXT-ALIGN:center;'><span style='COLOR:black'><img border="0" width="1076" height="530" id="_x0000_i1044" src="images/fig10.jpg"><br> + <br> + Figure 10.</span></p> + <ol start="4" type="1"> + <li style='MARGIN-BOTTOM:12pt;COLOR:black;'> Now we need to associate <<ComponentRef>> StockBroker to the + <<CollocationGroup>> running on the <<NodeReference>> + Broker, and <<ComponentRef>> StockDistributor to the + <<CollocationGroup>> running on the <<NodeReference>> + Distributor. To do that, switch the Edit Mode Bar to Set Mode (<img border="0" width="32" height="32" id="_x0000_i1045" src="Icons/SetMode.gif">), + and move the cursor to the <<CollocationGroup>> running on + <<NodeReference>> Distributor, right-click on it. You will find the + cursor is changed to set mode cursor, and only the + <<CollocationGroup>> 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" width="1076" height="530" id="_x0000_i1046" src="images/fig11.jpg"> + <!-- 01.html,v 1.3 2006/02/10 14:34:35 mxiong Exp --> + ><br> + <br> + Figure 11</span></p> + <p><span style='COLOR:black'>Now move your cursor to + <<ComponentRef>> 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" width="1076" height="530" id="_x0000_i1047" src="images/fig12.jpg"> <br> + <br> + Figure 12</span></p> + <p style='MARGIN-BOTTOM:12pt'><span style='COLOR:black'>This operation + associates <em>StockDistributor</em> component to the + <<CollocationGroup>> running on <em>Distributor</em> node. To do + the same with Broker, just right-click on another + <<CollocationGroup>>, and left-click on StockBroker + <<CollocationGroup>> which is 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 MyQuoter/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 file should be created to map logical nodes to NodeManager object + references,e.g:</span></p> + <pre wrap=""><span style='COLOR:black'>DistributorNode corbaloc:iiop:localhost:30000/NodeManager</span></pre> + <pre><span +style='COLOR:black'>BrokerNode corbaloc:iiop:localhost:40000/NodeManager</span></pre> + <pre><span +style='COLOR:black'> </span></pre> + <pre><span style='COLOR:black'> </span></pre> + <p align="center" style='TEXT-ALIGN:center;'><span style='COLOR:black'><a href="02.html">Previous</a> <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"> $Id$ </SPAN> </P> +</div> +</body> </html> diff --git a/CIAO/docs/tutorials/Quoter/Simple/04.html b/CIAO/docs/tutorials/Quoter/Simple/04.html index 0695b3b100d..b4338971620 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/04.html +++ b/CIAO/docs/tutorials/Quoter/Simple/04.html @@ -1,265 +1,161 @@ <!-- $Id$ --> -<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" - xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" - xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns="http://www.w3.org/TR/REC-html40"> - <head> - <title>Building a Stock Quoter with TAO - A Tutorial</title> - <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> - <meta name="ProgId" content="Word.Document"> - <meta name="Generator" content="Microsoft Word 11"> - <meta name="Originator" content="Microsoft Word 11"> - <link rel="File-List" href="04_files/filelist.xml"> - <link rel="Edit-Time-Data" href="04_files/editdata.mso"> <!--[if !mso]> -<STYLE> -v\:* {behavior:url(#default#VML);} -o\:* {behavior:url(#default#VML);} -w\:* {behavior:url(#default#VML);} -.shape {behavior:url(#default#VML);} -</STYLE> -<![endif]--> <!--[if gte mso 9]><xml> - <o:DocumentProperties> - <o:Author>Abdullah Sowayan</o:Author> - <o:LastAuthor>Abdullah Sowayan</o:LastAuthor> - <o:Revision>5</o:Revision> - <o:TotalTime>4</o:TotalTime> - <o:Created>2006-11-06T21:26:00Z</o:Created> - <o:LastSaved>2007-03-08T01:20:00Z</o:LastSaved> - <o:Pages>1</o:Pages> - <o:Words>292</o:Words> - <o:Characters>1668</o:Characters> - <o:Company>Lockheed Martin</o:Company> - <o:Lines>13</o:Lines> - <o:Paragraphs>3</o:Paragraphs> - <o:CharactersWithSpaces>1957</o:CharactersWithSpaces> - <o:Version>11.5606</o:Version> - </o:DocumentProperties> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:WordDocument> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</xml><![endif]--> - <style> <!-- /* Font Definitions */ @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;} - /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} - h3 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:3; 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 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} - address {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; font-style:italic;} - code {font-family:"Courier New"; mso-ascii-font-family:"Courier New"; mso-fareast-font-family:"Times New Roman"; mso-hansi-font-family:"Courier New"; mso-bidi-font-family:"Courier New";} - @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} - div.Section1 {page:Section1;} - /* List Definitions */ @list l0 {mso-list-id:67775701; mso-list-template-ids:1355323582;} - @list l0:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} - @list l0:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l0:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1 {mso-list-id:170876734; mso-list-template-ids:1310460404;} - @list l1:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} - @list l1:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l1:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2 {mso-list-id:333609146; mso-list-template-ids:-1273693138;} - @list l2:level1 {mso-level-number-format:bullet; mso-level-text:\F0A7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Wingdings;} - @list l2:level2 {mso-level-tab-stop:1.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level3 {mso-level-tab-stop:1.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level4 {mso-level-tab-stop:2.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level5 {mso-level-tab-stop:2.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level6 {mso-level-tab-stop:3.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level7 {mso-level-tab-stop:3.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level8 {mso-level-tab-stop:4.0in; mso-level-number-position:left; text-indent:-.25in;} - @list l2:level9 {mso-level-tab-stop:4.5in; mso-level-number-position:left; text-indent:-.25in;} - @list l3 {mso-list-id:909120102; mso-list-template-ids:116433128;} - @list l3:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} - @list l4 {mso-list-id:1387752558; mso-list-template-ids:245692192;} - @list l4:level1 {mso-level-number-format:bullet; mso-level-text:\F0B7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Symbol;} - @list l5 {mso-list-id:1450973280; mso-list-template-ids:2147393542;} - @list l5:level1 {mso-level-number-format:bullet; mso-level-text:\F0A7; mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in; mso-ansi-font-size:10.0pt; font-family:Wingdings;} - ol {margin-bottom:0in;} - ul {margin-bottom:0in;} - --></style> - <!--[if gte mso 10]> +<html xmlns="http://www.w3.org/TR/REC-html40"> +<head> +<title>Building a Stock Quoter with TAO - A Tutorial</title> +<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <style> - /* Style Definitions */ - table.MsoNormalTable - {mso-style-name:"Table Normal"; - mso-tstyle-rowband-size:0; - mso-tstyle-colband-size:0; - mso-style-noshow:yes; - mso-style-parent:""; - mso-padding-alt:0in 5.4pt 0in 5.4pt; - mso-para-margin:0in; - mso-para-margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; +<!-- +@font-face { +font-family:Wingdings; +panose-1:5 0 0 0 0 0 0 0 0 0; +} +h3 { + font-size:13.5pt; font-family:"Times New Roman"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} + 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"; +} +div.Section1 { + page:Section1 +} +--> </style> -<![endif]--> <!-- $Id$ --> <!--[if gte mso 9]><xml> - <o:shapedefaults v:ext="edit" spidmax="5122"/> -</xml><![endif]--> <!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> - </head> - <body bgcolor="white" lang="EN-US" link="#000fff" vlink="#ff0f0f" style='tab-interval: -.5in'> - <h3 align="center" style='TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'>Step 6: -System Deployment<o:p></o:p></span></h3> - <h3 align="center" style='TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'><img width="432" height="223" id="_x0000_i1025" src="images/step6.jpg"><o:p></o:p> - </span></h3> - <p class="MsoNormal"><span style='COLOR:black'>Now that we have all the -components and driver programs successfully built, along with the Deploymentplan -generated by PICML, we will be able to run our application<br> -<br> -From different command prompts in </span><code><span style='FONT-SIZE:10pt; -COLOR:black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/descriptors</span></code><span style='COLOR:black'> directory: <o:p></o:p></span></p> - <DIV class="Section1"> - <UL type="disc"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'> - Start NodeManagers (NodeDameon) by running:</li></UL> - </DIV> - <P class="MsoNormal" style="COLOR: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo3; tab-stops: list .5in"> <FONT face="Courier New" size="2"> - %CIAO_ROOT%/bin/NodeManager -ORBListenendpoints iiop://localhost:30000 -s - %CIAO_ROOT%/bin/NodeApplication -d 1000</FONT></P> - <P class="MsoNormal" style="COLOR: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo3; tab-stops: list .5in"><FONT face="Courier New" size="2"></FONT> </P> - <P class="MsoNormal" style="COLOR: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo3; tab-stops: list .5in"><FONT face="Courier New" size="2"> %CIAO_ROOT%/bin/NodeManager - -ORBListenendpoints iiop://localhost:40000 -s %CIAO_ROOT%/bin/NodeApplication - -d 1000</FONT></P> - <UL type="disc"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'> - Start the execution manager:</li></UL> - <P class="MsoNormal" style="COLOR: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo3; tab-stops: list .5in"> - <code> - <span style='FONT-SIZE:10pt'>%CIAO_ROOT%/bin/Execution_Manager - -o ior -i NodeMap.dat</span></code> <o:p></o:p> - </P> - <p><span style='COLOR:black'>The </span><code><span style='FONT-SIZE:10pt; +<!-- $Id$ --> +</head> +<body bgcolor="#FFFFFF" lang="EN-US" link="#000fff" vlink="#ff0f0f"> +<h3 align="center" style='TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'>Step 6: + System Deployment</span></h3> +<h3 align="center" style='TEXT-ALIGN:center' class="Section1"><span style='COLOR:black'><img width="432" height="223" id="_x0000_i1025" src="images/step6.jpg"> </span></h3> +<p><span style='COLOR:black'>Now that we have all the + components and driver programs successfully built, along with the Deploymentplan + generated by PICML, we will be able to run our application<br> + <br> + From different command prompts in </span><code><span style='FONT-SIZE:10pt; +COLOR:black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/descriptors</span></code><span style='COLOR:black'> directory: </span></p> +<DIV class="Section1"> + <UL type="disc"> + <li style='COLOR:black;'> Start NodeManagers (NodeDameon) by running:</li> + </UL> +</DIV> +<P style="COLOR: black; "> <FONT face="Courier New" size="2"> + %CIAO_ROOT%/bin/NodeManager -ORBListenendpoints iiop://localhost:30000 -s + %CIAO_ROOT%/bin/NodeApplication -d 1000</FONT></P> +<P style="COLOR: black; "><FONT face="Courier New" size="2"> %CIAO_ROOT%/bin/NodeManager + -ORBListenendpoints iiop://localhost:40000 -s %CIAO_ROOT%/bin/NodeApplication + -d 1000</FONT></P> +<UL type="disc"> + <li style='COLOR:black;'> Start the execution manager:</li> +</UL> +<P style="COLOR: black; "> + <code> <span style='FONT-SIZE:10pt'>%CIAO_ROOT%/bin/Execution_Manager + -o ior -i NodeMap.dat</span></code> </P> +<p><span style='COLOR:black'>The </span><code><span style='FONT-SIZE:10pt; COLOR:black'>NodeMap.dat</span></code><span style='COLOR:black'> 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.<o:p></o:p></span></p> - <ul type="square"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo6;tab-stops:list .5in'> - <em>NOTE</em>: As one can see, we use the "NodeMap.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.<o:p></o:p></li> - </ul> - <ul type="disc"> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo9;tab-stops:list .5in'> - Start the plan_launcher by running <code> - <span style='FONT-SIZE:10pt'>%CIAO_ROOT%/bin/plan_launcher - -p Plan.cdp -k file://ior</span></code><o:p></o:p> - <li class="MsoNormal" style='COLOR:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo9;tab-stops:list .5in'> - 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<o:p></o:p> - : - <UL> - <LI class="MsoNormal" style="COLOR: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo9; tab-stops: list .5in"> - Instruct the StockDistributor component to start publishing stock quotes:</LI></UL> - </li> - </ul> - <P class="MsoNormal" style="MARGIN-BOTTOM: 12pt"><span style='COLOR:black'> -</span><code><span style='FONT-SIZE:10pt;COLOR:black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/StockDistributorDriver.exe --o</span></code></P> - <UL dir="ltr" style="MARGIN-RIGHT: 0px"> - <UL dir="ltr" style="MARGIN-RIGHT: 0px"> - <LI> - <span style='COLOR:black'>Instruct the StockBroker - to subscirbe to MSFT stock -publications: </span></LI></UL> - </UL> - <P><SPAN style="COLOR: black"> -</SPAN><code><span style='FONT-SIZE: + 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.</span></p> +<ul type="square"> + <li style='COLOR:black;'> <em>NOTE</em>: As one can see, we use the "NodeMap.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 type="disc"> + <li style='COLOR:black;'> Start the plan_launcher by running <code> <span style='FONT-SIZE:10pt'>%CIAO_ROOT%/bin/plan_launcher + -p Plan.cdp -k file://ior</span></code> + <li style='COLOR:black;'> 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 + : + <UL> + <LI style="COLOR: black; "> Instruct the StockDistributor component to start publishing stock quotes:</LI> + </UL> + </li> +</ul> +<P style="MARGIN-BOTTOM: 12pt"><span style='COLOR:black'> </span><code><span style='FONT-SIZE:10pt;COLOR:black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/StockDistributorDriver.exe + -o</span></code></P> +<UL dir="ltr" style="MARGIN-RIGHT: 0px"> + <UL dir="ltr" style="MARGIN-RIGHT: 0px"> + <LI> <span style='COLOR:black'>Instruct the StockBroker + to subscirbe to MSFT stock + publications: </span></LI> + </UL> +</UL> +<P><SPAN style="COLOR: black"> </SPAN><code><span style='FONT-SIZE: 10pt;COLOR: black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/StockBrokerDriver.exe --s MSFT</span></code></P> - <UL dir="ltr" style="MARGIN-RIGHT: 0px"> - <UL dir="ltr" style="MARGIN-RIGHT: 0px"> - <LI> - <CODE> - <SPAN style="FONT-SIZE: 10pt; COLOR: black"> - <SPAN style="COLOR: black"> - <FONT face="Times New Roman"><FONT size="3">Instruct the StockBroker to subscirbe - to IBM stock publications</FONT>:</FONT></SPAN> - </SPAN></CODE></LI></UL> - </UL> - <P><span style='COLOR:black'> - </span><code><span style='FONT-SIZE: + -s MSFT</span></code></P> +<UL dir="ltr" style="MARGIN-RIGHT: 0px"> + <UL dir="ltr" style="MARGIN-RIGHT: 0px"> + <LI> <CODE> <SPAN style="FONT-SIZE: 10pt; COLOR: black"> <SPAN style="COLOR: black"> <FONT face="Times New Roman"><FONT size="3">Instruct the StockBroker to subscirbe + to IBM stock publications</FONT>:</FONT></SPAN> </SPAN></CODE></LI> + </UL> +</UL> +<P><span style='COLOR:black'> </span><code><span style='FONT-SIZE: 10pt;COLOR: black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/StockBrokerDriver.exe --s IBM</span></code></P> - <UL dir="ltr" style="MARGIN-RIGHT: 0px"> - <UL dir="ltr" style="MARGIN-RIGHT: 0px"> - <LI> - <CODE> - <SPAN style="FONT-SIZE: 10pt; COLOR: black"></SPAN></CODE><span style='COLOR:black'><SPAN style="COLOR: black">Instruct the StockBroker to unsubscirbe to MSFT stock - publications:</SPAN> - </span></LI></UL> - </UL> - <SPAN style="COLOR: black"> + -s IBM</span></code></P> +<UL dir="ltr" style="MARGIN-RIGHT: 0px"> + <UL dir="ltr" style="MARGIN-RIGHT: 0px"> + <LI> <CODE> </CODE><span style='COLOR:black'><SPAN style="COLOR: black">Instruct the StockBroker to unsubscirbe to MSFT stock + publications:</SPAN> </span></LI> + </UL> +</UL> +<SPAN style="COLOR: black"> <P> </SPAN><code><span style='FONT-SIZE: 10pt;COLOR: black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Broker/StockBrokerDriver.exe --u MSFT</span></code><span style='COLOR:black'></P> + -u MSFT</span></code><span style='COLOR:black'></P> <UL> - <UL> - <LI> - <SPAN style="COLOR: black"> - <SPAN style="COLOR: black">Instruct the - StockDistributor component to stop publishing stock -quotes:</SPAN></LI></UL> - </UL> </span> - <P> </SPAN><code><span style='FONT-SIZE: + <UL> + <LI> <SPAN style="COLOR: black"> <SPAN style="COLOR: black">Instruct the + StockDistributor component to stop publishing stock + quotes:</SPAN></LI> + </UL> +</UL> +</span> +<P> </SPAN><code><span style='FONT-SIZE: 10pt;COLOR: black'>%CIAO_ROOT%/docs/tutorials/Quoter/Simple/Distributor/StockDistributorDriver.exe -–f</span></code><code><span style='FONT-SIZE:10pt'><o:p></o:p> - </span></code></P> - <P><CODE><SPAN style="FONT-SIZE: 10pt"></SPAN></CODE><code><span style='FONT-SIZE: -10pt'> </P> - <UL> - <DIV class="MsoNormal" style="MARGIN-BOTTOM: 12pt"> - <LI class="MsoNormal" style="COLOR: black; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo6; tab-stops: list .5in"> - <FONT color="#ff0000"><EM>NOTE</EM>: Windows uses %VARIABLE% to fetch the values of - environment variables. Linux/Unix uses $VARIABLE to fetch the values of - environment variables. As such, if you're running this tutorial on Linux/Unix - operating system, change the above commands to use $VARIABLE instead of - %VARIABLE% when you run the programs.</FONT></SPAN></CODE></LI></DIV> - </UL> - <p class="MsoNormal" align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><a href="03.html">Previous</a><span style='mso-tab-count: -8'> </span> - <o:p></o:p> - </span></p> - <div class="MsoNormal" 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 class="MsoNormal"><span style='COLOR:black'><o:p> </o:p> - </span></p> - <P class="MsoNormal"><SPAN style="COLOR: black">$Id$</SPAN></P> - <p class="MsoNormal" style='MARGIN-BOTTOM:12pt'><span style='COLOR:black'><o:p> </o:p> - </span></p> - </body> + –f</span></code><code><span style='FONT-SIZE:10pt'> </span></code></P> +<UL> + <DIV style="MARGIN-BOTTOM: 12pt"> + <LI style="COLOR: black; "> <FONT color="#ff0000"><EM>NOTE</EM>: Windows uses %VARIABLE% to fetch the values of + environment variables. Linux/Unix uses $VARIABLE to fetch the values of + environment variables. As such, if you're running this tutorial on Linux/Unix + operating system, change the above commands to use $VARIABLE instead of + %VARIABLE% when you run the programs.</FONT></SPAN></CODE></LI> + </DIV> +</UL> +<p align="center" style='TEXT-ALIGN:center'><span style='COLOR:black'><a href="03.html">Previous</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">$Id$</SPAN></P> +</body> </html> diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker.mpc b/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker.mpc index 25c0840871b..f18ab6d17c6 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker.mpc +++ b/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker.mpc @@ -32,7 +32,7 @@ project(Stock_Base_StockBroker_cidl_gen) : ciaocidldefaults, taoidldefaults { } } -project(Stock_Base_StockBroker_stub) : ciao_client_dnc { +project(Stock_Base_StockBroker_stub) : ccm_stub { avoids += ace_for_tao after += Stock_Base_StockBroker_idl_gen Stock_Base_stub libs += Stock_Base_stub @@ -57,7 +57,7 @@ project(Stock_Base_StockBroker_stub) : ciao_client_dnc { } } -project(Stock_Base_StockBroker_exec) : ciao_component_dnc { +project(Stock_Base_StockBroker_exec) : ciao_executor { avoids += ace_for_tao after += Stock_Base_StockBroker_cidl_gen Stock_Base_StockBroker_stub sharedname = StockBroker_exec @@ -85,7 +85,7 @@ project(Stock_Base_StockBroker_exec) : ciao_component_dnc { } -project(Stock_Base_StockBroker_svnt) : ciao_servant_dnc { +project(Stock_Base_StockBroker_svnt) : ciao_servant { avoids += ace_for_tao after += Stock_Base_skel Stock_Base_StockBroker_exec sharedname = StockBroker_svnt @@ -118,7 +118,7 @@ project(Stock_Base_StockBroker_svnt) : ciao_servant_dnc { } } -project (Stock_Base_StockBrokerDriver) : ciao_client_dnc, valuetype { +project (Stock_Base_StockBrokerDriver) : ccm_stub, valuetype { avoids += ace_for_tao exename = StockBrokerDriver after += Stock_Base_StockBroker_stub diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp b/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp index 556aed2a5ae..3d99bd4976f 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp +++ b/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.cpp @@ -130,12 +130,7 @@ namespace CIDL_StockBroker_Impl } void - StockBroker_exec_i::ciao_preactivate () - { - } - - void - StockBroker_exec_i::ciao_postactivate () + StockBroker_exec_i::configuration_complete () { } diff --git a/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.h b/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.h index b89e30ec48a..4730410cf23 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.h +++ b/CIAO/docs/tutorials/Quoter/Simple/Broker/StockBroker_exec.h @@ -74,9 +74,7 @@ namespace CIDL_StockBroker_Impl virtual void set_session_context (::Components::SessionContext_ptr ctx); - virtual void ciao_preactivate (); - - virtual void ciao_postactivate (); + virtual void configuration_complete (); virtual void ccm_activate (); diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor.mpc b/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor.mpc index 5c88528692f..30f1d0024ac 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor.mpc +++ b/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor.mpc @@ -32,7 +32,7 @@ project(Stock_Base_StockDistributor_cidl_gen) : ciaocidldefaults, taoidldefaults } } -project(Stock_Base_StockDistributor_stub) : ciao_client_dnc { +project(Stock_Base_StockDistributor_stub) : ccm_stub { avoids += ace_for_tao after += Stock_Base_StockDistributor_idl_gen Stock_Base_stub libs += Stock_Base_stub @@ -57,7 +57,7 @@ project(Stock_Base_StockDistributor_stub) : ciao_client_dnc { } } -project(Stock_Base_StockDistributor_exec) : ciao_component_dnc { +project(Stock_Base_StockDistributor_exec) : ciao_executor { avoids += ace_for_tao after += Stock_Base_StockDistributor_cidl_gen Stock_Base_StockDistributor_stub sharedname = StockDistributor_exec @@ -85,7 +85,7 @@ project(Stock_Base_StockDistributor_exec) : ciao_component_dnc { } -project(Stock_Base_StockDistributor_svnt) : ciao_servant_dnc { +project(Stock_Base_StockDistributor_svnt) : ciao_servant { avoids += ace_for_tao after += Stock_Base_skel Stock_Base_StockDistributor_exec sharedname = StockDistributor_svnt @@ -118,7 +118,7 @@ project(Stock_Base_StockDistributor_svnt) : ciao_servant_dnc { } } -project (Stock_Base_StockDistributorDriver) : ciao_client_dnc, valuetype { +project (Stock_Base_StockDistributorDriver) : ccm_stub, valuetype { avoids += ace_for_tao exename = StockDistributorDriver after += Stock_Base_StockDistributor_stub diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.cpp b/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.cpp index c63e1fc0e72..6bac21fff89 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.cpp +++ b/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.cpp @@ -116,14 +116,11 @@ namespace CIDL_StockDistributor_Impl pulse_Generator::handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) { - if (CIAO::debug_level () > 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"), - this, - handle, - close_mask)); - } + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("[%x] handle = %d, close_mask = %d\n"), + this, + handle, + close_mask)); return 0; } @@ -272,12 +269,7 @@ namespace CIDL_StockDistributor_Impl } void - StockDistributor_exec_i::ciao_preactivate () - { - } - - void - StockDistributor_exec_i::ciao_postactivate () + StockDistributor_exec_i::configuration_complete () { } diff --git a/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h b/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h index 08b14272f70..9de7936fcd1 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h +++ b/CIAO/docs/tutorials/Quoter/Simple/Distributor/StockDistributor_exec.h @@ -163,10 +163,7 @@ namespace CIDL_StockDistributor_Impl ::Components::SessionContext_ptr ctx); virtual void - ciao_preactivate (); - - virtual void - ciao_postactivate (); + configuration_complete (); virtual void ccm_activate (); diff --git a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc b/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc index 8109fdb92f0..e6dd72b5e41 100644 --- a/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc +++ b/CIAO/docs/tutorials/Quoter/Simple/Stock_Base/Stock_Base.mpc @@ -14,7 +14,7 @@ project(Stock_Base_idl_gen) : taoidldefaults, anytypecode { } } -project(Stock_Base_stub) : ciao_client_dnc { +project(Stock_Base_stub) : ccm_stub { avoids += ace_for_tao after += Stock_Base_idl_gen libs += @@ -40,7 +40,7 @@ project(Stock_Base_stub) : ciao_client_dnc { } -project(Stock_Base_skel) : ciao_component_dnc { +project(Stock_Base_skel) : ciao_executor { avoids += ace_for_tao after += Stock_Base_stub sharedname = Stock_Base_skel |