The *(term) for a kind of _(metaprogramming).

Excerpt from <em>Getting Started</em> below:
<blockquote>
<b>Feature Oriented Programming (_(FOP))</b> is the the study of feature modularity, where features are raised to first-class entities in design. Features are implemented by <b>cross-cuts</b> that are modifications or extensions to multiple classes. Unlike _(AOP) aspects, whose focus is on quantification -- i.e., specifying predicates that identify join points at which to insert code -- feature implementations are actually much closer to _(OO) framework designs. That is, to add a feature to an _(OO) framework, there are predefined methods and classes that are to be extended. In such designs, there is little or no quantification, but there are indeed "cross-cuts". This is the approach that we have used for years in building program families (_(aka) <b>_(product line)s</b>).

<b>Algebraic Hierarchical Equations for Application Design (AHEAD)</b> is an example of _(FOP). It is a simple and general _(algebraic model of program synthesis|Algebraic Specification) that is based on <b>step-wise refinement</b> -- a methodology that advocates that complex systems can be built by adding features incrementally. _(FOP) and AHEAD address a fundamental problem in software engineering -- a path to its future.

<em>The future of software engineering is in automation</em>. The best practical example of automated software engineering is _(relational) query optimization. That is, database queries are expressed using a _(declarative) specification (SQL) that is mapped to an efficient program. The general problem of mapping from a _(declarative) spec to a provably efficient program is very difficult -- it is called <b>automatic programming</b>). The success of _(relational) databases rests on _(relational) _(algebra|Algebra and coalgebra) -- a set of fundamental operators on tables -- and that query evaluation programs are expressions -- compositions of _(relational) _(algebra|Algebra and coalgebra) operators. _(Optimizer)s use algebraic identities to _(rewrite|Rewrite for Optimization), and hence _(optimize), expressions, which in turn _(optimize)s query evaluation programs. This is how databases "solve" the automatic programming problem for query evaluation programs.

[..]
</blockquote>

<ul class="links">
<li>_("Getting Started"|http://www.cs.utexas.edu/users/schwartz/Started.html).
<li>_("Home Page of the Product-Line Architecture Research Group"|http://www.cs.utexas.edu/users/schwartz/).
<li>_("The AHEAD Tool Suite (ATS)"|http://www.cs.utexas.edu/users/schwartz/ATS.html).
<li>_("Research Areas at Department of Computer Sciences of The University of Texas at Austin"|http://www.cs.utexas.edu/home/research/areas.shtml).
</ul>
