This paper presents an overview of VisiTile-a toolkit for developing domain-oriented visual languages. The class of visual languages that can be constructed with VisiTile is briefly described, followed by examples of such languages. An overview of the VisiTile architecture is presented, including discussion of the major components and features of the toolkit. The VisiTile toolkit facilitates the specification and implementation of a hybrid class of visual languages that combine data-flow with grammar-based layout. A two-dimensional layout grammar is used to specify legal constructions of data-flow processors. The language specification is used as the basis for syntax-directed editing and interpretation of visual programs.
{"title":"VisiTile-a visual language development toolkit","authors":"David E. Lewicki, G. Fisher","doi":"10.1109/VL.1996.545277","DOIUrl":"https://doi.org/10.1109/VL.1996.545277","url":null,"abstract":"This paper presents an overview of VisiTile-a toolkit for developing domain-oriented visual languages. The class of visual languages that can be constructed with VisiTile is briefly described, followed by examples of such languages. An overview of the VisiTile architecture is presented, including discussion of the major components and features of the toolkit. The VisiTile toolkit facilitates the specification and implementation of a hybrid class of visual languages that combine data-flow with grammar-based layout. A two-dimensional layout grammar is used to specify legal constructions of data-flow processors. The language specification is used as the basis for syntax-directed editing and interpretation of visual programs.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127402301","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The motivation for this work stems from the lack of good visual tools for describing the execution of procedure-level constructs such as procedures, functions, coroutines, iterators, methods and processes. Our proposed solution to this problem is an extension of an old technique called the contour diagram, which was originally used to give semantics for Algol-like languages. Our extensions allow the contour diagram to be used for more modern languages, such as object-oriented languages, logic languages, etc. In this paper, we explain this extended notation, and its use in visualizing the execution of procedural, object-oriented and logic programs. The significance of this extension is that it can serve as a basis for program visualization tools.
{"title":"Visualizing program execution","authors":"B. Jayaraman, Charlotte M. Baltus","doi":"10.1109/VL.1996.545264","DOIUrl":"https://doi.org/10.1109/VL.1996.545264","url":null,"abstract":"The motivation for this work stems from the lack of good visual tools for describing the execution of procedure-level constructs such as procedures, functions, coroutines, iterators, methods and processes. Our proposed solution to this problem is an extension of an old technique called the contour diagram, which was originally used to give semantics for Algol-like languages. Our extensions allow the contour diagram to be used for more modern languages, such as object-oriented languages, logic languages, etc. In this paper, we explain this extended notation, and its use in visualizing the execution of procedural, object-oriented and logic programs. The significance of this extension is that it can serve as a basis for program visualization tools.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"251 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131944909","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This study has grown out of a research project working with 4th and 5th graders to create animated computer models of scientific concepts covered in their science curriculum. We are using a visual simulation program called KidSim developed by Apple Computer. In the grid-based KidSim environment, children employ programming by demonstration to create graphical rewrite rules which control the movements and appearance of the objects in their models. KidSim offers children the basic functionality of a programming language in predominately visual form. The students use KidSim as a modeling tool to design their own concrete representation of an interesting science phenomenon. Due to the accessibility of picture-based software, students can create, manipulate and revise their own models. By taking a more active role in the learning process, students can develop a more in-depth understanding of scientific concepts. After working with the children for one semester, we wanted to determine how well KidSim supported them in their model-building efforts. We report here our own observations of what challenged the children, results of a survey completed by the children and an analysis of programming language features used in their models compared to an experienced programmer's models.
{"title":"How does a visual simulation program support students creating science models?","authors":"C. Brand, C. Rader","doi":"10.1109/VL.1996.545276","DOIUrl":"https://doi.org/10.1109/VL.1996.545276","url":null,"abstract":"This study has grown out of a research project working with 4th and 5th graders to create animated computer models of scientific concepts covered in their science curriculum. We are using a visual simulation program called KidSim developed by Apple Computer. In the grid-based KidSim environment, children employ programming by demonstration to create graphical rewrite rules which control the movements and appearance of the objects in their models. KidSim offers children the basic functionality of a programming language in predominately visual form. The students use KidSim as a modeling tool to design their own concrete representation of an interesting science phenomenon. Due to the accessibility of picture-based software, students can create, manipulate and revise their own models. By taking a more active role in the learning process, students can develop a more in-depth understanding of scientific concepts. After working with the children for one semester, we wanted to determine how well KidSim supported them in their model-building efforts. We report here our own observations of what challenged the children, results of a survey completed by the children and an analysis of programming language features used in their models compared to an experienced programmer's models.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125358117","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Fisheyeing, in combination with zooming, addresses the scalability problem in visual languages by allowing the user to see a portion of a large visual program in detail while at the same time viewing the remainder of the program in somewhat less detail. We describe how fisheye views have been incorporated in the VIPR (VIsual PRogramming) environment. We begin by discussing the ways in which VIPR is amenable to fisheyeing techniques, and present a scenario illustrating the ways in which fisheyeing may be used in navigating and comprehending a VIPR program. We then discuss the particular requirements placed on a fisheyeing technique by VIPR, and present an implementation that meets those requirements.
{"title":"Incorporating fisheyeing into a visual programming environment","authors":"W. Citrin, C. Santiago","doi":"10.1109/VL.1996.545263","DOIUrl":"https://doi.org/10.1109/VL.1996.545263","url":null,"abstract":"Fisheyeing, in combination with zooming, addresses the scalability problem in visual languages by allowing the user to see a portion of a large visual program in detail while at the same time viewing the remainder of the program in somewhat less detail. We describe how fisheye views have been incorporated in the VIPR (VIsual PRogramming) environment. We begin by discussing the ways in which VIPR is amenable to fisheyeing techniques, and present a scenario illustrating the ways in which fisheyeing may be used in navigating and comprehending a VIPR program. We then discuss the particular requirements placed on a fisheyeing technique by VIPR, and present an implementation that meets those requirements.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121468832","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Display-based problems in current spreadsheet systems have been identified as conceptually simple problems requiring complex solutions. In this paper, we examine such display-based problems and discuss an approach aimed at keeping the solutions of conceptually simple problems simple. This approach is based on functional abstraction, direct manipulation of regions, and invocation polymorphism which is the process of resolving ambiguity in function invocations applied to regions. In this approach, the traditional cell-referencing mechanism is replaced by a region-referencing mechanism. Programs are then constructed visually by direct region manipulations. Unfortunately, region-referencing introduces ambiguity in function invocations. The resolution of this ambiguity requires intelligent assistance. We call the application of such intelligent assistance to resolve invocation polymorphism applicability checking.
{"title":"Solving display-based problems","authors":"Guijun Wang, A. Ambler","doi":"10.1109/VL.1996.545278","DOIUrl":"https://doi.org/10.1109/VL.1996.545278","url":null,"abstract":"Display-based problems in current spreadsheet systems have been identified as conceptually simple problems requiring complex solutions. In this paper, we examine such display-based problems and discuss an approach aimed at keeping the solutions of conceptually simple problems simple. This approach is based on functional abstraction, direct manipulation of regions, and invocation polymorphism which is the process of resolving ambiguity in function invocations applied to regions. In this approach, the traditional cell-referencing mechanism is replaced by a region-referencing mechanism. Programs are then constructed visually by direct region manipulations. Unfortunately, region-referencing introduces ambiguity in function invocations. The resolution of this ambiguity requires intelligent assistance. We call the application of such intelligent assistance to resolve invocation polymorphism applicability checking.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114986964","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
An environment for visualising object oriented program execution providing concrete and abstract views of program structure and behaviour is described. Of particular novelty are dynamic views using a road map metaphor.
{"title":"Visualisation of object oriented program execution","authors":"J. Hosking","doi":"10.1109/VL.1996.545286","DOIUrl":"https://doi.org/10.1109/VL.1996.545286","url":null,"abstract":"An environment for visualising object oriented program execution providing concrete and abstract views of program structure and behaviour is described. Of particular novelty are dynamic views using a road map metaphor.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122588495","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Junehwa Song, Michelle Y. Kim, G. Ramalingam, Raymond E. Miller, Byoung-Kee Yi
Authoring multimedia documents involves coordinating various types of media items in time and space. To be effective, authoring requires integration tools that are highly interactive. In addition, the notion of "time" must be made explicit and flexible so that users may define and manipulate the temporal behavior of documents directly and flexibly. The authors describe an interactive framework for multimedia authoring, which provides users with immediate feedback. It is based on the elastic time model, where the temporal behavior of multimedia documents can be handled explicitly yet flexibly. In its implementation (the Isis* authoring system), users directly manipulate time via timebox diagrams, and the system immediately checks the validity of each user interaction. The system also provides guidance for recovery in anomalous situations. Users can query various temporal properties of the document and use automatic scheduling mechanisms. These system support tools are based on a fast incremental algorithm. Through this approach, multimedia documents can be designed so that they are adaptable to the needs of different users and to changing environments.
{"title":"Interactive authoring of multimedia documents","authors":"Junehwa Song, Michelle Y. Kim, G. Ramalingam, Raymond E. Miller, Byoung-Kee Yi","doi":"10.1109/VL.1996.545298","DOIUrl":"https://doi.org/10.1109/VL.1996.545298","url":null,"abstract":"Authoring multimedia documents involves coordinating various types of media items in time and space. To be effective, authoring requires integration tools that are highly interactive. In addition, the notion of \"time\" must be made explicit and flexible so that users may define and manipulate the temporal behavior of documents directly and flexibly. The authors describe an interactive framework for multimedia authoring, which provides users with immediate feedback. It is based on the elastic time model, where the temporal behavior of multimedia documents can be handled explicitly yet flexibly. In its implementation (the Isis* authoring system), users directly manipulate time via timebox diagrams, and the system immediately checks the validity of each user interaction. The system also provides guidance for recovery in anomalous situations. Users can query various temporal properties of the document and use automatic scheduling mechanisms. These system support tools are based on a fast incremental algorithm. Through this approach, multimedia documents can be designed so that they are adaptable to the needs of different users and to changing environments.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132415466","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
It is commonly accepted that non-logicians have difficulty in expressing themselves in first order logic. Part of the visual language community is concerned with providing visual notations (declarative diagrams) which use visual cues to make the structuring of logical expressions more intuitive. One of the more successful metaphors used in such languages is that of set inclusion, making use of the graphical intuitions which most of us are taught at school. Existing declarative diagramming languages do not make full use of such set-based intuitions. We present a more uniform use of sets in this form of description, which allows simple, but highly expressive diagrams to be constructed from a small number of primitive components. These diagrams, we claim, provide a good alternative notation for a limited, but useful, subset of FOL and, as we show in this paper are the basis of a visual logic programming language.
{"title":"A visual logic programming language","authors":"J. Puigsegur, J. Agustí-Cullell, D. Robertson","doi":"10.1109/VL.1996.545290","DOIUrl":"https://doi.org/10.1109/VL.1996.545290","url":null,"abstract":"It is commonly accepted that non-logicians have difficulty in expressing themselves in first order logic. Part of the visual language community is concerned with providing visual notations (declarative diagrams) which use visual cues to make the structuring of logical expressions more intuitive. One of the more successful metaphors used in such languages is that of set inclusion, making use of the graphical intuitions which most of us are taught at school. Existing declarative diagramming languages do not make full use of such set-based intuitions. We present a more uniform use of sets in this form of description, which allows simple, but highly expressive diagrams to be constructed from a small number of primitive components. These diagrams, we claim, provide a good alternative notation for a limited, but useful, subset of FOL and, as we show in this paper are the basis of a visual logic programming language.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"170 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128206481","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We describe the object-oriented editor GenEd supporting the design of specifications for visual notations. Prominent features of GenEd are: it is generic, i.e. domain-specific syntax and semantics are specified by users; built-in parser for actual drawings, driven by formal specifications; powerful reasoning capabilities about diagrams and their specification. GenEd's specification language is based on a fully formalized theory for describing visual notations. Three examples, place-transition Petri nets, entity-relationship diagrams, and a small GIS application are presented.
{"title":"GenEd-an editor with generic semantics for formal reasoning about visual notations","authors":"V. Haarslev, Michael Wessel","doi":"10.1109/VL.1996.545289","DOIUrl":"https://doi.org/10.1109/VL.1996.545289","url":null,"abstract":"We describe the object-oriented editor GenEd supporting the design of specifications for visual notations. Prominent features of GenEd are: it is generic, i.e. domain-specific syntax and semantics are specified by users; built-in parser for actual drawings, driven by formal specifications; powerful reasoning capabilities about diagrams and their specification. GenEd's specification language is based on a fully formalized theory for describing visual notations. Three examples, place-transition Petri nets, entity-relationship diagrams, and a small GIS application are presented.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131022223","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The design of abstract or physical structures has much in common with the design of software structures, particularly when the structure in question has a mechanical or computational behaviour; such as a digital circuit. Like programming language systems, design systems must have expressive power sufficient for representing any design, a simulation mechanism for debugging the artifact under construction, and a production mechanism; for example, compilation for a programming language, or chip fabrication for a VLSI design system. Since specifying complex devices requires repetitive and conditional structures analogous to iteration, recursion and conditionals in programs, languages for designing complex devices are usually based on textual programming languages, for example VHDL for VLSI design. The advent of full featured visual programming languages, however raises the possibility that the mechanisms used to visually express compact and powerful program structures could be generalised to design languages. We consider using these mechanisms to express the design of structured graphical objects.
{"title":"A visual language for the design of structured graphical objects","authors":"P. T. Cox, Trevor J. Smedley","doi":"10.1109/VL.1996.545301","DOIUrl":"https://doi.org/10.1109/VL.1996.545301","url":null,"abstract":"The design of abstract or physical structures has much in common with the design of software structures, particularly when the structure in question has a mechanical or computational behaviour; such as a digital circuit. Like programming language systems, design systems must have expressive power sufficient for representing any design, a simulation mechanism for debugging the artifact under construction, and a production mechanism; for example, compilation for a programming language, or chip fabrication for a VLSI design system. Since specifying complex devices requires repetitive and conditional structures analogous to iteration, recursion and conditionals in programs, languages for designing complex devices are usually based on textual programming languages, for example VHDL for VLSI design. The advent of full featured visual programming languages, however raises the possibility that the mechanisms used to visually express compact and powerful program structures could be generalised to design languages. We consider using these mechanisms to express the design of structured graphical objects.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"205 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-09-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131397829","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}