scispace - formally typeset
Search or ask a question

Showing papers by "Mark J. Stefik published in 1986"


Journal ArticleDOI
TL;DR: Object-Oriented programming has a long history in simulation programs, systems programming, graphics, and AI programming as discussed by the authors, including message passing as in ACTORS and multiple inheritance as in FLAVORS.
Abstract: Many of the ideas behind object-oriented programming have roots going back to SIMULA. The first substantial interactive, display-based implementation was the SMALLTALK language. The object-oriented style has often been advocated for simulation programs, systems programming, graphics, and AI programming. The history of ideas has some additional threads including work on message passing as in ACTORS, and multiple inheritance as in FLAVORS. It is also related to a line of work in AI on the theory of frames and their implementation in knowledge representation languages such as KRL, KEE, FRL, and UNITS.

804 citations


Journal ArticleDOI
TL;DR: Based on a review of some actual expert-system projects, guidelines are proposed for choosing appropriate applications and managing the development process.
Abstract: Based on a review of some actual expert-system projects, guidelines are proposed for choosing appropriate applications and managing the development process.

253 citations


Journal ArticleDOI
Daniel G. Bobrow1, Ken Kahn1, Gregor Kiczales1, Larry Masinter1, Mark J. Stefik1, Frank Zdybel1 
01 Jun 1986
TL;DR: It is argued that CommonLoops' small kernel is powerful enough to implement the major object-oriented systems in use today, and its extensive use of meta-objects make practical both efficient implementation and experimentation with new ideas for object- oriented programming.
Abstract: CommonLoops blends object-oriented programming smoothly and tightly with the procedure-oriented design of Lisp. Functions and methods are combined in a more general abstraction. Message passing is invoked via normal Lisp function call. Methods are viewed as partial descriptions of procedures. Lisp data types are integrated with object classes. With these integrations, it is easy to incrementally move a program between the procedure and object-oriented styles.One of the most important properties of CommonLoops is its extensive use of meta-objects. We discuss three kinds of meta-objects: objects for classes, objects for methods, and objects for discriminators. We argue that these meta-objects make practical both efficient implementation and experimentation with new ideas for object-oriented programming.CommonLoops' small kernel is powerful enough to implement the major object-oriented systems in use today.

232 citations


Journal ArticleDOI
Mark J. Stefik1
TL;DR: The most widely understood goal of artificial intelligence is to understand and build autonomous, intelligent, thinking machines.
Abstract: The most widely understood goal of artificial intelligence is to understand and build autonomous, intelligent, thinking machines. A perhaps larger opportunity and complementary goal is to understand and build an interactive knowledge medium.

178 citations


Proceedings ArticleDOI
03 Dec 1986
TL;DR: In this article, the authors present several examples of multi-user interfaces that start from the WYSIWIS abstraction, which they describe as crucial and too inflexible in its strictest sense.
Abstract: WYSIWIS (What You See Is What I See) is a foundational abstraction for multi-user interfaces that expresses many of the characteristics of a chalkboard in face-to-face meetings. In its strictest interpretation, it means that everyone can see the same written information and also where anyone else is pointing. We present several examples of multi-user interfaces that start from the WYSIWIS abstraction. In our attempts to build software support for collaboration in meetings, we have discovered that WYSIWIS is at once crucial and too inflexible in its strictest sense. WYSIWIS must be relaxed for all our software tools to better accommodate important interactions in meetings. Relaxations to WYSIWIS are characterized in terms of constraints on its four key dimensions: display space, time of display, subgroup population, and congruence of view.

157 citations


Journal ArticleDOI
TL;DR: The Loops knowledge programming system as discussed by the authors integrates function-oriented, system object-oriented and rule-oriented programming, which is not found in most other systems, such as Java.
Abstract: The Loops knowledge programming system integrates function-oriented, system object-oriented, rule-oriented, and—something notfound in most other systems—access-oriented programming.

132 citations


Proceedings ArticleDOI
03 Dec 1986
TL;DR: Cognoter as discussed by the authors is a system that helps a group of people to organize their thoughts for a presentation, e.g., a paper or talk, in a cooperative real-time group problem-solving environment.
Abstract: Cognoter is a program helps a cooperating group of people to organizing their thoughts for a presentation, e.g., a paper or talk. It is designed for use in the Colab, an experimental laboratory created at Xerox PARC to study computer support of cooperative real-time group problem-solving. Cognoter provides a multi-user interface and a structured meeting process. An annotated graph of ideas is built up by the group in three stages: brainstorming for idea generation, ordering for idea organization, and evaluation for choosing what will be finally be presented. Interesting aspects of Cognoter include direct spatial manipulation of ideas and their order relationships, support of parallel activity, and incremental progress toward a total ordering of ideas.

93 citations


01 Jan 1986
TL;DR: This article contrasts them with the results of some actual case studies and proposes both a more realistic view of the practice of building expert systems and some guidelines for choosing appropriate applications.
Abstract: By virtue of their flamboyant quality, the expressions artificial intelligence (Al) and expert systems have helped contribute to an expanding wave of activity and unrealistic expectations about the state of the art. Taking a long, hard look at those expectations, this article contrasts them with the results of some actual case studies and proposes both a more realistic view of the practice of building expert systems and some guidelines for choosing appropriate applications. The term expert system refers to computer programs that apply substantial knowledge of specific areas of expertise to the problem-solving process. The term expert is intended to imply both narrow specialization and competence, where success of the system is often due to this narrow focus. Just as human experts have varying levels of expertise, so too do computer systems. Although, in general, expert systems have less breadth of scope and flexibility than human experts, and for this reason are sometimes criticized for creating unrealistic expectations, we find it more productive to ask about the level and range of expertise of a given program (i.e., how well does it do on a specific set of tasks), rather than struggling with the imprecise boundary of what constitutes “expert.”