Examples of adaptiveness

Below is
a list of 10 applications, subdivided into three categories:

    succinct subgraph specifications
    event filter

Those three categories correspond to three different techniques
to achieve adaptiveness.

The applications in the first category are the most effective since
the partial evaluation leads to a lot of code spreading and


  AP is linked to regularity of one aspect with respect to
  other aspects:

    1. succinct subgraph specifications
      Regularity: subgraphs have regular structure wrt graphs
      Partial evaluation at compile time: freeze graph, 
	determine explicit subgraph, generate code
      Spreading, systemicity: yes

      traversals [several papers]
      context-object scope [idea from transportation patterns]
      adaptive parameter passing [ISOTAS paper] 
	aspects: Class structure, Parameter Passing, Behavior
      object linking [equations of traversal specifications, unpublished]
      persistence [traversal specs define persistent parts]
      structure-shy parametric polymorphism [paper with Natasha] 
      modular attribute grammars [U. Kastens and W. M. Waite]

    2. event filter
      Regularity: event subsequences have regular 
	structure wrt event sequence specs
      Partial evaluation at compile time: freeze specific 
	sequence specs (programs)
      Spreading: yes, systemicity: no, is local

      context objects [SIGSOFT paper]
	aspects: Behavior, Behavior Modification
      synchronization patterns [ECOOP paper]
      contracts [Ian Holland's thesis]

    3. parsing-based
      Regularity: decoration of abstract syntax trees with
	concrete syntax is uniform
      Partial evaluation at run-time: freeze grammar, turn sentences
	into objects
      Spreading: yes, systemicity: yes

      object construction from sentences [paper with Cun]