Abstract
Using mobile agent systems, cooperative distributed applications that run over the Internet can be constructed flexibly.However, there are some problems: it is difficult to understand collaborations among agents and travels of individual agents as a whole because mobility/collaboration functions tend to be intertwined in the code; it is difficult to define behaviors of agents explicitly because they are influenced by their external context dynamically.Man y aspects of mobility/ collaboration strategies including traveling, coordination constraints, synchronization constraints and security-checking strategies should be considered when mobile agent applications are constructed.
In this paper, the concept of RoleEP(Role Based Evolutionary Programming) is proposed in order to alleviate these problems.In RoleEP, a field where a group of agents roam around hosts and collaborate with each other is regarded as an environment and mobility/collaboration functions that an agent should assume in an environment are defined as roles. An object becomes an agent by binding itself to a role that is defined in an environment, and acquires mobility/collaboration functions dynamically. RoleEP provides a mechanism for separating concerns about mobility/collaboration into environments and a systematic evolutionary programming style.Distributed applications based on mobile agent systems, which may change their functions dynamically in order to adapt themselves to their external context, can be constructed by synthesizing environments dynamically.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Akist, M. and Tripathi, A.: Data Abstraction Mechanisms in Sina/ST, Proceedings of the Conference on Object-Oriented Programming Systems, Language, and Applications (OOPSLA’88), pp.265–275, 1988.
Andersen, E.P. and Reenskaug, T.: System Design by Composing Structures of Interacting Objects, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’92), Lecture Notes in Computer Science, Springer, vol.615, pp.133–152, 1992.
Aridor, Y. and Lange, D.B.: Agent design patterns: Elements of agent application design, Proceedings of Agents’98, 1998.
Asp ectJ. http://aspectj.org/.
Bardou, D. and Dony, C.: Split Objects: a Disciplined Use of Delegation within Objects, Proceedings of the Conference on Object-Oriented Programming Systems, Language, and Applications (OOPSLA’96), pp.122–137, 1996.
Bardou, D.: Roles, Subjects and Aspects: How do they relate?, Proceedings of the Aspect-Oriented Programming Workshop at ECOOP’98, 1998.
Cardelli, L. and Gordon, A.D.: Mobile Ambients (Extended Abstract), the proceedings of the workshop on Higher Order Operational Techniques in Semantics, 1997.
Czarnecki, K. and Eisenecker, U.W.: Generative Programming, Addison-Wesley, 2000.
Fowler, M.: Dealing with Roles, Proceedings of the 4th Annual Conference on Pattern Languages of Programs, 1997.
Fuggetta, A., Picco, G.P.d, and Vigna, G.: Understanding Code Mobility, IEEE Transactions on Software Engineering, vol.24, No.5, pp.342–361, 1998.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J.: Design Patterns, Addison-Wesley Publishing Company, Inc., 1995.
Genesereth, M.R. and Ketchpel, S.P.: Software Agents, Communications of the ACM, vol.37, No.7, pp.48–53, 1994.
Guerraoui, R. et al.: Strategic Directions in Object-Oriented Programming. ACM Computing Surveys, Vol.28, No.4, pages 691–700, 1996.
Harrison, W. and Ossher, H.: Subject-oriented Programming, Proceedings of the 8th Conference on Object-Oriented Programming Systems, Language, and Applications (OOPSLA’93), pp.411–428, 1993.
IBM: Aglets Software Development Kit Home Page, http://www.trl.ibm.co.jp/aglets/index.html, 1999.
Kendall, E.A.: Role Model Designs and Implementations with Aspect-oriented Programming, Proceedings of the Conference on Object-Oriented Programming Systems, Language, and Applications (OOPSLA’99), pp.353–369, 1999.
Kiczales, G., Lamping, J., Mendhekar A., Maeda, C., Lopes, C., Loingtier, J., and Irwin, J.: Aspect-Oriented Programming, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’97), Lecture Notes in Computer Science, Springer, vol.1241, pp.220–242, 1997.
Kiniry, J. and Zimmerman, D.: A Hands-On Look at Java Mobile Agents, IEEE Internet Computing, vol.1, No.4, 1997.
Kristensen, B.B.: Object-oriented Modeling with Roles, Proceedings of the 2nd International Conference on Object-oriented Information Systems (OOIS’95), 1996.
Kristensen, B.B. and Osterbye, K.: Roles: Conceptual Abstraction Theory and Practical Language Issues, Special Issue of Theory and Practice of Object Systems (TAPOS) on Subjectivity in Object-oriented Systems, 1996.
Kristensen, B.B. and May, D.C.M.: Activities: Abstractions for Collective Behavior, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’96), Lecture Notes in Computer Science, Springer, vol.1098, pp.472–501, 1996.
Lange, D. and Oshima M.: Programming and Deploying Java Mobile Agents with Aglets, Addison-Wesley, 1998.
Mezini, M., Seiter, L. and Lieberherr, K.: Component Integration with Pluggable Composite Adapters, Software Architectures and Component Technology: The State of the Art in Research and Practice, Mehmet Aksit, editor, Kluwer Academic Publishers, 2000.
Murillo, J.M., Hernandez, J., Sanchez, F., and Alvarez, L.A.: Coordinated Roles: Promoting Re-usability of Coordinated Active Objects Using Event Notification Protocols, COORDINATION’99 Proceedings, pp.53–68, 1999.
Smith, R.G.: The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver, IEEE Trans. on Computers, vol.29, No.12, pp.1104–1113, 1980.
Smith, R.B. and Ungar, D.: Programming as an Experience: The Inspiration for Self, Proceedings of the European Conference on Object-Oriented Programming (ECOOP’95), Lecture Notes in Computer Science, Springer, vol.952, pp.303–330, 1995.
Tamai, T.: Objects and roles: modeling based on the dualistic view, Information and Software Technology, Vol.41, No.14, pp.1005–1010, 1999.
Ubayashi, N. and Tamai, T.: An Evolutional Cooperative Computation Based on Adaptation to Environment, Proceedings of Sixth Asia Pacific Software Engineering Conference (APSEC’99), IEEE Computer Society, pp.334–341, 1999.
VanHilst, M. and Notkin, D.: Using Role Components to Implement Collaboration-Based Designs, Proceedings of the Conference on Object-Oriented Programming Systems, Language, and Applications (OOPSLA’96), pp.359–369
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ubayashi, N., Tamai, T. (2001). Separation of Concerns in Mobile Agent Applications. In: Yonezawa, A., Matsuoka, S. (eds) Metalevel Architectures and Separation of Crosscutting Concerns. Reflection 2001. Lecture Notes in Computer Science, vol 2192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45429-2_7
Download citation
DOI: https://doi.org/10.1007/3-540-45429-2_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42618-9
Online ISBN: 978-3-540-45429-8
eBook Packages: Springer Book Archive