Formal verification of concurrent and distributed constraint-based Java programs
Rafael Ramírez, Andrew E. Santosa · 2005
The task of programming concurrent systems is substantially more difficult than the task of programming sequential systems with respect to both correctness and efficiency. This paper describes (1) a powerful mechanism for elegantly synchronizing concurrent and distributed computations which supports a declarative model of concurrency that avoids explicitly suspending and resuming computations, (2) its implementation (for both uniprocessors and distributed systems) as an extension to the Java programming language, and (3) how model-based verification methods can be directly applied to programs in the resulting language.