Hostname: page-component-76fb5796d-x4r87 Total loading time: 0 Render date: 2024-04-25T11:47:51.828Z Has data issue: false hasContentIssue false

Abstract diagnosis for timed concurrent constraint programs*

Published online by Cambridge University Press:  06 July 2011

MARCO COMINI
Affiliation:
Dipartimento di Matematica e Informatica University of Udine, Via delle Scienze, 206 33100 Udine, Italy (e-mail: marco.comini@uniud.it, laura.titolo@uniud.it)
LAURA TITOLO
Affiliation:
Dipartimento di Matematica e Informatica University of Udine, Via delle Scienze, 206 33100 Udine, Italy (e-mail: marco.comini@uniud.it, laura.titolo@uniud.it)
ALICIA VILLANUEVA
Affiliation:
Departamento de Sistemas Informáticos y Computación Universitat Politècnica de València, Camino de Vera s/n 46022 Valencia, Spain (e-mail: villanue@dsic.upv.es)

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.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2011

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

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.Google Scholar
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.Google Scholar
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.Google Scholar
Comini, M., Levi, G., Meo, M. C. and Vitiello, G. 1999. Abstract diagnosis. Journal of Logic Programming 39 (1–3), 4393.Google Scholar
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/.Google Scholar
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.Google Scholar
de Boer, F. S., Gabbrielli, M. and Meo, M. C. 2000. A timed concurrent constraint language. Information and Computation 161 (1), 4583.Google Scholar
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.Google Scholar
Gelernter, D. 1985. Generative Communication in Linda. ACM Transactions on Programming Languages and Systems (TOPLAS) 7 (1), 80113.Google Scholar
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.Google Scholar
Saraswat, V. A. 1993. Concurrent Constraint Programming. The MIT, Cambridge, MA.CrossRefGoogle Scholar
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.Google Scholar