Constructing a Graphics System with OBJ2: A Practical Guide

  • Ataru T. Nakagawa
  • Kokichi Futatsugi
Part of the Advances in Formal Methods book series (ADFM, volume 2)


The output part of a graphics system functionally identical to QuickDraw, the basic graphics package of Macintosh, is described in OBJ2. The construction process and the resultant description raise some pragmatic issues in using OBJ2 as a specification language, such as the criteria for selecting a particular construction from among several alternatives. An example of checking specifications in a systematic way is also shown.


Software Engineering Graphic System Half Line Abstract Data Type Rendition Mode 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Rod Burstall and Joseph Goguen. The Semantics of Clear, A Specification Language. Proc. of 1979 Copenhagen Winter School, Lecture Notes in Computer Science 86, Springer-Verlag, 1980, pp. 292–332.Google Scholar
  2. [2]
    Kokichi Futatsugi. An Overview of OBJ2. Proc. of Franco-Japanese Symp. on Programming of Future Generation Computers, Tokyo, Oct. 1986, published as Programming of Future Generation Computers, ed. Fuchi,K. and Nivat,M., North-Holland, 1988, pp. 139–160.Google Scholar
  3. [3]
    Kokichi Futatsugi. Experiences in Algebraic Specification/Programming Language Systems. Internal Report, Electrotechnical Laboratory, 1989.Google Scholar
  4. [4]
    Kokichi Futatsugi, Joseph Goguen, Jean-Pierre Jouannaud and José Meseguer. Principles of OBJ2. Proc. 12th Symp. on Princ. ProgLang. 1985, pp. 52–66.Google Scholar
  5. [5]
    Kokichi Futatsugi, Joseph Goguen, José Meseguer and K. Okada. Parameterized Programming in OBJ2. Proc. of 9th Int. Conf. Soft. Eng., March, 1987, pp. 51–60.Google Scholar
  6. [6]
    Joseph Goguen. Higher Order Functions Considered Unnecessary for Higher Order Programming. Tech. Rep. CSL-88–1, SRI International, 1988.Google Scholar
  7. [7]
    Joseph Goguen. Modular Algebraic Specification of Some Basic Geometric Constructions. Artificial Intelligence, Vol. 37, 1988, pp. 123–153.MathSciNetzbMATHCrossRefGoogle Scholar
  8. [8]
    Joseph Goguen and Joseé Meseguer. Order-Sorted Algebra I: Partial and Overloaded Operators, Errors and Inheritance. Technical Report, SRI International, Computer Science Lab., 1987.Google Scholar
  9. [9]
    Joseph Goguen, James Thatcher and Eric Wagner. An initial algebra approach to the specification, correctness, and implementation of abstract data types, In Raymond Yeh, editor, Current Trends in Programming Methodology, IV, pages 80–149. Prentice-Hall, 1978.Google Scholar
  10. [10]
    Joseph Goguen and Timothy Winkler. Introducing OBJ3, in this compendium.Google Scholar
  11. [11]
    John Guttag. The Algebraic Specification of Abstract Data Types. Acta Informatica Vol. 10, 1978, pp. 27–52.MathSciNetzbMATHCrossRefGoogle Scholar
  12. [12]
    John Guttag and J.J. Horning. Formal Specification As a Design Tool. Proc. of Symp. on Princ. Prog. Lang., ACM, 1980, pp. 251–261.Google Scholar
  13. [13]
    Gérard Huet and D.C. Oppen. Equations and rewrite rules: a survey. Technical Report CSL-111, SRI International, Jan. 1980.Google Scholar
  14. [14]
    W.R. Mallgren. Formal Specification of Interactive Graphics Programming Languages. MIT Press, 1982.Google Scholar
  15. [15]
    Macintosh Programmer’s Guide, also available as Inside Macintosh, Addison-Wiesley, 1985.Google Scholar
  16. [16]
    José Meseguer and Joseph Goguen. Initiality, induction and computability. In M. Nivat (ed.), Algebraic Methods in Semantics, Cambridge University Press, 1984, pp. 459–541.Google Scholar
  17. [17]
    Ataru Nakagawa and Kokichi Futatsugi. Stepwise Refinement Process with Modularity: An algebraic Approach. Proc. of 11th Inter. Conf. Soft. Eng., IEEE, 1989, pp. 166–177.Google Scholar
  18. [18]
    Ataru Nakagawa, Kokichi Futatsugi, S. Tomura and T. Shimizu. Algebraic Specification of Macintosh’s QuickDraw using OBJ2. Proc. of 10th Inter. Conf. Soft. Eng., IEEE, 1988, pp. 334–343.Google Scholar
  19. [19]
    Special Issue on Rapid Prototyping, ACM Software Engineering Notes, Vol. 7, No. 5, 1982.Google Scholar
  20. [20]
    J.R. Van Aken. An Efficient Ellipse-Drawing Algorithm. IEEE Computer Graphics and Applications, Vol. 4 No. 9, 1984, pp. 24–35.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2000

Authors and Affiliations

  • Ataru T. Nakagawa
    • 1
  • Kokichi Futatsugi
    • 2
  1. 1.SRA, Inc.Chiyoda, Tokyo 102Japan
  2. 2.Electrotechnical LaboratoryTsukuba Science City, Ibaraki 305Japan

Personalised recommendations