ADAPTIVE Communication Environment
ADAPTIVE Communication Environment (ACE) | |
---|---|
Basisdaten
| |
Aktuelle Version | 6.5.1 (9. August 2018) |
Programmiersprache | C++ |
Kategorie | Framework |
Lizenz | Open-Source |
The ADAPTIVE Communication Environment (ACE) |
Das Adaptive Communication Framework ist ein Open-Source-C++-Framework, das plattformunabhängig einige Entwurfsmuster für nebenläufige Netzwerkapplikationen bereitstellt.[1]
Geschichte
ACE wurde zunächst von Douglas C. Schmidt entwickelt, während er an der University of California, Irvine graduierte. Er verfolgte das Projekt an der Washington University in St. Louis weiter, wo es erstmals als Open-Source-Softwareprojekt veröffentlicht wurde. Heute wird es an der Vanderbilt University weiterentwickelt, an der Douglas Schmidt lehrt.[2]
OS Adapter Layer
Der OS Adapter Layer ist die ACE-Softwareschicht, die direkt die Betriebssystem-C-API bedient. Es schirmt das Betriebssystem plattformunabhängig mit einer POSIX-ähnlichen Schnittstelle ab. Zu dieser Schnittstelle gehören Programmierschnittstellen für:[3]
- Nebenläufigkeit und Synchronisation
- Interprozesskommunikation Shared Memory
- Synchrone und asynchrone Ereignishandler
- Dateisystemzugriffe
Entwurfsmuster
ACE implementiert die Entwurfsmuster:
Ereignis Handler
Nebenläufigkeit
- Thread-Specific Storage
- Monitor Object
- Active Object
- Half-Synch/Half-Asynch
- Leader/Follower
Service Access and Configuration Patterns
- Component Configurator
- Interceptor
- Extension Interface
- Wrapper Facade
Weblinks
- ACE Website
- Distributed Object Computer (DOC) Website
- Institute for Software Integrated Systems (ISIS) Website
- ACE Doxygen reference
- Google Diskussiongruppe
Einzelnachweise
- ↑ C++ Network Programming, Volume 1, Schmidt and Huston, Addison-Wesley Professional, 2001.
- ↑ ACE Programmer's Guide, The: Practical Design Patterns for Network and Systems Programming, Huston, Johnson and Syyid, Addison-Wesley Professional, 2003.
- ↑ ACE Overview, http://www.dre.vanderbilt.edu/~schmidt/ACE-overview.html