“System design and implementation of BGRAF2” by Kaufman

  • ©Arie A. Kaufman




    System design and implementation of BGRAF2



    BGRAF2 is a real-time interactive 2D graphics language. Its supporting system contends with an unusual combination of features: timing, events, parallelism, image manipulation, user interaction and procedural structures. This combination creates within the system many unpredictable interrelated tasks competing for execution. A BGRAF2 program is compiled into an object module consisting of a sequence of pure code blocks, tasks, and a set of data blocks. The real-time environment is a hierarchical structure, where the highest level is a Scheduler, and the next level is composed of the object module and five additional processors: Graphics Processor, Control Processor, Input-Output Processor, Real-Time Processor and Memory Manager. The Scheduler is an abstract monitor responsible for scheduling tasks in accordance with a multi-level priority from a multi-queue scheme.


    1. Bergman, S. & Kaufman, A. BGRAF2: a real-time interactive graphics language with modular objects and implicit dynamics. Proc. SIGGRAPH’76, Phila. PA (July 1976) 133-138.
    2. Bergman, S. & Kaufman, A. High-level language for real-time processes. Proc. 12-th Nat’l Conf. on Data Processing, Tel-Aviv (Sept. 1977) 179-189 (in Hebrew).
    3. Brinch Hansen, P. Operating system principles. Prentice-Hall, Englewood Cliffs NJ (1973).
    4. Brinch Hansen, P. The programming language concurrent Pascal. IEEE Proc. on Software Eng. 1, 2 (June 1975) 199-207.
    5. Dijkstra, E.W. Cooperating sequential processes. In “Programming languages” by F. Gennys (Ed.), Academic Press (1968).
    6. Dijkstra, E.W. The structure of the T.H.E. multi-programming system. CACM 11, 5 (May 1968) 341-346.
    7. Dijkstra, E.W. Hierarchical ordering of sequential processes. Acta Informatica 1, 2 (1971) 115-138.
    8. Futrelle, R.P. & Potel, M.J. The system design for GALATEA, an interactive real-time computer system for movie and video analysis. Computers & Graphics 1 (1975) 115-121.
    9. Hennessy, J.L. et al. TOMAL: a task-oriented microprocessor applications language. IEEE Trans. on IECI-22, 3 (Aug. 1975).283-289.
    10. Hoare, C.A.R. Monitors: an operating system structuring concept. CACM 17, 10 (Oct. 1974) 549-557.
    11. Kaufman, A. & Bergman, S. The definition of BGRAF2: a real-time interactive graphic language. Ben-Gurion Univ., Math. Dept., Tech. Rep. MATH-132 (Jan. 1976).
    12. Kaufman, A. Interactive real-time graphics language. Ph.D. Thesis (Aug. 1977), (in Hebrew, English Summary).
    13. Knuth, D.E. The art of computer programming, vol. 1: Fundamental algorithms. Addison-Wesley (1968).
    14. Parnas, D.L. On the criteria to be used in decomposing systems into modules. CACM 15, 12 (Dec. 1972) 1053-1058.
    15. Potel, M.J. An executive for event-driven systems. Quarterly Rep. 49, Univ. of Chicago (May 1976).

ACM Digital Library Publication: