Process algebras are widely used for defining the formal semantics of concurrent communicating processes. In process algebra, concurrent processes can be specified to execute di...
Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. A common kind of concurrency error is deadlock, which occurs when some thread...
The Java memory model described in Chapter 17 of the Java Language Specification gives constraints on how threads interact through memory. This chapter is hard to interpret and po...
A central service of a constraint programming system is search. In almost all constraint programming systems search is based on trailing, which is well understood and known to be ...
Deterministic optimization approaches have been well developed and widely used in the process industry to accomplish off-line and on-line process optimization. The challenging tas...