This Article 
 Bibliographic References 
 Add to: 
Early Experience with the Visual Programmer's WorkBench
October 1990 (vol. 16 no. 10)
pp. 1107-1121

The Visual Programmer's WorkBench (VPW) addresses the rapid synthesis and customization of environments for the specification, analysis, and execution of visual programs. The goal of VPW is to enable the easy creation of environments for visual languages. The design of VPW and experience using it to generate a distributed programming environment for a concurrent visual language are described. A visual programming environment for the PetriFSA language generated with VPW is outlined. An overview is provided of the language definition model and its relation to the logical architecture of VPW. Details are given of the language specifications used in VPW, and its application in defining the PetriFSA language. A language-based environment for a specific visual language is generated in VPW from a specification of the syntactic structure, the abstract structure, the static semantics, and the dynamic semantics of the language. VPW is built around a model of distributed processing based on a shared distributed memory. This framework is used in defining the architecture of the environment and for the execution model of visual languages.

[1] S. P. Reiss, "Pecan: Program development systems that support multiple views," Brown Univ., Tech. Rep. CS-83-29, 1983.
[2] R. Medina-Mora, "Syntax-directed editing: Towards integrated programming environments," Ph.D. dissertation, Carnegie-Mellon Univ., 1982.
[3] G. Kahn, B. Lang, B. Melese, and E. Morcos, "Metal: A formalism to specify formalisms,"Sci. Comput. Program., vol. 3, pp. 153- 188, 1983.
[4] T. Reps,Generating Language-Based Environments. Cambridge, MA: MIT Press, 1984.
[5] N. Carriero and D. Gelernter, "Linda in context,"Commun. ACM, vol. 32, pp. 444-458, Apr. 1989.
[6] D. Harel, "Statecharts: A visual formalism for complex systems,"Sci. Comput. Program., vol. 8, pp. 231-274, 1987.
[7] W. Reisig, "Petri nets: An introduction," inEATCS Monographs on Theoretical Computer Science. New York: Springer-Verlag, 1985.
[8] A. M. Davis, "A comparison of techniques for the specification of external system behavior,"Commun. ACM, vol. 31, pp. 1098-1115, Sept. 1988.
[9] S. Greenspan, C. McGowan, and M. C. Shekaran, "Toward an object-oriented framework for defining services in future intelligent networks," inProc. Int. Conf. Communications, 1988.
[10] R. Saracco and P. Tilanus, "CCITT SDL: Overview of the language and its applications,"Comput. Networks ISDN Syst., vol. 13, pp. 65-74, 1987.
[11] Draft International Standard--Estelle(Formal Description Technique based on Extended State Transition Model), 1987.
[12] R. W. Scheifler and J. Gettys, "The X window system,"ACM Trans. Graphics, vol. 5, no. 2, pp. 79-109, 1986.
[13] K. Sugiyama, S. Tagawa, and M. Toda, "Method for visual understanding of hierarchical system structures,"IEEE Trans. Syst. Man. Cybern., vol. 11, pp. 109-125, Feb. 1981.
[14] L. Rowe, M. Davis, E. Messenger, C. Meyer, C. Spirakas, and A. Tuan, "A browser for directed graphs,"Software--Practice and Experience, vol. 17, pp. 61-76, Jan. 1987.
[15] G. Furnas, "Generalized fisheye views," inHuman Factors in Computing Systems: SIGCHI I986 Conf. Proc., ACM, 1986.
[16] E. J. Golin, "A method for the specification and parsing of visual languages," Ph.D. dissertation, Brown Univ., 1990.
[17] E. J. Golin and S. P. Reiss, "Representing visual programs with object graphs," Brown Univ., Tech. Rep. CS-89-05, 1987.
[18] G. Kaiser, "Semantics for structure editing environments," Ph.D. dissertation, Carnegie-Mellon Univ., 1985.
[19] D. Gelernter, "An integrated microcomputer network for experiments in distributed programming," Ph.D. dissertation, State Univ. New York at Stony Brook, 1983.
[20] E. J. Golin and S. P. Reiss, "The specification of visual language syntax," inProc. 1989 IEEE Workshop Visual Languages, Rome, Italy, Oct. 1989, pp. 105-110.
[21] D. E. Knuth, "Semantics of context-free languages,"Math. Syst. Theory, vol. 2, no. 2, pp. 127-145, 1968.
[22] A. Aho, B. Kernighan, and P. Weinberger,The Awk Programming Language. Reading, MA: Addison-Wesley, 1988.
[23] D. H. D. Warren, "Logic programming and compiler writing,"Software--Practice and Experience, vol. 10, no. 2, pp. 97-125, 1980.
[24] M. A. Linton, "ImpIementing relational views of programs," inSIGSOFT/SIGPLAN Software Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984, pp. 132-140, see alsoSIGSOFT Software Eng. Notes, vol. 9, no. 3, May 1984; see alsoSIGPLAN Notices, vol. 19, no. 5, May 1984.
[25] S. Horwitz, "Generating language-based editors: A relationally-attributed approach," Ph.D. dissertation, Cornell Univ., Aug. 1985.
[26] R. V. Rubin, "A logical basis for programming by demonstration," Ph.D. dissertation, Brown Univ., 1988.
[27] D. Maier, J. Ullman, and M. Vardi, "On the foundations of the universal-relation model,"ACM Trans. Database Syst., pp. 283-308, Sept. 1984.
[28] D. Maier, D. Rozenshtein, S. Salveter, J. Stein, and D. S. Warren, "Toward logical data independence: A relational query language without relations," inProc. ACM-SIGMOD Int. Conf. Management of Data, June 1982, pp. 51-60.
[29] H. F. Korth, G. M. Kuper, J. Feigenbaum, A. V. Gelder, and J. D. Ullman, "System/U: A database system based on the universal relation assumption,"ACM Trans. Database Syst., vol. 9, pp. 331-347, Sept. 1984.
[30] R. Bahkle and G. Snelting, "The PSG system: From formal language definitions to interactive programming environment,"ACM Trans. Program. Lang. Syst., vol. 8, pp. 547-576, Oct. 1986.
[31] T. Despeyroux, "Executable specifications of static semantics," inSemantics of Data Types (Lecture Notes in Computer Science, vol. 173). New York: Springer-Verlag, 1984, pp. 215-233.
[32] G. Kahn, "Natural semantics," INRIA, Tech. Rep. Rapport de Recherche 601, 1987.
[33] R. Rubin, L. Rudolph, and D. Zernik, "Holistic displays," inProc. Fourth Israel Conf. Computer Systems and Software Engineering, 1989.
[34] E. M. Clarke, E. A. Emerson, and A. P. Sistla, "Automatic verification of finite-state concurrent systems using temporal logic,"ACM Trans. Program. Lang. Syst., vol. 8, no. 2, pp. 244-263, Apr. 1986.
[35] N. Carriero, D. Gelernter, and J. Leichter, "Distributed data structures in Linda," inProc. ACM Symp. Principles of Programming Languages, Jan. 1986.
[36] R. Whiteside and J. Leichter, "Using Linda supercomputing on a local area network," inProc. Supercomputing 88, 1988.
[37] S. P. Reiss, "Integration mechanisms in the field environment," Brown Univ., Tech. Rep. CS-88-18, 1983.
[38] S. P. Reiss, "Working in the Garden environment for conceptual programming,"IEEE Software, vol. 4, pp. 16-27, Nov. 1987.
[39] S.-K. Chang, M. J. Tauber, B. Yu, and Jing-Sheng, "A visual language compiler," IEEE Trans.Software Eng., vol. 15, pp. 506-525, May 1989.

Index Terms:
Visual Programmer's WorkBench; synthesis; customization of environments; specification; visual languages; distributed programming environment; PetriFSA language; syntactic structure; abstract structure; static semantics; dynamic semantics; data structures; formal specification; program verification; programming environments; specification languages; visual programming.
R.V. Rubin, J. Walker II, E.J. Golin, "Early Experience with the Visual Programmer's WorkBench," IEEE Transactions on Software Engineering, vol. 16, no. 10, pp. 1107-1121, Oct. 1990, doi:10.1109/32.60292
Usage of this product signifies your acceptance of the Terms of Use.