Abstract. More and more aspects of concurrency and concurrent programming are becoming part of mainstream programming and software engineering, as a result of several factors, such as the widespread availability of multi-core / parallel architectures and Internet-based systems. Java has been one of the first mainstream languages providing a firstclass native support for multi-threading, with basic low level fine-grained concurrency mechanisms. Besides this fine-grained support to concurrency, the identification of higher-level—more coarse-grained—support is important as soon as programming and engineering complex concurrent applications is considered, helping to bridge the gap between system design, implementation and testing. Accordingly, in this paper we present simpA, a library-based extension of Java which introduces a high-level coarse-grained support to prototyping complex, multi-threaded / concurrent applications: Java programmers ided with an agent-oriented abstraction...