Advertisement

Separation of Concerns in Mobile Agent Applications

  • Naoyasu Ubayashi
  • Tetsuo Tamai
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2192)

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.

Keywords

Mobile Agent Information Searcher Mobility Function External Context Role Class 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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.Google Scholar
  2. 2.
    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.CrossRefGoogle Scholar
  3. 3.
    Aridor, Y. and Lange, D.B.: Agent design patterns: Elements of agent application design, Proceedings of Agents’98, 1998.Google Scholar
  4. 4.
  5. 5.
    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.Google Scholar
  6. 6.
    Bardou, D.: Roles, Subjects and Aspects: How do they relate?, Proceedings of the Aspect-Oriented Programming Workshop at ECOOP’98, 1998.Google Scholar
  7. 7.
    Cardelli, L. and Gordon, A.D.: Mobile Ambients (Extended Abstract), the proceedings of the workshop on Higher Order Operational Techniques in Semantics, 1997.Google Scholar
  8. 8.
    Czarnecki, K. and Eisenecker, U.W.: Generative Programming, Addison-Wesley, 2000.Google Scholar
  9. 9.
    Fowler, M.: Dealing with Roles, Proceedings of the 4th Annual Conference on Pattern Languages of Programs, 1997.Google Scholar
  10. 10.
    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.CrossRefGoogle Scholar
  11. 11.
    Gamma, E., Helm, R., Johnson, R., and Vlissides, J.: Design Patterns, Addison-Wesley Publishing Company, Inc., 1995.Google Scholar
  12. 12.
    Genesereth, M.R. and Ketchpel, S.P.: Software Agents, Communications of the ACM, vol.37, No.7, pp.48–53, 1994.Google Scholar
  13. 13.
    Guerraoui, R. et al.: Strategic Directions in Object-Oriented Programming. ACM Computing Surveys, Vol.28, No.4, pages 691–700, 1996.CrossRefGoogle Scholar
  14. 14.
    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.Google Scholar
  15. 15.
    IBM: Aglets Software Development Kit Home Page, http://www.trl.ibm.co.jp/aglets/index.html, 1999.
  16. 16.
    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.Google Scholar
  17. 17.
    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.Google Scholar
  18. 18.
    Kiniry, J. and Zimmerman, D.: A Hands-On Look at Java Mobile Agents, IEEE Internet Computing, vol.1, No.4, 1997.Google Scholar
  19. 19.
    Kristensen, B.B.: Object-oriented Modeling with Roles, Proceedings of the 2nd International Conference on Object-oriented Information Systems (OOIS’95), 1996.Google Scholar
  20. 20.
    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.Google Scholar
  21. 21.
    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.Google Scholar
  22. 22.
    Lange, D. and Oshima M.: Programming and Deploying Java Mobile Agents with Aglets, Addison-Wesley, 1998.Google Scholar
  23. 23.
    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.Google Scholar
  24. 24.
    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.Google Scholar
  25. 25.
    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.CrossRefGoogle Scholar
  26. 26.
    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.Google Scholar
  27. 27.
    Tamai, T.: Objects and roles: modeling based on the dualistic view, Information and Software Technology, Vol.41, No.14, pp.1005–1010, 1999.CrossRefGoogle Scholar
  28. 28.
    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.Google Scholar
  29. 29.
    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–369Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Naoyasu Ubayashi
    • 1
  • Tetsuo Tamai
    • 2
  1. 1.Systems Integration Technology CenterToshiba CorporationTokyoJapan
  2. 2.Graduate School of Arts and SciencesUniversity of TokyoTokyoJapan

Personalised recommendations