Jump to content

Adaptive Communication Environment

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Klbrain (talk | contribs) at 17:51, 10 November 2016 (Removing stale merge proposal from August 2013; case made and incoming page has independent notability (see the reference list)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

ADAPTIVE Communication Environment (ACE)
Initial release1993; 31 years ago (1993)
Stable release
6.3.3 / September 17, 2015; 9 years ago (2015-09-17)
Written inC++
Typeobject-oriented C++ classes Framework for Network
Websitewww.dre.vanderbilt.edu/~schmidt/ACE.html

The Adaptive Communication Environment (ACE) is an open source software framework used for network programming. It provides a set of object-oriented C++ classes designed to help address the inherent complexities and challenges in network programming by preventing common errors.[1]

History

ACE was initially developed by Douglas C. Schmidt during his graduate work at the University of California, Irvine. Development followed him to the Washington University, St. Louis, where he was employed. ACE was released by WU's Distributed Object Computer (DOC) group as open-source software. Development continued as part of the Institute for Software Integrated Systems (ISIS) at Vanderbilt University.[2]

Features

ACE provides a standardized usage for operating system/machine specific features. It provides common data types and methods[3] to access the powerful but complex features of modern operating systems. These include: inter-process communication, thread management, efficient memory management, etc.

It was designed to be portable and provide a common framework. The same code will work on most Unixes, Windows, VxWorks, QNX, OpenVMS, etc., with minimal changes.[4] Due to this cross-platform support, it has been widely used in the development of communication software. Some of the successful projects that have used ACE includes: Motorola Iridium satellites, Boeing Wedgetail's Australian airborne early warning & control (AEW&C) system, and others.[5]

ACE used software design patterns.[6]

See also

References

  1. ^ C++ Network Programming, Volume 1, Schmidt and Huston, Addison Wesley Professional, 2001
  2. ^ ACE Programmer's Guide, The: Practical Design Patterns for Network and Systems Programming, Huston, Johnson and Syyid, Addison Wesley Professional, 2003
  3. ^ Wrapper Facade, A Structural Pattern for Encapsulating Functions within Classes, Schmidt, http://www.cs.wustl.edu/~schmidt/PDF/wrapper-facade.pdf, access October 22, 2008
  4. ^ Porting ACE to a New OS, http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/docs/ACE-porting.html, accessed Oct. 22, 2008
  5. ^ ACE and TAO Success Stories, http://www.cs.wustl.edu/~schmidt/TAO-users.html, Accessed Oct. 22, 2008
  6. ^ Pattern-Oriented Software Architecture, Volume 2, Schmidt et al., Jon Wiley & Sons, Ltd, 2000