The research involved a qualitative and quantitative study of statements made by computer scientists about the ways in which they think that visual programming assists the thought processes of the programmer. This type of metacognitive knowledge has been shown in psychological experiments to have significant effects on performance in cognitive tasks. It is particularly important in the design of programming environments, where HCI factors of the environment constrain the programmer's design behaviour according to the beliefs of the environment designer. The metacognitive knowledge expressed in the visual programming literature is categorised in the paper into a range of micro-theories, the frequency of statements found in each category are compared, and the theoretical assumptions are evaluated in terms of relevant research in cognitive psychology.
{"title":"Metacognitive theories of visual programming: what do we think we are doing?","authors":"A. Blackwell","doi":"10.1109/VL.1996.545293","DOIUrl":"https://doi.org/10.1109/VL.1996.545293","url":null,"abstract":"The research involved a qualitative and quantitative study of statements made by computer scientists about the ways in which they think that visual programming assists the thought processes of the programmer. This type of metacognitive knowledge has been shown in psychological experiments to have significant effects on performance in cognitive tasks. It is particularly important in the design of programming environments, where HCI factors of the environment constrain the programmer's design behaviour according to the beliefs of the environment designer. The metacognitive knowledge expressed in the visual programming literature is categorised in the paper into a range of micro-theories, the frequency of statements found in each category are compared, and the theoretical assumptions are evaluated in terms of relevant research in cognitive psychology.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"14 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":"115661873","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}
C. Geiger, R. Hunstock, G. Lehrenfeld, Wolfgang Müller, J. Quintanilla, C. Tahedl, A. Weber
The main goal of the article is to evaluate the suitability of visual programming languages, i.e., Pictorial Janus (K. Kahn and V. Saraswat, 1990), for the modeling of complex systems and their control strategies. These systems can be seen as networks of communicating objects. Objects select strategies for suitable actions based on incoming messages. Our field of investigation is in computer integrated manufacturing considering the example of a car manufacturing cell. This color sorting assembly buffer (CSAB) schedules jobs in queues. The jobs represent car bodies scheduled in feeder lines for the enameling. Feeder lines collect raw bodies to blocks. Blocks are bodies which are to be enameled by the same color. This organization decreases the cost of expensive change-over-times when changing colors at the enamelling. Blocks of bodies are dislocated from the queue and enameled successively. Contradictory system goals, such as minimizing color changes and preserving the sequence of incoming jobs, have to be regarded by appropriate control strategies. Due to the complexity of this (NP complete) problem and to real time requirements for online control there are no optimal strategies on hand. Consequently, suitable heuristics have to be developed. Often they are designed applying a trial-and-error method. A modeling framework has to support the rapid prototyping of these systems as well as an expressive end user oriented representation. Both are essential requirements since end users need other visualization techniques than experienced designers due to their different knowledge and interests.
本文的主要目标是评估可视化编程语言的适用性,例如,Pictorial Janus (K. Kahn和V. Saraswat, 1990),用于复杂系统及其控制策略的建模。这些系统可以被看作是通信对象的网络。对象根据传入消息选择合适的操作策略。我们的研究领域是计算机集成制造,以汽车制造单元为例。这个颜色排序程序集缓冲区(CSAB)调度队列中的作业。这些工作代表了预定在馈线上进行搪瓷的车身。馈线收集原始体块。砌块是用相同颜色搪瓷的物体。这种组织减少了在珐琅上更换颜色时昂贵的随时间更换的成本。体块从队列中脱臼并依次上釉。相互矛盾的系统目标,如最小化颜色变化和保持传入作业的顺序,必须通过适当的控制策略加以考虑。由于NP完全问题的复杂性和在线控制的实时性要求,目前还没有最优策略。因此,必须开发合适的启发式方法。它们通常是采用试错法设计的。建模框架必须支持这些系统的快速原型设计以及面向最终用户的表达。两者都是必要的要求,因为最终用户需要其他的可视化技术,而不是经验丰富的设计师,因为他们的知识和兴趣不同。
{"title":"Visual modeling and 3D-representation with a complete visual programming language-a case study in manufacturing","authors":"C. Geiger, R. Hunstock, G. Lehrenfeld, Wolfgang Müller, J. Quintanilla, C. Tahedl, A. Weber","doi":"10.1109/VL.1996.545302","DOIUrl":"https://doi.org/10.1109/VL.1996.545302","url":null,"abstract":"The main goal of the article is to evaluate the suitability of visual programming languages, i.e., Pictorial Janus (K. Kahn and V. Saraswat, 1990), for the modeling of complex systems and their control strategies. These systems can be seen as networks of communicating objects. Objects select strategies for suitable actions based on incoming messages. Our field of investigation is in computer integrated manufacturing considering the example of a car manufacturing cell. This color sorting assembly buffer (CSAB) schedules jobs in queues. The jobs represent car bodies scheduled in feeder lines for the enameling. Feeder lines collect raw bodies to blocks. Blocks are bodies which are to be enameled by the same color. This organization decreases the cost of expensive change-over-times when changing colors at the enamelling. Blocks of bodies are dislocated from the queue and enameled successively. Contradictory system goals, such as minimizing color changes and preserving the sequence of incoming jobs, have to be regarded by appropriate control strategies. Due to the complexity of this (NP complete) problem and to real time requirements for online control there are no optimal strategies on hand. Consequently, suitable heuristics have to be developed. Often they are designed applying a trial-and-error method. A modeling framework has to support the rapid prototyping of these systems as well as an expressive end user oriented representation. Both are essential requirements since end users need other visualization techniques than experienced designers due to their different knowledge and interests.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"87 21 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":"131197151","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 paper briefly describes Visualcode and its use in the design of the RainbowScheme program visualization system. RainbowScheme represents Scheme continuations using a combination of text, colors, icons and tree-structured environments. "Visual continuations" greatly facilitate the understanding of the run-time behaviors of Scheme programs.
{"title":"Obtaining visual continuations with Visualcode","authors":"S. Tung","doi":"10.1109/VL.1996.545268","DOIUrl":"https://doi.org/10.1109/VL.1996.545268","url":null,"abstract":"This paper briefly describes Visualcode and its use in the design of the RainbowScheme program visualization system. RainbowScheme represents Scheme continuations using a combination of text, colors, icons and tree-structured environments. \"Visual continuations\" greatly facilitate the understanding of the run-time behaviors of Scheme programs.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"254 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":"115756741","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}
A weakness of many interactive visual programming languages (VPLs) is their static representations. Lack of an adequate static representation places a heavy cognitive burden on a VPL's programmers, because they must remember potentially long dynamic sequences of screen displays in order to understand a previously-written program. Building upon the cognitive dimensions developed for programming languages by cognitive psychologists Green and others, the authors have developed a set of concrete benchmarks for VPL designers to use when designing new static representations. These benchmarks provide design-time information that can be used to improve a VPL's static representation.
{"title":"Design benchmarks for VPL static representations","authors":"Sherry Yang, Elyon Dekoven, Moshé M. Zloof","doi":"10.1109/VL.1996.545296","DOIUrl":"https://doi.org/10.1109/VL.1996.545296","url":null,"abstract":"A weakness of many interactive visual programming languages (VPLs) is their static representations. Lack of an adequate static representation places a heavy cognitive burden on a VPL's programmers, because they must remember potentially long dynamic sequences of screen displays in order to understand a previously-written program. Building upon the cognitive dimensions developed for programming languages by cognitive psychologists Green and others, the authors have developed a set of concrete benchmarks for VPL designers to use when designing new static representations. These benchmarks provide design-time information that can be used to improve a VPL's static representation.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"51 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":"115822263","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}
In the last years, several proposals have been presented concerning graphical query languages working on diagrammatic representations of semantic data models. Such proposals are mainly based on two different user interaction modalities, i.e., to allow the user to specify either a path or a view on the database schema. In this paper we analyze these two strategies, showing that they are characterised by complementary advantages and disadvantages; then we present a new graphical query language combining the advantages of both the approaches.
{"title":"On graph based interaction for semantic query languages","authors":"G. Santucci","doi":"10.1109/VL.1996.545271","DOIUrl":"https://doi.org/10.1109/VL.1996.545271","url":null,"abstract":"In the last years, several proposals have been presented concerning graphical query languages working on diagrammatic representations of semantic data models. Such proposals are mainly based on two different user interaction modalities, i.e., to allow the user to specify either a path or a view on the database schema. In this paper we analyze these two strategies, showing that they are characterised by complementary advantages and disadvantages; then we present a new graphical query language combining the advantages of both the approaches.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"65 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":"120877688","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 paper describes how to improve the reusability of iconic program modules. In iconic programming systems, the most important features for reuse are the customization of a module and combination of multiple modules without changing their definitions. In order to realize these features, we propose an object sharing technique, which allows components of multiple modules to represent the same object instance. Since a component in a module can be related to an object in another module, by adding a new function to an object in the latter module, the former module can be customized without changing its own definition. In addition, by relating a component to multiple objects in different modules, different functions defined in each module, can be combined easily. Finally, we show that the proposed technique realizes a useful software development style using templates, which will contribute to the improvement of the productivity.
{"title":"Enhancing iconic program reusability with object sharing","authors":"Y. Koike, Yasuyuki Maeda, Y. Koseki","doi":"10.1109/VL.1996.545300","DOIUrl":"https://doi.org/10.1109/VL.1996.545300","url":null,"abstract":"The paper describes how to improve the reusability of iconic program modules. In iconic programming systems, the most important features for reuse are the customization of a module and combination of multiple modules without changing their definitions. In order to realize these features, we propose an object sharing technique, which allows components of multiple modules to represent the same object instance. Since a component in a module can be related to an object in another module, by adding a new function to an object in the latter module, the former module can be customized without changing its own definition. In addition, by relating a component to multiple objects in different modules, different functions defined in each module, can be combined easily. Finally, we show that the proposed technique realizes a useful software development style using templates, which will contribute to the improvement of the productivity.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"336 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":"123520405","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 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}
Shows how visual programming can be used to teach the subject of binary tree algorithms. In our approach, the student implements a binary tree algorithm by manipulating abstract tree fragments (not necessarily just single nodes) in a visual way. This paper contributes to visual programming research by combining elements of animation, programming and proof to produce an educational visual programming tool. In addition, we describe our experiences with Opsis, a system we built to demonstrate the ideas in this paper (Opsis is a Java applet and can be accessed at http://www.cs.washington.edu/homes/amir/Opsis.html). Finally, we make the claim that visual programming is an ideal way to teach data structure algorithms.
{"title":"Teaching binary tree algorithms through visual programming","authors":"Amir Michail","doi":"10.1109/VL.1996.545265","DOIUrl":"https://doi.org/10.1109/VL.1996.545265","url":null,"abstract":"Shows how visual programming can be used to teach the subject of binary tree algorithms. In our approach, the student implements a binary tree algorithm by manipulating abstract tree fragments (not necessarily just single nodes) in a visual way. This paper contributes to visual programming research by combining elements of animation, programming and proof to produce an educational visual programming tool. In addition, we describe our experiences with Opsis, a system we built to demonstrate the ideas in this paper (Opsis is a Java applet and can be accessed at http://www.cs.washington.edu/homes/amir/Opsis.html). Finally, we make the claim that visual programming is an ideal way to teach data structure algorithms.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"21 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":"125903406","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}
Formalisms for visual language specification have been investigated for more than two decades. However, there has been little attempt to develop a systematic and comprehensive hierarchy of visual languages based on formal properties. Given the importance of the Chomsky hierarchy in the theory of textual languages and the difficulty of comparing the different visual language formalisms, it is clear that there is a need for such a hierarchy. We develop a hierarchy for VLs and investigate the expressiveness and the cost of parsing for classes defined therein. Although the hierarchy is based on the constraint multiset grammar formalism, we sketch how other visual language specification formalisms can be mapped into constraint multiset grammars. One consequence of our work is that a large class of "naturally occurring" visual languages are inherently context-sensitive, so that the core of such a hierarchy has to be built around different forms of context-sensitivity.
{"title":"Towards a hierarchy of visual languages","authors":"K. Marriott, Bernd Meyer","doi":"10.1109/VL.1996.545288","DOIUrl":"https://doi.org/10.1109/VL.1996.545288","url":null,"abstract":"Formalisms for visual language specification have been investigated for more than two decades. However, there has been little attempt to develop a systematic and comprehensive hierarchy of visual languages based on formal properties. Given the importance of the Chomsky hierarchy in the theory of textual languages and the difficulty of comparing the different visual language formalisms, it is clear that there is a need for such a hierarchy. We develop a hierarchy for VLs and investigate the expressiveness and the cost of parsing for classes defined therein. Although the hierarchy is based on the constraint multiset grammar formalism, we sketch how other visual language specification formalisms can be mapped into constraint multiset grammars. One consequence of our work is that a large class of \"naturally occurring\" visual languages are inherently context-sensitive, so that the core of such a hierarchy has to be built around different forms of context-sensitivity.","PeriodicalId":340993,"journal":{"name":"Proceedings 1996 IEEE Symposium on Visual Languages","volume":"37 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":"130672657","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}