- Compositional Program
Synthesis
- Hyper/J
Tools
- The FrankenSort
Experiment
- Related
Work
|
The notion behind compostional program synthesis is that software
development is best described as the process of adding capabilities to an
existing structure. The goal is to reduce software development costs by
treating software modules as incremental, evolutionary enhancements. A
successful CPS effort requires a library of composable elements and a coherent
set of composition rules. |
Hyper/J
Tools |
One of the key tasks for Hyper/J composition is the specification
of a universe of composition. Unlike simpler composition tools (e.g. a
linker), each composable unit can be associated with multiple properties.
Although these properties are organized into a concern
hyperspace, it is still a
much richer specification then the LIBPATH environment variable that
is used by many linkers. These Hyper/J tools are
an early attempt to automate the specification of the universe of
composition. |
The
Frankensort Experiment |
The FrankenSort experiment is a
early investigation into the use of Compositional Program Synthesis for
real-world applications. In this experiment, the POSIX sort applications is
being rewritten with Hyper/J. The original version (sort.c from the
GNU Project) is being re-implemented as a set of composable, evolutionary
components. The early work demonstrated the large number of evolutionary
enhancements that are present in a real-world application. The more recent
synthesis work has demonstrated that most interactions can be categorized with
a limited vocabulary of behaviors. Further details are available at the
FrankenSort web-page. |
Related
Work |
Sevaral software engineering research groups that are developing
tools and mechanisms that support various approach of compositional program
synthesis. The related work page provides summary
descriptions of several known projects. Most of these research groups are
active participants in the Aspect Oriented Software
Development community. A large list of Aspect Oriented
tools is also available. |
|