Advertisement

System design by composing structures of interacting objects

  • Egil P. Andersen
  • Trygve Reenskaug
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 615)

Abstract

This paper describes the outline of an object-oriented design technique denoted role modeling, emphasizing the ability to compose parts of a design. The purpose of role modeling is to achieve separation of concerns, allowing the designer to consider different aspects, or the same aspect at different levels of detail, more or less independent of other aspects of the overall design.

A role model represents the concept of a structure of communicating objects; each object being represented by a role to be ‘played’ in the context of this role model. Each role model is considered a design of a separate aspect of some overall design. Composition of designs is achieved by synthesizing roles in several role models, constructing more aggregated and specialized roles and role models.

Keywords

O-O Design Interaction-Oriented Design Role Modeling Object Composition 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Arapis]
    C.Arapis, Specifying Object Life-Cycles, Ed.D.Tsichritzis, Object Composition, Universite de Geneve, 1990, pp.197–225Google Scholar
  2. [Beck]
    K.Beck, W.Cunningham, A Laboratory for Thinking Object-Oriented Thinking, Proc. of OOPSLA '89; Object-Oriented Programming Systems, Languages and Applications, October 1989Google Scholar
  3. [Canning]
    P.S.Canning, W.R.Cook, W.L.Hill, W.G.Olthoff, Interfaces for Strongly-Typed Object-Oriented Programming, Proc. of OOPSLA '89; Object-Oriented Programming Systems, Languages and Applications, October 1989, pp.457–467Google Scholar
  4. [Cardelli]
    L.Cardelli, A Semantics of Multiple Inheritance, Semantics of Data Types, LNCS 173, Springer-Verlag, 1984, pp.51–67Google Scholar
  5. [Champeaux]
    D.de Champeaux, Object-Oriented Analysis and Top-Down Software Development, Proc. of ECOOP '91; European Conference on Object-Oriented Programming, Geneva, Switzerland, July 1991, pp.360–376Google Scholar
  6. [Goldberg]
    A.Goldberg, D.Robson, Smalltalk-80, The Language and its Implementation, Addison-Wesley 1983Google Scholar
  7. [Helm]
    R.Helm, I.M.Holland, D.Gangopadhyay, Contracts: Specifying Behavioral Compositions in Object-Oriented Systems, Proc. of ECOOP/OOPSLA '90; European Conference on Object-Oriented Programming/Object-Oriented Programming Systems, Languages and Applications, Ottawa, Canada, October 1990Google Scholar
  8. [Kilian]
    M.F.Kilian, A Note on Type Composition and Reusability, OOPS Messenger, Vol.2, No.3, July 1991, pp.24–32Google Scholar
  9. [L-Madsen]
    O.Lehrman Madsen, B.Magnusson, B.MØller-Pedersen, Strong Typing of Object-Oriented Languages Revisited, Proc. of ECOOP/OOPSLA '90; European Conference on Object-Oriented Programming/Object-Oriented Programming Systems, Languages and Applications, Ottawa, Canada, October 1990Google Scholar
  10. [Meyer]
    B.Meyer, Object-Oriented Software Construction, Prentice-Hall, 1987Google Scholar
  11. [Milner]
    R.Milner, Communication and Concurrency, Prentice Hall, 1987Google Scholar
  12. [Nierstrasz90]
    O.Nierstrasz, M.Papathomas, Viewing Objects as Patterns of Communicating Agents, Proc. of ECOOP/OOPSLA '90; European Conference on Object-Oriented Programming/Object-Oriented Programming Systems, Languages and Applications, Ottawa, Canada, October 1990, pp.38–43Google Scholar
  13. [Nierstrasz91]
    O.Nierstrasz, M.Papathomas, Towards a Type Theory for Active Objects, OOPS Messenger, Vol.2, No.2, April 1991, pp.89–93Google Scholar
  14. [Nordhagen]
    E.Nordhagen, Generic Object-Oriented Systems, Proc. of TOOLS '89; Conference on Technology of Object-Oriented Languages and Systems, Paris, Nov.1989, pp.131–140Google Scholar
  15. [Pernicl]
    B.Pernici, Objects with Roles, Proc. of the Conference on Office Information Systems(COIS), Cambridge, Massachusetts, 1990Google Scholar
  16. [Reenskaug1]
    T.Reenskaug, E.Nordhagen, The Design and Description of Complex, Object-Oriented Systems, Ver.1.0, Center for Industrial Research, Report no.89 272-1,Nov.l989Google Scholar
  17. [Reenskaug2]
    T.Reenskaug, E.P.Andersen, A.J.Berre, A.Hurlen, A.Landmark, O.A.Lehne, E.Nordhagen, E.NÆss-Ulseth, G.Oftedal, A.L.Skaar, P.Stenslet, Seamless Support for the Creation and Maintenance of Object Oriented Systems, To appear in JOOP, Journal of Object-Oriented ProgrammingGoogle Scholar
  18. [Shilling]
    J.J.Shilling, P.F.Sweeney, Three Steps to Views: Extending the Object-Oriented Paradigm, Proc. of OOPSLA '89; Object-Oriented Programming Systems, Languages and Applications, October 1989, pp.353–361Google Scholar
  19. [Wegner]
    P.Wegner, S.B.Zdonik, Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like, Proc. of ECOOP '88; European Conference on Object-Oriented Programming, Oslo, Norway, August 1988, pp.55–77Google Scholar
  20. [Wirfs-Brock89]
    R.J.Wirfs-Brock, B.Wilkerson, Object-Oriented Design: A Responsibility-Driven Approach, Proc. of OOPSLA '89; Object-Oriented Programming Systems, Languages and Applications, October 1989, pp.71–75Google Scholar
  21. [Wirfs-Brock90]
    R.J.Wirfs-Brock, R.E.Johnson, A Survey of Current Research in Object-Oriented Design, Communications of the ACM, September 1990, vol.33, no.9, pp.105–124CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Egil P. Andersen
    • 1
  • Trygve Reenskaug
    • 1
  1. 1.Department of InformaticsUniversity of OsloOsloNorway

Personalised recommendations