Skip to main content

Objects as Actors Assuming Roles in the Environment

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 4408)

Abstract

To achieve the goal of realizing object adaptation to environments, a new role-based model Epsilon and a language EpsilonJ are proposed. In Epsilon, an environment is defined as a field of collaboration between roles and an object adapts to the environment assuming one of the roles. Objects can freely enter or leave environments and belong to multiple environments at a time so that dynamic adaptation or evolution of objects is realized. Environments and roles are the first class constructs at runtime as well as at model description time so that separation of concerns is not only materialized as a static structure but also observable as behaviors. Environments encapsulating collaboration are independent reuse components to be deployed separately from objects. In this paper, the Epsilon model and the language are explained with some examples. The effectiveness of the model is illustrated by a case study on the problem of integrated systems. Implementation of the language is also reported.

Keywords

  • Multiagent System
  • Role Method
  • Role Instance
  • Class Person
  • Role Employee

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.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-540-73131-3_11
  • Chapter length: 19 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   59.99
Price excludes VAT (USA)
  • ISBN: 978-3-540-73131-3
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   79.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Depke, R., Heckel, R., Kuster, J.M.: Roles in agent-oriented modeling. International Journal of Software Engineering and Knowledge Engineering 11(3), 281–302 (2001)

    CrossRef  Google Scholar 

  2. Filman, R.E., Friedman, D.P.: Aspect-oriented programming is quantification and obliviousness. In: Aspect-Oriented Software Development, pp. 21–35. Addison-Wesley, Reading (2005)

    Google Scholar 

  3. Fowler, M.: Dealing with roles. Supplemental information to Analysis Pattern, Addison-Wesley (1997), http://www2.awl.com/cseng/titles/0-201-89542-0/apsupp/

  4. Graverson, K.B.: The success and failures of a language as a language extension. In: ECOOP 2003 Workshop on Object-oriented Language Engineering for the Post-Java Era, Darmstadt, Germany (2003)

    Google Scholar 

  5. Graverson, K.B., Osterbye, K.: Aspect modelling as role modelling. In: OOPSLA 2002 Workshop on TS4AOSD, Seattle (Nov. 2002)

    Google Scholar 

  6. Griswold, W.G., Shonled, M., Sullivan, K., Song, Y., Tewari, N., Cai, Y.: Modular software design with crosscutting interfaces. IEEE Software (Jan/Feb 2006)

    Google Scholar 

  7. Herrman, S.: Programming with roles in ObjectTeams/Java. In: AAAI ’05 (Oct. 2005)

    Google Scholar 

  8. Honda, Y., Watari, S., Tokoro, M.: Compositional adaptation: A new method for constructing software for open-ended systems (in Japanese). Computer Software 9(2), 122–136 (1992)

    Google Scholar 

  9. Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)

    Google Scholar 

  10. Jacobson, I., Christerson, M., Jonsson, P., Övergaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. ACM Press, New York (1992)

    MATH  Google Scholar 

  11. Jennings, N.R.: An agent-based approach for building complex software systems. Communications of the ACM 44(4) (2001)

    Google Scholar 

  12. Kamina, T., Tamai, T.: McJava – A design and implementation of java with mixin-types. In: Chin, W.-N. (ed.) APLAS 2004. LNCS, vol. 3302, pp. 398–414. Springer, Heidelberg (2004)

    Google Scholar 

  13. Kendall, E.A.: Role model designs and implementations with aspect-oriented programming. In: OOPSLA’ 99, Nov. 1999, pp. 353–369 (1999)

    Google Scholar 

  14. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    CrossRef  Google Scholar 

  15. Kristensen, B.B., Osterbye, K.: Roles: Conceptual abstraction theory and practical language issues. Theory and Practice of Object Systems 2(3), 143–160 (1996)

    CrossRef  Google Scholar 

  16. Martin-Flatin, J.-P., Sventek, J., Geihs, K.: Self-managed systems and services. Communications of ACM 49(3), 37–39 (2006)

    CrossRef  Google Scholar 

  17. Mezini, M., Ostermann, K.: Conquering aspects with Caesar. In: Proceedings of the International Conference on Aspect-Oriented Software Development (AOSD 2003), Boston, Mar. 2003, pp. 90–99 (2003)

    Google Scholar 

  18. Odell, J.J., Parunak, H.V.D., Fleisher, M.: The role of roles in designing effective agent organizations. In: Garcia, A.F., de Lucena, C.J.P., Zambonelli, F., Omicini, A., Castro, J. (eds.) Software Engineering for Large-Scale Multi-Agent Systems. LNCS, vol. 2603, Springer, Heidelberg (2003)

    CrossRef  Google Scholar 

  19. Ossher, H., Tarr, P.: Using multidimensional separation of concerns to (re)shape evolving software. CACM 44(10), 43–50 (2001)

    Google Scholar 

  20. Rashid, A., Sawer, P., Moreira, A., Araujo, J.: Early aspects: a model for aspect-oriented requirements engineering. In: Proceedings of the International Conference on Requirements Engineering (RE 2002), Essen, Germany, Sep. 2002, pp. 9–13. IEEE Computer Society Press, Los Alamitos (2002)

    Google Scholar 

  21. Reenskaug, T., Wold, P., Lehne, O.: Working with Objects: the OOram Software Engineering Method. Manning Publications, Greenwich (1996)

    MATH  Google Scholar 

  22. Riehle, D.: Composite design patterns. In: OOPSLA ’97, Oct. 1997, pp. 218–228 (1997)

    Google Scholar 

  23. Riehle, D., Gross, T.: Role model based framework design and integration. In: OOPSLA ’98, Vancouver, Oct. 1998, pp. 117–133 (1998)

    Google Scholar 

  24. Sakurai, K., Masuhara, H., Ubayashi, N., Matsuura, S., Komiya, S.: Association aspect. In: Proceedings of 3rd International Conference on Aspect-Oriented Software Development (AOSD 2004), Lancaster, UK, Mar. 2004, pp. 16–25 (2004)

    Google Scholar 

  25. Smaragdakis, Y., Batory, D.: Mixin layers: An object-oriented implementation technique for refinements and collaboration-based designs. ACM Transactions on Software Engineering and Methodology 11(2), 215–255 (2002)

    CrossRef  Google Scholar 

  26. Smith, D.R.: The contract net protocol: High-level communication and control in a distributed problem solver. IEEE Trans. on Computers 29(12), 1104–1113 (1980)

    CrossRef  Google Scholar 

  27. Sullivan, K., Griswold, W.G., Song, Y., Cai, Y., Shonle, M., Tewari, N., Rajan, H.: Information hiding interfaces for aspect-oriented design. In: ESEC-FSE’05, Lisbon, Portugal, Sep. 2005, pp. 166–175 (2005)

    Google Scholar 

  28. Sullivan, K., Gu, L., Cai, Y.: Non-modularity in aspect-oriented languages: Integration as a crosscutting concern for AspectJ. In: 1st Proceedings of 1st International Conference on Aspect-Oriented Software Development (AOSD 2002), Enschede, Holland, Apr. 2002, pp. 19–26 (2002)

    Google Scholar 

  29. Sullivan, K.J., Notkin, D.: Reconciling environment integration and software evolution. ACM Transaction on Software Engineering and Methodology 1(3), 229–268 (1992)

    CrossRef  Google Scholar 

  30. Tamai, T.: Objects and roles: modeling based on the dualistic view. Information and Software Technology 41(14), 1005–1010 (1999)

    CrossRef  Google Scholar 

  31. Thomas, D., Hunt, A.: Programming Ruby: A Pragmatic Programmer’s Guide. Addison-Wesley, Reading (2000)

    Google Scholar 

  32. VanHilst, M., Notkin, D.: Using C++ templates to implement role-based designs. In: Futatsugi, K., Matsuoka, S. (eds.) ISOTAS 1996. LNCS, vol. 1049, pp. 22–37. Springer, Heidelberg (1996)

    Google Scholar 

  33. Wieringa, R., de Jonge, W., Spruit, P.: Using dynamic classes and role classes to model object migration. Theory and Practice of Object Systems 1(1), 61–83 (1995)

    Google Scholar 

  34. Zambonelli, F., Jennings, N.R., Wooldridge, M.: Developing multiagent systems: The gaia methodology. ACM Transactions on Software Engineering and Methodology 12(3), 317–370 (2003)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tamai, T., Ubayashi, N., Ichiyama, R. (2007). Objects as Actors Assuming Roles in the Environment. In: Choren, R., Garcia, A., Giese, H., Leung, Hf., Lucena, C., Romanovsky, A. (eds) Software Engineering for Multi-Agent Systems V. SELMAS 2006. Lecture Notes in Computer Science, vol 4408. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73131-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73131-3_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73130-6

  • Online ISBN: 978-3-540-73131-3

  • eBook Packages: Computer ScienceComputer Science (R0)