Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The C++ programming language
Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
Object-oriented programming for the Macintosh
Object-oriented programming for the Macintosh
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
An object-oriented operating system interface
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The application accelerator illustration system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Painless panes for Smalltalk windows
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented systems analysis: modeling the world in data
Object-oriented systems analysis: modeling the world in data
Demeter: a CASE study of software growth through parameterized classes
Journal of Object-Oriented Programming
A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
Comments on “the law of demeter” and C++
ACM SIGPLAN Notices
TS: an optimizing compiler for smalltalk
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
ET++—an object oriented application framework in C++
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
An integrated color smalltalk-80 system
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented programming: an objective sense of style
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Designing families of data types using exemplars
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of Object-Oriented Programming
Unidraw: a framework for building domain-specific
UIST '89 Proceedings of the 2nd annual ACM SIGGRAPH symposium on User interface software and technology
A laboratory for teaching object oriented thinking
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented design: a responsibility-driven approach
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
An environment for literate Smalltalk programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Design reuse and frameworks in the smalltalk-80 system
Software reusability
Object-oriented analysis
Designing object-oriented software
Designing object-oriented software
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Assuring Good Style for Object-Oriented Programs
IEEE Software
Understanding object-oriented: a unifying paradigm
Communications of the ACM
Class management for software communities
Communications of the ACM
The object-oriented systems life cycle
Communications of the ACM
Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
An ada object-based analysis and design approach
ACM SIGAda Ada Letters
Introduction to the literature on object-oriented design, programming, and languages
ACM SIGPLAN OOPS Messenger
Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design
IEEE Transactions on Software Engineering
ESA—an expert supported OOA method and tool
ACM SIGSOFT Software Engineering Notes
Using Harel statecharts to model object-oriented behavior
ACM SIGSOFT Software Engineering Notes
A class library management system for object-oriented programming
SAC '93 Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice
Is object-oriented programming structured programming?
ACM SIGPLAN Notices
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
On the purpose of object-oriented analysis
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
The design and implementation of an expert object-oriented geographic information system
CIKM '93 Proceedings of the second international conference on Information and knowledge management
Creating abstract superclasses by refactoring
CSC '93 Proceedings of the 1993 ACM conference on Computer science
An algebraic theory of class specification
ACM Transactions on Software Engineering and Methodology (TOSEM)
User interface system based on active objects
SETA2 Proceedings of the second international symposium on Environments and tools for Ada
SAOOSS: a system for the analysis of object-oriented software systems
ACM SIGPLAN OOPS Messenger
Design of reusable IR framework
SIGIR '95 Proceedings of the 18th annual international ACM SIGIR conference on Research and development in information retrieval
Towards reusable, extensible components
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
An evolutionary approach to constructing effective software reuse repositories
ACM Transactions on Software Engineering and Methodology (TOSEM)
Components, frameworks, patterns
Proceedings of the 1997 symposium on Software reusability
Towards a hierarchical design and integration of programming projects
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Automatic method refactoring using weighted dependence graphs
Proceedings of the 21st international conference on Software engineering
Architectural framework modeling in telecommunication domain
Proceedings of the 21st international conference on Software engineering
An object-oriented design and implementation of reusable graph objects with C++: a case study
SAC '96 Proceedings of the 1996 ACM symposium on Applied Computing
Software engineering tools and environments: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Towards agent-oriented assistance for framework instantiation
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Panel: effects of object-oriented design on reuse and maintenance
Proceedings of the conference on TRI-Ada '95: Ada's role in global markets: solutions for a changing complex world
Vision - An Architecture for Global Illumination Calculations
IEEE Transactions on Visualization and Computer Graphics
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Product Line Annotations with UML-F
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Design Patterns: Abstraction and Reuse of Object-Oriented Design
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Experience with Porting a Unix Version CASE Tool to the Corresponding Java Version
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Pattern Based Software Re-engineering: A Case Study
APSEC '99 Proceedings of the Sixth Asia Pacific Software Engineering Conference
Design patterns: abstraction and reuse of object-oriented design
Software pioneers
Specification of business components using temporal OCL
UML and the unified process
Towards unifying analysis, design, and implementation in object-oriented environments
CASCON '93 Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
The quarks of object-oriented development
Communications of the ACM - Next-generation cyber forensics
Toward formalized object-oriented management information systems analysis
Journal of Management Information Systems
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Coupling Object-Oriented and Workflow Modelling in Business and Information Process Reengineering
Information-Knowledge-Systems Management
Design, distribution and management of object-oriented software
UNIX'94 Proceedings of the USENIX Applications Development Symposium Proceedings on USENIX Applications Development Symposium Proceedings
Making frameworks work: a project retrospective
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Design strategies and knowledge in object-oriented programming: effects of experience
Human-Computer Interaction
Object-oriented system development in a banking project: methodology, experience, and conclusions
Human-Computer Interaction
Legacy system program transformation by Lyee methodology
Knowledge-Based Systems
PREMO: A framework for multimedia middleware: specification, rationale, and java binding
PREMO: A framework for multimedia middleware: specification, rationale, and java binding
Improving the reuse possibilities of the behavioral aspects of object-oriented domain models
ER'00 Proceedings of the 19th international conference on Conceptual modeling
FrameIDTV: A framework for developing interactive applications on digital television environments
Journal of Network and Computer Applications
An OODBMS graphical development environment
IDEAS'97 Proceedings of the 1997 international conference on International database engineering and applications symposium
Pattern-based framework for modularized software development and evolution robustness
Information and Software Technology
Multi-strategy learning made easy
ICCOMP'06 Proceedings of the 10th WSEAS international conference on Computers
Designing application domain models with roles
MDAFA'03 Proceedings of the 2003 European conference on Model Driven Architecture: foundations and Applications
Survey: A survey on search-based software design
Computer Science Review
Hi-index | 48.27 |
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.