Program |
 |
|
|
Find in Program |
 |
|
|
Page |
 |
|
|
Basket |
 |
|
view, help
"Feature Oriented Programming and Product-Lines"
|
|
|
|
Feature Oriented Programming and Product-Lines
Boardroom Monday, 8:30, half day 7 | · | 8 | · | 9 | · | 10 | · | 11 | · | 12 | · | 13 | · | 14 | · | 15 | · | 16 | · | 17 | · | 18 | · | 19 | · | 20 | · | 21 |
Don Batory, University of Texas at Austin: Don Batory holds the David Bruton Centennial Professorship at The University of Texas at Austin. He is an Associate Editor of the forthcoming Journal of Aspect-Oriented Software Development. He was an Associate Editor of IEEE Transactions on Software Engineering (1999-2002), Associate Editor of ACM Transactions on Database Systems (1986-1992), a member of the ACM Software Systems Award Committee (1989-1993; Committee Chairman in 1992), and Program Co-Chair for the 2002 Generative Programming and Component Engineering Conference. He has given numerous lectures and tutorials on product-line architectures, generators, and reuse, and is an industry consultant on product-lines.
Tutorial number: 21
Feature Oriented Programming (FOP) is both a design
methodology and supporting tools for program
synthesis. The goal is to specify a target program in
terms of the features that it offers, and to
synthesize an efficient program that meets these
specifications. FOP has been used to develop
product-lines in widely varying domains, including
compilers for extensible Java dialects, fire support
simulators for the U.S. Army, network protocols, and
program verification tools.
AHEAD is a algebraic model of FOP that is based on
step-wise development, a methodology for building
programs by adding one feature at a time. The
incremental units of implementation/design are
refinements that encapsulate the implementation of an
individual feature. An AHEAD model of a product-line
treats base programs as constants and program
refinements as functions (that add the specified
feature to an input program). Application designs are
thus expressionscompositions of functions and
constantsthat are amenable to optimization and
analysis.
This tutorial reviews basic results on FOP, including
general models and tools for synthesizing a consistent
set of code and non-code artifacts by composing
refinements (cross-cuts), automatic algorithms for
validating compositions, synthesizing product-lines of
product-families (e.g., tool suites), and automatic
algorithms for optimizing application designs
(expressions).
Beginner: Basic concepts of object-orientation are assumed; no special background is necessary.
|