Defining families - Commonality analysis

Figure 1): A recent trend in both the software engineering research and industrial communities has been to seek ways to systematically engineer software domains. One approach is to develop families of software and to invest in facilities for rapidly producing family members. This half-day tutorial describes the commonality analysis process, a systematic approach to analyzing families. The result of the analysis forms the basis for designing reusable assets that can be used to rapidly produce family members. This in-depth tutorial will teach the participants the principles underlying the approach and will give them a chance to perform a practice commonality analysis guided by experienced users of the process.

[1]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

[2]  Robert Chi Tau Lai,et al.  A Process Modeling Approach and Notation , 1994, The Impact of Case Technology on Software Processes.

[3]  James P. O'Connor,et al.  Reuse in Command-and-Control Systems , 1994, IEEE Software.

[4]  David Lorge Parnas,et al.  A rational design process: How and why to fake it , 1986, IEEE Transactions on Software Engineering.

[5]  Anthony F. Norcio,et al.  Design activity in developing modules for complex software , 1986 .

[6]  David Lorge Parnas,et al.  The Modular Structure of Complex Systems , 1984, IEEE Transactions on Software Engineering.

[7]  David Lorge Parnas,et al.  A procedure for designing abstract interfaces for device interface modules , 1981, ICSE '81.

[8]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[9]  David Lorge Parnas,et al.  Active design reviews: principles and practices , 1985, ICSE '85.

[10]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[11]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[12]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[13]  J. Craig Cleaveland,et al.  Building application generators , 1988, IEEE Software.