This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Support Algorithms for Incremental Attribute Evaluation of Asynchronous Subtree Replacements
March 1993 (vol. 19 no. 3)
pp. 231-252

A solution to the problem of incremental attribute evaluation for multiple asynchronous subtree replacements that is applicable to arbitrary noncircular attribute grammars is discussed. The algorithm supports multiple independent editing cursors. Concurrent evaluation processes proceed independently as long as they cover disjoint regions of the derivation tree. Evaluation processes are merged when they overlap, to prevent unnecessary attribute evaluations. The complexity of these three parts of the algorithm is discussed. The algorithm ensures that when evaluation terminates, the tree is consistently attributed. The results solve two open problems that arose in connection with the original algorithm for asynchronous subtree replacements reported by S.M. Kaplan and G.F. Kaiser (1986).

[1] H. Alblas, "Concurrent incremental attribute evaluation," in P. Deransart and M. Jourdan, Eds.,Int. Workshop Attribute Grammars and their Applications, no. 461 inLecture Notes in Computer Science, Paris, France, Sept. 1990, pp. 343-358.
[2] G.V. Bochmann, "Semantic evaluation from left to right,"Commun. ACM, vol. 19, no. 2, pp. 55-61, Feb. 1976.
[3] H.-J. Boehm and W. Zwaenepoel, "Parallel attribute grammar evaluation," in7th Int. Conf. Distributed Computing Systems, Berlin, Sept. 1987, pp. 347-354.
[4] A. Demers, T. Reps, and T. Teitelbaum, "Incremental evaluation for attribute grammars with applications to syntax-directed editors," inConf. Rec. 8th Annu. ACM Symp. Principles Programming Languages, Jan. 1981, pp. 415-418.
[5] C. Fischer, G. Johnson, J. Mauney, A. Pal, and D. Stock, "The POE language based editor project," inProc. ACM SIGSOFT/SIGPLAN Software Eng. Symp. Practical Software Develop. Environments, 1984, pp. 21-29.
[6] D. B. Garlan and P. L. Miller, "'GNOME: An introductory programming environment based on a family of structure editors," inProc. ACM SIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Apr. 1984, pp. 65-72.
[7] B. Geitz, "Asynchronous subtree replacement for language-based editors," Oberlin College and Cornell University, 1987.
[8] I. Greif, Ed.,Computer-Supported Cooperative Work: A Book of Readings. San Mateo, CA: Morgan Kaufmann, 1988.
[9] I. Greif, R. Selinger, and W. Weihl, "A case study of CES: A distributed collaborative editing system implemented in Argus,"IEEE Trans. Software Eng., vol. 18, no. 9, pp. 827-839, Sept. 1992.
[10] P. Henderson, Ed.,Ass. Comput. Mach. SIGSOFT/SIGPLAN Software Eng. Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984; special issue ofSIGPLAN Notices, vol. 19, no. 5, May 1984 and ofSoftware Eng. Notes, vol. 9, no. 3, May 1984.
[11] R. Hoover, "Incremental graph evaluation," Ph.D. dissertation, Cornell University, Tech. Rep. 87-836, May 1987.
[12] S. E. Hudson and R. King, "Semantic feedback in the Higgens UIMS,"IEEE Trans. Software Eng., vol. 14, no. 8, pp. 1188-1206, Aug. 1988.
[13] S. Hudson and R. King, "Cactis: A Self-Adaptive, Concurrent Implementation of an Object-Oriented Database Management System,"ACM Trans. Database Systems, Sept. 1989, pp. 291-321.
[14] G. E. Kaiser and S. M. Kaplan, "Reliability in distributed programming environments," in6th Symp. Reliability in Distributed Software and Database Systems, Kingsmill--Williamsburg, VA, Mar. 1987, pp. 45-55.
[15] G. E. Kaiser and S. M. Kaplan, "Parallel and distributed incremental attribute evaluation algorithms for multi-user software development environments,"Ass. Comput. Mach. Software Eng. Methodology, Jan. 1993, in press.
[16] G. E. Kaiser, S. M. Kaplan, and J. Micallef, "Multiuser, distributed language-based environments,"IEEE Software, vol. 4, no. 6, pp. 58-67, Nov. 1987.
[17] S. K. Kaplan and G. E. Kaiser, "Incremental Attribute evaluation in distributed language-based environments," inProc. 5th Annu. Symp. Principles of Distributed Computing, Calgary, Aug. 11-13, 1986, pp. 121-130.
[18] U. Kastens, "Ordered attribute grammars,"Acta Informatica, vol. 13, pp. 229-256, 1980.
[19] C. M. Kincaid, P. B. Dupoint, and A. R. Kaye, "Electronic calendars in the office: An assessment of user needs and current technology,"Ass. Comput. Mach. Trans. Office Information Syst., vol. 3, no. 1, pp. 89-102, Jan. 1985.
[20] D. E. Knuth, "Semantics of context-free languages,"Mathematical Syst. Theory, vol. 2, no. 2, pp. 127-145, June 1968.
[21] D. E. Knuth, "Semantics of context-free languages: Correction,"Mathematical Syst. Theory, vol. 5, no. 1, pp. 95-96, Mar. 1971.
[22] J. Micallef, "Incremental attribute evaluation for multi-user semantics-based editors," Ph.D. dissertation, Columbia University, Tech. Rep. CUCS-023-91, May 1991.
[23] J. Micallef and G. E. Kaiser, "Version and configuration control in distributed language-based environments," in J. F. H. Winkler, Ed.,Workshop on Software Version and Configuration Contr., vol. 30,German Chapter of the Ass. Comput. Mach. Berichte, Grassau, Germany, Jan. 1988, pp. 119-143.
[24] J. M. Morris and M. D. Schwartz, "The design of a language-oriented editor for block-structured languages," inAss. Comput. Mach. SIGPLAN SIGOA Symp. Text Manipulation, Portland, OR, June 1981, pp. 28-33, special issue ofSIGPLAN Notices, vol. 16, no. 6, June 1981.
[25] L.R. Neal, "Cognition-Sensitive Design and User Modeling for Syntax-Directed Editors,"Proc. CHI + GI 87 Conf. on Human Factors in Computing and Graphics Interface, ACM Press, New York, 1987, pp. 99-102.
[26] S. B. Peckham, "Incremental attribute evaluation and multiple subtree replacements," Ph.D. dissertation, Cornell University, Tech. Rep. 90- 1093, Feb. 1990.
[27] D. E. Perry and W. M. Evangelist, "An empirical study of software interface errors," inInt. Symp. New Directions in Computing, Trondheim, Norway, Aug. 1985, pp. 32-38.
[28] D. E. Perry and W. M. Evangelist, "An empirical study of software interface faults--An update," in20th Annual Hawaii Int. Conf. Systems Sciences, vol. II, Kona HI, Jan. 1987, pp. 113-126.
[29] T. Reps, "Optimal-time incremental semantic analysis for syntaxdirected editors," inConf. Rec. 9th Annu. ACM Symp. Principles Programming Lang., Albuquerque, NM, Jan. 1982, pp. 169-176.
[30] T. W. Reps, "Incremental evaluation for attribute grammars with unrestricted movement between tree modifications,"Acta Informatica, vol. 25, pp. 155-178, 1988.
[31] T. Reps, T. Teitelbaum, and A. Demers, "Incremental context dependent analysis for language-based editors,"ACM Trans. Prog. Lang. Syst., vol. 5, pp. 449-477, July 1983.
[32] T. W. Reps, "Generating language-based environments," Ph.D. dissertation, Cornell University, Tech. Rep. 82-514, Aug. 1982.
[33] T. W. Reps and T. Teitelbaum,The Synthesizer Generator: A System For Constructing Language-Based Editors. New York: Springer-Verlag, 1988.
[34] T. W. Reps, C. Marceau, and T. Teitelbaum, "Remote attribute updating for language-based editors," in13th Annual Ass. Comput. Mach. Symp. Principles of Programming Languages, St. Petersburg Beach, FL, Jan. 1986, pp. 1-13.
[35] W. M. Waite andG. Goos, Compiler Construction. New York: Springer-Verlag, 1984.
[36] M. N. Wegman, "Parsing for structural editors (extended abstract)," in21st Annual Symp. Foundations of Computer Sci., Syracuse NY, Oct. 1980, pp. 320-327.
[37] D. Yeh and U. Kastens, "Improvements of an incremental evaluation algorithm for ordered attribute grammars,"SIGPLAN Notices, vol. 23, no. 12, pp. 45-50, Dec. 1988.

Index Terms:
incremental attribute evaluation; multiple asynchronous subtree replacements; arbitrary noncircular attribute grammars; multiple independent editing cursors; disjoint regions; derivation tree; complexity; open problems; attribute grammars; computational complexity; text editing; tree data structures; trees (mathematics)
Citation:
J. Micallef, G.E. Kaiser, "Support Algorithms for Incremental Attribute Evaluation of Asynchronous Subtree Replacements," IEEE Transactions on Software Engineering, vol. 19, no. 3, pp. 231-252, March 1993, doi:10.1109/32.221136
Usage of this product signifies your acceptance of the Terms of Use.