diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 14:51:23 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 14:51:23 +0000 |
commit | 99aa8c60282c7b8072eb35eb9ac815702f5bf586 (patch) | |
tree | bda96bf8c3a4c2875a083d7b16720533c8ffeaf4 /ACE/README | |
parent | c4078c377d74290ebe4e66da0b4975da91732376 (diff) | |
download | ATCD-99aa8c60282c7b8072eb35eb9ac815702f5bf586.tar.gz |
undoing accidental deletion
Diffstat (limited to 'ACE/README')
-rw-r--r-- | ACE/README | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/ACE/README b/ACE/README new file mode 100644 index 00000000000..bd81f4c5a4e --- /dev/null +++ b/ACE/README @@ -0,0 +1,222 @@ +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 (i.e., WinNT +3.5.x/4.x, Win95, and WinCE), most versions of UNIX (e.g., SunOS 4.x +and 5.x, SGI IRIX 5.x and 6.x, HP-UX 9.x, 10.x, and 11.x, DEC UNIX +4.x, AIX 4.x, Linux, SCO, UnixWare, NetBSD, and FreeBSD), real-time +operating systems (e.g., VxWorks, Chorus, LynxOS, and pSoS), 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 at http://www.riverace.com. + +---------------------------------------- + +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@cs.wustl.edu, is available for discussing +bug fixes, enhancements, and porting issues regarding ACE. Please +send mail to me at the ace-users-request@cs.wustl.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 majordomo@cs.wustl.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. |