Two novel concepts for systematic product line development
|Title||Two novel concepts for systematic product line development|
|Booktitle||Proc. 1st Software Product Line Conf. (SPLC 2000)|
|Address||Denver, CO, USA|
Framelets and implementation cases are new concepts to manage the complexity of product line development. Framelets are "small product lines" that address, as self-standing units, specific problems within the product line. They make no assumption about application execution control and are designed to be composed with each other. A product lines is obtained as a combination of framelets. Framelets simplify the development and extension of product lines, and make their integration with other product lines and with other software simpler. Implementation cases are introduced as ways to continuously monitor the adequacy of an evolving product line design. They describe an aspect of the product line instantiation process by specifying how an architectural feature for an application can be implemented using the constructs offered by the product line. Implementation cases narrow the abstraction gap between product line and application by forcing designers to think about the reification of the abstractions they are creating while at the same time giving them the opportunity to test the adequacy of these abstractions. Implementation cases can also be used to specify a product line or as cookbook-style recipes to document its usage. The discussion is made in the framework of a project with the European Space Agency to design a product line for satellite on-board software. Heuristics for defining framelets and implementation cases are derived form the experience gained on this project and discussed in the paper.