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 first-class 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 are provided with an agent-oriented abstraction layer on top of the basic OO layer to organize and structure applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agha, G.: Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge (1986)
Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. ACM Trans. Program. Lang. Syst. 26(5), 769–804 (2004)
Bordini, R.H., Hübner, J.F., Vieira, R.: Jason and the golden fleece of agent-oriented programming. In: Bordini, R.H., Dastani, M., Dix, J., El Fallah Seghrouchni, A. (eds.) Multi-Agent Programming: Languages, Platforms and Applications, pp. 3–37. Springer, Heidelberg (2005)
Briot, J.-P., Guerraoui, R., Lohr, K.-P.: Concurrency and distribution in object-oriented programming. ACM Comput. Surv. 30(3), 291–329 (1998)
Dastani, M., Hobo, D., Meyer, J.-J.: Practical extensions in agent programming languages. In: Proceedings of the Sixth International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2007). ACM Press, New York (2007)
Freeman, E., Hupfer, S., Arnold, K.: JavaSpaces: Principles, Patterns, and Practice. The Jini Technology Series. Addison-Wesley, Reading (1999)
Gelernter, D.: Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)
Iglesias, C., Garrijo, M., Gonzalez, J.: A survey of agent-oriented methodologies. In: Müller, J., Singh, M.P., Rao, A.S. (eds.) ATAL 1998. LNCS (LNAI), vol. 1555, pp. 317–330. Springer, Heidelberg (1999)
Lavender, R.G., Schmidt, D.C.: Active object: an object behavioral pattern for concurrent programming. In: Pattern languages of program design 2, pp. 483–499. Addison-Wesley Longman Publishing Co., Inc., Boston (1996)
Lea, D.: The java.util.concurrent synchronizer framework. Sci. Comput. Program. 58(3), 293–309 (2005)
Lieberman, H.: The continuing quest for abstraction. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 192–197. Springer, Heidelberg (2006)
Nardi, B.A.: Context and Consciousness: Activity Theory and Human-Computer Interaction. MIT Press, Cambridge (1996)
Omicini, A., Denti, E.: From tuple spaces to tuple centres. Science of Computer Programming 41(3), 277–294 (2001)
Omicini, A., Ricci, A., Viroli, M., Castelfranchi, C., Tummolini, L.: Coordination artifacts: Environment-based coordination for intelligent agents. In: Proceedings of the 3rd International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2004), vol. 1, pp. 286–293. IEEE computer Society, Washington (2004)
Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: A bdi reasoning engine. In: Bordini, R., Dastani, M., Dix, J., Seghrouchni, A. (eds.) Multi-Agent Programming, Kluwer, Dordrecht (2005)
Ricci, A., Viroli, M.: simpA: An agent-oriented approach for prototyping concurrent applications on top of java. In: Amaral, V., Veiga, L., Marcelino, L., Cunningham, H.C. (eds.) Proceedings of the 5th International Conference, Principles and Practice of Programming in Java (PPPJ 2007), Lisbon, Portugal, September 2000, pp. 185–194 (2000)
Ricci, A., Viroli, M., Omicini, A.: Give agents their artifacts: The A&A approach for engineering working environments in MAS. In: Durfee, E., Yokoo, M., Huhns, M., Shehory, O. (eds.) 6th International Joint Conference Autonomous Agents & Multi-Agent Systems (AAMAS 2007), pp. 601–603 (2007)
Ricci, A., Viroli, M., Omicini, A.: CArtAgO: A framework for prototyping artifact-based environments in MAS. In: Weyns, D., Parunak, H.V.D., Michel, F. (eds.) E4MAS 2006. LNCS (LNAI), vol. 4389, pp. 67–86. Springer, Heidelberg (2007)
Ricci, A., Viroli, M., Omicini, A.: The A&A programming model and technology for developing agent environments in MAS. In: Dastani, M., El Fallah Seghrouchni, A., Ricci, A., Winikoff, M. (eds.) Programming Multi-Agent Systems. LNCS (LNAI), vol. 4908, pp. 89–106. Springer, Heidelberg (2008)
Sutter, H., Larus, J.: Software and the concurrency revolution. ACM Queue: Tomorrow’s Computing Today 3(7), 54–62 (2005)
Viroli, M., Ricci, A.: Instructions-based semantics of agent mediated interaction. In: Proceedings of the 3rd International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2004), vol. 1, pp. 102–109. IEEE Computer Society, Washington (2004)
Weyns, D., Parunak, H.V.D. (eds.): Journal of Autonomous Agents and Multi-Agent Systems. Special Issue: Environment for Multi-Agent Systems, vol. 14(1). Springer, Heidelberg (2007)
Yonezawa, A., Tokoro, M. (eds.): Object-oriented concurrent programming. MIT Press, Cambridge (1986)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ricci, A., Viroli, M., Piancastelli, G. (2008). simpA: A Simple Agent-Oriented Java Extension for Developing Concurrent Applications. In: Dastani, M., El Fallah Seghrouchni, A., Leite, J., Torroni, P. (eds) Languages, Methodologies and Development Tools for Multi-Agent Systems. LADS 2007. Lecture Notes in Computer Science(), vol 5118. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85058-8_16
Download citation
DOI: https://doi.org/10.1007/978-3-540-85058-8_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-85057-1
Online ISBN: 978-3-540-85058-8
eBook Packages: Computer ScienceComputer Science (R0)