summaryrefslogtreecommitdiff
path: root/ACE/README
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/README')
-rw-r--r--ACE/README224
1 files changed, 224 insertions, 0 deletions
diff --git a/ACE/README b/ACE/README
new file mode 100644
index 00000000000..4994a94f1f9
--- /dev/null
+++ b/ACE/README
@@ -0,0 +1,224 @@
+$Id$
+
+This document is also available at the following URL:
+
+http://www.cs.wustl.edu/~schmidt/ACE.html
+
+All software and documentation is available via both anonymous ftp and
+the World Wide Web.]
+
+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
+
+The current ACE release is provided as a tar file that is around 3 Meg
+compressed using GNU gzip. ACE may be obtained electronically from
+http://www.cs.wustl.edu/~schmidt/ACE-obtain.html. 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 and at Washington
+University, St. Louis.
+
+You can get The ACE ORB (TAO) in a companion release at
+http://www.cs.wustl.edu/~schmidt/TAO.html.
+
+----------------------------------------
+
+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
+ftp://wuarchive.wustl.edu/languages/c++/ACE/ACE-documentation. This
+directory contains postscript versions of various papers that describe
+different aspects of ACE.
+
+I update these papers periodically to reflect changes to the ACE
+architecture. Therefore, you might want to check the date on the
+files to make sure that you have read the most recent versions of
+these papers.
+
+This material is also available available via the WWW at URL:
+
+http://www.cs.wustl.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.cs.wustl.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.cs.wustl.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@cs.wustl.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.