diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 684 |
1 files changed, 0 insertions, 684 deletions
diff --git a/README b/README deleted file mode 100644 index 756747c5f20..00000000000 --- a/README +++ /dev/null @@ -1,684 +0,0 @@ -[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, class categories, and frameworks that perform common -communication software tasks across a range of operating system -platforms. The communication software tasks 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. - -ACE is targeted for developers of high-performance 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 has been ported to a wide range of uni-processor and multi-process -OS platforms including Win32 (i.e., WinNT and Win95), most versions of -UNIX (e.g., SunOS 4.x and 5.x, SGI IRIX, HP-UX, OSF/1, AIX, Linux, and -SCO), VxWorks, and MVS OpenEdition. It is currently used in -commercial products by dozens of companies including Ericsson, -Bellcore, Siemens, Motorola, and Kodak. There are both C++ and Java -versions of ACE available. - -The remainder of this document outlines the structure and participants -of the layers in this diagram. - -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; - - . CORBA integration - -- Integrates ACE with CORBA implementations - (such as single-threaded and multi-threaded - Orbix and Visibroker for C++). - -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. - -ACE is currently being used in many commercial products including the -Bellcore Q.port ATM signaling software product, the Ericsson EOS -family of telecom switch monitoring applications, the Motorola Iridium -global mobile communications system, and enterprise-wide electronic -medical imaging systems for Kodak Health Imaging Systems and Siemens -medical engineering. - -OBTAINING ACE - -The current ACE release is provided as a tar file that is around 1.8 -Meg compressed using GNU gzip. ACE may be obtained electronically -from http://www.cs.wustl.edu/~schmidt/ACE-obtain.html. This release -contains contains the source code, test drivers, and example -applications 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. - -ACE DIRECTORY STRUCTURE - -The following subdirectories are included in C++_wrappers.tar.gz file: - - . ace -- the source code and binaries for C++ components (note that - all of these are at the same "level" in order to work around - Windows NT lack of symbolic links...) - . ASX -- higher-level C++ network programming - framework based on System V STREAMs - . Collections -- stacks, sets, strings, etc. - . Concurrency -- wrappers for Solaris, POSIX, and Win32 threads - . Connection -- implementations of connection - establishment patterns - . CORBA -- C++ wrappers that make it easier to work with CORBA - . Debugging -- C++ assert macro, dump methods, method call tracing, etc. - . IPC_SAP -- C++ wrappers around UNIX communication mechanisms - . Addr -- wrappers for various network addressing formats - . DEV_SAP -- wrapper for UNIX device I/O - . FIFO_SAP -- wrapper for FIFOS (named pipes) - . FILE_SAP -- wrapper for UNIX FILE *s - . IO_SAP -- wrapper for low-level serial-line I/O - . SOCK_SAP -- wrapper for BSD sockets - . SPIPE_SAP -- wrapper for SVR4 STREAM pipes and connld - . TLI_SAP -- wrapper for SVR4 TLI - . . UPIPE_SAP -- inter-thread communication mechanism - . Log_Msg -- library API for local/remote logging - . Memory - . Mem_Map -- wrapper for BSD mmap() memory mapped files - . Shared_Malloc -- shared memory malloc/free classes - . Shared_Memory -- wrapper for SysV/BSD shared memory - . Misc -- miscellaneous C++ wrappers for the GNU getopt utility, - Obstacks, GoF-style patterns - . Name_Service -- client-side classes for distributed name service - . OS -- encapsulation of UNIX and Win32 OS APIs - . Reactor -- a framework for OO event demultiplexing and - event handler dispatching - . Service_Configurator -- a framework for dynamically - linking/unlinking services into/from applications - at run-time - . System V IPC - . SV_Message_Queues -- wrapper for SysV message queues - . SV_Semaphores -- wrapper for SysV semaphores - . SV_Shared_Memory -- wrapper for SysV shared memory - . Timers -- High resolution timers and profile timers - . Token_Service -- client-side classes for distributed locking - . apps -- Several example applications written using the ACE wrappers - . Gateway -- application-level gateway - . Orbix-Examples -- examples of how to integrate Orbix with ACE - . gperf -- a perfect hash function generator program written in C++ - . Synch-Benchmarks -- benchmarks for OS IPC and synchronization mechanisms - . bin -- utility programs for building this release, in - particular, a set of scripts for automatically - generating manual pages from C++ class headers. - . examples -- programs that illustrate how to use ACE components - . man -- manual pages for ACE in nroff and HTML format - generated automatically by OSE class2man - . netsvcs -- network services - . clients -- test programs that exercise the ACE network services - . lib -- network services implemented using the general ACE service - framework: - . Client Logger -- client-side for distributed logging service - . Server Logger -- server-side for distributed logging service - . Name Server -- a distributed name service - . Token Server -- a distributed token service - . Time Server -- a distributed time service - . servers -- dynamically linkable main programs that - configure the services - . rpc++ -- C++ interface to Sun RPC developed by Michael Lipp - (mnl@dtro.e-technik.th-darmstadt.de). This code - is distributed "as is" (under the GNU GPL) and is - not part of the ACE release that I maintain. - . tests -- a suite of automated regression tests to exercise ACE features - -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 -the following journals, conferences, and workshops: - - . 4th IEEE International Conference on Software Reuse in - Orlando, Florida, April 1996. - . The SIGS OOP conference in Munich, Germany, February, 1996 - . The OOPSLA '95 conference in Austin, TX, October 1995 - . The ECOOP '95 conference in Aarhus, Denmark, June 1995 - . The SIGS Object Expo conference in New York, NY, June, 1995 - . The 1st USENIX Conference on Object-Oriented Technologies - in Monterey, CA, June, 1995 - . The SIGS OOP conference in Munich, Germany, February, 1995 - . The Winter USENIX General Conference in January, 1995 - . 3rd SIGS C++ World conference in November, 1994 - . The 9th ACM OOPSLA Conference held in October, 1994 - . The 1st Conference on the Pattern Languages of Programs, - August, 1994 - . The 6th USENIX C++ Conference, April, 1994 - . The 2nd IEEE International Workshop on Configurable Distributed - Systems, March, 1994 - . The 11th and 12th Annual Sun Users Group Conference in - December, 1993 and June, 1994 - . The 2nd SIGS C++ World conference, October, 1993 - . IEE Distributed Systems Engineering Journal, December 1994. - -A collection of white papers and tutorial handouts are included with -the release. The documentation is stored in the ACE-documentation -directory on wuarchive.wustl.edu (approximately 4 meg compressed). - -This directory contains postscript versions of various papers that -describe different aspects of ACE. You might want to read SUG-94.ps -first, since it gives an overview of the toolkit. - -Document Published in or presented at --------- ---------------------------- -Acceptor-Connector.ps "Acceptor and Connector: Design Patterns for - Actively and Passively Initializing Network - Services." Presented at the EuroPLoP - workshop held in conjunction with the ECOOP - '95 conference, August 1995 - -ACE-concurrency.ps "An OO Encapsulation of Lightweight OS - Concurrency Mechanisms in the ACE Toolkit." - Washington University technical report WUCS-95-31. - -ACT.ps "Asynchronous Completion Token" submitted to - the ``3rd Pattern Languages of Programs - conference,'' Allerton Park, Illinois, - September, 1996. - -Active-Objects.ps "Active Object: an Object Behavioral Pattern - for Concurrent Programming," the proceedings - of the Pattern Languages of Programs Conference, - September 1995 - -Atomic_Op-94.ps "Transparently Parameterizing Synchronization - into a Concurrent Distributed Application", - C++ Report, July/August 1994 - -C++-report-col1.ps C++ Report Object Interconnections Column 1 -C++-report-col2.ps C++ Report Object Interconnections Column 2 -C++-report-col3.ps C++ Report Object Interconnections Column 3 -C++-report-col4.ps C++ Report Object Interconnections Column 4 -C++-report-col5.ps C++ Report Object Interconnections Column 5 -C++-report-col6.ps C++ Report Object Interconnections Column 6 -C++-report-col7.ps C++ Report Object Interconnections Column 7 - -C++-USENIX-94.ps "ASX: an Object-Oriented Framework for - Developing Distributed Applications," 6th - USENIX C++ Conference, April 1994 - -C++-world-93.ps "An Object-Oriented Framework for Developing - Network Server Daemons", 2nd C++ World - conference, Dallas, Texas, October 1993 - -C++-wrappers.ps "Systems Programming with C++ Wrappers: - Encapsulating Interprocess Communication - Services with Object-Oriented Interfaces", C++ - Report, September/October 1992 - -CACM-95.ps "Experience Using Design Patterns to Develop - Reuseable Object-Oriented Communication - Software," Communications of the ACM, Special - Issue on Object-Oriented Experiences, Vol. 38, - No. 10, October, 1995. - -COOTS-95.ps "Object-Oriented Components for High-speed - Network Programming," 1st USENIX Conference on - Object-Oriented Technologies, April 1995. - -COOTS-96.ps "Design and Performance of an Object-Oriented - Framework for Electronic Medical Imaging," - 2nd USENIX Conference on Object-Oriented - Technologies, June 1996. - -Connector.ps "A Design Pattern for Actively Initializing Network - Services," C++ Report, January 1996 - -daemon-design-94.ps "A Domain Analysis of Network Daemon Design - Dimensions", C++ Report, March/April 1994 - -DC-Locking.ps Double-Checked Locking, submitted to the ``3rd - Pattern Languages of Programs conference,'' - Allerton Park, Illinois, September, 1996. - -ECOOP-95.ps "Experiences Using Design Patterns to Evolve - System Software Across Diverse OS Platforms," - ECOOP '95 conference, August 1995 - -External-Polymorphism.ps "External Polymorphism: an Object Structural - Pattern for Transparently Extending Concrete - Data Types," submitted to the ``3rd Pattern - Languages of Programs conference,'' - Allerton Park, Illinois, September, 1996. - -EuroPLoP.ps Acceptor and Connector, Design Patterns for - Initializing Communication Services, - 1st European Conference on Pattern Languages - of Programs, Kloster Irsee, July, 1996. - -IPC_SAP-92.ps "IPC_SAP: An Object-Oriented Interface to - Interprocess Communication Services" C++ - Report, November/December 1992 - -JPDC-96.ps "The Performance of Alternative Threading - Architectures for Parallel Communication - Subsystems", Submitted to the Journal - of Parallel and Distributed Computing. - -PLoP-94.ps "Reactor: An Object Behavioral Pattern for - Concurrent Event Demultiplexing and Event - Handler Dispatching," Pattern Languages of - Programs Conference, August 1994 - -PLoP-95.ps "Half-Sync/Half-Async: A Pattern for Efficient - and Well-structured Concurrent I/O Systems." - Pattern Languages of Programs Conference, - September 1995 - -Reactor1-93.ps "The Reactor: An Object-Oriented Interface for - Event-Driven UNIX I/O Multiplexing (Part 1 of - 2)" C++ Report, February 1993 - -Reactor2-93.ps "The Object-Oriented Design and Implementation - of the Reactor: A C++ Wrapper for UNIX I/O - Multiplexing (Part 2 of 2)" C++ Report, - September/October 1993 - -IWCDS.ps "The Service Configurator Framework: An - Extensible Architecture for Dynamically - Configuring Concurrent, Multi-Service Network - Daemons", 2nd IEEE International Workshop on - Configurable Distributed Systems, March 1994 - -Service-Configurator.ps "Service Configurator," submitted to the ``3rd - Pattern Languages of Programs conference,'' - Allerton Park, Illinois, September, 1996. - -SIGCOMM-95.ps "AITPM: a Strategy for Integrating IP - with ATM," SIGCOMM '95, August, 1995. - -SIGCOMM-96.ps "Measuring the Performance of Communication - Middleware on High-Speed Networks," SIGCOMM - '96, August, 1996. - -SUG-94.ps "The ADAPTIVE Communication Environment: - An Object-Oriented Network Programming Toolkit - for Developing Communication Software", - 11th and 12th Sun Users Group Conference, - December 1993 and June 1994 - -TAPOS-95.ps "A System of Reusable Design Patterns for - Communication Software," The - Journal of Theory and Practice of Object - Systems Special Issue on Patterns and Pattern - Languages - -TSS-pattern.ps "Thread-Specific Storage: A Pattern for - Reducing Locking Overhead in Concurrent - Programs," submitted to the ``3rd Pattern - Languages of Programs conference,'' - Allerton Park, Illinois, September, 1996. - -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. - -ACE TUTORIALS - -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. - -There may not be enough space on this ftp server to store the -following tutorial handouts: - -OOCP-tutorial4.ps SIGS Object Expo, June 1995. - SIGS OOP '95 conference, February, 1995; - USENIX Winter Conference, January 1995; - -OONP-tutorial4.ps ECOOP conference, August 1995 - USENIX Conference on Object-Oriented Technologies, - June 1995; - 3rd SIGS C++ World conference, November, 1994; - 9th ACM OOPSLA conference, October 1994; - 6th USENIX C++ Conference, April 1994; - 2nd SIGS C++ World conference, October 1993; - -CORBA4.ps "Measuring the Performance of Object-Oriented - Components for High-speed Network Programming," - Object Expo, June 1995; - USENIX Conference on Object-Oriented - Technologies, June 1995 - HP Labs, June 1995 - -corba4.ps "An Overview of CORBA" - Washington University Distributed Operating - Systems class - -These handouts are available via WWW at URL: - -http://www.cs.wustl.edu/~schmidt/ - -as at wuarchive.wustl.edu in the directory /languages/c++/ACE. - -BUILDING AND INSTALLING ACE - -Please refer to the INSTALL file for information on how to build and -test the ACE wrappers. The overall ACE release is very large (~1 -Meg). Therefore, I'm sorry, but I will be unable to distribute the -ACE wrappers via email. 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 on Sun workstations -running Sun OS 4.1.x and Solaris 2.x (on both SPARC and Intel -platforms) using Sun C++ 4.x and GNU G++ 2.7.x. The release has also -been ported to SCO UNIX, HP-UX, SGI, OSF/1, AIX, Linux, Windows NT and -Windows '95. I expect that major portions of the release will port -easily to other platforms. If you can help port ACE to other -platforms I'd appreciate it. - -ACE MAILING LIST - -A mailing list 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. - -COPYRIGHT INFORMATION FOR ACE - -ACE is copyrighted Douglas C. Schmidt and his research group at -Washington University. You are free to do anything you like with the -ACE source code such as including it in commercial software, as long -as you include this copyright statement along with code built using -ACE. - -You are under no obligation to freely redistribute any of your source -code that is built using ACE (be aware that rpc++ is distributed under -the GNU GPL, which has a different copyright policy). Please note, -however, that you may not do anything to the ACE code that will -prevent it from being distributed freely (such as copyrighting it). -Naturally, neither I nor my research group is responsible for any -problems caused by using ACE. - -My goal is to see ACE continue to evolve and become a more -comprehensive, robust, and well-documented C++ class library that is -freely available to researchers and developers. If you have any -improvements, suggestions, and or comments, I'd like to hear about it. - - Thanks, - - Douglas C. Schmidt - schmidt@cs.wustl.edu - -ACKNOWLEDGEMENTS - -ACE has been deeply influenced and improved by the following members -of my research group at Washington University: - -Aniruddha Gokhale <gokhale@cs.wustl.edu> -Tim Harrison <harrison@cs.wustl.edu> -James Hu <jxh@cs.wustl.edu> -Prashant Jain <pjain@cs.wustl.edu> -Irfan Pyarali <ip1@cs.wustl.edu> -David Levine <levine@cs.wustl.edu> - -I would also like to thank all the following people who have also -contributed to ACE over the years: - -Paul Stephenson <pstephenson@objectspace.com> -Olaf Kruger <okruger@cssc-melb.tansu.com.au> -Ed Brown <eebrown@netcom.com> -Lee Baker <baker@ctis.af.mil> -Alex Ranous <ranous@nsa.hp.com> -Mark Patton <mark_patton@tx72.mot.com> -Steffen Winther Sorensen <sts@dad.stibo.dk> for -Chris Cleeland <chris@milo.st-louis.mo.us> -Tim Harrison <harrison@cs.wustl.edu> -Troy Warner <tnw1@core01.osi.com> -Stacy Mahlon <mcs@contour.mayo.edu> -Charles Eads <eads@synoptics.com> -Mark Frutig <mfrutig@fnbc.com> -Todd Hoff <thm@ictv.com> -George <george@truffula.fp.trw.com> -Aniruddha Gokhale <gokhale@cs.wustl.edu> -Irfan Pyarali <ip1@cs.wustl.edu> -Prashant Jain <pjain@cs.wustl.edu> -Brad Needham <bneedham@ix.netcom.com> -Leslee Xu <lxu@ics.uci.edu> -Detlef Becker <beckerd@erlh.siemens.de> -Bruce Worden <bruce@betsy.gps.caltech.edu> -Chris Tarr <ctarr@objectspace.co> -Bill Sears <wsears@world.std.com> -Greg Lavendar <g.lavender@isode.com> -Steve Warwick <sjw@aesthetic.com> -Mats Sundvall <sundvall@perrier.embnet.se> -Andreas Ueltschi <Andreas.Ueltschi@ska.com> -Nigel Hooke <n.hooke@trl.oz.au> -Medhi Tabatabai <Mehdi.Tabatabai@ed.nce.sita.int> -Stuart Powell <stuartp@ot.com.au> -Bin Mu <mubin@wfg.com> -Andrew McGowan <mcgowan@wg2.waii.com> -Ken Konecki <kenk@wfg.com> -John P. Hearn <jph@ccrl.nj.nec.com> -Giang Hoang Nguyen <yang@titan.com> -Carlos Garcia Braschi <cgarcia@caramba.tid.es> -Jam Hamidi <jh1@osi.com> -Eric Vaughan <evaughan@arinc.com> -Karl-Heinz Dorn <kdorn@erlh.siemens.de> -Steve Ritter <ritter@titan.com> -Chandra Venkatapathy <cvenkat@develop.bsis.com> -Matt Stevens <mstevens@kirk.softeng.infonautics.com> -Bob Vistica <robertv@ims.com> -David Trumble <trumble@cvg.enet.dec.com> -John Morey <jmorey@crl.com> -George Reynolds <george@dvcorp.com> -Hans Rohnert <Hans.Rohnert@zfe.siemens.de> -Alex V. Maclinovsky <alexm@teltrunk1.tait.co.nz> -Todd Blanchard <tblancha@evolving.com> -Rob Clairmont <rclairmo@bnr.ca> -Christian Millour <chris@etca.fr> -Neil Cohen <nbc@metsci.com> -Dieter Quehl <quehl@csaserv.erlh.siemens.de> -Reginald S. Perry <perry@zso.dec.com> -James Morris <jmorris@aurora.apana.org.au> -Mark Seaborn <mseaborn@itthp1.comm.mot.com> -Phil Brooks <phil_brooks@mentorg.com> -E. Jason Scheck <jasons@ims.com> -Daniel Proulx <daproulx@qc.bell.ca> -Bill Tang <tang@tekats.com> -John Huchinson <hutchiso@epi.syr.ge.com> -Jack Erickson <jack@cibc.com> -Byron Walton <bwalton@hughes.scg.hac.com> -Bill Lear <rael@anarchy.cybercom.net> -Mark Zusman <marklz@topaz.technion.ac.il> -Aurelio Nocerino <aurelio@irsipcs2-27-le0.irsip.na.cnr.it> -Walt Akers <akers@cebaf.gov> -Greg Baker <GBaker@p01.az15m.iac.honeywell.com> -Alexandre Karev <karev@vxcern.cern.ch> -Pramod Kumar Singh <pramod@saturn.miel.mot.com> -Bryon Rigg <bryon_rigg@mail.telecorpsys.com> -Brad Brown <bbrown@rdxsunhost.aud.alcatel.com> -Patty Genualdi <genualdp@agcs.com> -Eshel Liran <liran@bimacs.cs.biu.ac.il> -Mick Adams <eeimas@eei.ericsson.se> -Chris Eich <Chris_Eich@optilink.optilink.dsccc.com> -Mike Flinn <mike.flinn@smtpgate.aws.waii.com> -Audun Tornquist <Audun.Tornquist@iu.hioslo.no> -Sandeep Joshi <sandeepj@emailbox.att.com> -Kirk Sinnard <1764@mn.lawson.lawson.com> -Bernd Hofner <hofner@pd.et-inf.uni-siegen.de> -Craig Perras <CraigP@saros.com> -Kirk Sinnard <kirk.sinnard@lawson.com> -Matthew Newhook <matthew@neweast.ca> -Gerolf Wendland <wendland@hpp015.mch2.scn.de> -Phil Mesnier <phil@envision.com> -Ross Dargahi <rossd@krinfo.com> -Richard Orr <rorr@costello.den.csci.csc.com> -Rich Ryan <rryan@mseng.kla.com> -Jan Rychter <jwr@icm.edu.pl> -Tom Marrs <0002104588@mcimail.com> -Bob Olson <olson@mcs.anl.gov> -Jean-Francois Ripouteau <Jean-Francois.Ripouteau@netsurf.org> -Ajit Sagar <asagar@spdmail.spd.dsccc.com> -Ashish Singhai <singhai@delirius.cs.uiuc.edu> -David Sames <David.L.Sames.1@gsfc.nasa.gov> -Gonzalo Diethelm <gonzo@ing.puc.cl> -Raj <raj@itd.ssb.com> -Darrin <darrin@jeeves.net> -Steve Weismuller <spweismu@rsoc.rockwell.com> -Eric C. Newton <ecn@clark.net> -Andres Kruse <kruse@cern.ch> -Ramesh Nagabushnam <rcn@nynexst.com> -Antonio Tortorici <antonio@rh0011.roma.tlsoft.it> -Nigel Lowe <nigel@nt.com> -Tom Leith <trl@icon-stl.net> -Greg Wilson <gvw@cs.toronto.edu> -Michael Fortinsky <mike@vocaltec.com> -Marco Sommerau <sommerau@matisse.informatik.uni-stuttgart.de> -Gary Salsbery <gsalsber@simsun.atsc.allied.com> -Eric Beser <beser@simsun.atsc.allied.com> -Alfred Keller <kellera@pop.eunet.ch> -John Lu <johnlu@f1.telekurs.ch> -James Mansion <james@wgold.demon.co.uk> -Jesper S. M|ller <Jesper.Moller@ameridata.dk> -Chris Lahey <clahey@cccis.com> -Michael R"uger <m_rueger@syscomp.de> -Istvan Buki <istvan.buki@infoboard.be> -Greg Wilson <gvwilson@vnet.ibm.com> -Jack Erickson <jack@cibc.com> -Garrett Conaty <gconaty@outbackinc.com> -Brad Flood <BFLOOD@slc.unisysgsg.com> -Marius Kjeldahl <marius@funcom.com> -Steve Huston <shuston@ultranet.com> -Eugene K. Plaude <jec@r-style.msk.su> -Joseph DeAngelis <bytor@faxint.com> -Kim Gillies <gillies@noao.edu> -Luca Priorelli <lucapri@mbox.vol.it> -Alan Stewart <axs2@osi.com> -Hani Yakan <hani@i-online.com> -William L. Gerecke <gerecke@rayva.org> -Craig Johnston <johnston@tortilla.ds.boeing.com> -Pierre-Yves Duval <duval@cppm.in2p3.fr> -Rochi Febo Dommarco <rocky@alter.it> -Jonathan Biggar <jon@sems.com> -Scott Shupe <shupes@mitre.org> -Chuck Gehr <gehr@sweng.stortek.com> -Avraham Nash <Avraham_Nash@praxisint.com> -Padhu Ramalingam <padhu@magicnet.net> -Jay Denkberg <jay_denkberg@comverse.com> -Ayman Farahat <afarahat@CCGATE.HAC.COM> -Tilo Christ <christ@swl.fh-heilbronn.de> -Ari Erev <Ari_Erev@comverse.com> -Hamutal Yanay <Hamutal_Yanay@hub.comverse.com> -Vital Aza <va3@cs.wustl.edu> -Alex Villazon <villazon@cui.unige.ch> -David Artus <david.artus@sbil.co.uk> -Todd Barkalow <todd_barkalow@stortek.com> -Alexander Smundak <sasha@migration.com> -Thilo Kielmann <kielmann@informatik.uni-siegen.de> -Matthias Kerkhoff <make@cs.tu-berlin.de> -Fred LaBar <flabar@fallschurch.esys.com> -Hanan Herzog <hanan@wallenda.stanford.edu> -Eric Parker <eparker@credence.com> -James Michael Dwyer <jdwyer@knox.edu> -Arun Katkere <katkere@praja.com> -Bob Dunmire <bobd@titan.com> -Sandro Doro <alex@aureus.sublink.org> -Robert Lyng <RLyng@msmail.hsii.ccare.com> -Phil Logan <phill@in.ot.com.au> -John Cosby <John.D.Cosby@cpmx.saic.com> -Wayne Vucenic <wvucenic@netgate.net> -Harry Gunnarsson <hg@carmenta.se> -James CE Johnson <jcej@lads.com> - -I would particularly like to thank Paul Stephenson, who worked with me -at Ericsson and is now at ObjectSpace. Paul devised the recursive -Makefile scheme that underlies this distribution and also spent -countless hours with me discussing object-oriented techniques for -developing distributed application frameworks. - -Finally, I'd also like to thank Todd L. Montgomery -<tmont@cerc.wvu.edu>, fellow heavy metal head, for fulfilling his -quest to get ACE to compile with GCC! - |