Skip to main content

Merging Changes to Software Specifications

  • Conference paper
Requirements Targeting Software and Systems Engineering (RTSE 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1526))

  • 266 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 74.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. Bauer, F., et al.: The Munich Project CIP. LNCS, vol. 292. Springer, Heidelberg (1988)

    Google Scholar 

  3. Berzins, V.: On Merging Software Enhancements. Acta Informatica 23(6), 607–619 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  4. Berzins, V.: Luqi: An Introduction to the Specification Language Spec. IEEE Software 7(2), 74–84 (1990)

    Article  Google Scholar 

  5. 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

    Google Scholar 

  6. Berzins, V.: Software Merge: Models and Methods. Journal of Systems Integration 1(2), 121–141 (1991)

    Article  Google Scholar 

  7. Dampier, D., Berzins, V.: Liqu: Automated Merging of Software Prototypes. Journal of Systems Integration 4(1), 33–49 (1994)

    Article  Google Scholar 

  8. Berzins, V.: Software Merge: Semantics of Combining Changes to Programs. ACM TOPLAS 16(6), 1875–1903 (1994)

    Article  Google Scholar 

  9. Berzins, V.: Software Merging and Slicing. IEEE Computer Society Press Tutorial, Los Alamitos (1995) ISBN 0-8186-6792-3

    Google Scholar 

  10. Berzins, V., Dampier, D.: Software Merge: Combining Changes to Decompositions. Journal of Systems Integration, special issue on CAPS 6(1-2), 135–150 (1996)

    Google Scholar 

  11. Berzins, V.: Recombining Changes to Software Specifications. Journal of Systems and Software (August 1998) (to appear)

    Google Scholar 

  12. Feather, M.: A System for Assisting Program Change. ACM Transactions on Programming Languages and Systems 4(1), 1–20 (1982)

    Article  MATH  Google Scholar 

  13. 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)

    Google Scholar 

  14. Feather, M.: Constructing Specifications by Combining Parallel Elaborations. IEEE Transactions on Software Engineering 15(2), 198–208 (1989)

    Article  Google Scholar 

  15. Fickas, S.: Automating the Transformational Development of Software. IEEE Transactions on Software Engineering 11(11), 1268–1277 (1985)

    Article  Google Scholar 

  16. Johnson, W., Feather, M.: Building an Evolution Change Library. In: 12th International Conference on Software Engineering, pp. 238–248 (1990)

    Google Scholar 

  17. Kant, E.: On the Efficient Synthesis of Efficient Programs. Artificial Intelligence 20(3), 253–263 (1983); Also appears in [26], 157-183

    Google Scholar 

  18. Ketabchi, M.: Luqi: A Computer Aided Prototyping System. IEEE Software 5(2), 66–72 (1988)

    Article  Google Scholar 

  19. Berzins, V., Yeh, R.: Luqi: A Prototyping Language for Real-Time Software. IEEE Transactions on Software Engineering 14(10), 1409–1423 (1988)

    Article  Google Scholar 

  20. Luqi: Software Evolution via Rapid Prototyping. IEEE Computer 22(5), 13–25 (1989)

    Google Scholar 

  21. Luqi: A Graph Model for Software Evolution. IEEE Transactions on Software Engineering 16(8), 917–927 (1990)

    Article  Google Scholar 

  22. Luqi: Specifications in Software Prototyping. In: Proc. SEKE 1996, Lake Tahoe, NV, June 10-12, pp. 189–197 (1996)

    Google Scholar 

  23. Lutz, R.: Analyzing Software Requirements: Errors in Safety-Critical Embedded Systems, TR 92-27, Iowa State University (August 1992)

    Google Scholar 

  24. Parnas, D., Clemens, P.: A Rational Design Process: How and Why to Fake It. IEEE Transactions on Software Engineering 12(2), 251–257 (1986)

    Google Scholar 

  25. Horowitz, S., Prins, J., Reps, T.: Integrating Non-Interfering Versions of Programs. ACM Transactions on Programming Languages and Systems 11(3), 345–387 (1989)

    Article  Google Scholar 

  26. Rich, C., Waters, R. (eds.): Readings in Artificial Intelligence and Software Engineering. Morgan Kaufmann, San Francisco (1986)

    Google Scholar 

  27. 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)

    Article  Google Scholar 

  28. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics