AHEAD (Algebraic Hierarchical Equations for Application Design) is an architectural model for feature oriented programming (FOP) and a basis for large-scale compositional programming. Features are the building blocks of systems; they are incremental units of program functionality that encapsulate "crosscuts" or fragments of many classes. Feature modules are similar to object-oriented frameworks in that they extend well-known methods of existing classes. Unlike aspects of aspect oriented programming (AOP), there is no quantification other than that used in traditional object-oriented design. Basically, we've noticed that quantification is rarely required; extensions of traditional OO designs account for 98% of what is needed.
An AHEAD model of a domain is an algebra, where an operation corresponds to a feature module. Programs in a domain are represented by unique compositions of these operations, much like query evaluation programs have unique expressions as compositions of relational algebra operations in database systems. The advance of AHEAD is scalability: both code and non-code representations of programs can be synthesized using algebraic models. Further, systems can be suites of different programs; such systems can also be synthesized in AHEAD.
The AHEAD Tool Suite (ATS) is a collection of Java-based tools that allow you to:
To download ATS, click an entry below and select the most up-to-date version available;
To view a (reasonably current) draft of AHEAD documentation, click here. The current draft of AHEAD documentation is bundled with ATS downloads.
ATS is protected by the GNU Lesser General Public License.
A simple example of "Origami" which uses ATS is found at: