Skip to main content

The Replacement Operation for CCP Programs

  • Conference paper

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

Abstract

The replacement is a very powerful transformation operation which – both within the functional paradigm as well as within the logic programming one – can mimic the most common transformation operations such as unfold, fold, switching, distribution. Because of this flexibility, it can be incorrect if used without specific applicability conditions.

In this paper we present applicability conditions which ensure the correctness of the replacement operation in the context of Concurrent Constraint Programs. Furthermore we show that, under these conditions, the replacement generalizes both the unfolding operation as well as a restricted form of folding operation.

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. Bensaou, N., Guessarian, I.: Transforming constraint logic programs. Theoretical Computer Science 206(1-2), 81–125 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  2. Bertolino, M.: Transformazione dei programmi concorrenti Tesi di Laurea, Dip. Informatica e Scienze dell’ Informazione, Università di Genova, Genova, Italy (1997)

    Google Scholar 

  3. Bossi, A., Cocco, N.: Basic Transformation Operations which preserve Computed Answer Substitutions of Logic Programs. Journal of Logic Programming 16(1&2), 47–87 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bossi, A., Cocco, N., Etalle, S.: On Safe Folding. In: Bruynooghe, M., Wirsing, M. (eds.) PLILP 1992. LNCS, vol. 631, pp. 172–186. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  5. Bossi, A., Cocco, N., Etalle, S.: Simultaneous replacement in normal programs. Journal of Logic and Computation 6(1), 79–120 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  6. Cook, J., Gallagher, J.P.: A transformation system for definite programs based on termination analysis. In: Turini, F. (ed.) Proc. Fourth Workshop on Logic Program Synthesis and Transformation. Springer, Heidelberg (1994)

    Google Scholar 

  7. Etalle, S., Gabbrielli, M.: On the correctness of the replacement operation for clp modules. Journal of Functional and Logic Programming (February 1996), available at http://www.cs.tu-berlin.de/journal/jflp

  8. Etalle, S., Gabbrielli, M.: Transformations of CLP modules. Theoretical Computer Science 166(1), 101–146 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  9. Etalle, S., Gabbrielli, M., Meo, M.C.: Unfold/Fold transformations of CCP programs. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 348–363. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  10. De Francesco, N., Santone, A.: Unfold/fold transformation of concurrent processes. In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 167–181. Springer, Heidelberg (1996)

    Google Scholar 

  11. Fujita, H., Okumura, A., Furukawa, K.: Partial evaluation of GHC programs based on the UR-set with constraints. In: Kowalski, R.A., Bowen, K.A. (eds.) Logic Programming: Fifth International Conference and Symposium, vol. 2, pp. 924–941. MIT Press, Cambridge (1988)

    Google Scholar 

  12. Gardner, P.A., Shepherdson, J.C.: Unfold/fold transformations of logic programs. In: Lassez, J.-L., Plotkin, G. (eds.) Computational Logic: Essays in Honor of Alan Robinson. MIT Press, Cambridge (1991)

    Google Scholar 

  13. Gengler, M., Martel, M.: Self-applicable partial evaluation for the pi-calculus. In: ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM 1997), pp. 36–46. ACM Press, New York (1997)

    Chapter  Google Scholar 

  14. Hosoya, H., Kobayashi, N., Yonezawa, A.: Partial evaluation scheme for concurrent languages and its correctness. In: Fraigniaud, P., Mignotte, A., Bougé, L., Robert, Y. (eds.) Euro-Par 1996. LNCS, vol. 1123, pp. 625–632. Springer, Heidelberg (1996)

    Google Scholar 

  15. Jørgensen, N., Marriott, K., Michaylov, S.: Some global compile-time optimizations for CLP(R). In: Saraswat, V., Ueda, K. (eds.) International Logic Programming Symposium, San Diego, pp. 420–434. MIT Press, Cambridge (1991)

    Google Scholar 

  16. Maher, M.J.: A transform ation system for deductive databases with perfect model semantics. Theoretical Computer Science 110(2), 377–403 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  17. Marinescu, M., Goldberg, B.: Partial-evaluation techniques for concurrent programs. In: ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM 1997), pp. 47–62. ACM Press, New York (1997)

    Chapter  Google Scholar 

  18. Marriott, K., Søndergaard, H.: Analysis of constraint logic programs. In: Debray, S., Hermenegildo, M. (eds.) Proceedings North American Conference on Logic Programming, MIT Press, Cambridge (1990)

    Google Scholar 

  19. Marriott, K., Stuckey, P.J.: The 3 r’s of optimizing constraint logic programs: Refinement, removal and reordering. In: POPL 1993: Proceedings ACM SIGPLAN Symposium on Principles of Programming Languages, Charleston (January 1993)

    Google Scholar 

  20. Park, D.M.R.: Concurrency and automata on infinite sequences. In: Deussen, P. (ed.) Proc. of the 5th GI conference. LNCS, pp. 167–183. Springer, Heidelberg (1981)

    Google Scholar 

  21. Pettorossi, A., Proietti, M.: Transformation of logic programs: Foundations and techniques. Journal of Logic Programming 19, 20, 261–320 (1994)

    Article  MathSciNet  Google Scholar 

  22. Proietti, M., Pettorossi, A.: Synthesis and transformation f logic programs using unfold/fold proofs. Journal of Logic Programming 41(2-3), 197–230 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  23. Sahlin, D.: Partial Evaluation of AKL. In: Proceedings of the First International Conference on Concurrent Constraint Programming (1995)

    Google Scholar 

  24. Sands, D.: Total correctness by local improvement in program transformation. In: Proceedings of the 22nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL). ACM Press, New York (1995)

    Google Scholar 

  25. Sands, D.: Total correctness by local improvement in the transformation of functional programs. ACM Transactions on Programming Languages and Systems 18(2), 175–234 (1996)

    Article  MathSciNet  Google Scholar 

  26. Saraswat, V.A., Rinard, M., Panangaden, P.: Semantics foundations of concurrent constraint programming. In: Proc. Eighteenth Annual ACM Symp. on Principles of Programming Languages. ACM Press, New York (1991)

    Google Scholar 

  27. Sato, T.: Equivalence-preserving first-order unfold/fold transformation system. Theoretical Computer Science 105(1), 57–84 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  28. Tamaki, H., Sato, T.: Unfold/Fold Transformations of Logic Programs. In: Tärnlund, S.-Å. (ed.) Proc. Second Int’l Conf. on Logic Programming, pp. 127–139 (1984)

    Google Scholar 

  29. Ueda, K., Furukawa, K.: Transformation rules for GHC Programs. In: Proc. Int’l Conf. on Fifth Generation Computer Systems. Institute for New Generation Computer Technology, Tokyo, pp. 582–591 (1988)

    Google Scholar 

  30. van Glabbeek, R.J.: The linear time - branching time spectrum. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 278–297. Springer, Heidelberg (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bertolino, M., Etalle, S., Palamidessi, C. (2000). The Replacement Operation for CCP Programs. In: Bossi, A. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 1999. Lecture Notes in Computer Science, vol 1817. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10720327_13

Download citation

  • DOI: https://doi.org/10.1007/10720327_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-67628-7

  • Online ISBN: 978-3-540-45148-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics