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
|
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<!-- $Id$ -->
<!-- html -->
<html>
<!-- head -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>PACE Overview</title>
</head>
<!-- body -->
<body text="#000000" bgcolor="#CCCCCC" link="#0000EF" vlink="#51188E" alink="#FF0000">
<!-- links -->
<table width="700" align="center">
<tr><td>
<img src="../IMAGES/but_overview.gif" border="0">
<a href="../DOWN/index.html">
<img src="../IMAGES/but_download.gif" border="0"></a>
<a href="../DOCS/index.html">
<img src="../IMAGES/but_documents.gif" border="0"></a>
<a href="http://www.cs.wustl.edu/~schmidt/ACE.html">
<img src="../IMAGES/but_ace.gif" border="0"></a>
<a href="http://www.cs.wustl.edu/~schmidt/TAO.html">
<img src="../IMAGES/but_tao.gif" border="0"></a>
<a href="http://www.cs.wustl.edu/~schmidt/ACE-copying.html">
<img src="../IMAGES/but_copyright.gif" border="0"></a>
</td></tr>
<!-- line -->
<tr><td>
<img src="../IMAGES/line_mid_700.gif">
</tr></td>
<tr><td>
<h2>PACE Overview</h2>
<p>PACE is an OS abstraction layer designed for lightweight and/or verified
systems.</p>
<p>It offers these benefits:</p>
<ul>
<li><p>A strict POSIX.1-like, low-level interface. Its interface is "POSIX
compatible"; by that we mean as close to POSIX.1 as it can be, given
that PACE is not an operating system. And, to avoid name conflicts
with OS APIs, all low-level PACE function names have the
<i><b>pace_</b></i> prefix.</p>
</li>
<li><p>The low-level interface is a C file, so that it can be used in both
C and C++ programs.</p>
</li>
<li><p>The low-level interface is partitioned into multiple files, one per
POSIX.1 section.</p>
</li>
</ul>
<h2>ACE uses PACE</h2>
<p>The ADAPTIVE Communication Environment
<a href="http://www.cs.wustl.edu/~schmidt/ACE.html">(ACE)</a> is a freely
available, open-source, object-oriented
<a href="http://www.cs.wustl.edu/~schmidt/courses.html"> (OO)</a> framework
that implements many core design patterns for concurrent communication
software.</p>
<p>ACE is currently built on an
<a href="http://www.cs.wustl.edu/~schmidt/ACE-overview.html">OS Adaptation
Layer</a> that abstracts away specific computer architecture / platform
dependencies therfore allowing ACE to be portable across any platform that the
adaptation layer supports.</p>
<p>ACE also forms the foundation upon which
<a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a> is built. The
combination of implementing TAO (adding specific functionality to ACE) and
the ever shifting sands of vendor-specific operating systems has grown the ACE
adapatation layer from a small core of critial functions to over 30,000 lines
of interdependent code. The development of TAO tied in with requests from our
sponsors as well as suggestions from the development community at large
contributed to our decision to re-engineer ACE' adaptation layer. PACE is one
part of this effort.</p>
<h2>PACE Objectives</h2>
<p>Some objectives of this phase of ACE' development (PACE) include:</p>
<ul>
<li><p><b>ACE Developers:</b> Make the low level abstraction layer code more
maintainable.<br> <i>(reduce file size and file interdependence - improve
code modularity)</i></p></li>
<li><p><b>ACE Users:</b> Reduce ACE' footprint.<br>
<i>(this is not a one step task by any stretch of the imagination, but we
will begin breaking out the code into separate files - allowing developers
the opportunity option to compile and link specific object files to their
executables instead of the entire ACE adaptation layer library)</i></p></li>
<li><p><b>ACE Users:</b> Update the adaptation layer to be POSIX compliant.<br>
<i>(see next)</i></p></li>
<li><p><b>ACE Users:</b> Split the adaptation layer to support both a <b>C</b>
api (PACE) as well as a set of <b>C++</b> wrapper classes (ACE_OS)
allowing <i><b>both C & C++</b></i> developers to call directly into the
low level api.<br>
<i>(encapslate POSIX and system calls in <b>C</b> wrappers and re-write the
(ACE_OS) adaptation layer to transparently call into the POSIX emulation api
(PACE))</i></p></li>
<li><p>ACE Users:</b>ACE will not change its public interface, it will only add low
level <b>C</b> operations to its repertoire. As is obvious, software built on
this adaptation layer is portable across the various platforms that ACE
supports. This provides backward compatilibity for people already using the
current <b>C++</b> (ACE_OS) adaptation layer of ACE.</p>
</ul>
<p>This is an open-source project maintained by:
<ul>
<li><a href="http://www.cs.wustl.edu/~schmidt">Dr. Douglas Schmidt</a> of the
<a href="http://www.cs.uci.edu/">University of California - Irvine</a></li>
<li><a href="http://www.cs.wustl.edu/~levine">Dr. David Levine</a> of
<a href="http://www.cs.wustl.edu/">Washington University - St. Louis</a></li>
<li>their respective sister <a href="http://www.cs.wustl.edu/~doc">
<b><font color="red">D</font></b>istributed
<b><font color="red">O</font></b>bject
<b><font color="red">C</font></b>omputing</a> research groups.</li>
</ul>
</p>
<p>Additional information regarding
<a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</a> and
<a href="http://www.cs.wustl.edu/~luther/PACE">PACE</a> and
<a href="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a> is available
as well as a <a href="http://www.cs.wustl.edu/~schmidt/TAO-obtain.html">full
source distribution</a> of TAO + ACE + PACE.
<p>If you have any questions, suggestions or contributions regarding PACE,
please <a href="mailto:luther@cs.wustl.edu">write</a> to us or subscribe to the
pace-users mailing list (send email to <a href="mailto:majordomo@cs.wustl.edu">
majordomo@cs.wustl.edu</a> with <b>"subscribe pace-users"</b> in the <i>body</i>,
not the subject line ;-)</p>
</td></tr>
<!-- line -->
<tr><td>
<div align="center"><img src="../IMAGES/line_mid_700.gif"></div>
</td></tr>
<tr><td>
<div align="center"><a href="http://www.cs.wustl.edu/~luther/PACE">home</a></div>
</td></tr>
</table>
</body>
</html>
|