Irene Greif
Massachusetts Institute of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Irene Greif.
symposium on principles of programming languages | 1986
Irene Greif; Robert Seliger; William E. Weihl
This paper describes our experience implementing CES, a distributed Collaborative Editing System written in Argus, a language that includes facilities for managing long-lived distributed data. Argus provides <i>atomic actions,</i> which simplify the handling of concurrency and failures, and mechanisms for implementing <i>atomic data types,</i> which ensure serializability and recoverability of actions that use them. This paper focuses on the support for atomicity in Argus, especially the support for building new atomic types. Overall the mechanisms in Argus made it relatively easy to build CES; however, we encountered interesting problems in several areas. For example, much of the processing of an atomic action in Argus is handled automatically by the run-time system; several examples are presented that illustrate areas where more explicit control in the implementations of atomic types would be useful.
symposium on principles of programming languages | 1975
Irene Greif; Carl Hewitt
Work on PLANNER-73 and actors has led to the development of a basis for semantics of programming languages. Its value in describing programs with side-effects, parallelism, and synchronization is discussed. Formal definitions are written and explained for sequences, cells, and a simple synchronization primitive. In addition there is discussion of the implications of actor semantics for the controversy over elimination of side-effects.
symposium on principles of programming languages | 1973
Carl Hewitt; Peter Boehler Bishop; Irene Greif; Brian Cantwell Smith; Todd Matson; Richard Steiger
The PLANNER project is continuing research in natural and effective means for embedding knowledge in procedures. In the course of this work we have succeeded in unifying the formalism around one fundamental concept: the ACTOR. Intuitively, an ACTOR is an active agent which plays a role on cue according to a script. We use the ACTOR metaphor to emphasize the inseparability of control and data flow in our model. Data structures, functions, semaphores, monitors, ports, descriptions, Quillian nets, logical formulae, numbers, identifiers, demons, processes, contexts, and data bases can all be shown to be special cases of actors. All of the above are objects with certain useful modes of behavior. Our formalism shows how all of these modes of behavior can be defined in terms of one kind of behavior: sending messages to actors. An actor is always invoked uniformly in exactly the same way regardless of whether it behaves as a recursive function, data structure, or process.
Communications of The ACM | 1977
Irene Greif
A language for specifying the intended behavior of communicating parallel processes is described. The specifications are constraints on the order in which events of a computation can occur. The language is used to write specifications of the readers/writers problem and the writer priority of the second readers/ writers problem.
ACM Sigoa Newsletter | 1984
Sunil K. Sarin; Irene Greif
A layered architecture for the implementation of real-time conferences is presented. In a real-time conference a group of users each at his or her own workstation, share identical views of on-line application information. The users cooperate in a problem solving task by interactively modifying or editing the shared view or the underlying information, and can use a voice communication channel for discussion and negotiation. The lower layer in this architecture, named Ensemble, supports the sharing of arbitrary application-defined objects among the participants of a conference, and the manipulation of these objects via one or more application-defined groups of commands called activities. Ensemble provides generic facilities for sharing objects and activities, and for dynamically adding and removing participants in a conference; these can be used in constructing real-time conferencing systems for many different applications. An example is presented of how the Ensemble functions can be used to implement a shared bitmap with independent participant cursors. The relation between this layered architecture and the ISO Open Systems Interconnection reference model is discussed. In particular, it is argued that Ensemble represents a plausible first step toward a Session-layer protocol for “multi-endpoint connections”, a neglected area of communication protocol development.
Programming Symposium, Proceedings Colloque sur la Programmation | 1974
Carl Hewitt; Peter Boehler Bishop; Richard Steiger; Irene Greif; Brian Cantwell Smith; Todd Matson; Roger Hale
Knowledge Based Programming is programming in an environment which has substantial knowledge of the semantic domain for which the programs are being written and of the purposes that the programs are supposed to satisfy. Actors are a semantic concept in which no active process is ever allowed to treat anything as an object; instead a polite request must be extended to accomplish what the activator desires. Using actors the PLANNER Project is constructing a Programming Apprentice to make it easier for expert programmers to do knowledge based programming. The apprentice is to aid in establishing and maintaining consistency of specifications, validating that modules meet their specifications, answering questions about behavioral dependencies between modules, and analyzing the implications of perturbations in modules and their specifications.
human factors in computing systems | 1988
Irene Greif; John Seely Brown; E. Dyson; M. Kapor; Tom Malone
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. TO copy otherwise, or to republish, requires a fee and/or specific permission.
human factors in computing systems | 1985
Irene Greif; John Seely Brown; Paul M. Cashman; Thomas W. Malone
Research on human factors in computer systems has emphasized supporting individuals. This panel will discuss new issues that emerge when computer systems support groups of people and whole organizations. Malone (see following paper) will suggest a broadening of the definition of user interfaces to include “organizational interfaces” and will indicate how a theoretical base for such an endeavor might be developed. Then Cashman will describe a “coordinator tool” in use at DEC for tracking the assignment of tasks to people in activities such as software maintenance. Finally, Brown will suggest how computer systems can be designed to radically increase the bandwidth of cooperation in groups by, for example, exploiting linguistic notions of context.
conference on computer supported cooperative work | 1988
Leonard Kawell Jr.; Steven R. Beckhardt; Timothy Halvorsen; Raymond Ozzie; Irene Greif
conference on computer supported cooperative work | 1986
Irene Greif; Sunil K. Sarin