Skip to main content Accessibility help
×
Home

Abstract diagnosis for timed concurrent constraint programs*

  • MARCO COMINI (a1), LAURA TITOLO (a1) and ALICIA VILLANUEVA (a2)

Abstract

The timed concurrent constraint language (tccp in short) is a concurrent logic language based on the simple but powerful concurrent constraint paradigm of Saraswat. In this paradigm, the notion of store-as-value is replaced by the notion of store-as-constraint, which introduces some differences w.r.t. other approaches to concurrency. In this paper, we provide a general framework for the debugging of tccp programs. To this end, we first present a new compact, bottom-up semantics for the language that is well suited for debugging and verification purposes in the context of reactive systems. We also provide an abstract semantics that allows us to effectively implement debugging algorithms based on abstract interpretation. Given a tccp program and a behavior specification, our debugging approach automatically detects whether the program satisfies the specification. This differs from other semi-automatic approaches to debugging and avoids the need to provide symptoms in advance. We show the efficacy of our approach by introducing two illustrative examples. We choose a specific abstract domain and show how we can detect that a program is erroneous.

Copyright

References

Hide All
Alpuente, M., Comini, M., Escobar, S., Falaschi, M. and Lucas, S. 2003. Abstract Diagnosis of Functional Programs. In Logic Based Program Synthesis and Transformation—12th International Workshop, LOPSTR 2002, Revised Selected Papers, Leuschel, M., Ed. Lecture Notes in Computer Science, vol. 2664. Springer-Verlag, Berlin, 116.
Alpuente, M., Gallardo, M., Pimentel, E. and Villanueva, A. 2005. A semantic framework for the abstract model checking of tccp programs. Theoretical Computer Science 346 (1), 5895.
Bacci, G. and Comini, M. 2011. Abstract diagnosis of first order functional logic programs. In Logic-based Program Synthesis and Transformation, 20th International Symposium, Alpuente, M., Ed. Lecture Notes in Computer Science, vol. 6564. Springer-Verlag, Berlin, 208226.
Comini, M., Levi, G., Meo, M. C. and Vitiello, G. 1999. Abstract diagnosis. Journal of Logic Programming 39 (1–3), 4393.
Comini, M., Titolo, L. and Villanueva, A. 2011. A Compact Goal-Independent Bottom-Up Fixpoint Modeling the Behavior of tccp. Tech. Rep. DIMI-UD/01/2011/RR, Dipartimento di Matematica e Informatica, U. di Udine. http://www.dimi.uniud.it/comini/Papers/.
Cousot, P. and Cousot, R. 1979. Systematic Design of Program Analysis Frameworks. In Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, San Antonio, Texas, January 29–31. ACM Press, New York, NY, USA, 269282.
de Boer, F. S., Gabbrielli, M. and Meo, M. C. 2000. A timed concurrent constraint language. Information and Computation 161 (1), 4583.
Falaschi, M., Olarte, C., Palamidessi, C. and Valencia, F. 2007. Declarative diagnosis of temporal concurrent constraint programs. In Proceedings of the 23rd International Conference on Logic Programming (ICLP'07). Lecture Notes in Computer Science, vol. 4670. Springer-Verlag, 271285.
Gelernter, D. 1985. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems (TOPLAS) 7 (1), 80113.
Palamidessi, C. and Valencia, F. D. 2001. A Temporal Concurrent Constraint Programming Calculus. In Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming (CP'01). Lecture Notes in Computer Science, vol. 2239. Springer, 302316.
Saraswat, V. A. 1993. Concurrent Constraint Programming. The MIT, Cambridge, MA.
Shapiro, E. Y. 1982. Algorithmic Program Debugging. In Proceedings of Ninth Annual ACM Symp. on Principles of Programming Languages. ACM Press, New York, NY, USA, 412531.

Keywords

Abstract diagnosis for timed concurrent constraint programs*

  • MARCO COMINI (a1), LAURA TITOLO (a1) and ALICIA VILLANUEVA (a2)

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed