skip to main content
article
Free Access

An object-oriented approach to graphical interfaces

Published:01 April 1986Publication History
Skip Abstract Section

Abstract

An object-oriented system for building graphical interfaces to programs is discussed. The system, called GROW, facilitates the process of creating interfaces that are highly interactive (including direct manipulation and animation), rich in layout structure, and effectively reusable across applications. These properties are achieved through three techniques: object-based graphics with taxonomic inheritance, interobject relationships such as composition and graphical dependency, and separation of the interface and application. Experience with interfaces for several applications has provided insights on the effectiveness of these techniques. First, object-oriented programming yields significant leverage on specializing and reusing interfaces. Second, layout constraints (such as maintaining the connectivity of a graph) can be managed with simple data dependencies among the attributes of the graphical objects. Finally, separating the interface and application is essential to reusing interface components. This paper describes the techniques in detail, gives examples of interfaces built with GROW, and summarizes experiences using GROW with a variety of applications.

References

  1. 1 AMBURN, P., GRANT, E., AND WHITTED, T. Managing geometric complexity with enhanced procedural models. Comput. Graph. 20, 4 (Aug. 1986), 189-195. Google ScholarGoogle Scholar
  2. 1a ANONYMOUS. Interlisp-D reference manual. Xerox Artificial Intelligence Systems, Pasadena, Calif., Oct. 1985.Google ScholarGoogle Scholar
  3. 2 BARSTOW, D., RARTH, P., AND DINITZ, R. SPHINX: Exploiting the differences between programming environments and runtime environments. Tech. Rep., Schlumberger-Doll Research, Ridgefield, Conn., 1986. (Available from authors.)Google ScholarGoogle Scholar
  4. 3 BARTH, P., GUTHERY, S., AND BARSTOW, D. The Stream Machine: A data flow architecture for real-time applications. In Proceedings of the 8th International Conference on Software Engineering (London, England, Sept.). IEEE, Washington, D.C., 1985, pp. 103-110. Google ScholarGoogle Scholar
  5. 4 BOBROW, D. G., AND STEFIK, M. The Loops manual. Tech. Note KB-VLSI-81-13, Xerox Palo Alto Research Center, Palo Alto, Calif., 1981.Google ScholarGoogle Scholar
  6. 5 BORNING, A. The programming language aspects of ThingLab, a constraint oriented simulation laboratory. ACM Trans. Program. Lang. Syst. 3, 4 (Oct. 1981), 353-387. Google ScholarGoogle Scholar
  7. 6 BROWN, G. P., CARLING, R. T., HEROT, C. F., KRAMLICH, D. A., AND SOUZA, P. Program visualization: Graphical support for software development. Computer 18, 8 (Aug. 1985), 27-35.Google ScholarGoogle Scholar
  8. 7 BROWN, M. H., AND SEDGEWICK, R. A system for algorithm animation. Comput. Graph. 18, 3 (July 1984), 177-186. Google ScholarGoogle Scholar
  9. 8 CAMPBELL, R. H., AND KUBITZ, W.J. The professional workstation research project. IEEE Comput. Graph. Appt. o, ~ (lv{ay 1986), 17-24. Google ScholarGoogle Scholar
  10. 9 mCox, B.J. Object Oriented Programming: An Evolutionary Approach. Addison-Wesley, Reading, Mass., 1986. Google ScholarGoogle Scholar
  11. 10 CURRY, ~. A., AND ~YmK~, rL. lvi. n,xpermnce w~n trmLs m the WUL-I~.~t LtlLIUII,At~ITUX ~ utlg Workshop on Reusability in Programming Proceedings (Newport, Sept.). ITT, Shelton, Conn., 1983, pp. 83-96.Google ScholarGoogle Scholar
  12. 11 Duisberg. R.A Animated graphical interfaces using temporal constraints. In Human Factors in Computing Systems: CHI '86 Conference Proceedings (Boston, Mass.). ACM, New York, 1986, pp. 131-136. Google ScholarGoogle Scholar
  13. 12 Foley, J.D., AND McMath, C.F. Dynamic process visualigation,IEEE comput,Graph.Appl. 6, 3 (Mar. 1986), 16-25.Google ScholarGoogle Scholar
  14. 13 GOLDBERO, A., AND ROBSON, D. Smalltalk-80: The Language and Its Implementation. Addison- Google ScholarGoogle Scholar
  15. 14 GREENSPAN, S., AND BARSTOW, D. Using a device model as domain knowledge in the automatic programming of software to control remote devices. Tech. Rep., Schlumberger-Doll Research, u:~.r.^,~ o^~ 1986. ~ a..;~ ~.~. authors.)Google ScholarGoogle Scholar
  16. 15 HAYES, P. J., SZEKELY, P. A., AND LERNER, R. A. Design alternatives for user interface management systems based on experience with Cousin. In Human Factors in Computing Proceedings ~,~ Francisco, ~;f Apr.). ao~ ~o~, York, 1as_a, pp. 169-175. Google ScholarGoogle Scholar
  17. 16 JACOB, R. J.K. A state transition diagram language for visual programming. Computer 18, 8 1 ~RK/ K1 -.~Q Google ScholarGoogle Scholar
  18. 17 L{EBERMAN, H. There's more to menu systems than meets the screen. Comput. Graph. 19, 3 (July 1985), 181-189. Google ScholarGoogle Scholar
  19. 18 L!PK!E~ D. E, EVANS~ S. R, NEWL!N, J. g., AND WEISSMAN~ R.T. Star ~aphics: An objectoriented implementation. Comput. Graph. 16, 3 (July 1982), 115-124. Google ScholarGoogle Scholar
  20. 19 LONDON, R. L., AND DUlSBZRO, R.A. Animating programs using Smalltalk. Computer 18, 8 (Aug. 1985), 61-71.Google ScholarGoogle Scholar
  21. 20 MELAMED, B., AND MORRIS, R. Z.T. Visual simulation: The performance analysis workstation. Computer 18, 8 (Aug. 1985), 87-94.Google ScholarGoogle Scholar
  22. 21 MEYROWITZ, N. Intermedia: The architecture and construction of an object-oriented hypermedia system and applications framework. In Proceedings of the A CM Conference on Object Oriented Programming Systems, Languages, and Applications (Sept. 1986). ACM, New York, pp. 186-201. Google ScholarGoogle Scholar
  23. 22 MOR{CONI, M., AND HARE, D.F. Visualizing program designs through PegaSys. Computer 18, 8 (Aug. 1985), 72-85.Google ScholarGoogle Scholar
  24. 23 NELSON, G. Juno, a constraint-based graphics system. Computer Graph. 19, 3 (July 1985), 235-243. Google ScholarGoogle Scholar
  25. 24 NORMAN, D.A. Design principles for human-computer interfaces. In Human Factors in Computing Systems: CHI '83 Conference Proceedings (Boston, Mass., Dec.). ACM, New York, 1983, pp. 1-10. Google ScholarGoogle Scholar
  26. 25 PETERSON, J. L. Petri Net Theory and the Modeling of Systems. Prentice-Hall, Englewood Cliffs, N. J., 1981. Google ScholarGoogle Scholar
  27. 26 REINS, S.P. Graphical program development with PECAN program development system. A CM SIGPLAN Not. 19, 5 (May 1984), 30-41. Google ScholarGoogle Scholar
  28. 27 REINS, S.P. An object-oriented framework for graphical programming. A CM SIGPLAN Not. 2i, i0 (Oct. i986), 4~-o7. Google ScholarGoogle Scholar
  29. 28 SCHMUCKER, K. J. Object-Oriented Programming /or the Macintosh. Hayden, Hasbrouck Heights, N.J., 1986. Google ScholarGoogle Scholar
  30. 29 ~mE~T, d. ~., toUSLe:Y, W. J)., AN~ r~L~:S*:S, ~. W. ~n object-oriented user interface management system. Comput. Graph. 20, 4 (Aug. 1986), 259-268. Google ScholarGoogle Scholar
  31. 30 SMITH, R.G. Strobe: Support for structured object knowledge representation. In Proceedings o/the william Kaufman, Los Altos, Calif., 1983, pp. 855-858.Google ScholarGoogle Scholar
  32. 31 SMITH, R. G., AND CARANDO, P. J. Structured object programming in strobe. Res. Note, kJ~tIZUtIIUUt~UX-IJV~t I ~ 19 I~ZU~UXt~;IU~ k.~UIUI.9 ~J~.b, .L~'U~L~.Google ScholarGoogle Scholar
  33. 32 SMITH, R. G., DINITZ, R., AND BARTH, P. Impulse-86: A substrate for object-oriented interface design, in Proceedings of the ACM Conference on Object Oriented Programming Systems, Languages, and Applications (Sept. 1986). ACM, New York. Google ScholarGoogle Scholar
  34. 33 SUTHERLAND, I.E. Sketchpad: A man-machine graphical communication system. Ph.D. thesis, Dept. of Electrical Engineering, Massachusetts institute of Technology, Cambridge, Mass., 1963.Google ScholarGoogle Scholar
  35. 34 WEINREB, D., AND MOON, D. The Lisp Machine Manual, 4th ed. Symbolics, Inc., Cambridge, Mass., 1981. Google ScholarGoogle Scholar

Index Terms

  1. An object-oriented approach to graphical interfaces

            Recommendations

            Reviews

            Chirtic Silvia

            This paper presents an object-oriented system called Grow, used to construct graphical interfaces for several different systems. Grow simplifies the process of creating icons, linking the interface and application and adding interactivity and animation. Interfaces created with Grow can be modified and reused in other applications. Grow is written in INTERLISP-D, uses the object-oriented language Strobe, and runs on the Xerox-1100 series workstation. This paper is organized into nine sections. Sections 1, 2, and 3 provide an overview of the basic concepts in Grow and give an example of a dataflow interface. Three techniques are used: object-based graphics, interobject relationships, and separation of interface and application. Section 4 describes the three types of object relationships: (1)Taxonomy inheritance—Allows objects to share commonalities. (2)Composition—Allows several objects to be combined into a single, complex object. (3)Graphical dependency—Allows constraints to be maintained among the attributes of the graphical objects. Section 5 presents, in detail, the operations for creating a graphical object, linking the application and the interface, and selection and animation. Section 6 describes the main steps for creating a graphical interface. Sections 7, 8, and 9 provide examples of the use of Grow and summarize its design. A number of applications are described: a dataflow program simulator, a Petri net editor and simulator, and an analog computer simulator. In my opinion, this paper is rigorous and original. The concepts used—object-oriented system, taxonomy inheritance, and interobject relationships—are powerful, modern, and attractive. The system described will support a wide variety of interactions, from graphical editing to animation.

            Access critical reviews of Computing literature here

            Become a reviewer for Computing Reviews.

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Graphics
              ACM Transactions on Graphics  Volume 5, Issue 2
              April 1986
              94 pages
              ISSN:0730-0301
              EISSN:1557-7368
              DOI:10.1145/22949
              Issue’s Table of Contents

              Copyright © 1986 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 April 1986
              Published in tog Volume 5, Issue 2

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader