"Using Tabular Expression Input to Specify and Generate Program Family Members"
Mr. DeLiang Han
When one is to develop program families traditional, programming methods that are
intended for the development of a single program are not appropriate.
There are several different approaches available.
the Draco approach in  and the product line engineering process described in
Here we will focus on the FAST process
developed at Lucent ; because it is a reasonably systematic process for engineering
families that has been used at Lucent Technologies for years and has proven
Lucent/Bell Labs have had success in reducing programming costs and speeding up
development times by using the FAST process.
In the FAST process, after identifying the commonalities and parameters of
variation in family of programs, a special purpose programming language is
developed. This language is used by an "Application Engineer" only to create
members of the family. The common features of the family are already built-in;
only the differences need to be programmed.
McMaster University's Software Engineering Group (Hamilton, Ontario, Canada),
is developing a set of tools to support the use of a broad class of tabular
expressions (TTS). Using tabular expressions one may present complex conditional
expression in a way that is more easily read, analyzed, and more likely to be
correct than either conventional mathematics or conventional programs.
In this work I propose to combine these two technologies. I will enhance the
FAST process using tabular notation and table-based tools. The results of the
commonality analysis of the FAST process, as developed at Lucent, will be used
to develop a set of incomplete tabular expressions. The completed parts
represent the commonalities. The incomplete parts correspond to the parameters
of variation. The application engineer must complete the tables in order for the
Code Generator of TTS to generate a prototype family member.