simpA: An Agent-Oriented Approach for Prototyping Concurrent Applications on Top of Java

   page       BibTeX_logo.png   
Vasco Amaral (eds.)
5th International Symposium on Principles and Practice of Programming in Java (PPPJ 2007), pages 185-194
ACM International Conference Proceeding 272
ACM, Lisboa, Portugal
5-7 September 2007

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 first-class native support for multi-threading, with basic low-level <i>fine-grained</i> concurrency mechanisms, recently improved by means of the <b>java.util.concurrent</b> library provided in the JDK 5.0.

Besides such a fine-grained support to concurrency, the identification of higher-level &mdash; more <i>coarse-grained</i> &mdash; support is important as soon as the programming and engineering of complex concurrent applications is considered, helping to bridge the gap between system design, implementation, or testing. Accordingly, in this paper we present simpA, a library-based extension of Java which aims at providing a high-level coarse-grained support to complex multithreaded / concurrent application programming, by providing Java programmers with an <i>agent-oriented</i> abstraction layer on top of the basic OO layer to organise and structure applications in terms of <i>agents</i> and <i>artifacts</i>.</p>

keywordssimpa, A&A, agent-oriented computing, concurrent programming