Abstract
Product families are united by common abstractions. When common abstractions can be directly translated into common implementation design elements and software components, reengineering and reuse are facilitated. But direct translation is often limited, however, by exigencies of performance, packaging, and product evolution. The result is an introduction of code-level sacrifices in commonality in which abstraction boundaries are reconfigured, inter-component communication patterns are tangled, and components are specialized and tailored. The consequences of these code-level sacrifices in commonality can be significant, since work is shifted from leveraged common design elements to a diversity of product-specific realizations. While this diversity may offer specific advantages in performance or packaging, it also can negate the potential leverage of reengineering and reuse at the product-line level.
This material is based upon work supported by the National Science Foundation under Grant No. CCR-9504339 and by the Defense Advanced Research Projects Agency and Rome Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-97-2-0241. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Defense Advanced Research Projects Agency, Rome Laboratory, the National Science Foundation, or the U.S. Government.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
4 Bibliography
D. Batory, V. Singhal, M. Sirkin, and J. Thomas, Scalable software libraries. ACM SIGSOFT Symposium on foundations of software engineering, 1993.
R.W. Bowdidge and W.G. Griswold, Automated Support for Encapsulating Abstract Data Types. ACM SIGSOFT Symposium Foundations of Software Engineering, 1994.
Edwin Chan, John Boyland, and William Scherlis, Promises: Limited Specifications for Analysis and Manipulation. International Conference on Software Engineering 1998, to appear.
Scott Draves, Automatic Program Specialization for Interactive Media. CMU School of Computer Science Technical Report, 1997.
W. G. Griswold and D. Notkin, Automated assistance for program restructuring. ACM TOSEM 2:3, 1993.
John V. Guttag and James J. Horning, et al., Larch: Languages and Tools for Formal Specification, Springer-Verlag, 1993.
Ralph Johnson and Brian Foote, Designing reusable classes. Journal of Object-Oriented Programming, June/July 1988.
Gragor Kiczales, Beyond the Black Box: Open Implementation, IEEE Software, January 1996.
Carroll Morgan and P.H.B. Gardiner, Data refinement by calculation. Acta Informatica 27 (1990).
J.D. Morgenthaler and W.G. Griswold, Program analysis for practical program restructuring. ICSE-17 Workshop on Program Transformation for Software Evolution, 1995.
Hausi Müller, Kenny Wong, and Scott R. Tilley, Understanding software systems using reverse engineering technology, Colloquium on Object Orientation in Databases and Software Engineering: 62nd ACFAS, Quebec, 1994.
William Opdyke, Refactoring Object-Oriented Frameworks. PhD Thesis, University of Illinois, 1992.
W. Scherlis, Small-scale structural reengineering. ACM SIGSOFT Second International Workshop on Software Architecture, 1996.
W. Scherlis, Systematic Change of Data Representation: Program Manipulations and a Case Study. European Symposium on Programming. Springer, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Heidelberg Berlin
About this paper
Cite this paper
Scherlis, W.L. (1998). Structural Views, Structural Evolution, and Product Families. In: van der Linden, F. (eds) Development and Evolution of Software Architectures for Product Families. ARES 1998. Lecture Notes in Computer Science, vol 1429. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-68383-6_32
Download citation
DOI: https://doi.org/10.1007/3-540-68383-6_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64916-8
Online ISBN: 978-3-540-68383-4
eBook Packages: Springer Book Archive