skip to main content
10.1145/1599410.1599436acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
research-article

A framework for abstract interpretation of timed concurrent constraint programs

Published:07 September 2009Publication History

ABSTRACT

Timed Concurrent Constraint Programming (tcc) is a declarative model for concurrency offering a logic for specifying reactive systems, i.e. systems that continuously interact with the environment. The universal tcc formalism (utcc) is an extension of tcc with the ability to express mobility. Here mobility is understood as communication of private names as typically done for mobile systems and security protocols. In this paper we consider the denotational semantics for tcc, and we extend it to a "collecting" semantics for utcc based on closure operators over sequences of constraints. Relying on this semantics, we formalize the first general framework for data flow analyses of tcc and utcc programs by abstract interpretation techniques. The concrete and abstract semantics we propose are compositional, thus allowing us to reduce the complexity of data flow analyses. We show that our method is sound and parametric w.r.t. the abstract domain. Thus, different analyses can be performed by instantiating the framework. We illustrate how it is possible to reuse abstract domains previously defined for logic programming, e.g., to perform a groundness analysis for tcc programs. We show the applicability of this analysis in the context of reactive systems. Furthermore, we make also use of the abstract semantics to exhibit a secrecy flaw in a security protocol. We have developed a prototypical implementation of our methodology and we have implemented the abstract domain for security to perform automatically the secrecy analysis.

References

  1. T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Two classes of Boolean functions for dependency analysis. Science of Computer Programming, 31(1), 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Berry and G. Gonthier. The ESTEREL synchronous programming language: Design, semantics, implementation. Science of Computer Programming, 19(2):87--152, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. Blanchet. Security protocols: from linear to classical logic by abstract interpretation. Inf. Process. Lett., 95(5):473--479, 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Codish and B. Demoen. Deriving polymorphic type dependencies for logic programs using multiple incarnations of prop. In Proc. of SAS'94, pages 281--296. Springer-Verlag, LNCS 864, 1994.Google ScholarGoogle Scholar
  5. M. Codish, H. Søndergaard, and P. Stuckey. Sharing and groundness dependencies in logic programs. ACM Trans. Program. Lang. Syst., 21(5), 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Cousot and R. Cousot. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming, 13(2&3):103--179, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. de Boer, M. Gabbrielli, and M.C. Meo. A timed concurrent constraint language. Information and Computation, 161(1):45--83, 2000. ALP, 21(2-3), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F.S. de Boer, A.D. Pierro, and C. Palamidessi. Nondeterminism and infinite computations in constraint programming. Theor. Comput. Sci., 151(1):37--78, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Denning and G. Sacco. Timestamps in key distribution protocols. Commun. ACM, 24(8), 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Dolev and A.C. Yao. On the security of public key protocols. IEEE Transactions on Information Theory, 29(12), 1983.Google ScholarGoogle Scholar
  11. M. Falaschi, M. Gabbrielli, K. Marriott, and C. Palamidessi. Compositional analysis for concurrent constraint programming. In Proc. of LICS'93, 1993.Google ScholarGoogle ScholarCross RefCross Ref
  12. M. Falaschi, M. Gabbrielli, K. Marriott, and C. Palamidessi. Confluence in concurrent constraint programming. Theoretical Computer Science, 183(2):281--315, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Falaschi, C. Olarte, and C. Palamidessi. A framework for abstract interpretation of timed concurrent constraint programs (extended version), 2009. http://www.lix.polytechnique.fr/~colarte/.Google ScholarGoogle Scholar
  14. M. Falaschi, C. Olarte, C. Palamidessi, and F. Valencia. Declarative diagnosis of temporal concurrent constraint programs. In Proc. of ICLP'07. Springer LNCS 4670, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Feret. Abstract interpretation of mobile systems. J. Log. Algebr. Program., 63(1):59--130, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  16. P.-L. Garoche, M. Pantel, and X. Thiroux. Abstract interpretationbased static safety for actors. Journal of Software, 2(3):87--98, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  17. T. Hildebrandt and H.A. Lopez. Types for secure pattern matching with local knowledge in universal concurrent constraint programming. In Proc. of ICLP'09. Springer LNCS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Jagadeesan, W. Marrero, C. Pitcher, and V.A. Saraswat. Timed constraint programming: a declarative approach to usage control. In Proc. of PPDP'05. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. H. Lopez, C. Olarte, and J.A. Perez. Towards a unified framework for declarative structured communications. In Proc. of PLACES'09, 2009.Google ScholarGoogle Scholar
  20. G. Lowe. Breaking and fixing the Needham-Schroeder public-key protocol using FDR. In Proc. of TACAS'96. LNCS, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N.P. Mendler, P. Panangaden, P.J. Scott, and R.A.G. Seely. A logical view of concurrent constraint programming. Nord. J. Comput., 2(2):181--220, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. Milner. Communicating and Mobile Systems: the pi-calculus. Cambridge University Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Nielsen, C. Palamidessi, and F. Valencia. Temporal concurrent constraint programming: Denotation, logic and applications. Nordic Journal of Computing, 9(1):145--188, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Olarte and C. Rueda. A declarative language for dynamic multimedia interaction systems. In Proc of. MCM'09. Springer, 2009.Google ScholarGoogle Scholar
  25. C. Olarte, C. Rueda, and F. Valencia. Concurrent constraint programming: Calculi, languages and emerging applications. Newsletter of the ALP, 21(2-3), 2008.Google ScholarGoogle Scholar
  26. C. Olarte and F. Valencia. The expressivity of universal timed CCP: Undecidability of monadic FLTL and closure operators for security. In Proc. of PPDP 08. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. C. Olarte and F. Valencia. Universal concurrent constraint programming: Symbolic semantics and applications to security. In Proc. of SAC'08. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. V. Saraswat, R. Jagadeesan, and V. Gupta. Foundations of timed concurrent constraint programming. In Proc. of LICS'94. IEEE Computer Society, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  29. V. Saraswat, M. Rinard, and P. Panangaden. Semantic foundation of Concurrent Constraint Programming. In POPL'91. ACM, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. D.X. Song, S. Berezin, and A. Perrig. Athena: A novel approach to efficient automatic security protocol analysis. Journal of Computer Security, 9(1/2):47--74, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Tini. On the expressiveness of timed concurrent constraint programming. Electr. Notes Theor. Comput. Sci., 27, 1999.Google ScholarGoogle Scholar
  32. E. Zaffanella, R. Giacobazzi, and G. Levi. Abstracting synchronization in concurrent constraint programming. Journal of Functional and Logic Programming, 1997(6), 1997.Google ScholarGoogle Scholar

Index Terms

  1. A framework for abstract interpretation of timed concurrent constraint programs

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      PPDP '09: Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
      September 2009
      324 pages
      ISBN:9781605585680
      DOI:10.1145/1599410

      Copyright © 2009 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 7 September 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate230of486submissions,47%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader