Object-Oriented Computer Graphics

Object-orientation and computer graphics from a natural, if occasionally uneasy alliance. Tenets of object-orientation, such as data abstraction, instantiation, inheritance, and concurrency, also appear in the design and implementation of graphics design. We explore the relationship between object-orientation and computer graphics, and consider the structuring of various kinds of graphics systems in an object-oriented manner.

[1]  Eugene Fiume,et al.  The message is the medium: Multiprocess structuring of an interactive paint program , 1982, SIGGRAPH.

[2]  James Gettys,et al.  The X window system , 1986, TOGS.

[3]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[4]  Daniel G. Bobrow,et al.  CommonLoops: Merging Lisp and Object-Oriented Programming , 1986, OOPSLA.

[5]  Edwin H. Satterthwaite,et al.  Early experience with Mesa , 1977, CACM.

[6]  Kurt W. Piersol Object-oriented spreadsheets: the analytic spreadsheet package , 1986, OOPSLA 1986.

[7]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[8]  Stanley B. Zdonik,et al.  The management of changing types in an object-oriented database , 1986, OOPSLA 1986.

[9]  Brad J. Cox,et al.  Object-oriented programming ; an evolutionary approach , 1986 .

[10]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[11]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[12]  Walter H. Kohler,et al.  Concurrency Features for the Trellis/Owl Language , 1987, ECOOP.

[13]  Craig Schaffert,et al.  An introduction to Trellis/Owl , 1986, OOPSLA 1986.

[14]  Alan Snyder Encapsulation and inheritance in object-oriented programming languages , 1986, OOPSLA 1986.

[15]  James H. Clark,et al.  Hierarchical geometric models for visible surface algorithms , 1976, CACM.

[16]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[17]  Mary Shaw,et al.  Abstraction and verification in Alphard: Defining and specifying iteration and generators , 1977, Commun. ACM.

[18]  Robert M. Ayers,et al.  Experience with Traits in the Xerox Star Workstation , 1984, IEEE Transactions on Software Engineering.

[19]  Glenn Krasner,et al.  Smalltalk-80: bits of history, words of advice , 1983 .

[20]  Paul S. Barth An object-oriented approach to graphical interfaces , 1986, TOGS.

[21]  Daniel E. Lipkie,et al.  Traits: An approach to multiple-inheritance subclassing , 1982 .

[22]  Akinori Yonezawa,et al.  Object-oriented concurrent programming in ABCL/1 , 1986, OOPSLA 1986.

[23]  David A. Moon Object-oriented programming with flavors , 1986, OOPSLA 1986.

[24]  Gregory R. Andrews,et al.  Concepts and Notations for Concurrent Programming , 1983, CSUR.

[25]  Norman Meyrowitz,et al.  Intermedia: The architecture and construction of an object-oriented hypemedia system and applications framework , 1986, OOPLSA '86.

[26]  Richard J. Beach,et al.  A structural view of the Cedar programming environment , 1986, TOPL.

[27]  Oscar Nierstrasz Active objects in hybrid , 1987, OOPSLA 1987.

[28]  Ralph D. Hill,et al.  Supporting concurrency, communication, and synchronization in human-computer interaction—the Sassafras UIMS , 1986, TOGS.

[29]  Marc H. Brown,et al.  Algorithm animation , 1988 .

[30]  Stanley B. Zdonik Maintaining consistency in a database with changing types , 1986 .

[31]  Kristen Nygaard Basic concepts in object oriented programming , 1986 .

[32]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.

[33]  Greg Nelson,et al.  Juno, a constraint-based graphics system , 1985, SIGGRAPH.

[34]  Craig W. Reynolds Flocks, herds, and schools: a distributed behavioral model , 1987, SIGGRAPH.

[35]  Oscar Nierstrasz,et al.  KNOs: KNowledge acquisition, dissemination, and manipulation Objects , 1987, TOIS.

[36]  Giuseppe Marino,et al.  NEM: A Language for Animation of Actors and Objects , 1985, Eurographics.

