Research Projects
Last updated: Wednesday, 26-Apr-2006 12:41:05 MDT  

Feature Theory

Progress

The current work on feature theory that I have discovered focuses on feature isolation and understanding. The foundation of what a feature is is left to various interpretations. The work that I am pursuing is the nature of features. Once isolated, the charactistics and properties can be defined. Foundationally, during execution, programs are represented as a directed tree graph. There appear to be three different types of features:

   Vertical Features - Defined as "what the program does," the vertical path from the "top" to the "bottom" of the program execution tree. This path could be considered a use-case. See the circled paths in graphic, above.
   Super-Vertical Features - The vertical feature often has compatible or interconnected external vertical features. Super-vertical features are a set of feature graphs with advice to weave them in.

   Horizontal Features - Defined as "what the program has," the interfaces that show the physical or virtual characteristics. Some examples are include knobs, windows, algorithm engines, etc. See boxed-in sections in graphic, above. Please note that a horizontal cut may be along device boundaries or even significant algorithmic sections.
   Super-Horizontal Features - Horizontal features can be clustered into a loose bag of tools, or they can grouped into an integrated component. Super-horizontal features as components require advice to weave them in.

   Tree-Balanced Features - Defined as "how the program looks to the CPU," the slice through the program that equally divides the program. There might be data shared between the slices. See the cut-point in the diagram, above; note that a balanced cut may not be actually balanced in terms of tree weight, but the an attempt is made to keep like-sections together.
Here is a matrix that breaks down the types of features and gives examples.

Copyright © 2001-2006 Intelligent Algorithmic Solutions and Sean Walton eMail