Skip to main content

On the Implementation Complexity of Specifications of Concurrent Programs

  • Conference paper
Distributed Computing (DISC 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2848))

Included in the following conference series:

Abstract

We present a decision algorithm for the following problem: given a specification, does there exist a concurrent program which both satisfies the specification and which can be implemented in hardware-available operations in a straightforward manner, i.e, without long correctness proofs, and without introducing excessive blocking and/or centralization? In case our decision algorithm answers “yes,” we also present a synthesis method to produce such a program. We consider specifications expressed in branching time temporal logic. Our result gives a way of classifying specifications as either “easy to implement” or “difficult to implement,” and can be regarded as the first step towards a notion of “implementation complexity” of specifications.

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. Anderson, J.H., Moir, M.: Universal constructions for multi-object operations. In: Symposium on Principles of Distributed Computing (1995)

    Google Scholar 

  2. Anuchitanukul, A., Manna, Z.: Realizability and synthesis of reactive modules. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 156–169. Springer, Heidelberg (1994)

    Google Scholar 

  3. Attie, P.C., Emerson, E.A.: Synthesis of concurrent systems for an atomic read/atomic write model of computation (extended abstract). In: Fifteenth Annual ACM Symposium on Principles of Distributed Computing, May 1996, pp. 111–120. ACM Press, New York (1996)

    Chapter  Google Scholar 

  4. Attie, P.C., Emerson, E.A.: Synthesis of concurrent systems for an atomic read/write model of computation. ACM Trans. Program. Lang. Syst. 23(2), 187–242 (2001); Extended abstract appears in ACM Symposium on Principles of Distributed Computing PODC 1996 (1996)

    Article  Google Scholar 

  5. Browne, M.C., Clarke, E.M., Grumberg, O.: Characterizing finite kripke structures in propositional temporal logic. Theoretical Computer Science 59, 115–131 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  6. Courtois, P.J., Heymans, H., Parnas, D.L.: Concurrent control with readers and writers. Communications of the ACM 14(10), 667–668 (1971)

    Article  Google Scholar 

  7. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall Inc., Englewood Cliffs (1976)

    MATH  Google Scholar 

  8. Dill, D.L., Wong-Toi, H.: Synthesizing processes and schedulers from temporal specifications. In: Clarke, E., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 272–281. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  9. Emerson, E.A.: Temporal and modal logic. In: Van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science. Formal Models and Semantics, vol. B. The MIT Press/Elsevier (1990)

    Google Scholar 

  10. Emerson, E.A., Clarke, E.M.: Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Program. 2, 241–266 (1982)

    Article  MATH  Google Scholar 

  11. Harris, T.L., Fraser, K., Pratt, I.: A practical multi-word compare-and-swap operation. In: IEEE Symposium on Distributed Computing (2002)

    Google Scholar 

  12. Katz, S.: Temporary stability in parallel programs. Tech. Rep., Computer Science Dept., Technion, Haifa, Israel (1986)

    Google Scholar 

  13. Kupferman, O., Madhusudan, P., Thiagarajan, P.S., Vardi, M.Y.: Open systems in reactive environments: Control and synthesis. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 92–107. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  14. Kupferman, O., Vardi, M.Y.: Synthesis with incomplete information. In: 2nd International Conference on Temporal Logic, Manchester, July 1997, pp. 91–106. Kluwer Academic Publishers, Dordrecht (1997)

    Google Scholar 

  15. Manna, Z., Wolper, P.: Synthesis of communicating processes from temporal logic speciications. ACM Trans. Program. Lang. Syst. 6(1), 68–93 (1984); Also appears in Proceedings of the Workshop on Logics of Programs, Yorktown-Heights, N.Y. LNCS. Springer, Heidelberg (1981)

    Google Scholar 

  16. Moir, M.: Transparent support for wait-free transactions. In: Workshop on Distributed Algorithms (1997)

    Google Scholar 

  17. Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Proceedings of the 16th ACM Symposium on Principles of Programming Languages, pp. 179–190. ACM, New York (1989)

    Google Scholar 

  18. Pnueli, A., Rosner, R.: On the synthesis of asynchronous reactive modules. In: Ronchi Della Rocca, S., Ausiello, G., Dezani-Ciancaglini, M. (eds.) ICALP 1989. LNCS, vol. 372, pp. 652–671. Springer, Heidelberg (1989)

    Chapter  Google Scholar 

  19. Shavit, N., Touitou, D.: Software transactional memory. In: ACM Symposium on Principles of Distributed Computing, Ontario, Canada (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Attie, P.C. (2003). On the Implementation Complexity of Specifications of Concurrent Programs. In: Fich, F.E. (eds) Distributed Computing. DISC 2003. Lecture Notes in Computer Science, vol 2848. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39989-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39989-6_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20184-7

  • Online ISBN: 978-3-540-39989-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics