Abstract
We propose a model of software changes and a method for combining changes to a software specification. This work was motivated by the desire to provide automated decision support for the evolution of software prototypes. We define a behavioral refinement ordering on software specifications and indicate how this structure can be used to automatically combine several changes to a specification. A set of examples illustrates the ideas.
This research was supported in part by the National Science Foundation under grant number CCR-9058453, by the Army Research Office under grant number 30989-MA, and by the Army AI Center under grant number 6GNPG00072.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Badr, S.: Luqi, Automation Support for Concurrent Software Engineering. In: Proc. of the 6th International Conference Software Engineering and Knowledge Engineering, Jurmala, Latvia, June 20-23, pp. 46–53 (1994)
Bauer, F., et al.: The Munich Project CIP. LNCS, vol. 292. Springer, Heidelberg (1988)
Berzins, V.: On Merging Software Enhancements. Acta Informatica 23(6), 607–619 (1986)
Berzins, V.: Luqi: An Introduction to the Specification Language Spec. IEEE Software 7(2), 74–84 (1990)
Berzins, V.: Luqi: Software Engineering with Abstractions: An Integrated Approach to Software Development using Ada. Addison-Wesley Publishing Company, Reading (1991) ISBN 0-201-08004-4
Berzins, V.: Software Merge: Models and Methods. Journal of Systems Integration 1(2), 121–141 (1991)
Dampier, D., Berzins, V.: Liqu: Automated Merging of Software Prototypes. Journal of Systems Integration 4(1), 33–49 (1994)
Berzins, V.: Software Merge: Semantics of Combining Changes to Programs. ACM TOPLAS 16(6), 1875–1903 (1994)
Berzins, V.: Software Merging and Slicing. IEEE Computer Society Press Tutorial, Los Alamitos (1995) ISBN 0-8186-6792-3
Berzins, V., Dampier, D.: Software Merge: Combining Changes to Decompositions. Journal of Systems Integration, special issue on CAPS 6(1-2), 135–150 (1996)
Berzins, V.: Recombining Changes to Software Specifications. Journal of Systems and Software (August 1998) (to appear)
Feather, M.: A System for Assisting Program Change. ACM Transactions on Programming Languages and Systems 4(1), 1–20 (1982)
Feather, M.: A Survey and Classification of some Program Change Approaches and Techniques. In: Meertens, L.G.L.T. (ed.) Program Specification and Change (Proceedings of the IFIP TC2/WG 2.1 Working Conference), pp. 165–195. North-Holland, Amsterdam (1987)
Feather, M.: Constructing Specifications by Combining Parallel Elaborations. IEEE Transactions on Software Engineering 15(2), 198–208 (1989)
Fickas, S.: Automating the Transformational Development of Software. IEEE Transactions on Software Engineering 11(11), 1268–1277 (1985)
Johnson, W., Feather, M.: Building an Evolution Change Library. In: 12th International Conference on Software Engineering, pp. 238–248 (1990)
Kant, E.: On the Efficient Synthesis of Efficient Programs. Artificial Intelligence 20(3), 253–263 (1983); Also appears in [26], 157-183
Ketabchi, M.: Luqi: A Computer Aided Prototyping System. IEEE Software 5(2), 66–72 (1988)
Berzins, V., Yeh, R.: Luqi: A Prototyping Language for Real-Time Software. IEEE Transactions on Software Engineering 14(10), 1409–1423 (1988)
Luqi: Software Evolution via Rapid Prototyping. IEEE Computer 22(5), 13–25 (1989)
Luqi: A Graph Model for Software Evolution. IEEE Transactions on Software Engineering 16(8), 917–927 (1990)
Luqi: Specifications in Software Prototyping. In: Proc. SEKE 1996, Lake Tahoe, NV, June 10-12, pp. 189–197 (1996)
Lutz, R.: Analyzing Software Requirements: Errors in Safety-Critical Embedded Systems, TR 92-27, Iowa State University (August 1992)
Parnas, D., Clemens, P.: A Rational Design Process: How and Why to Fake It. IEEE Transactions on Software Engineering 12(2), 251–257 (1986)
Horowitz, S., Prins, J., Reps, T.: Integrating Non-Interfering Versions of Programs. ACM Transactions on Programming Languages and Systems 11(3), 345–387 (1989)
Rich, C., Waters, R. (eds.): Readings in Artificial Intelligence and Software Engineering. Morgan Kaufmann, San Francisco (1986)
Smith, D., Kotik, G., Westfold, S.: Research on Knowledge-Based Software Environments at Kestrel Institute. IEEE Transactions on Software Engineering 11(11), 1278–1295 (1985)
Swartout, W., Balzer, R.: On the Inevitable intertwining of Speciication and implementation. Communication of the ACM 25(7), 438–440 (1982); Also appears in Gehani, N., McGettrick, A.D. (eds.): Software Specification Techniques, pp. 41–45 (1986)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berzins, V. (1998). Merging Changes to Software Specifications. In: Broy, M., Rumpe, B. (eds) Requirements Targeting Software and Systems Engineering. RTSE 1997. Lecture Notes in Computer Science, vol 1526. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10692867_5
Download citation
DOI: https://doi.org/10.1007/10692867_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65309-7
Online ISBN: 978-3-540-49439-3
eBook Packages: Springer Book Archive