Abstract
Software manufacture is the process by which a software product is derived, through an often complex sequence of steps, from the primitive components of a system. This paper presents a model of software manufacture that addresses the amount of work that has to be done, after a given set of changes has been made, to consistently incorporate those changes in a given product.
Based on a formal definition of a software configuration that characterizes a software product in terms of how it was manufactured, the model uses difference predicates to discriminate between changes that are significant and those that are not. A difference predicate is an assertion about the relationship between two sets of components. Difference predicates determine when one set of components can be substituted for another. By predicting when existing components can be substituted for the output of a manufacturing step, difference predicates determine which steps in the manufacturing process can be omitted when incorporating a given set of changes.
This research was supported in part by a Xerox Special Opportunity Fellowship in Computer Science, and in part by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976, monitored by the Air Force Avionics Laboratory under Contract F33615-84-K-1520. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the US Government.
Preview
Unable to display preview. Download preview PDF.
9 References
Reidar Conradi and Dag Heieraas Wanvik. Mechanisms and Tools for Separate Compilation. Technical Report 25/85, The University of Trondheim, The Norweigian Institute of Technology, October, 1985.
Jack Cooper. Software Development Management Planning. IEEE Transactions on Software Engineering 10(1):22–26, January, 1984.
Lee W. Cooprider. The Representation of Families of Software Systems. PhD thesis, Carnegie-Mellon University, April, 1979.
Eugene Cristofor, T. A. Wendt and B. C. Wonsiewicz. Source Control + Tools = Stable Systems. In Proceedings of the 4th Computer Science and Applications Conference, pages 527–532. IEEE Computer Society, October, 1980.
Manfred Dausmann. Reducing Recompilation Costs for Software Systems in Ada. March 30, 1984 Draft of a Karlsruhe Technical Report presented at the IFIP WG 2.4 conference in Canterbury UK in September 1984.
Frank DeRemer and Hans H. Kron. Programming-in-the-Large Versus Programming-in-the-Small. IEEE Transactions on Software Engineering 2(2):80–86, June, 1976.
V. B. Erickson and J. F. Pellegrin. Build — A Software Construction Tool. AT&T Bell Laboratories Technical Journal 63(6), July–August, 1984.
J. Estublier, S. Ghoul, S. Krakowiak. Preliminary Experience with a Configuration Control System for Modular Programs. SIGPLAN Notices 19(5), May, 1984. Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments.
Stuart I. Feldman. Make — A Program for Maintaining Computer Programs. Software-Practice and Experience 9(4):255–265, April, 1979.
Gail E. Kaiser and A. Nico Habermann. An Environment for System Version Control. In Digest of Papers COMPCON Spring 83, pages 415–420. IEEE Computer Society, San Francisco, California, February, 1983.
Butler W. Lampson and Eric E. Schmidt. Organizing Software in a Distributed Environment. In Proceedings of the SigPlan '83 Symposium on Programming Language Issues in Software Systems, pages 1–13. ACM, San Francisco, California, June, 1983.
David B. Leblang, Robert P. Chase, Jr. Computer-Aided Software Engineering in a Distributed Workstation Environment. SIGPLAN Notices 19(5), May, 1984. Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments.
David B. Leblang, Robert P. Chase Jr., and Gordon D. McLean Jr. The DOMAIN Software Engineering Environment for Large-Scale Software Development Efforts. In IEEE Conference on Workstations. November, 1985.
Marc J. Rochkind. The Source Code Control System. IEEE Transactions on Software Engineering 1(4):364–370, December, 1975.
B. R. Rowland and R. J. Welsch. The 3B20D Processor & DMERT Operating System: Software Development System. The Bell System Technical Journal 62(1):275–289, January, 1983.
Walter F. Tichy. Software Development Control Based on System Structure Description. PhD thesis, Carnegie-Mellon University, January, 1980.
Walter F. Tichy. Design, Implementation, and Evaluation of a Revision Control System. Technical Report CSD-TR-397, Department of Computer Science, Purdue University, March, 1982. A version of this paper appeared in Proceedings of the 6th International Conference on Software Engineering, Tokoyo, September 1982.
Walter F. Tichy and Mark C. Baker. Smart Recompilation. In Principles of Programming Languages 1985, pages 236–244. ACM SIGPLAN and SIGACT, January, 1985.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Borison, E. (1987). A model of software manufacture. In: Conradi, R., Didriksen, T.M., Wanvik, D.H. (eds) Advanced Programming Environments. Lecture Notes in Computer Science, vol 244. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17189-4_99
Download citation
DOI: https://doi.org/10.1007/3-540-17189-4_99
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17189-8
Online ISBN: 978-3-540-47347-3
eBook Packages: Springer Book Archive