PACE Overview
PACE is an OS abstraction layer designed 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.
ACE uses PACE
The ADAPTIVE Communication Environment
(ACE)
is a freely available, open-source, object-oriented
(OO)
framework that implements many core design patterns for
concurrent communication software.
ACE is currently built on an
OS Adaptation Layer that abstracts away specific
computer architecture / platform dependencies therfore
allowing ACE to be portable across any platform that the
adaptation layer supports.
ACE also forms the foundation upon which
TAO
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.
PACE Objectives
Some objectives of this phase of ACE' development (PACE)
include:
-
ACE Developers: Make the low level abstraction
layer code more maintainable.
(reduce file size and file interdependence - improve
code modularity)
-
ACE Users: Reduce ACE' footprint.
(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)
-
ACE Users: Update the adaptation layer to be
POSIX compliant.
(see next)
-
ACE Users: Split the adaptation layer to support
both a C API (PACE) as well as a set of
C++ wrapper classes (ACE_OS) allowing
both C & C++ developers to call
directly into the low level API.
(encapslate POSIX and system calls in C
wrappers and re-write the (ACE_OS) adaptation layer to
transparently call into the POSIX emulation API
(PACE))
-
ACE Users: ACE will not change its public
interface, it will only add low level C
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 C++ (ACE_OS) adaptation layer of
ACE.
This is an open-source project maintained by:
|
Additional information regarding
ACE
and
PACE
and
TAO
is available as well as a
full source distribution of TAO + ACE + PACE.
If you have any questions, suggestions or contributions
regarding PACE, please
write
to us or subscribe to the pace-users mailing list
(send email to
majordomo@cs.wustl.edu
with "subscribe pace-users" in the body,
not the subject line ;-)
Doc Group
Last modified: Sun May 13 14:45:55 CDT 2001
|