JavaSpaces is a coordination middleware for distributed Java programming recently proposed by Sun Microsystems. It is inspired by the Linda coordination model: processes interact via the output (write), consumption (take), test for presence (read) and the test for absence (takeIfExists and readIfExists) of data inside a shared repository. Three are the most interesting new features introduced by JavaSpaces. The first one is an event notification mechanism (notify): a process can register interest in the incoming arrivals of a particular kind of data, and then receive communication of the occurrence of these events. The second feature is the so-called distributed leasing: at the moment a client outputs a tuple, it also declares its required lifetime (that the server may satisfy only partially). The third feature is a timeout on the blocking operation of input: if no instance is found before the timeout expires, then the operation fails and terminates. We present a structured operational semantics for a process algebra featuring these coordination primitives. This abstract semantics is used to clarify possible ambiguities of the informal definitions of JavaSpaces, to discuss possible implementation choices and to compare the expressive power of the new primitives. Interestingly enough, many subtle phenomena occur, some of which might lead to reconsider the actual choice of primitives.


Operational Semantic Label Transition System Event Notification Basic Time Interval Outgoing Transition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [1]
    N. Busi, R. Gorrieri, and G. Zavattaro. A Process Algebraic View of Linda Coordination Primitives. Theoretical Computer Science, 192 (2): 167–199, 1998.MathSciNetCrossRefzbMATHGoogle Scholar
  2. [2]
    N. Busi, R. Gorrieri, and G. Zavattaro. On the Expressiveness of Linda Coordination Primitives. Information and Computation,156:90–121, 2000. Extended abstract appeared in Proc. of Express’97.Google Scholar
  3. [3]
    N. Busi, R. Gorrieri, and G. Zavattaro. Comparing Three Semantics for Linda-like Languages. Theoretical Computer Science,to appear, 2000. Extended abstract appeared in Proc. of Coordination’97.Google Scholar
  4. [4]
    N. Busi and G. Zavattaro. Event Notification in Data-driven Coordination Languages: Comparing the Ordered and Unordered Interpretations. In Proc. of SAC2000, pages 233–239. ACM Press, 2000.Google Scholar
  5. [5]
    N. Busi and G. Zavattaro. On the Expressiveness of Event Notification in Data-driven Coordination Languages. In Proc. of ESOP2000, volume 1782 of Lecture Notes in Computer Science, pages 41–55. Springer-Verlag, Berlin, 2000.Google Scholar
  6. [6]
    N. Busi, R. Gorrieri, and G. Zavattaro. Process Calculi for Coordination: from Linda to JavaSpaces. In Proc. of AMAST2000, volume to appear of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 2000.Google Scholar
  7. [7]
    N. Busi, R. Gorrieri, and G. Zavattaro. On the Expressiveness of Distributed Leasing in Linda-like Coordination Languages. Technical report UBLCS-2000–5, Department of Computer Science, University of Bologna, Italy. May 2000.Google Scholar
  8. [8]
    C. Dufourd, A. Finkel, and P. Schnoebelen. Reset nets between decidability and undecidability. In Proc. of ICALP ‘98, volume 1061 of Lecture Notes in Computer Science, pages 103–115. Springer-Verlag, Berlin, 1998.Google Scholar
  9. [9]
    D. Gelernter and N. Carriero. Coordination Languages and their Significance. Communications of the ACM, 35 (2): 97–107, 1992.CrossRefGoogle Scholar
  10. [10]
    J.F. Groote. Transition system specifications with negative premises. Theoretical Computer Science, 118: 263–299, 1993.MathSciNetCrossRefzbMATHGoogle Scholar
  11. [11]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  12. [12]
    J. McClain. Personal communications. March 1999.Google Scholar
  13. [13]
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  14. [14]
    R. Milner, J. Parrow, and D. Walker. A Calculus of Mobile Processes. Information and Computation, 100 (1): 1–77, 1992.MathSciNetCrossRefzbMATHGoogle Scholar
  15. [15]
    Sun Microsystem, Inc. JavaSpaces Specifications, 1998.Google Scholar
  16. [16]
    Sun Microsystem, Inc. Jini Distributed Leasing Specifications, 1998.Google Scholar
  17. [17]
    P. Wyckoff, S.W. McLaughry, T.J. Lehman, and D.A. Ford. T Spaces. IBM Systems Journal, 37 (3): 454–474, 1998.CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2000

Authors and Affiliations

  • Nadia Busi
    • 1
  • Roberto Gorrieri
    • 1
  • Gianluigi Zavattaro
    • 1
  1. 1.Dipartimento di Scienze dell’InformazioneUniversità di BolognaBolognaItaly

Personalised recommendations