Skip to main content

Computer-Aided Refinement of Data Structures on Higher-Order Algebraic Specifications

  • Conference paper

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

Abstract

The paper studies the transformational refinement of data structures in the framework of higher-order algebraic specifications. We present novel procedures that mechanize the refinement of entire data structures within a single complex transformation step. The transformations validate a general refinement relation that captures different types of simulations. General transformation rules describe algebraic implementations based on abstraction and representation functions. Specialized transformations cover particular changes between data structures. All transformation procedures have been implemented in the Lübeck Transformation System. The system uses analysis algorithms to establish the soundness conditions of the transformations by syntactic criteria. We report practical experiences about manipulating data structures with the system. The paper summarizes results from the second author’s PhD thesis [20].

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Back, R.-J., von Wright, J.: Refinement Calculus, A Systematic Introduction. Graduate Texts in Computer Science. Springer, Heidelberg (1998)

    MATH  Google Scholar 

  2. Bauer, F.L., Möller, B., Partsch, H., Pepper, P.: Formal program construction by transformation computer-aided, intuition-guided programming. IEEE Transactions on Software Engineering 15, 165–180 (1989)

    Article  MATH  Google Scholar 

  3. Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer Programming 25(2-3), 149–186 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bidoit, M., Hennicker, R., Wirsing, M.: Behavioural and abstractor specifications. Science of Computer Programming 25(2-3), 149–186 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  5. Broy, M., Möller, B., Wirsing, M.: Algebraic implementations preserve program correctness. Science of Computer Programming 7, 35–53 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  6. Burstall, R.M., Goguen, J.A.: Putting theories together to make specifications. In: Proc. 5th Intl. Joint Conference on Artificial Intelligence, pp. 1045–1058 (1977)

    Google Scholar 

  7. de Roever, W.-P., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge Tracts in Theoretical Computer Science, vol. 47. Cambridge University Press, Cambridge (1998)

    Book  MATH  Google Scholar 

  8. Dijkstra, E.W.: Notes on structured programming. In: Dahl, O., Dijkstra, E.W., Hoare, C.A.R. (eds.) Structured Programming, Academic Press, London (1971)

    Google Scholar 

  9. Dosch, W., Magnussen, S.: Algebraic data structure refinement with the Lübeck Transformation System. In: Indermark, K., Noll, T. (eds.) Kolloquium Programmiersprachen und Grundlagen der Programmierung, number AIB2001-11 in Aachener Informatik Berichte, Rurberg, Oktober 2001, RWTH Aachen, pp. 7–12 (2001)

    Google Scholar 

  10. Dosch, W., Magnussen, S.: Computer aided fusion for algebraic program derivation. Nordic Journal of Computing 8(3), 279–297 (2001)

    MATH  Google Scholar 

  11. Dosch, W., Magnussen, S.: Lübeck Transformation System: A transformation system for equational higher-order algebraic specifications. In: Cerioli, M., Reggio, G. (eds.) WADT 2001 and CoFI WG Meeting 2001. LNCS, vol. 2267, pp. 85–108. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  12. Ebbinghaus, H.-D., Flum, J., Thomas, W.: Einführung in die mathematische Logik. Spektrum Verlag (1996)

    Google Scholar 

  13. Ehrich, H.-D., Gogolla, M., Lippek, U.W.: Algebraische Spezifikation abstrakter Datentypen. Teubner, Stuttgart (1989)

    MATH  Google Scholar 

  14. Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specifications 1, Equations and Initial Semantics. EATCS Monographs on Theoretial Computer Science, vol. 6. Springer, Heidelberg (1985)

    Google Scholar 

  15. Feather, M.: A survey and classification of some program transformation approaches and techniques. In: Meertens, L.G.L.T. (ed.) Proceedings TC2 Working Conference on Program Specification and Transformation, pp. 165–195. North Holland, Amsterdam (1987)

    Google Scholar 

  16. Hearn, B.M., Meinke, K.: ATLAS: A typed language for algebraic specifications. In: Heering, J., Meinke, K., Möller, B., Nipkow, T. (eds.) HOA 1993. LNCS, vol. 816, pp. 146–168. Springer, Heidelberg (1994)

    Google Scholar 

  17. Hoare, C.A.R.: Proof of correctness of data representations. Acta Informatica 1, 271–281 (1972)

    Article  MATH  Google Scholar 

  18. Loeckx, J., Ehrich, H.-D., Wolf, M.: Specification of Abstract Data Types. Wiley&Teubner (1996)

    Google Scholar 

  19. Loeckx, J., Ehrich, H.-D., Wolf, M.: Algebraic specification of abstract data types. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 5, pp. 217–316. Oxford Science Publications (2000)

    Google Scholar 

  20. Magnussen, S.J.: Mechanizing the Transformation of Higher-Order Algebraic Specifications for the Development of Software Systems. Logos Verlag, Berlin (2003)

    Google Scholar 

  21. Meinke, K.: Universal algebra in higher types. Theoretical Computer Science 100, 385–417 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  22. Meinke, K., Tucker, J.V.: Universal algebra. In: Abramsky, S., Gabbay, D.M., Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, vol. 1, pp. 189–411. Oxford Science Publications (1992)

    Google Scholar 

  23. Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 675–788. Elsevier Science Publishers, Amsterdam (1990)

    Google Scholar 

  24. Wirsing, M., Partsch, H., Pepper, P., Dosch, W., Broy, M.: On hierarchies of abstract data types. Acta Informatica 20, 1–33 (1983)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dosch, W., Magnussen, S. (2004). Computer-Aided Refinement of Data Structures on Higher-Order Algebraic Specifications. In: Ramamoorthy, C.V., Lee, R., Lee, K.W. (eds) Software Engineering Research and Applications. SERA 2003. Lecture Notes in Computer Science, vol 3026. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24675-6_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24675-6_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21975-0

  • Online ISBN: 978-3-540-24675-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics