Visual Programming: Concepts and Implementations
Total Page:16
File Type:pdf, Size:1020Kb
Computer Science and Systems Analysis Computer Science and Systems Analysis Technical Reports Miami University Year Visual Programming: Concepts and Implementations Elizabeth Howard Miami University, [email protected] This paper is posted at Scholarly Commons at Miami University. http://sc.lib.muohio.edu/csa techreports/33 DEPARTMENT OF COMPUTER SCIENCE & SYSTEMS ANALYSIS TECHNICAL REPORT: MU-SEAS-CSA-1994-000 Visual Programming: Concepts and Implementations Elizabeth Vera Howard School of Engineering & Applied Science | Oxford, Ohio 45056 | 513-529-5928 ABSTRACT VISUAL PROGRAMMING: CONCEPTS AND IMPLEMENTATIONS by Elizabeth Vera Howard The computing environment has changed dramatically since the advent of the computer. Enhanced computer graphics and sheer processing power have ushered in a new age of computing. User interfaces have advanced from simple line entry to powerful graphical interfaces. With these advances, computer languages are no longer forced to be sequentially and textually-based. A new programming paradigm has evolved to harness the power of today's computing environment - visual programming. Visual programming provides the user with visible models which reflect physical objects. By connecting these visible models to each other, an executable program is created. By removing the inherent abstractions of textual languages, visual programming could lead computing into a new era. This paper will introduce the concepts of visual computing. A set of evaluative criteria for visual programming languages has been developed and will be used to compare two visual languages: National Instrument's LabVlEW and The Gunakara Sun Systems' ProGraph. VISUAL PROGRAMMING: CONCEPTS AND IMPLEMENTATIONS A Thesis Submitted to the Faculty of Miami University in partial fulfillment of the requirements for the degree of Master of Systems Analysis Department of Systems Analysis by Elizabeth Vera Howard Miami University Oxford, Ohio 1994 Reader ;P; $?A Table of Contents 1.0 Introduction ....................................:........................................................................... 1 2.0 Visual Computing ........................................................................................................2 2.1 Interfacing With Computers ............................................................................. 3 2.2 Scientific Visualization .....................................................................................4 3.0 Visual Aids for Programming ....................................................................................... 6 3.1 Visualization ...................................................................................................7 4.0 Visual Programming ....................................................................................................9 5.0 Visual Language Evaluation .......................................................................................16 6.0 Comparison of Two Visual Languages: LabVlEW and ProGraph ...............................22 6.1 LabVIEW ........................................................................................................26 6.1.1 Overview ..........................................................................................26 6.1.2 Scope ..............................................................................................35 6.1.3 Intended Audience ..........................................................................36 6.1.4 Paradigm......................................................................................... 36 6.1.4.1 Dataflow Programming...................................................... 37 6.1.5 Ease of Use .....................................................................................39 6.1.6 Visual Representation...................................................................... 40 6.1.7 Compiler ..........................................................................................40 6.1.8 Reusability .......................................................................................40 6.1.9 Data Structures and Types ..............................................................41 6.1 -10 Effective Use of Screen Area .........................................................41 6.1.1 1 Hardware .......................................................................................42 6.1.1 2 Operating Systems ........................................................................42 6.1.1 3 Animation (runtime visualization) ....................................................42 6.1.14 Effective Use of Colors................................................................... 42 6.1.1 5 Clarity of Graphical Symbols........................................................... 43 6.1.1 6 Interactive Capabilities................................................................... 43 6.1.1 7 Extensibility.................................................................................... 43 6.1.1 8 Interface Capabilities With Other Languages .................................44 6.1.1 9 Analysis Capabilities ......................................................................44 6.2 LabVlEW Implementation of a Spectrum Analyzer Virtual Instrument .............. 45 6.3 ProGraph........................................................................................................ 56 6.3.1 Overview ..........................................................................................56 6.3.2 Scope ..............................................................................................60 6.3.3 Intended Audience ..........................................................................60 6.3.4 Paradigm .........................................................................................60 6.3.4.1 Object-Oriented Programming ...........................................61 6.3.4.2 Classification of Objects and Encapsulation ...................... 61 6.3.4.3 Inheritance .......................................................................62 6.3.5 Ease of Use..................................................................................... 66 6.3.6 Visual Representation...................................................................... 67 6.3.7 Compiler ..........................................................................................67 6.3.8 Reusability .......................................................................................68 6.3.9 Data Structures and Types ..............................................................68 6.3.10 Effective Use of Screen Area .........................................................68 6.3.11 Hardware .......................................................................................69 6.3.1 2 Operating Systems ........................................................................69 6.3.1 3 Animation (runtime visualization) ....................................................69 6.3.1 4 Effective Use of Colors................................................................... 69 6.3.1 5 Clarity of Graphical Symbols........................................................... 70 6.3.1 6 Interactive Capabilities ...................................................................70 6.3.1 7 Extensibility.................................................................................... 70 6.3.18 Interface Capabilities with Other Languages ..................................70 6.3.1 9 Analysis Capabilities ......................................................................71 6.4 ProGraph Implementation of an Object-Oriented Gradebook Application ........ 72 7.0 Conclusion.................................................................................................................. 85 7.1 Evaluative Criteria ...........................................................................................85 7.2 LabVlEW versus ProGraph .............................................................................85 7.3 Usefulness of the Visual Programming Paradigm ............................................89 8.0 Reflections.................................................................................................................. 91 Appendix A . Student Class Method Diagrams of ProGraph Gradebook Application ...........92 Bibliography................................................................................................................. 102 iii 1.0 Introduction Early programming languages mimicked the needs of von Neumann computer architecture hardware and necessarily used sequential, simple, character-based input and output statements. Programming languages progressed from machine and assembly code to natural language-based textual approaches in an effort to make algorithms more readable. Textual languages are inherently one-dimensional and focus on sequential execution of algorithms. This forced programmers essentially to restrict their designs to a linear organization. The facilities that textual programming languages "provide for describing algorithms correspond more closely to how computers operate than to the cognitive or perceptual processes of the programmer." [Cox et a/ 19891. Computer hardware technology, however, has improved at an impressively high rate since the advent of the computer. With the introduction of new processor chips, such as DEC's Alpha, Motorola's PowerPC, and Intel's Pentium, the race is afoot to offer even greater capabilities and sheer processing power. Computer