Skip to main content

Resource-Oriented Deadlock Analysis

  • Conference paper
Book cover Logic Programming (ICLP 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4670))

Included in the following conference series:

  • 530 Accesses

Abstract

We present a method of detecting if deadlocks may occur in concurrent logic programs. Typical deadlock analysis is “process-oriented”, being based on possible interleaving of processes. Our method is oriented towards the shared resources (communication channels, locks et cetera) and is based on orders in which individual resources are used by different processes. In cases where there are resources used by only a subset of all processes the search space can be dramatically reduced. The method arises very naturally out of the concurrent logic programming paradigm. Analysis of concurrent programs has previously used “coarsification” and “partial order” methods to reduce the search space. Our approach rediscovers and also extends these techniques. Our presentation is based around a logic programming pearl which finds deadlocked computations in a program which solves the dining philosophers problem.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dijkstra, E.: Hierarchical ordering of sequential processes. Acta Informatica 1, 115–138 (1971)

    Article  Google Scholar 

  2. Gregory, S.: Parallel logic programming in PARLOG: the language and its implementation. Addison-Wesley, Reading (1987)

    Google Scholar 

  3. Shapiro, E.: A subset of Concurrent Prolog and its interpreter. In: Shapiro, E. (ed.) Concurrent Prolog: Collected Papers, vol. I, pp. 27–83. MIT Press, London (1987)

    Google Scholar 

  4. Ueda, K.: Guarded Horn clauses. PhD thesis, University of Tokyo, Japan (1986)

    Google Scholar 

  5. Naish, L.: Parallelizing NU-Prolog. In: Proceedings of the Fifth International Conference/Symposium on Logic Programming, pp. 1546–1564 (1988)

    Google Scholar 

  6. Naish, L.: Declarative diagnosis of floundering. Technical report, Department of Computer Science, University of Melbourne (submitted for publication, 2007)

    Google Scholar 

  7. Naish, L.: Coroutining and the construction of terminating logic programs. Australian Computer Science Communications 15(1), 181–190 (1993)

    Google Scholar 

  8. Naish, L.: A declarative view of floundering. Technical report, Department of Computer Science, University of Melbourne (submitted for publication, 2006)

    Google Scholar 

  9. Godefroid, P.: Partial-Order Methods for the Verification of Concurrent Systems. LNCS, vol. 1032. Springer, Heidelberg (1996)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Véronica Dahl Ilkka Niemelä

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Naish, L. (2007). Resource-Oriented Deadlock Analysis. In: Dahl, V., Niemelä, I. (eds) Logic Programming. ICLP 2007. Lecture Notes in Computer Science, vol 4670. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74610-2_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74610-2_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74608-9

  • Online ISBN: 978-3-540-74610-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics