Advertisement

Combining Mobile Processes and Declarative Programming

  • Rachid Echahed
  • Wendelin Serwe
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)

Abstract

We propose a general framework for combining mobile processes and declarative programming languages, e.g., functional, logic or functional-logic languages. In contrast to existing concurrent extensions of declarative languages, we distinguish clearly between the notion of processes and that of functions or predicates. Thus, our framework is generic and may be applied to extend several kinds of declarative languages. It also extends PA process algebra in order to deal with parameter passing, mobile processes and interactive declarative programming. In our setting, declarative programs are dynamic and may be modified thanks to the actions performed by processes.

Keywords

Logic Program Elementary Action Logic Programming Operational Semantic Process Algebra 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    J.-R. Abrial. Formal Methods for Industrial Applications, volume 1165 of LNCS, chapter Steam-Boiler Control Specification Problem, pages 500–510. Springer, 1996.zbMATHGoogle Scholar
  2. 2.
    J.-M. Andreoli and R. Pareschi. Linear objects: Logical processes with built-in inheritance. New Generation Computing, 9(3–4):445–473, 1991. selected papers from the 7th Int. Conf. on Logic Programming, 1990.CrossRefGoogle Scholar
  3. 3.
    J. C. M. Baeten and W. P. Weijland. Process Algebra. Number 18 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1990.Google Scholar
  4. 4.
    E. Best, F. de Boer, and C. Palamidessi. Partial order and SOS semantics for linear constraint programs. In D. Garlan and D. L. Métayer, editors, Proc. of the 2nd Int. Conf. on Coordination: Languages and Models (Coordination’ 97), volume 1282 of LNCS, pages 256–273, Berlin, September 1997. Springer.Google Scholar
  5. 5.
    A. Brogi and P. Ciancarini. The concurrent language, Shared Prolog. ACM TOPLAS, 13(1):99–123, January 1991.Google Scholar
  6. 6.
    S. D. Brookes, C. A. R. Hoare, and A. W. Roscoe. A theory of communicating sequential processes. Journal of the ACM, 31(3):560–599, July 1984.Google Scholar
  7. 7.
    L. Caires and L. Monteiro. Verifiable and executable logic specifications of concurrent objects in Lπ. In C. Hankin, editor, Proc. of the 7th European Symp. on Programming (ESOP’ 98), volume 1381 of LNCS, pages 42–56, Lisbon, March–April 1998. Springer.Google Scholar
  8. 8.
    M. Carro and M. Hermenegildo. Concurrency in prolog using threads and a shared database. In Proc. of the 16th Int. Conf. on Logic Programming (ICLP’ 99), Las Cruces, November 1999. MIT Press.Google Scholar
  9. 9.
    P. Codognet and F. Rossi. Nmcc programming: Constraint enforcement and retraction in cc programming. In Proc. of ICLP’ 95. MIT Press, 1995.Google Scholar
  10. 10.
    F. S. de Boer, J. N. Kok, C. Palamidessi, and J. J. M. M. Rutten. Non-monotonic concurrent constraint programming. In Proc. of the Int. Symp. on Logic Programming (ILPS’ 93), pages 315–334. The MIT Press, 1993.Google Scholar
  11. 11.
    P. Deransart, A. Ed-Dbali, and L. Cervoni. Prolog: The Standard, Reference Manual. Springer, 1996.Google Scholar
  12. 12.
    R. Echahed and W. Serwe. A multiparadigm programming scheme. Technical Report, forthcoming.Google Scholar
  13. 13.
    F. Fages, P. Ruet, and S. Soliman. Phase semantics and verification of concurrent constraint programs. In Proc. of the 13suth Annual IEEE Symp. on Logic in Computer Science (LICS’ 98), 1998.Google Scholar
  14. 14.
    C. Fournet and G. Gonthier. The reflexive chemical abstract machine and the join-calculus. In Proc. of the 23surd Symp. on Principles of Programming Languages (POPL’ 96), pages 372–385, St. Petersburg Beach, Florida, January 1996.Google Scholar
  15. 15.
    GUI Fest’ 95 Post-Challenge: multiple counters. available at http://www.cs.chalmers.se/~magnus/GuiFest-95/, July 24–July 28 1995. organized by Simon Peyton Jones and Phil Gray as a part of the Glasgow Research Festival.
  16. 16.
    M. Hanus. Distributed programming in a multi-paradigm declarative language. In G. Nadathur, editor, Proc. of the Int. Conf. on Principles and Practice of Declarative Programming (PPDP’ 99), volume 1702 of LNCS, pages 188–205, Paris, 1999. Springer.CrossRefGoogle Scholar
  17. 17.
    S. Janson, J. Montelius, and S. Haridi. Ports for objects in concurrent logic programs. In Agha, Wegner, and Yonezawa, editors, Research Directions in Concurrent Object-Oriented Programming. The MIT Press, 1993.Google Scholar
  18. 18.
    D. Miller. Forum: A multiple-conclusion specification logic. Theoretical Computer Science, 165(1):201–232, September 1996.Google Scholar
  19. 19.
    R. Milner. A calculus of communicating systems, volume 92 of LNCS. Springer, 1980.zbMATHGoogle Scholar
  20. 20.
    R. Milner, J. G. Parrow, and D. J. Walker. A calculus of mobile processes. Information and Computation, 100(1):1–77, September 1992.Google Scholar
  21. 21.
    S. L. Peyton Jones, A. D. Gorden, and S. Finne. Concurrent Haskell. In Proc. of the 23surd Symp. on Principles of Programming Languages (POPL’ 96), pages 295–308, St Petersburg Beach, Florida, January 1996.Google Scholar
  22. 22.
    B. C. Pierce and D. N. Turner. Pict: A programming language based on the picalculus. In G. Plotkin, C. Stirling, and M. Tofte, editors, Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, 1998.Google Scholar
  23. 23.
    J. H. Reppy. Concurrent Programming in ML. Cambridge University Press, 1999.Google Scholar
  24. 24.
    V. A. Saraswat. Concurrent Constraint Programming. ACM Doctoral Dissertation Awards. MIT Press, 1993.Google Scholar
  25. 25.
    V. A. Saraswat, R. Jagadeesan, and V. Gupta. Timed default concurrent constraint programming. Journal of Symbolic Computation, 22(5–6):475–520, November–December 1996.Google Scholar
  26. 26.
    V. A. Saraswat and P. Lincoln. Higher-order, linear, concurrent constraint programming. Technical report, Xerox PARC, 1992.Google Scholar
  27. 27.
    G. Smolka. Computer Science Today: Recent Trends and Developments, volume 1000 of LNCS, chapter The Oz Programming Model, pages 324–343. Springer, 1995. Jan van Leeuwen (Ed.).Google Scholar
  28. 28.
    B. Thomsen, L. Leth, and T.-M. Kuo. FACILE — from toy to tool. In F. Nielson, editor, ML with Concurrency: Design, Analysis, Implementation and Application, Monographs in Computer Science, chapter 5, pages 97–144. Springer, 1996.Google Scholar
  29. 29.
    P. Wadler. How to declare an imperative. ACM Computing Surveys, 29(3):240–263, September 1997.Google Scholar
  30. 30.
    P. Wegner. Interactive foundations of computing. Theoretical Computer Science, 192(2):315–351, February 1998.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Rachid Echahed
    • 1
  • Wendelin Serwe
    • 1
  1. 1.Laboratoire LEIBNIZInstitut IMAGGrenobleFrance

Personalised recommendations