Abstract
As software becomes more complex, more sophisticated development and maintenance methods are needed to ensure software quality. Computer-aided prototyping achieves this via quickly built and iteratively updated prototypes of the intended system. This process requires automated support for keeping track of many independent changes and for exploring different combinations of alternative changes and refinements. This article formalizes the update and change merging process, extends the idea to multiple changes to the same base prototype, and introduces a new method of slicing prototypes. Applications of this technology include automatic updating of different versions of existing software with changes made to the baseline version of the system, integrating changes made by different design teams during development, and checking consistency after integration of seemingly disjoint changes to the same software system.
Similar content being viewed by others
References
S. Badr and V. Bernzins, “A design management and job assignment system,”Technical Report NPS CS-92-020, Computer Science Department, Naval Postgraduate School, 1992.
V. Berzins, “On merging software extensions,”Acta Informatica, Springer-Verlag, pp. 607–619, 1986.
V. Berzins, “Software merge: Semantics of combining changes to programs,”Technical Report NPS 52-91-5, Computer Science Department, Naval Postgraduate School, 1990.
V. Berzins, “Software merge: Models and methods for combining changes to programs,”Journal of Systems Integration, vol. 1, no. 2, pp. 121–141, August 1990.
V. Berzins and Luqi,Software Engineering with Abstractions. Addison-Wesley: Reading, MA, 1991.
V. Berzins, Luqi, and A. Yehudai, “Using transformations in specification-based prototyping,” IEEE Transactions on Software Engineering, vol. 19, no. 5, pp. 436–452, May 1993.
N. Boudriga, F. Elloumi, and A. Mili, “On the lattice of specifications: Applications to a specification methodology,”Formal Aspects of Computing, Springer-Verlag, vol. 4, pp. 544–571, 1992.
D. Dampier,A Model for Merging Different Versions of a PSDL Program. Master's Thesis, Naval Postgraduate School, Menterey, California, June 1990.
S. Horwitz, J. Prins, and T. Reps, “Integrating non-interfering versions of programs,” Conference Record of the Fifteenth ACM Symposium on Principles of Programming Languages, Association for Computing Machinery, New York, New York, pp. 133–145, 13–15 January 1988.
S. Horwitz, T. Reps, and D. Binkley, “Interprocedural Slicing Using Dependence Graphs,”ACM Transactions on Programming Languages and Systems, pp. 26–60, January 1990.
Luqi, V. Berzins, and R. Yeh, “A Prototyping Languge for Real Time Software,”IEEE Transactions on Software Engineering, pp. 1409–1423, October 1988.
Luqi, “Software Evolution Through Rapid Prototyping,”IEEE Computer, pp. 13–25, May 1989.
Luqi, “A Graph Model for Software Evolution,”IEEE Transaction on Software Engineering, vol. 16, no. 8, pp. 917–927, August 1990.
Luqi, “Computer-Aided Prototyping for a Command-And-Control System Using CAPS,”IEEE Software, pp. 56–67, January 1992.
R. Longer, H. Mill, B. Witt, Struetured Programming: Theory and Practice, Addison-Wesley: Reading, MA, 1979.
T. Reps, and W. Yang, “The semantics of program slicing,”Computer Science Technical Report #777, University of Wisconsin-Madison, 1988.
T. Reps, “On the algebraic properties of program integration,”Computer Sciences Technical Report #856, University of Wisconsin at Madison, June 1989.
I. Silverberg,Source File Management with SCCS. Prentice Hall: Englewood Cliffs, NJ, 1992.
M. Tanik, and R. Yeh, “Rapid Prototyping in Software Development,”Computer, vol. 22, pp. 9–10, May 1989.
W. Tichy, “Design, Implementation, and Evaluation of a Revision Control System,” inProceedings of the 6th International Conference on Software Engineeing, IEEE, Tokyo, September 1982, pp. 58–67.
M. Weiser, “Program Slicing,”IEEE Transactions on Software Engineering, vol. 10, no. 4, pp. 352–357, July 1984.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Dampier, D.A., Luqi & Berzins, V. Automated merging of software prototypes. Journal of Systems Integration 4, 33–49 (1994). https://doi.org/10.1007/BF01975671
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01975671