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 ;-)
|