This Article 
 Bibliographic References 
 Add to: 
A Case Study in Structure Specification: a Grid Description of Scribe
November 1989 (vol. 15 no. 11)
pp. 1397-1416

The author describes a case study in which the grid mechanism was used to describe the structure of Scribe, a document-processing system in widespread use. The structure description is presented and explained in some detail, and the effectiveness of the grid for specifying the important structural features of Scribe is discussed. It is shown that the grid succeeds in its objective of presenting complex structures clearly. A grid specification forms a suitable basis for a narrative explanation of system structure. It is further noted that some detailed improvements would further enhance the expressiveness of the grid, and that environment support is essential for serious use of the grid.

[1] D. L. Parnas, "Information distribution aspects of design methodology," inInformation Processing 71: Proc. IFIP Cong. 71, Vol. 1: Foundations and Systems, C. R. Freeman, Ed., IFIP, Aug. 1971, pp. 339-344.
[2] H. L. Ossher, "Grids: A new program structuring mechanism based on layered graphs," inProc. ACM Symp. Principles of Programming Languages, Jan. 1984, pp. 11-22.
[3] H. L. Ossher, "A new program structuring mechanism based on layered graphs," Ph.D. dissertation, Stanford Univ., Jan. 1985; available as Tech. Rep. STAN-CS-85-1078, Dep. Comput. Sci., Stanford Univ., Dec. 1984.
[4] H. L. Ossher, "A mechanism for specifying the structure of large, layered systems," inResearch Directions in Object-Oriented Programming, B. Shriver and P. Wegner, Eds. Cambrige, MA: The MIT Press Series in Computer Systems, 1987, pp. 219-252.
[5] B. K. Reid and J. H. Walker,Scribe User Manual, 3rd ed., Unilogic, 1980.
[6] M. H. Brown,Algorithm Animation(ACM Distinguished Dissertation Series). Cambridge, MA: MIT Press, 1988.
[7] F. DeRemer and H. H. Kron, "Programming-in-the-large versus programming-in-the-small,"IEEE Trans. Software Eng., vol. SE-2, pp. 80-86, June 1976.
[8] D. Garlan,Views for Tools in Integrated Environments, PhD dissertation, Computer Science Dept., Carnegie Mellon Univ., Pittsburgh, May 1988.
[9] H. F. Korth and A. Silberschatz,Database System Concepts, McGraw-Hil, New York, 1986.
[10] A. N. Habermann, C. Krueger, B. Pierce, B. Staudt, and J. Wenn, "Programming with views,"Comput. Sci., Carnegie-Mellon Univ., Tech. Rep. CMU-CS-87-177, Jan. 1988.
[11] A. Black, N. Hutchinson, E. Jul, and H. Levy, "Object structure in the Emerald system," inProc. Conf. Object-Oriented Programming Systems, Languages, and Applications, Portland, OR, ACM, Sept. 1986, pp. 78-86.
[12] Black et al., "Distribution and Abstract Types in Emerald,"IEEE Trans. Software Eng., Vol. SE-13, No. 1, 1987, pp. 65-76.
[13] W. Harrison, "RPDE3: A framework for integrating tool fragments,"IEEE Software, vol. 4, pp. 46-56, Nov. 1987.
[14] I. P. Goldstein and D. G. Bobrow, "A layered approach to software design," Xerox Palo Alto Research Center, Tech. Rep. CSL-80-5, Dec. 1980.
[15] I. P. Goldstein and D. G. Bobrow, "An experimental description-based programming environment: Four reports," Xerox Palo Alto Research Center, Tech. Rep. CSL-81-3, Mar. 1981.
[16] D. H. Ingalls, "The Smalltalk-76 programming system: Design and implementation," inConf. Rec. Fifth Annu. Symp. Principles of Programming Languages, ACM, Jan. 1978, pp. 9-16.
[17] B. Hailpern and H. Ossher, "Extending objects to provide multiple interfaces," IBM Thomas J. Watson Research Center, Yorktown Heights, NY, Res. Rep. RC 14016, Sept. 1988.
[18] Dijkstra, E. W., "The Structure of the "THE Multiprogramming System", ACM Symposium on Operating Systems,Communications of the ACM, Vol. 11, No. 5, May 1968, pp.341-346.
[19] Project MAC, "Introduction to MULTICS," Massachusetts Inst. Technol., Tech. Rep. MAC TR-123, Feb. 1974.
[20] J. J. Homing and B. Randell, "Process structuring,"Comput. Surveys, vol. 5, pp. 5-30, Mar. 1973.
[21] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[22] W. Teitelman and L. Masinter, "The Interlisp programming environment,"Computer, vol. 14, pp. 25-33, Apr. 1981.
[23] A. Goldberg,Smalltalk-80. The Interactive Programming Environment. Reading, MA: Addison-Wesley, 1984.
[24] J. G. Mitchell, W. Maybury, and R. E. Sweet, "Mesa language manual," Xerox Palo Alto Research Center, Tech. Rep. CSL-79-3, Apr. 1979.
[25] E. E. Schmidt, "Controlling large software development in a distributed environment," Xerox Palo Alto Research Center, Tech. Rep. CSL-82-7, Dec. 1982.
[26] N. H. Minsky and D. Rozenshtein, "Law-based approach to object-oriented programming," inProc. OOPSLA '87 Conf., Oct. 1987, pp. 482-493.
[27] D. T. Ross, "Structured analysis (SA): A language for communicating ideas,"IEEE Trans. Software Eng., vol. SE-3, pp. 16-34, Jan. 1977.
[28] C. Sterling and E. Shapiro,The Art of Prolog: Advanced Programming Techniques. Cambridge, MA: MIT Press, 1986.
[29] B. K. Reid,Scribe User Manual, Carnegie-Mellon Univ., 1978. This is an outdated edition of the manual, but it corresponds to the version of the system for which the grid specification was written.
[30] B.K. Reid,Scribe: A Document Specification Language and Its Compiler, PhD thesis, Carnegie Mellon Univ., Pittsburgh, Oct. 1980. (Also available as Tech. Report CMU-CS-81-100, Computer Science Dept., Carnegie Mellon Univ., Pittsburgh, 1981.)
[31] W. A. Wulf, D. B. Russell, and A. N. Habermann, "Bliss: A language for systems programming,"Commun. ACM, vol. 14, pp. 780- 790, Dec. 1971.
[32] B. K. Reid, personal communication, Aug.-Sept. 1984.
[33] L. Adams, "Integrating a structuring mechanism with a program editor," Ph.D. dissertation, Stanford Univ., Jan. 1989.

Index Terms:
structure specification; grid mechanism; Scribe; document-processing system; grid specification; environment support; computer graphics; data structures; software engineering
H. Ossher, "A Case Study in Structure Specification: a Grid Description of Scribe," IEEE Transactions on Software Engineering, vol. 15, no. 11, pp. 1397-1416, Nov. 1989, doi:10.1109/32.41332
Usage of this product signifies your acceptance of the Terms of Use.