diff options
author | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1996-10-21 21:41:34 +0000 |
---|---|---|
committer | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1996-10-21 21:41:34 +0000 |
commit | a5fdebc5f6375078ec1763850a4ca23ec7fe6458 (patch) | |
tree | bcf0a25c3d45a209a6e3ac37b233a4812f29c732 /README | |
download | ATCD-a5fdebc5f6375078ec1763850a4ca23ec7fe6458.tar.gz |
Initial revision
Diffstat (limited to 'README')
-rw-r--r-- | README | 615 |
1 files changed, 615 insertions, 0 deletions
diff --git a/README b/README new file mode 100644 index 00000000000..07759a47364 --- /dev/null +++ b/README @@ -0,0 +1,615 @@ +[An HTML version of this README file is 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 a freely available +object-oriented network programming toolkit targeted for developers of +high-performance concurrent network applications and services. ACE +encapsulates the following user-level UNIX and Win32 (Windows NT and +Windows '95) OS facilities via portable, type-secure, C++ interfaces: + + . IPC mechanisms + -- Internet- and UNIX-domain sockets, TLI, Named Pipes + (for UNIX and Win32) and STREAM pipes + + . Event multiplexing + -- select(), poll(), and Win32 WaitForMultipleObjects + and I/O completion ports + + . Multi-threading and synchronization + -- Solaris threads, POSIX Pthreads, and Win32 threads + + . Explicit dynamic linking + -- dlopen/dlsym on UNIX and LoadLibrary/GetProc on Win32 + + . Memory-mapped files and shared memory management + -- BSD mmap(), SYSV shared memory, and Win32 shared memory. + + . System V IPC + -- shared memory, semaphores, message queues + + . Sun RPC + -- GNU rpc++, written by Michael Lipp + +In addition, ACE contains a higher-level network programming framework +that integrates and enhances the lower-level C++ wrappers. This +framework supports the dynamic configuration of concurrent network +daemons composed of application services. This framework contains the +following class categories: + + . The Reactor + -- Supports both Reactive and Proactive I/O + + . The Service Configurator + -- Support dynamic configuration of objects + + . The ADAPTIVE Service Executive + -- A user-level implementation of System V STREAMS, + which supports modular integration of + hierarchically-related communicaion services. + + . Shared malloc + -- A component for managing dynamically allocation + shared and local memory + + . Concurrency services + -- e.g., various forms of higher-level concurrency control + and synchronization mechanisms + + . Network services + -- e.g., distributed lock service, distributed naming + service, distributed logging service, distributed + routing service, and distributed time service + + . CORBA integration + -- Integrates ACE with CORBA implementations + (such as single-threaded and multi-threaded Orbix) + +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 slightly +larger than 1.5 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 + deficiencies with Windows NT...) + . 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> +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> +Alex V. Maclinovsky <alexm@teltrunk1.tait.co.nz> +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 Maclinvosky <alexey@ace.elektra.ru> +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@ix.netcom.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> + +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! |