summaryrefslogtreecommitdiff
path: root/TAO/CIAO/docs/tutorials/CoSMIC/index.html
blob: eafa4cf52c4b42f833a973901d3509a7135920d9 (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
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
  <title>Building a Stock Quoter with TAO - A Tutorial</title>
<!-- $Id$ -->
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"
 link="#000fff" vlink="#ff0f0f">
<h3>Building a Stock Quoter with CoSMIC and DAnCE - A Tutorial<br>
</h3>
<p>This tutorial provides a step-by-step lesson on developing
component-based distributed applications using <a
 href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> modeling
toolkit and <a href="http://www.cs.wustl.edu/%7Eschmidt/CIAO.html">CIAO
DAnCE</a> framework. The example application used in this tutorial is a
Stock Quoter that consists of two components; the <span
 style="font-style: italic;">StockDistributor</span>
and the <span style="font-style: italic;">StockBroker</span>. The <span
 style="font-style: italic;">StockDistributor</span>
notifies one or more stock brokers whenever a stock price changes. Upon
receiving the notification, the <span style="font-style: italic;">StockBroker</span>
fetches information about a particular stock from the <span
 style="font-style: italic;">StockDistributor</span>. The figure bellow
shows the application diagram.
This Stock Quoter application
is based on a series of <a
 href="http://www.cs.wustl.edu/%7Eschmidt/report-doc.html">CORBA
component model</a> columns written by <a
 href="http://www.cs.wustl.edu/%7Eschmidt/">Doug Schmidt</a> and <a
 href="http://www.iona.com/hyplan/vinoski/">Steve Vinoski</a> for <a
 href="http://www.cuj.com">C/C++ Users Journal</a> and has consistently
been
used as an example for <a
 href="http://www.cs.wustl.edu/%7Eschmidt/TAO.html">TAO</a>.<br>
</p>
<div style="text-align: center;"><img alt="" src="Images/fig1.jpg"
 style="width: 362px; height: 193px;"><br>
<br>
Stock Quoter application Diagram <br>
</div>
<p>This tutorial will show you how to use generic modeling techniques <a
 href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a> to assist the
development process of CIAO applications. All the necessary steps to
build a component-based application model via <a
 href="http://www.dre.vanderbilt.edu/cosmic/">CoSMIC</a>
toolkit are documented here.
</p>
<blockquote>
  <hr><strong>Note:</strong> <br>
1. Although the descriptor files generated by CoSMIC toolkits are
portable, the modeling environment required by CoSMIC (GME) only
supports MS Windows platforms currently. So this tutorial will focus on
Windows users.<br>
2. The CIAO/DAnCE codes used for this tutorial <span
 style="font-family: monospace;">can be found in </span><code>%CIAO_ROOT%/docs/tutorials/Quoter/Simple</code>.
  <br>
3. The current tutorial is tested under GME 5.9.21, and&nbsp; CosMIC
0.4.8. It will be subject to change as version of GME and CoSMIC
evolves.<br>
  <hr></blockquote>
<span style="font-weight: bold;"><big>Prerequisite<br>
<br>
</big></span>&nbsp;&nbsp;&nbsp;Before you start,
you need the following:
<OL>

<LI> <B>ACE+TAO+CIAO (Component Integraated ACE ORB).</B> ACE + TAO +
CIAO provide the CCM infrastructure necessary to enable the CCM-based
distributed component interaction. You can click <a
 href="http://deuce.doc.wustl.edu/Download.html"> here</a> to download
the latest
ACE + TAO + CIAO and click <a
 href="http://www.cs.wustl.edu/%7Eschmidt/ACE_wrappers/TAO/CIAO/CIAO-INSTALL.html">here</a>
for information on how
to build ACE+TAO+CIAO.<P>

<LI> <B>Generic Modeling Environment (GME).</B> GME is a configurable
toolkit for creating domain-specific modeling and program synthesis
environments. It provides the execution environment for CoSMIC
toolkits. Click <a
href="http://www.isis.vanderbilt.edu/Projects/gme/download.html">here</a>
to download GME.<P>

<LI> <B>CoSMIC toolkit.</B> Click <a
href="http://www.dre.vanderbilt.edu/cosmic/">here</a> to download the
latest CoSMIC release.<P>

</OL>

<blockquote>
  <hr> <strong>Note:</strong><br>
1.Usually you should download the latest GME, but it is possible that
CoSMIC hasn't been updated yet to support the very latest GME..The
installation process of CoSMIC will tell you which version it is
expecting.&nbsp; So <span class="intbody">please make sure the GME
version you are using is the version required by CoSMIC. A different
version of </span>GME may result in
undefined errors. <br>
2.Make sure you install GME first before you start with CoSMIC toolkits.<br>
  <hr></blockquote>
</span>
<a style="font-weight: bold;" href="01.html">Getting Started</a><br>
<br>
&nbsp;&nbsp; This section describes the IDL files used by the example
and
shows you how to import IDL into <a
 href="http://www.cs.wustl.edu/%7Eschmidt/PDF/RTAS05-PICML.pdf">
PICML (Platform-Independent Component Modeling Language)</a>; a
domain-specific modeling language which is defined using GME. PICML is
designed to help to bridge the gap between design-time verification and
model-checking tools and the deployment of component implementations.
<br>
<br>
<a style="font-weight: bold;" href="02.html">Modeling
StockQuoter system with PICML</a><br>
<br>
&nbsp;&nbsp;&nbsp; This section describes how to model the Stock
Quoter components in PICML.<br>
&nbsp;&nbsp;&nbsp;&nbsp; <br>
<a href="03.html"><b>Implementing Quoter components with DAnCE</b></a><br>
<br>
&nbsp;&nbsp;&nbsp; This section provides codes for the Quoter example.<br>
<br>
<a style="font-weight: bold;" href="04.html">Running the application</a><br>
<br>
&nbsp;&nbsp; After all the components and descriptors generated by
PICML are in place. You are ready to compile and run the application.<br>
<br>
<hr>
<address><a href="mailto:ming.xiong@vanderbilt.edu">Ming Xiong<br>
</a></address>
<!-- Created: Sat Nov 27 15:25:06 CST 1999 --><!-- hhmts start -->
Last modified: Fri May  5 21:29:07 CDT 2006
<!-- hhmts end -->
</body>
</html>