《人月神话》的“没有银弹——软件工程中的根本和次要问题(No Silver Bullet – Essence and Accident in Software Engineering)”里提出:软件开发中的困难分成固有的(essence)和偶发的(accident)困难。
对于网络应用程序来说,固有的复杂性是由所在领域存在的难题造成的,例如通信机制、网络服务、并发机制、管理和配置等。偶发的复杂性源自开发软件时使用的工具和技术的局限性。
由于“没有银弹”已经分析了,银弹的希望主要还是在次要问题上能有所突破,ACE正是能够解决这种次要问题的工具。
ACE主要是运用“面向对象”技术和C++语言特性来解决网络应用软件开发的偶发复杂性。