diff options
Diffstat (limited to 'CIAO/docs/tutorials/Quoter/Simple/03.html')
-rw-r--r-- | CIAO/docs/tutorials/Quoter/Simple/03.html | 1276 |
1 files changed, 1276 insertions, 0 deletions
diff --git a/CIAO/docs/tutorials/Quoter/Simple/03.html b/CIAO/docs/tutorials/Quoter/Simple/03.html new file mode 100644 index 00000000000..875b90a03b4 --- /dev/null +++ b/CIAO/docs/tutorials/Quoter/Simple/03.html @@ -0,0 +1,1276 @@ +<!-- $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> +<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]--> +<title>Getting Started</title> +<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 + classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></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]> +<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-family:"Times New Roman"; + mso-ansi-language:#0400; + mso-fareast-language:#0400; + mso-bidi-language:#0400;} +</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;text-autospace: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:39.0pt;text-indent:-.25in;mso-list:l9 level1 lfo1; +tab-stops:list 39.0pt;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span +style='mso-list:Ignore'>1.<span style='font:7.0pt "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:39.0pt;text-indent:-.25in;mso-list:l9 level1 lfo1; +tab-stops:list 39.0pt;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span +style='mso-list:Ignore'>2.<span style='font:7.0pt "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;text-autospace:none'><o:p> </o:p></p> + +<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace: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;text-autospace:none'><o:p> </o:p></p> + +<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace: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;text-autospace:none'><o:p> </o:p></p> + +<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'>For +more information on CosMIC, please refer to the following article:</p> + +<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace: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;text-autospace: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;text-autospace: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;mso-list:l3 level1 lfo2;tab-stops:list .5in'>Make sure <code><span + style='font-size:10.0pt'>%COSMIC_ROOT%\bin</span></code> is included in + the PATH variable, e.g., c:\Program Files\ISIS\CoSMIC\bin.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l3 level1 lfo2;tab-stops:list .5in'>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> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l3 level1 lfo2;tab-stops:list .5in'>In the same command + prompt, change directory to <code><span style='font-size:10.0pt'>MyQuoter\</span></code>, + and type the following command:<br> + > <kbd><span style='font-size:10.0pt'>idl_to_picml -x + MyQuoter -r . -I .\Stock_Base</span></kbd><br> + (if the above command does not work, you may also try this<br> + ><kbd><span style='font-size:10.0pt'>idl_to_picml -x + MyQuoter -r . -I .\Stock_Base -I %TAO_ROOT% -I %TAO_ROOT%\orbsvcs -I + %CIAO_ROOT%\ciao)</span></kbd><br> + <em>idl_to_picml</em> will parse your IDL files and generated a <code><span + style='font-size:10.0pt'>MyQuoter.xme</span></code> file in the <code><span + style='font-size:10.0pt'>MyQuoter</span></code> directory. Note that if -x + option is not used, the default xme file name will be <code><span + style='font-size:10.0pt'>PICML_default_xme_file.xme.</span></code><br> + 4. 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=781 height=636 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:12.0pt;text-align:center'><span +style='color:black'><img border=0 width=223 height=336 id="_x0000_i1028" +src="Images/fig3.jpg"><br> +<br> +Figure 3<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-bottom:12.0pt'><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;mso-list:l2 level1 lfo3;tab-stops:list .5in'><a href="#1">ImplementationArtifacts</a><o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l2 level1 lfo3;tab-stops:list .5in'><a href="#2">ComponentImplementations</a><o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l2 level1 lfo3;tab-stops:list .5in'><a href="#3">ComponentPackages</a><o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l2 level1 lfo3;tab-stops:list .5in'><a href="#4">PackageConfiguration</a><o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l2 level1 lfo3;tab-stops:list .5in'><a href="#5">TopLevelPackage</a><o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l2 level1 lfo3;tab-stops:list .5in'><a href="#6">Targets</a><o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l2 level1 lfo3;tab-stops:list .5in'><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='font-variant:small-caps;color:red;background:silver; +mso-highlight:silver'>Important:</span></b><span style='color:black;background: +silver;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:12.0pt;text-align:center'><span +style='color:black'><img border=0 width=891 height=552 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=922 height=639 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:10.0pt; +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;mso-list:l0 level1 lfo4;tab-stops:list .5in'>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> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l0 level1 lfo4;tab-stops:list .5in'>From the Part Browser, + drag a <<ComponentAssembly>> to the modeling window, name it + "StockQuoter". Double click to open it.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l0 level1 lfo4;tab-stops:list .5in'>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:10.0pt; + font-family:"Courier New"'>InterfaceDefinitions</span></em>, then expand + the <em><span style='font-size:10.0pt;font-family:"Courier New"'>InterfaceDefinitions/</span></em> + <em>Broker</em>, then <em><span style='font-size:10.0pt;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:10.0pt'>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:10.0pt'>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=972 height=714 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;mso-list:l8 level1 lfo5;tab-stops:list .5in'>Create an + <<PublishConnector>>.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l8 level1 lfo5;tab-stops:list .5in'>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=724 height=402 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;mso-list:l1 level1 lfo6;tab-stops:list .5in'>Right click folder <em>ComponentPackage</em>s + , insert a <<PackageContainer>>, name it "Broker"; + Double click to open it.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level1 lfo6;tab-stops:list .5in'>From the PartBrowser, + add the following:<o:p></o:p></li> + <ul type=circle> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level2 lfo6;tab-stops:list 1.0in'>a <<ComponentPackage>> + named "Broker";<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level2 lfo6;tab-stops:list 1.0in'>a + <<ComponentImplementationReference>> named + "Broker";<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level2 lfo6;tab-stops:list 1.0in'>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;mso-list:l1 level1 lfo6;tab-stops:list .5in'>Refer the + <<ComponentImplementationReference>> <em>Broker</em> to <code><span + style='font-size:10.0pt'>MyQuoter/ComponentImplementations/StockBroker</span></code>Implementation/StockBrokerMonolithicImpl. + Refer the <<ComponentRef>> <em>Broker</em> to <code><span + style='font-size:10.0pt'>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:10.0pt'>MyQuoter/ComponentImplementations/StockBroker</span></code>Implementation/StockBrokerMonolithicImpl + into <<ComponentImplementationReference>> <em>Broker.</em> + Check GME manual(tutorials) for more information.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level1 lfo6;tab-stops:list .5in'>Switch to Connect Mode and + create two connections according to the following relationship.<o:p></o:p></li> + <ul type=circle> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level2 lfo6;tab-stops:list 1.0in'><<ComponentImplementationReference>> + <em>Broker</em> implements <<ComponentPackage>> <em>Broker</em>;<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level2 lfo6;tab-stops:list 1.0in'><<ComponentPackage>> + <em>Broker</em> realizes <<ComponentRef>> <em>Broker</em>.<o:p></o:p></li> + </ul> +</ol> + +<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt; +margin-left:.5in'><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='mso-margin-top-alt:auto;margin-bottom: +12.0pt;margin-left:.5in;text-align:center'><span style='color:black'><img +border=0 width=675 height=497 id="_x0000_i1038" src="Images/fig8.jpg"><!-- hhmts start -->><br> +<br> +Figure 8<o:p></o:p></span></p> + +<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; +margin-left:.5in'><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='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l1 level1 lfo6;tab-stops:list .5in;list-style-position:outside'><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='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; +margin-left:.5in;text-indent:-.25in;mso-list:l1 level2 lfo7'><![if !supportLists]><span +style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"; +mso-fareast-font-family:"Courier New";color:black'><span style='mso-list:Ignore'>1.<span +style='font:7.0pt "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='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; +margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2 lfo7'><![if !supportLists]><span +style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"; +mso-fareast-font-family:"Courier New";color:black'><span style='mso-list:Ignore'>2.<span +style='font:7.0pt "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:10.0pt;color:black'>/ComponentImplementations/StockQuoter/StockQuoter</span></code><span +style='color:black'><o:p></o:p></span></p> + +<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; +margin-left:1.0in;text-indent:-.25in;mso-list:l1 level2 lfo7'><![if !supportLists]><span +style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Courier New"; +mso-fareast-font-family:"Courier New";color:black'><span style='mso-list:Ignore'>3.<span +style='font:7.0pt "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:12.0pt;text-align:center'><span +style='color:black'><img border=0 width=549 height=354 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;mso-list:l6 level1 lfo8;tab-stops:list .5in'>In the folder <em>PackageConfiguratio</em>n, + and create a <<PackageConfigurationContainer>>, name it + "Default", click to open it.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l6 level1 lfo8;tab-stops:list .5in'>Add a + <<PackageConfiguration>> named "default" and a + <<ComponentPackageReference>>, name it + "StockQuoter", connect "Default" to + "StockQuoter"<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l6 level1 lfo8;tab-stops:list .5in'>Refer + <<ComponentPackageReference>> StockQuoter to + <<ComponentPackage>> <code><span style='font-size:10.0pt'>MyQuoter/ComponentPackage/StockQuoter/StockQuoter</span></code><span + style='font-size:10.0pt;font-family:"Courier New"'><br> + <code>(Not <<ComponentImplementationReference>></code></span> <code><span + style='font-size:10.0pt'>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;mso-list:l4 level1 lfo9;tab-stops:list .5in'>In the folder <em>ToplevelPackage</em>, + and create a <<ToplevelPackageContainer>>, name it + "Default", double click to open it.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l4 level1 lfo9;tab-stops:list .5in'>Add a + <<ToplevelPackage>> named "ToplevelPackage" and a + <<PackageConfigurationReference>>, name it + "Default", connect "ToplevelPackage" to + "Default"<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l4 level1 lfo9;tab-stops:list .5in'>Refer + "Default" to My<code><span style='font-size:10.0pt'>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;mso-list:l5 level1 lfo10;tab-stops:list .5in'>In the folder <i>Targets</i>, + insert a new <<Domain>> named "Domain"; double click + to open it.<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l5 level1 lfo10;tab-stops:list .5in'>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;mso-list:l7 level1 lfo11;tab-stops:list .5in'>In the folder <em>DeploymentPlan</em>, + insert a model <<DeploymentPlan>>; name it "Plan", + click to open it<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l7 level1 lfo11;tab-stops:list .5in'>From the PartBrowser, + add the following:<o:p></o:p></li> + <ul type=circle> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l7 level2 lfo11;tab-stops:list 1.0in'>Two + <<CollocationGroup>><o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l7 level2 lfo11;tab-stops:list 1.0in'>Two + <<NodeReference>> named "Node_Broker" and + "Node_Distributor" respectively, refering to <code><span + style='font-size:10.0pt'>MyQuoter/Targets/Domain/Broker</span></code> and + <code><span style='font-size:10.0pt'>MyQuoter/Targets/Domain/Distributor</span></code> + respectively<o:p></o:p></li> + <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: + auto;mso-list:l7 level2 lfo11;tab-stops:list 1.0in'>Two + <<ComponentRef>> named "StockBroker" and + "StockDistributor" respectively, refering to <code><span + style='font-size:10.0pt'>MyQuoter/ComponentImplementations/StockQuoterImplementation/StockQuoter/StockBroker</span></code> + and <code><span style='font-size:10.0pt'>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='color:black;mso-margin-top-alt:auto;margin-bottom: + 12.0pt;mso-list:l7 level1 lfo11;tab-stops:list .5in'>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='mso-margin-top-alt:auto;margin-bottom: +12.0pt;margin-left:.5in;text-align:center'><span style='color:black'><img +border=0 width=752 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='color:black;mso-margin-top-alt:auto;margin-bottom: + 12.0pt;mso-list:l7 level1 lfo11;tab-stops:list .5in'>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:12.0pt;text-align:center'><span +style='color:black'><img border=0 width=672 height=505 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:12.0pt;text-align:center'><span +style='color:black'><img border=0 width=672 height=505 id="_x0000_i1047" +src="Images/fig12.jpg"> + +<!doctype HTML> + +><br> +<br> +Figure 12<o:p></o:p></span></p> + +<p style='margin-bottom:12.0pt'><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 +flattened_deploymentplan interpreter that comes along with PICML will help us +to generate a flattened_deploymentplan.cdp file. Please make sure you generate +this file to MyQuoter/descriptors. Note that to get the example working</span><span +style='font-family:"Courier New";color:black'>,</span><span style='color:black'>a +Node Map file should be created to map logicalnodes 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> + +<pre style='text-align:center'><o:p> </o:p></pre></div> + +</body> + +</html> |