[37]  Carl Hewitt,et al.  Viewing Control Structures as Patterns of Passing Messages , 1977, Artif. Intell..

[38]  Kim B. Bruce,et al.  An algebraic model of sybtypes in object-oriented languages (draft) , 1986, OOPWORK '86.

[39]  Daniel C. Halbert,et al.  The Trellis programming environment , 1987, OOPSLA 1987.

[40]  Barbara Liskov,et al.  Abstraction and Specification in Program Development , 1986 .

[41]  Steven P. Reiss,et al.  An object-oriented framework for graphical programming (summary paper) , 1986, OOPWORK '86.

[42]  Daniel E. Lipkie,et al.  Star graphics: An object-oriented implementation , 1982, SIGGRAPH.

[43]  David E. Breen,et al.  The Clockworks: An Object-Oriented Computer Animation System , 1987, Eurographics.

[44]  John G. P. Barnes An overview of Ada , 1980, Softw. Pract. Exp..

[45]  Alan Borning,et al.  The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory , 1981, TOPL.

[46]  Craig Schaffert,et al.  Abstraction mechanisms in CLU , 1977, Commun. ACM.

[47]  Barak A. Pearlmutter,et al.  Oaklisp: an object-oriented scheme with first class types , 1986, OOPSLA 1986.

[48]  John V. Guttag,et al.  Abstract data types and the development of data structures , 1977, CACM.

[49]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

[50]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[51]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[52]  Craig W. Reynolds Computer animation with scripts and actors , 1982, SIGGRAPH.

[53]  James D. Foley,et al.  Dynamic Process Visualization , 1986, IEEE Computer Graphics and Applications.

[54]  David B. Anderson Experience with Flamingo: a distributed, object-oriented user interface system , 1986, OOPSLA 1986.

[55]  Alan Borning,et al.  Multiple Inheritance in Smalltalk-BO , 1982, AAAI.

[56]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[57]  Peter Wegner Dimensions of object-based language design , 1987, OOPSLA 1987.

[58]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[59]  David J. DeWitt,et al.  An object-oriented approach to database system implementation , 1981, TODS.

[60]  Mario Tokoro,et al.  Behavioral Simulation Based on Knowledge Objects , 1987, ECOOP.

[61]  David Lorge Parnas,et al.  A technique for software module specification with examples , 1972, CACM.

[62]  Daniel Thalmann,et al.  Miranim: An Extensible Director-Oriented System for the Animation of Realistic Images , 1985, IEEE Computer Graphics and Applications.

[63]  Alan Borning,et al.  Constraint-Based Tools for Building User Interfaces , 1986, ACM Trans. Graph..

[64]  Edwin Blake,et al.  A Metric for Computing Adaptive Detail in Animated Scenes Using Object-Oriented Programming , 1987, Eurographics.

[65]  Luca Cardelli,et al.  Squeak: a language for communicating with mice , 1985, SIGGRAPH.

[66]  Eugene Fiume,et al.  Grafields: Field-directed dynamic splines for interactive motion control , 1989, Comput. Graph..

[67]  Daniel Thalmann,et al.  Subactor Data Types as Hierarchical Procedural Models for Computer Animation , 1985, Eurographics.

[68]  Arie E. Kaufman,et al.  BGRAF2: a real-time graphics language with modular objects and implicit dynamics , 1976, SIGGRAPH '76.

[69]  Eric Harslem,et al.  Designing the STAR User Interface , 1987, ECICS.

[70]  Thomas A. Cargill Pi: a case study in object-oriented programming , 1986, OOPSLA 1986.

[71]  K. S. Bhaskar,et al.  Virtual instruments: object-oriented program synthesis , 1986, OOPSLA 1986.

[72]  Eugene Fiume,et al.  A Temporal Scripting Language for Object-Oriented Animation , 1987, Eurographics.

[73]  Pierre America,et al.  Pool-T: a parallel object-oriented language , 1987 .