ACM Home Page
Please provide us with feedback. Feedback
Surveying current research in object-oriented design
Full text PdfPdf (2.82 MB)
Source
Communications of the ACM archive
Volume 33 ,  Issue 9  (September 1990) table of contents
Pages: 104 - 124  
Year of Publication: 1990
ISSN:0001-0782
Authors
Rebecca J. Wirfs-Brock  Univ. of Illinois at Urbana-Champaign, Urbana
Ralph E. Johnson  Univ. of Illinois at Urbana-Champaign, Urbana
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 17,   Downloads (12 Months): 121,   Citation Count: 47
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/83880.84526
What is a DOI?

ABSTRACT

The state of object-oriented is evolving rapidly. This survey describes what are currently thought to be the key ideas. Although it is necessarily incomplete, it contains both academic and industrial efforts and describes work in both the United States and Europe. It ignores well-known ideas, like that of Coad and Meyer [34], in favor of less widely known projects.Research in object-oriented design can be divided many ways. Some research is focused on describing a design process. Some is focused on finding rules for good designs. A third approach is to build tools to support design. Most of the research described in this article does all three.We first present work from Alan Snyder at Hewlett-Packard on developing a common framework for object-oriented terminology. The goal of this effort is to develop and communicate a corporate-wide common language for specifying and communicating about objects.We next look into the research activity at Hewlett-Packard, led by Dennis de Champeaux. De Champeaux is developing a model for object-based analysis. His current research focuses on the use of a trigger-based model for inter-object communications and development of a top-down approach to analysis using ensembles.We then survey two research activities that prescribe the design process. Rebecca Wirfs-Brock from Tektronix has been developing an object-oriented design method that focuses on object responsibilities and collaborations. The method includes graphical tools for improving encapsulation and understanding patterns of object communication. Trygve Reenskaug at the Center for Industriforskning in Oslo, Norway has been developing an object-oriented design method that focuses on roles, synthesis, and structuring. The method, called Object-Oriented Role Analysis, Syntheses and Structuring, is based on first modeling small sub-problems, and then combining small models into larger ones in a controlled manner using both inheritance (synthesis) and run-time binding (structuring).We then present investigations by Ralph Johnson at the University of Illinois at Urbana-Champaign into object-oriented frameworks and the reuse of large-scale designs. A framework is a high-level design or application architecture and consists of a suite of classes that are specifically designed to be refined and used as a group. Past work has focused on describing frameworks and how they are developed. Current work includes the design of tools to make it easier to design frameworks.Finally, we present some results from the research group in object-oriented software engineering at Northeastern University, led by Karl Lieberherr. They have been working on object-oriented Computer Assisted Software Engineering (CASE) technology, called the Demeterm system, which generates language-specific class definitions from language-independent class dictionaries. The Demeter system include tools for checking design rules and for implementing a design.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Apollo Computer. Network Computing System, Tech. Rep. 1-27, 1987.
3
4
 
5
Casais, E. Reorganizing an object system. In Object~Oriented Development, D. Tsichritzis, Ed. Centre Universitaire d'Informatique, Universite de Geneve, 1989. pp. 161-189.
 
6
 
7
 
8
Dami, L., Flume, E., Nierstrasz, O., and Tsichritzis, D. Temporal scripts for objects, Active Object Environments, D.C. Tsichritzis, Ed. Centre Universitaire d'Informatique, Universite de Geneve, june 1988, pp. 144-161.
 
9
De Champeaux, D. and Olthoff, W. Towards an object-oriented analysis technique. In Proceedings of the Pacific Northwest Software Quality Conference (September 1989) pp. 323-338.
 
10
Deutsch, L. P. Levels of reuse in the Smalltalk-80 programming system. In 7htorial: Software Reusability, P. Freeman, Ed. IEEE Computer Society Press, Washington, D.C., 1987.
11
12
 
13
Fishman, D.H. et al. Iris: An objectoriented data base system. ACM ~ansactions on Office Information Systems, 5-1 (1987), 48-69.
 
14
Foote, B. Designing to facilitate change with object-oriented frameworks. Master's thesis. University of Illinois at Urbana-Champaign, I988.
 
15
 
16
Gossain, S. and Anderson, D.B. Designing a class hierarchy for domain representation and reusability. In Proceedings of Tbols '89. (Paris, France, November 1989) pp. 201-210.
 
17
Halbert, D. and O'Brien, P. Using Types and Inheritance in Object-Oriented Languages. IEEE Software (Sept. 1987) 71-79.
 
18
Hewlett-Packard. HP NewWave Reference Guide. August 1989.
 
