A program in Feature Oriented Software Development (FOSD) is a composition of functions (program transformations): a base program (modeled by a 0-ary function) is composed with increments in program functionality, called features (which are unary functions), to produce a complex program. A software product line (SPL) is a family of related programs. Suppose product line PL has F0 as a base program, and F1.. Fn as features that could be added to F0.
| Property | Value |
| dbpedia-owl:thumbnail
| |
| dbpprop:abstract
|
- A program in Feature Oriented Software Development (FOSD) is a composition of functions (program transformations): a base program (modeled by a 0-ary function) is composed with increments in program functionality, called features (which are unary functions), to produce a complex program. A software product line (SPL) is a family of related programs. Suppose product line PL has F0 as a base program, and F1.. Fn as features that could be added to F0. Different compositions of these functions/transformations yield different programs. For this discussion, let + denote function composition. A program P in PL might have the following expression: <math> P = F_8 + F_4 + F_2 + F_1 + F_0 </math> That is, P extends program F0 with features F1, F2, F4, and F8 in this order. We can recast P in terms of a projection and contraction of a 1-dimensional array. Let Fi = [F0 .. Fn] denote the array of transformations that define PL. A projection of Fi eliminates unneeded transformations, yielding a shorter array (call it) Gi. A contraction of Gi composes each transformation of Gi in a specific order, to yield a scalar expression. The expression for P becomes: <math> P = \sum_{i=(0,1,2,4,8)} \mathbf{F}_i </math> where the index values accomplish projection and summation is array contraction. This idea generalizes to n-dimensional arrays that model multi-dimensional product lines.
|
| dbpprop:reference
| |
| rdfs:comment
|
- A program in Feature Oriented Software Development (FOSD) is a composition of functions (program transformations): a base program (modeled by a 0-ary function) is composed with increments in program functionality, called features (which are unary functions), to produce a complex program. A software product line (SPL) is a family of related programs. Suppose product line PL has F0 as a base program, and F1.. Fn as features that could be added to F0.
|
| rdfs:label
| |
| skos:subject
| |
| foaf:depiction
| |
| foaf:page
| |