summaryrefslogtreecommitdiff
path: root/modules/CIAO/docs/tutorials/CoSMIC/01.html
blob: 73db63f72363484f03e6b4e7465852a152cea552 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

  
  <meta name="generator" content="HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" />
<!-- $Id$ -->
  

  
  <title>Getting Started</title>
</head>



<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" link="#000fff" vlink="#ff0f0f">

  
<h3>Getting Started<br />
</h3>
<b>Writing IDL files</b><br />

  <br />

  We will start from writing the idl file for each component.<br />


  
<ol>

    <li>Create a directory named <code><span style="font-style: italic;">MyQuoter</span></code><span style="font-style: italic;">.</span></li>


    <li>In <code style="font-style: italic;">MyQuoter</code>
    directory, create one directory <span style="font-style: italic;">Stock_Base</span> for the base idl and
    two more directories <span style="font-style: italic;">Broker</span>, <span style="font-style: italic;">Distributor</span> for each component. In
    <code style="font-style: italic;">MyQuoter/Stock_Base</code>,
    place an idl file <code style="font-style: italic;">Stock_Base.idl</code> that you could copy
    from <a href="../Quoter/Simple/Stock_Base/Stock_Base.idl">here</a>. This
    file defines the interfaces and events that will be used by
    both Stock Distributor and Stock Broker.</li>


    <li style="list-style-type: none; list-style-image: none; list-style-position: outside;">We put together the common
    interface definitions so the base library can be shared by both
    components, reducing the size of "real" components.<br />
  </li>


    <li>In <code style="font-style: italic;">MyQuoter/Distributor</code>, place an idl
    file <code style="font-style: italic;">Distributor.idl</code>
    that looks like <a href="../Quoter/Simple/Distributor/Distributor.idl">this</a>. This
    file defines the StockDistributor component
    interfaces.<br />
  </li>


    <li>In <code style="font-style: italic;">MyQuoter/Broker</code>
    place an idl file <code><span style="font-style: italic;">Broker.id</span>l</code> that looks like
    <a href="../Quoter/Simple/Broker/Broker.idl">this</a>. This
    file defines the StockBroker component interface.<br />
  </li>

  
</ol>
<br />

  <b>Importing IDL to PICML</b><br />

  <br />

  &nbsp;&nbsp; To quick start our Stock Quoter modeling process in
  GME, CoSMIC introduces <em>idl_to_picml</em> , which is an
  executable program that imports the IDL files you just created
  into PICML.<br />


  
<ol>

    <li>Make sure <code>%COSMIC_ROOT%\bin</code> is included in the
    PATH variable, e.g., c:\Program
    Files\ISIS\CoSMIC\bin.<br />
  </li>


    <li>Open a command prompt, run VCVARS32.BAT from the MSVC .NET
    folder if you haven't done so. It will set the environment for
    using Microsoft Visual Studio .NET tools so that <span style="font-style: italic;">idl_to_picml</span> works properly.<br />

    in my machine, VCVARS32.bat is in C:\Program Files\Microsoft
    Visual Studio .NET 2003\Vc7\bin<br />
  </li>


    <li>In the same command prompt, change directory to
    <code>MyQuoter\</code>, and type the following command:<br />

    &nbsp;&nbsp; &gt; <kbd>idl_to_picml -x MyQuoter -r . -I
    .\Stock_Base</kbd><br />

    &nbsp;&nbsp; (if the above command does not work, you may also
    try this<br />

    &nbsp;&nbsp; &gt;<kbd>idl_to_picml -x MyQuoter -r .&nbsp;-I .\Stock_Base -I
    %TAO_ROOT% -I %TAO_ROOT%\orbsvcs -I
    %CIAO_ROOT%\ciao)</kbd><br />

    &nbsp; <em>idl_to_picml</em> will parse your IDL files and
    generated a <code>MyQuoter.xme</code> file in the
    <code>MyQuoter</code> directory. Note that if -x option is not
    used, the default xme file name will be
    <code>PICML_default_xme_file.xme.</code><br />

    4. Start GME, select <strong>File-&gt;Import xml..</strong>,
    and choose the xme file just generated. You should be able to
    see an imported PICML model similar to the one shown in Figure
    2.<br />
  </li>

  
</ol>
<br />


  
<div style="text-align: center;">
    <img alt="" src="Images/fig2.jpg" style="width: 781px; height: 635px;" /><br />

    <br />

    Figure 2<br />

  </div>


  
<p>&nbsp; In the Browser of the generated model, the
  <em>PredefinedTypes</em> folder contains a bunch of atomic
  datatype elements that will be referenced by other modeling parts
  later. You don't have to worry about them for now. The models in
  <em>InterfaceDefinitions</em> folder are the PICML
  representations ofthe IDL files you just imported. Double-click
  to open <em>Broker</em>, it will show you a white, document-like
  entity which represents a &lt;&lt;FileRef&gt;&gt; instance and a
  yellow box-shaped entity representing a &lt;&lt;Package&gt;&gt;
  instance. Their equivalent representations in IDL files are
  "#include" and "module" respectively. Figure 3 gives you a clear
  view of GME representation of all the 3 idl files created. We
  will cover the other folders in the next section.</p>


  
<div style="text-align: center;">
    <img alt="" src="Images/fig3.jpg" style="width: 223px; height: 336px;" /><br />

    <br />

    Figure 3<br />

    <br />

  </div>
Now we are ready to model the rest of the Stock Quoter
  systems.<br />

  <br />

  <br />

  <br />

  
<hr />

  
<address>
    <a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br />
</a>
  </address>
<!-- Created: Sat Nov 27 15:25:06 CST 1999 -->
  <!-- hhmts start -->
  Last modified:<!-- hhmts end -->
</body>
</html>