|
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
|
K. Beck , W. Cunningham, A laboratory for teaching object oriented thinking, Conference proceedings on Object-oriented programming systems, languages and applications, p.1-6, October 02-06, 1989, New Orleans, Louisiana, United States
|
 |
4
|
Daniel G. Bobrow , Linda G. DeMichiel , Richard P. Gabriel , Sonya E. Keene , Gregor Kiczales , David A. Moon, Common Lisp Object System specification, ACM SIGPLAN Notices, v.23 n.SI, p.1-142, September 1988
[doi> 10.1145/885631.885632]
|
| |
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
|
Ralph E. Johnson , Justin O. Graver , Laurance W. Zurawski, TS: an optimizing compiler for smalltalk, Conference proceedings on Object-oriented programming systems, languages and applications, p.18-26, September 25-30, 1988, San Diego, California, United States
|
| |
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
|
K. Lieberherr , I. Holland , A. Riel, Object-oriented programming: an objective sense of style, Conference proceedings on Object-oriented programming systems, languages and applications, p.323-334, September 25-30, 1988, San Diego, California, United States
|
| |
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
|
Michael S. Miller , Howard Cunningham , Chan Lee , Steven R. Vegdahl, The application accelerator illustration system, Conference proceedings on Object-oriented programming systems, languages and applications, p.294-302, September 29-October 02, 1986, Portland, Oregon, United States
|
| |
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
|
V. F. Russo , R. H. Campbell, Virtual memory and backing storage management in multiprocessor operating systems using object-oriented design techniques, Conference proceedings on Object-oriented programming systems, languages and applications, p.267-278, October 02-06, 1989, New Orleans, Louisiana, United States
|
 |
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
|
Andre Weinand , Erich Gamma , Rudolf Marty, ET++—an object oriented application framework in C++, Conference proceedings on Object-oriented programming systems, languages and applications, p.46-57, September 25-30, 1988, San Diego, California, United States
|
| |
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
|
R. Wirfs-Brock , B. Wilkerson, Object-oriented design: a responsibility-driven approach, Conference proceedings on Object-oriented programming systems, languages and applications, p.71-75, October 02-06, 1989, New Orleans, Louisiana, United States
|
| |
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
|
|
|
|
|
Kek Wee Ng , Jian Ma , Gi-Moon Nam, A class library management system for object-oriented programming, Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice, p.445-451, February 14-16, 1993, Indianapolis, Indiana, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Giulio Fregonese , Alessandro Zorer , Giovanni Cortese, Architectural framework modeling in telecommunication domain, Proceedings of the 21st international conference on Software engineering, p.526-534, May 16-22, 1999, Los Angeles, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
Erich Gamma , Richard Helm , Ralph Johnson , John Vlissides, Design patterns: abstraction and reuse of object-oriented design, Software pioneers: contributions to software engineering, Springer-Verlag New York, Inc., New York, NY, 2002
|
|
|
|
|
|
|
|
|
|
|
|
Wilf LaLonde , John Pugh , Paul White , Jean-Pierre Corriveau, Towards unifying analysis, design, and implementation in object-oriented environments, Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering, October 24-28, 1993, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Arindam Banerji , David Cohn , Dinesh Kulkarni, Design, distribution and management of object-oriented software, Proceedings of the USENIX Applications Development Symposium Proceedings on USENIX Applications Development Symposium Proceedings, p.8-8, April 25-28, 1994, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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...
|