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 applicat...
In this paper, we present a formal model of Java concurrency using the Object-Z specification langua...
Synchronization of concurrent activities is a major issue of concurrent object-oriented programming ...
Multithreaded programming is difficult and error prone. Multithreaded programs typically synchronize...
We introduce Jeeg, a dialect of Java based on a declarative replacement of the synchronization mecha...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
Digital services are becoming an essential part of our daily lives. To provide these services, effic...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
Logic variables pioneered by (concurrent) logic and concurrent constraint programming are powerful m...
This paper introduces a temporal logic based on precedence constraints among events which captures n...
We introduce Jeeg, a dialect of Java based on a declarative replacement of the synchronization mecha...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
. We analyse how inheritance of synchronization constraints should be supported. The conclusion of o...
We describe a generative approach that enables concurrent typestate-oriented programming in Java and...
A structural operational semantics of a significant sublanguage of Java is presented, including the ...
In this paper, we present a formal model of Java concurrency using the Object-Z specification langua...
Synchronization of concurrent activities is a major issue of concurrent object-oriented programming ...
Multithreaded programming is difficult and error prone. Multithreaded programs typically synchronize...
We introduce Jeeg, a dialect of Java based on a declarative replacement of the synchronization mecha...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
Digital services are becoming an essential part of our daily lives. To provide these services, effic...
This thesis presents the design, implementation, and evaluation of Flow Java, a programming language...
Logic variables pioneered by (concurrent) logic and concurrent constraint programming are powerful m...
This paper introduces a temporal logic based on precedence constraints among events which captures n...
We introduce Jeeg, a dialect of Java based on a declarative replacement of the synchronization mecha...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
This paper discusses formal specification and verification of the synchronisation classes of the Jav...
. We analyse how inheritance of synchronization constraints should be supported. The conclusion of o...
We describe a generative approach that enables concurrent typestate-oriented programming in Java and...
A structural operational semantics of a significant sublanguage of Java is presented, including the ...
In this paper, we present a formal model of Java concurrency using the Object-Z specification langua...
Synchronization of concurrent activities is a major issue of concurrent object-oriented programming ...
Multithreaded programming is difficult and error prone. Multithreaded programs typically synchronize...