Activities: Abstractions for collective behavior

  • Bent Bruun Kristensen
  • Daniel C. M. May
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1098)


Conventional object-oriented modeling lacks support for representing the interaction between objects in a conceptually intuitive way — often dispersing the logic/control of interplay throughout the objects. We introduce the concept of an activity as an abstraction mechanism to model the interplay between objects.

Activities model how our human cognition organizes interaction into units of collective behavior. They are described as classes, allowing interaction to be modeled by such abstraction processes as generalization and aggregation.

At the analysis and design level activities are presented as a general modeling tool for describing the collective behavior of systems of objects. We also discuss how activities can be supported at the implementation level by extending existing language constructs in relation to object-oriented programming languages.


Collective Activity Design Pattern Collective Behavior State Diagram Active Object 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Aksit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A.: Abstracting Object Interactions Using Composition Filters. Proceedings of the ECOOP '93 Workshop on Object-based Distributed Processing, Guerraoui, R., Nierstrasz, O., Riveill, M. (Eds.), LNCS 791, Springer-Verlag, 1994.Google Scholar
  2. Booch, G.: Object Oriented Analysis and Design with Applications. Benjamin/Cummings, 1994.Google Scholar
  3. Chin, R. S., Chanson, S. T.: Distributed Object-Based Programming Systems. ACM Computing Surveys, Vol. 23, No. 1, 1991.Google Scholar
  4. Dahl, O. J., Myhrhaug, B., Nygaard, K.: SIMULA 67 Common Base Language. Norwegian Computing Center, edition February 1984.Google Scholar
  5. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1994.Google Scholar
  6. Harrison, W., Ossher, H.: Subject-Oriented Programming (A Critique of Pure Objects). Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, 1993.Google Scholar
  7. Helm, R., Holland, I. M., Gangopadhyay, D.: Contracts: Specifying Behavioral Compositions in Object-oriented Systems. Proceedings of the European Conference on Object-Oriented Programming / Object-Oriented Programming Systems, Languages and Applications Conference, 1990.Google Scholar
  8. Holland, I. M.: Specifying Reusable Components Using Contracts. Proceedings of the European Conference on Object-Oriented Programming, 1992.Google Scholar
  9. Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.: Object-Oriented Software Engineering, A Use Case Driven Approach. Addison Wesley, 1992.Google Scholar
  10. Johnson, R. E., Foote, B.: Designing Reusable Classes. Journal of Object-Oriented Programming, 1988.Google Scholar
  11. Kristensen, B. B.: Transverse Classes & Objects in Object-Oriented Analysis, Design, and Implementation. Journal of Object-Oriented Programming, 1993.Google Scholar
  12. Kristensen, B. B.: Transverse Activities: Abstractions in Object-Oriented Programming. Proceedings of International Symposium on Object Technologies for Advanced Software (ISOTAS'93), 1993.Google Scholar
  13. Kristensen, B. B., May, D. C. M.: Modeling Activities in C++. Proceedings of International Conference on Technology of Object-Oriented Languages and Systems, 1994.Google Scholar
  14. Kristensen, B. B., May, D. C. M.: Modeling with Activities: Abstractions for Collective Behavior. R 96-2001, IES, Aalborg University, 1996.Google Scholar
  15. Kristensen, B. B., K. Østerbye: Roles: Conceptual Abstraction Theory & Practical Language Issues. Accepted for publication in a Special Issue of Theory and Practice of Object Systems (TAPOS) on Subjectivity in Object-Oriented Systems, 1996.Google Scholar
  16. Madsen, O. L., MØller-Pedersen, B., Nygaard, K.: Object Oriented Programming in the Beta Programming Language. Addison Wesley 1993.Google Scholar
  17. May, D. C. M.: Frameworks: An Excursion into Metalevel Design and Other Discourses. Department of Computer Science, Monash University, 1994.Google Scholar
  18. Nassi, I., Shneiderman, B.: Flowchart Techniques for Structured Programming. Sigplan Notices, 8 (8), 1973.Google Scholar
  19. Rumbaugh, J.: Relations as Semantic Constructs in an Object-Oriented Language. Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, 1987.Google Scholar
  20. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall 1991.Google Scholar
  21. Stroustrup, B.: The C++ Programming Language. 2/E, Addison-Wesley 1991.Google Scholar
  22. Tennent, R. D.: Principles of Programming Languages. Prentice Hall, 1981.Google Scholar
  23. Wirfs-Brock, R., Wilkerson, B., Wiener, L.: Designing Object-Oriented Software. Prentice Hall, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Bent Bruun Kristensen
    • 1
  • Daniel C. M. May
    • 2
  1. 1.Institute for Electronic SystemsAalborg UniversityAalborg ØDenmark
  2. 2.Department of Information SystemsMonash UniversityVictoriaAustralia

Personalised recommendations