ported double tracking from TC
This commit is contained in:
222
deps/acelite/README
vendored
Normal file
222
deps/acelite/README
vendored
Normal file
@@ -0,0 +1,222 @@
|
||||
|
||||
|
||||
This document is also available at the following URL:
|
||||
|
||||
http://www.dre.vanderbilt.edu/~schmidt/ACE.html
|
||||
|
||||
All software and documentation is available via both anonymous ftp and
|
||||
the http.]
|
||||
|
||||
THE ADAPTIVE COMMUNICATION ENVIRONMENT (ACE)
|
||||
|
||||
An Object-Oriented Network Programming Toolkit
|
||||
|
||||
----------------------------------------
|
||||
|
||||
Overview of ACE
|
||||
|
||||
The ADAPTIVE Communication Environment (ACE) is an object-oriented
|
||||
(OO) toolkit that implements fundamental design patterns for
|
||||
communication software. ACE provides a rich set of reusable C++
|
||||
wrappers and frameworks that perform common communication software
|
||||
tasks across a range of OS platforms, including Win32/Win64, most
|
||||
versions of UNIX (e.g., SunOS, HP-UX , AIX, Linux, NetBSD, and FreeBSD),
|
||||
real-time operating systems (e.g., VxWorks, Chorus, LynxOS, and QNX),
|
||||
OpenVMS, and MVS OpenEdition. A single source tree is used for all
|
||||
these platforms and porting ACE to other platforms is relatively easy.
|
||||
|
||||
The communication software components provided by ACE include event
|
||||
demultiplexing and event handler dispatching, service initialization,
|
||||
interprocess communication, shared memory management, message routing,
|
||||
dynamic (re)configuration of distributed services, multi-threading,
|
||||
and concurrency control. There are both C++ and Java versions of ACE
|
||||
available.
|
||||
|
||||
ACE is targeted for developers of high-performance and real-time
|
||||
communication services and applications on UNIX, POSIX, and Win32
|
||||
platforms. ACE simplifies the development of OO network applications
|
||||
and services that utilize interprocess communication, event
|
||||
demultiplexing, explicit dynamic linking, and concurrency. ACE
|
||||
automates system configuration and reconfiguration by dynamically
|
||||
linking services into applications at run-time and executing these
|
||||
services in one or more processes or threads.
|
||||
|
||||
ACE is currently used in commercial projects and products by dozens of
|
||||
companies including Ericsson, Bellcore, Siemens, Motorola, Kodak,
|
||||
Boeing, Lucent, DEC, Lockheed Martin, and SAIC. Commercial support
|
||||
for ACE is available from several companies as listed at
|
||||
http://www.cs.wustl.edu/~schmidt/commercial-support.html
|
||||
|
||||
----------------------------------------
|
||||
|
||||
C++ Wrappers for OS Interfaces
|
||||
|
||||
The lower-level portions of ACE provide a set of portable and
|
||||
type-secure C++ wrappers that encapsulate the following C language OS
|
||||
interfaces:
|
||||
|
||||
. IPC mechanisms
|
||||
-- e.g., Internet- and UNIX-domain sockets, TLI, Named
|
||||
Pipes (for UNIX and Win32) and STREAM pipes;
|
||||
|
||||
. Event demultiplexing
|
||||
-- e.g., select(), poll(), and Win32
|
||||
WaitForMultipleObjects and I/O completion ports;
|
||||
|
||||
. Multi-threading and synchronization
|
||||
-- e.g., Solaris threads, POSIX Pthreads, and Win32
|
||||
threads;
|
||||
|
||||
. Explicit dynamic linking
|
||||
-- e.g., dlopen/dlsym on UNIX and LoadLibrary/GetProc
|
||||
on Win32;
|
||||
|
||||
. Memory-mapped files and shared memory management
|
||||
-- e.g., BSD mmap(), SYSV shared memory, and Win32
|
||||
shared memory;
|
||||
|
||||
. System V IPC
|
||||
-- e.g., shared memory, semaphores, message queues.
|
||||
|
||||
The OS Adaptation Layer shields the upper levels of ACE from platform
|
||||
dependencies associated with the underlying OS interfaces.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
Frameworks and Class Categories
|
||||
|
||||
ACE also contains a higher-level network programming framework that
|
||||
integrates and enhances the lower-level C++ wrappers. This framework
|
||||
supports the dynamic configuration of concurrent distributed services
|
||||
into applications. The framework portion of ACE contains the
|
||||
following class categories:
|
||||
|
||||
. The Reactor
|
||||
-- Supports both Reactive and Proactive I/O;
|
||||
|
||||
. The Service Configurator
|
||||
-- Support dynamic (re)configuration of objects;
|
||||
|
||||
. The ADAPTIVE Service Executive
|
||||
-- A user-level implementation of System V STREAMS,
|
||||
that supports modular integration of
|
||||
hierarchically-related communicaion services;
|
||||
|
||||
. Concurrency
|
||||
-- Various types of higher-level concurrency
|
||||
control and synchronization patterns (such as
|
||||
Polymorphic Futures and Active Objects);
|
||||
|
||||
. Shared Malloc
|
||||
-- Components for managing dynamically allocation
|
||||
of shared and local memory;
|
||||
|
||||
----------------------------------------
|
||||
|
||||
Distributed Services and Components
|
||||
|
||||
Finally, ACE provides a standard library of distributed services that
|
||||
are packaged as components. These service components play two roles
|
||||
in ACE:
|
||||
|
||||
1. They provide reusable components for common distributed
|
||||
system tasks such as logging, naming, locking, and time
|
||||
synchronization.
|
||||
|
||||
2. They illustrate how to utilize ACE features such as the
|
||||
Reactor, Service Configurator, Service Initialization,
|
||||
Concurrency, and IPC components.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
Middleware Applications
|
||||
|
||||
ACE has been used in research and development projects at many
|
||||
universities and companies. For instance, it has been used to build
|
||||
avionics systems at Boeing, telecommunication systems at Bellcore,
|
||||
Ericsson, Motorola, and Lucent; medical imaging systems at Siemens and
|
||||
Kodak; and many academic research projects. Two example middleware
|
||||
applications provided with the ACE release include:
|
||||
|
||||
1. The ACE ORB (TAO) -- TAO is a real-time implementation of
|
||||
CORBA built using the framework components and patterns
|
||||
provided by ACE.
|
||||
|
||||
2. JAWS -- JAWS is a high-performance, adaptive Web server
|
||||
built using the components in ACE.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
OBTAINING ACE
|
||||
|
||||
ACE may be obtained electronically from
|
||||
http://download.dre.vanderbilt.edu. This release contains the source
|
||||
code, test drivers, and example applications (including JAWS) for C++
|
||||
wrapper libraries and the higher-level ACE network programming
|
||||
framework developed as part of the ADAPTIVE project at the University
|
||||
of California, Irvine, Washington University, St. Louis, and
|
||||
Vanderbilt University.
|
||||
|
||||
You can get The ACE ORB (TAO) in a companion release at the same URL.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
ACE DOCUMENTATION AND TUTORIALS
|
||||
|
||||
Many of the C++ wrappers and higher-level components have been
|
||||
described in issues of the C++ Report, as well as in proceedings of
|
||||
many journals, conferences, and workshops.
|
||||
|
||||
A collection of white papers and tutorial handouts are included at
|
||||
|
||||
http://www.dre.vanderbilt.edu/~schmidt/ACE-papers.html
|
||||
|
||||
This page contains PDF versions of various papers that describe
|
||||
different aspects of ACE.
|
||||
|
||||
This material is also available available via the WWW at URL:
|
||||
|
||||
http://www.dre.vanderbilt.edu/~schmidt/ACE.html
|
||||
|
||||
----------------------------------------
|
||||
|
||||
ACE MAILING LIST AND NEWSGROUP
|
||||
|
||||
A mailing list, ace-users@list.isis.vanderbilt.edu, is available for
|
||||
discussing bug fixes, enhancements, and porting issues regarding ACE.
|
||||
Please send mail to me at the
|
||||
ace-users-request@list.isis.vanderbilt.edu if you'd like to join the
|
||||
mailing list. There is also a USENET newsgroup called
|
||||
comp.soft-sys.ace. Please see
|
||||
http://www.dre.vanderbilt.edu/~schmidt/ACE-mail.html for details on
|
||||
how to subscribe to the mailing list.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
BUILDING AND INSTALLING ACE
|
||||
|
||||
Please refer to the
|
||||
http://www.dre.vanderbilt.edu/~schmidt/ACE-install.html file for
|
||||
information on how to build and test the ACE wrappers. The
|
||||
BIBLIOGRAPHY file contains information on where to obtain articles
|
||||
that describe the ACE wrappers and the ADAPTIVE system in more detail.
|
||||
|
||||
The current release has been tested extensively, but if you find any
|
||||
bugs, please report them to the ACE mailing list
|
||||
ace-users@list.isis.vanderbilt.edu using the
|
||||
$ACE_ROOT/PROBLEM-REPORT-FORM. Please use the same form to submit
|
||||
questions, comments, etc. To ensure that you see responses, please do
|
||||
one of the following:
|
||||
|
||||
1) Subscribe to the ace-users mail list, by sending email with
|
||||
contents "subscribe ace-users" to
|
||||
ace-users-request@list.isis.vanderbilt.edu.
|
||||
|
||||
2) Or, monitor the comp.soft-sys.ace newsgroup for responses.
|
||||
|
||||
----------------------------------------
|
||||
|
||||
ACKNOWLEDGEMENTS
|
||||
|
||||
Please see the file `$ACE_ROOT/THANKS' for a list of the thousands of
|
||||
people who've contributed to ACE and TAO over the years.
|
||||
Reference in New Issue
Block a user