19
Hewlett-Packard. HP builds framework. Electronic Engineering Times. June 10, 1989.73-74.
 
20
ISO. Information, retrieval, and transfer management for OSI. draft proposal. Part I: Management and Information Model. ISO/IEC JTC1/SC21 N, May 1989.
 
21
Jindrich, W.A. FOIBLE.' A framework for visual programming languages. Master's thesis, Univ. of Illinois at Urbana- Champaign, 1990.
 
22
Johnson, E. and Foote, B. Designing reusable classes, j. of Object-Oriented Program. 1, 2 (June/July 1988), 22-35.
23
 
24
Kappel, G., Vitek, J., Nierstrasz, O., Gibbs, S., Junod, B., Stadelmann, M., Tsichritzis, D. An object-based visual scripting environment. In Object Oriented Development, Tsichritizis, Ed. Centre Universitaire d'Informatique, Universite de Geneve, 1989. pp. 123-142.
 
25
26
 
27
Lieberherr, K.J., Berstein, P. and Silva- Lepe, I. From objects to classes: Algorithms for object-oriented design. Tech. Rep. Demeter-3, Northeastern University, January 1990.
 
28
 
29
Lieberherr, K.J. and Holland, I. Tools for preventive software maintenance. In Conference on Software Maintenance. (October 16-19, 1989), IEEE Press, Miami Beach, Florida, pp. 2-I3.
30
 
31
 
32
 
33
Madany, P.W., Campbell, R.H., Russo, V.F. and Leyens, D.E. A Class Hierarchy for Building Stream-Oriented File Systems. In Proceedings of the 1989 European Conference on Object-Orknted Programming. (.July 1989, Nottingham, UK)S. Cook, Ed., Cambridge University Press. 311-328.
 
34
35
 
36
Nordhagen, E., Generic Object Oriented Systems. In Proceedings of %ols '89. (Pads, France, November 1989) pp. 131-140.
 
37
Opdyke, W. and Johnson, R. Refactoring: An aid in designing application frameworks. In Proceedings of the Symposium on Object-Oriented Programming Emphasizing Practical Applications, September 1989.
 
38
Palay, A.J., Hansen, W.J., Kazar, M.L., Sherman, M., Wadlow, M.G., Neuendorffer, T.P., Stern, Z., Bader, M. and Peter, T. The Andrew 73olkit--An Ovewiew, USENIX Association Winter Conference, Dallas, 1988.
 
39
Paseman, W. The Atherton Software Backplane: An Architecture for Tool Integration. Unix Rev. (April 1989).
 
40
Profrock, A.K. Tsichritzis, I3., Muller, G., and Arder, M. ITHACA: An integrated toolkit for highly advanced computer applications. I n Object-Oriented Development. Tsichritzis, D., Ed. Universite de Geneve, 1989, pp 321-344.
 
41
Reenskaug, T. and Nordhagen, E. The Description of Complex Object-Oriented Systems: Version 1. Senter for Industriforskning, Oslo, Norway, I989.
42
 
43
Russo, V. and Campbell, R.H. Process Scheduling in Multiprocessor Operating Systems using Class Hierarchical Design. In Proceedings of OOPSLA '88 SIGPLAN Not. (ACM) 23, 11 (San Diego, California, Oct. 1988).
44
45
 
46
 
47
48
 
49
Snyder, A. The essence of objects. Pep. STL-89-25. Software Technology Laboratory, Hewlett~Packard Laboratories, Palo Alto, CA.
 
50
Snyder, A. An abstract object model for object-oriented systems. STL-90-22, Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, CA.
 
51
Snyder, A., Hill, W. and Ohhoss, W. A glossary of common object-oriented terminology. Rep. $TL-89-26, Software Technology Laboratory, Hewlett-Packard Laboratories, Palo Alto, CA.
 
52
 
53
Thompson, T. The NeXT Step. Byte 14, 3 (March 1989), 265-271.
54
55
 
56
Weinand, A., Gamma, E., and Marty, R. Design and implementation of ET++, a seamless object-oriented application framework. Structured Program. I0, 2 (1989), 63-87.
57
 
58
59
 
60
 
61
Zweig, J. and Johnson, R. Conduits: A communication abstraction in C++. To be published in the USENIX G++ Conference, 1990.

CITED BY  47


REVIEW

"Steven Stanley Muchnick : Reviewer"

Object-oriented design of software systems is an approach that breaks down a system design into a collection of objects that provide services to clients and interfaces that define the relationships among the objects. This paper surveys several  more...

Collaborative Colleagues:
Rebecca J. Wirfs-Brock: colleagues
Ralph E. Johnson: colleagues