Declarative concurrency in Java

  • Rafael Ramirez
  • Andrew E. Santosa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1800)


We propose a high-level language based on first order logic for expressing synchronization in concurrent object-oriented programs. The language allows the programmer to declaratively state the system safety properties as temporal constraints on specific program points of interest. Higher-level synchronization constraints on methods in a class may be defined using these temporal constraints. The constraints are enforced by the run-time environment. We illustrate our language by expressing synchronization of Java programs. However, the general underlying synchronization model we present is language independent in that it allows the programmer to glue together separate concurrent threads regardless of their implementation language and application code.


Visit Time Temporal Constraint Safety Property Concurrent Programming Program Point 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Atkinson, C. 1991. Object-Oriented Reuse, Concurrency and Distribution: An Ada-Based Approach. Addison-Wesley.Google Scholar
  2. 2.
    Van den Bos, J. and Laffra, C. 1989. PROCOL: A parallel object language with protocols. ACM SIGPLAN Notices 24(10):95–112, October 1989. Proc. of OOPSLA’ 89.CrossRefGoogle Scholar
  3. 3.
    Gregory, S. and Ramirez, R. 1995. Tempo: a declarative concurrent programming language. Proc. of the ICLP (Tokyo, June), MIT Press, 1995.Google Scholar
  4. 4.
    Gregory, S. 1995. Derivation of concurrent algorithms in Tempo. In LOPSTR95: Fifth International Workshop on Logic Program Synthesis and Transformation.Google Scholar
  5. 5.
    Hong, S. and Gerber, R. 1995. Compiling real-time programs with timing constraint refinement and structural code motion, IEEE Transactions on Software Engineering, 21.Google Scholar
  6. 6.
    Jahnaian F. and Mok A. K. 1987. A graph theoretic approach for timing analysis and its implementation, IEEE Transactions on Computers, C36(8).Google Scholar
  7. 7.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C, Lopes, C, Loingtier, J.-M. and Irwin, J. 1997. Aspect-oriented programming. In ECOOP’ 97—Object-Oriented Programming, Lecture Notes in Computer Science, number 1241, pp. 220–242, Springer-Verlag.CrossRefGoogle Scholar
  8. 8.
    Kowalski, R.A. and Sergot, M.J. 1986. A logic-based calculus of events. New Generation Computing 4, pp. 67–95.CrossRefGoogle Scholar
  9. 9.
    Krakowiak, S., Meysembourg, M., Nguyen Van, H., Riveill, M., Roisin, C. and Rousset de Pina, X. 1990. Design and implementation of an object-oriented strongly typed language for distributed applications. Journal of Object-Oriented Programming 3(3):11–22.Google Scholar
  10. 10.
    Leung, A., Palem, K. and Pnueli, A. 1998. Time C: A Time Constraint Language for ILP Processor Compilation, Technical Report TR1998-764, New York University.Google Scholar
  11. 11.
    Pratt, V. 1986. Modeling concurrency with partial orders. International Journal of Parallel Programming 15,1, pp. 33–71.zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Ramirez, R. 1996. A logic-based concurrent object-oriented programming language, PhD thesis, Bristol University.Google Scholar
  13. 13.
    Shaw, A. 1989. Reasoning about time in higher-level language software, IEEE Transactions on Software Engineering, 15(7).Google Scholar
  14. 14.
    Stoyenko, A. D., Marlowe, T. J. and Younis, M. F. 1996. A language for complex real-time systems, Technical Report cis9521, New Jersey Institute of Technology.Google Scholar
  15. 15.
    De Voider, K. and D’Hondt, T. 1999. Aspect-oriented logic meta programming. In Meta-Level Architectures and Reflection, Lecture Notes in Computer Science number 1616, pp. 250–272. Springer-Verlag.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Rafael Ramirez
    • 1
  • Andrew E. Santosa
    • 1
  1. 1.School of ComputingNational University of SingaporeSingapore

Personalised recommendations