summaryrefslogtreecommitdiff
path: root/PACE/README
blob: 29e6e2494c3a8d37f09bb257465a13634fc18a82 (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
# $Id$

Copyright (c) 2000  Center for Distributed Object Computing,
Washington University, St. Louis, Missouri, USA.  All rights reserved.


NOTE:  PACE has not been released yet.  It is currently a research
prototype.  All information contained in the PACE distribution is
subject to change without notice.  (That includes the copyright
notice above :-)


This is POSIX ACE (PACE).  It is based on ACE, the Adaptive
Communications Environment, developed by Doug Schmidt and the
Distributed Object Computing Group at Washington University and the
University of California, Irvine.  Please see the ACE copyright
notice, available at
http://www.cs.wustl.edu/~schmidt/ACE_wrappers/COPYING.

PACE is intended for lightweight and/or verified systems.  It offers
these benefits:

* 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 PACE_
  prefix.

* The low-level interface is a C file, so that it can be used in both
  C and C++ programs.

* The low-level interface is partitioned into multiple files, one
  per POSIX.1 section.

* PACE relies on the STL, instead of using proprietary container
  classes.  STL is part of the language standard, so it is most
  portable to rely on it.  (It is assumed that STL is provided
  with the C++ compiler.  If not, we suggest trying the STL that
  is distributed with the GNU g++ compiler.)

* PACE does not require the use of multiple inheritance, static
  objects, exception handling, or other C++ language constructs that
  impair code size and/or run-time performance.