A PROPOSED UNIFIED VISUAL PROGRAMMING LANGUAGE By

Total Page:16

File Type:pdf, Size:1020Kb

A PROPOSED UNIFIED VISUAL PROGRAMMING LANGUAGE By A PROPOSED UNIFIED VISUAL PROGRAMMING LANGUAGE By NABOU DIENG Bachelor of Science in Computer Science Oklahoma State University Stillwater, Oklahoma 2005 Submitted to the Faculty of the Graduate College of the Oklahoma State University in partial fulfillment of the requirements for the Degree of MASTER OF SCIENCE December, 2010 A PROPOSED UNIFIED VISUAL PROGRAMMING LANGUAGE Thesis Approved: Dr. Blayne Mayfield Thesis Adviser Dr. John Chandler Dr. Johnson Thomas Dr. Mark Payton Dean of the Graduate College ii ACKNOWLEDGMENTS The successful preparation of this research would not have been possible without the invaluable contribution of my adviser, Dr Blayne Mayfield, nor would it have been possible without the great educational experience received from the professors of the Computer Science department of Oklahoma State University. For these reasons I would like to express my deepest gratitude to the members of my committee: Dr Blayne Mayfield, Dr John Chandler and Dr Johnson Thomas. I also would like to extend my sincere thanks to Dr Mansur Samadzadeh and Dr Nohpill Park, who have helped me tremendously during my university curriculum. I further would like to thank my mother Dr Khadijhatou Seck for her unconditional encouragements in my studies, my dear brother Ababacar Dieng for his absolute support and my brother Madior Dieng for always motivating me. Last but not least, I would like to take this opportunity to acknowledge the support and understanding throughout my life of my late farther Dr Papa Amath Dieng, who is not going to read these lines but who would have been proud to see me reach this milestone. iv Table of Contents Chapter Page LIST OF FIGURES ............................................................................................................................... 7 LIST OF TABLES ................................................................................................................................. 9 Chapter I ......................................................................................................................................... 10 INTRODUCTION .............................................................................................................................. 10 1.1 Visual Programming Languages ..................................................................................... 10 1.2 Issues of Visual Programming Languages ...................................................................... 11 1.3 Objectives and limits of this research ............................................................................ 12 1.4 The Approach ................................................................................................................. 12 1.5 Chapters overview ......................................................................................................... 12 Chapter II ........................................................................................................................................ 14 REVIEW OF LITERATURE ................................................................................................................. 14 2.1 Background of VPLs........................................................................................................ 14 2.2 VPL Classification System ............................................................................................... 16 2.3 VPL Grammar ................................................................................................................. 17 2.4 Cognitive Dimension of VPLs ......................................................................................... 20 2.5 Short VPL Survey ............................................................................................................ 21 2.6 Scaling up Visual Programming Languages .................................................................... 24 2.7 Iteration constructs in VPLs ........................................................................................... 26 2.8 Arrays representation in VPLs ........................................................................................ 28 2.9 Principles of programming languages ............................................................................ 30 Chapter III ....................................................................................................................................... 32 METHODOLOGY ............................................................................................................................. 32 3.1 VPLs Selection Process ................................................................................................... 32 3.2 Analysis of principles for the selected VPLs ................................................................... 34 3.3 Variables and literals ...................................................................................................... 36 3.4 Arithmetic, Boolean, and Comparison Operations ........................................................ 42 3.5 Control Flow ................................................................................................................... 47 3.6 Input / Output ................................................................................................................ 55 3.7 Unified Visual Programming Language – UVPL .............................................................. 63 5 3.7.1 UVPL Programming Features ..................................................................................... 63 3.7.2 UVPL Programming Constructs .................................................................................. 71 3.7.3 Object-Oriented UVPL ................................................................................................ 77 3.7.4 Principles analysis of UVPL ......................................................................................... 81 Chapter IV ...................................................................................................................................... 86 TESTING .......................................................................................................................................... 86 4.1 Program Tests ................................................................................................................ 86 4.1.1 Program Test in Alice 2.2 ........................................................................................... 89 4.1.2 Program Test in Lumina Analytica 4.2 ....................................................................... 90 4.1.3 Program Test in Microsoft VPL 2.1 ............................................................................ 91 4.1.4 Program Test in Tersus 1.3 ......................................................................................... 92 4.1.5 Program Test in UVPL ................................................................................................ 93 4.1.6 Analysis of the Program Tests .................................................................................... 94 4.1.7 VPL Metrics for the Test Programs ............................................................................ 95 4.1.8 Test Programs Counts ................................................................................................ 98 4.1.9 VPL Metrics Values for the Test Programs ................................................................. 99 Chapter V ..................................................................................................................................... 103 CONCLUSION ................................................................................................................................ 103 5.1 Findings ........................................................................................................................ 103 5.2 Goals achieved ............................................................................................................. 106 5.3 Halstead measurements .............................................................................................. 107 5.4 Future works ................................................................................................................ 107 REFERENCES ................................................................................................................................. 109 APPPENDICES ............................................................................................................................... 110 Appendix A: Program test in Alice ........................................................................................... 110 Appendix B: Program test in MS VPL ....................................................................................... 119 Appendix C: Program test in Tersus ......................................................................................... 126 Appendix D: Program test in Analytica .................................................................................... 134 Appendix E: Program test in UVPL ........................................................................................... 140 VITA .................................................................................................................................................. 1 6 LIST OF FIGURES Figure 2.2.1: Example of adding VPLs to the ACM CR system. Modified from figure 2.2.2 ......16 Figure 2.2.2: VPLs Classification system [3] ....................................................................17
Recommended publications
  • Fall 2020 Vol
    ;login FALL 2020 VOL. 45, NO. 3 : & Guide to the Performance of Optane DRAM Jian Yang, Juno Kim, Morteza Hoseinzadeh, Joseph Izraelevitz, and Steven Swanson & Understanding Linux Superpages Weixi Zhu, Alan L. Cox, and Scott Rixner & Interview with Ion Stoica about Serverless Computing Rik Farrow & Measuring the Health of Open Source Projects Georg J.P. Link & Using OpenTrace to Track DB Performance Problems Anatoly Mikhaylov Columns SRE and Justice Laura Nolan Socially Distant Projects Cory Lueninghoener Communicating with BPF Dave Josephsen Hand-Over-Hand Locking for Highly Concurrent Collections Terence Kelly Everything Is a Punch Card Simson L. Garfinkel Thanks to our USENIX Supporters! USENIX appreciates the financial assistance our Supporters provide to subsidize our day-to-day operations and to continue our non-profit mission. Our supporters help ensure: • Free and open access to technical information • Student Grants and Diversity Grants to participate in USENIX conferences • The nexus between academic research and industry practice • Diversity and representation in the technical workplace We need you now more than ever! Contact us at [email protected]. USENIX PATRONS USENIX BENEFACTORS We offer our heartfelt appreciation to the following sponsors and champions of conference diversity, open access, and our SREcon communities via their sponsorship of multiple conferences: Ethyca Dropbox Microsoft Azure Packet Datadog Goldman Sachs LinkedIn Salesforce More information at www.usenix.org/supporters FALL 2020 VOL. 45, NO. 3 EDITOR EDITORIAL Rik Farrow 2 Musings Rik Farrow MANAGING EDITOR Michele Nelson SYSTEMS COPY EDITORS 6 An Empirical Guide to the Behavior and Use of Scalable Steve Gilmartin Persistent Memory Jian Yang, Juno Kim, Morteza Hoseinzadeh, Amber Ankerholz Joseph Izraelevitz, and Steven Swanson PRODUCTION 12 How to Not Copy Files Yang Zhan, Alex Conway, Nirjhar Mukherjee, Arnold Gatilao Ian Groombridge, Martín Farach-Colton, Rob Johnson, Yizheng Jiao, Ann Heron Michael A.
    [Show full text]
  • Introduction to Computational Techniques
    Chapter 2 Introduction to Computational Techniques Computational techniques are fast, easier, reliable and efficient way or method for solving mathematical, scientific, engineering, geometrical, geographical and statis- tical problems via the aid of computers. Hence, the processes of resolving problems in computational technique are most time step-wise. The step-wise procedure may entail the use of iterative, looping, stereotyped or modified processes which are incomparably less stressful than solving problems-manually. Sometimes, compu- tational techniques may also focus on resolving computation challenges or issues through the use of algorithm, codes or command-line. Computational technique may contain several parameters or variables that characterize the system or model being studied. The inter-dependency of the variables is tested with the system in form of simulation or animation to observe how the changes in one or more parameters affect the outcomes. The results of the simulations, animation or arrays of numbers are used to make predictions about what will happen in the real system that is being studied in response to changing conditions. Due to the adoption of computers into everyday task, computational techniques are redefined in various disciplines to accommodate specific challenges and how they can be resolved. Fortunately, computational technique encourages multi-tasking and interdisciplinary research. Since computational technique is used to study a wide range of complex systems, its importance in environmental disciplines is to aid the interpretation of field measurements with the main focus of protecting life, prop- erty, and crops. Also, power-generating companies that rely on solar, wind or hydro sources make use of computational techniques to optimize energy production when extreme climate shifts are expected.
    [Show full text]
  • User Guide Release 4.0 Lumina Decision Systems, Inc
    User Guide Release 4.0 Lumina Decision Systems, Inc. 26010 Highland Way Los Gatos, CA 95033 Phone: (650) 212-1212 Fax: (650) 240-2230 www.lumina.com Copyright Notice Information in this document is subject to change without notice and does not represent a commitment on the part of Lumina Decision Systems, Inc. The software program described in this document is provided under a license agreement. The software may be used or copied, and registration numbers transferred, only in accordance with the terms of the agreement. It is against the law to copy the software on any medium except as specifically allowed in the license agreement. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or information storage and retrieval systems, for any purpose other than the licensee's personal use, without the express written consent of Lumina Decision Systems, Inc. This document is © 1993-2007 Lumina Decision Systems, Inc. All rights reserved. The software program described in this document, Analytica, includes code that is copyrighted: © 1982-1991 Carnegie Mellon University © 1992-2007 Lumina Decision Systems, Inc., all rights reserved. Analytica was written using MacApp®: © 1985-1996 Apple Computer, Inc. Analytica incorporates Mac2Win technology, © 1997 Altura Software, Inc. The Analytica® software contains software technology licensed from Carnegie Mellon University exclusively to Lumina Decision Systems, Inc., and includes software proprietary to Lumina Decision Systems, Inc. The MacApp software is proprietary to Apple Computer, Inc. The Mac2Win technology is technology to Altura, Inc. Both MacApp and Mac2Win are licensed to Lumina Decision Systems only for use in combination with the Analytica program.
    [Show full text]
  • Computer Science Principles with Python
    Rowan University Rowan Digital Works Open Educational Resources University Libraries 8-2-2021 Computer Science Principles with Python Seth D. Bergmann Rowan University Follow this and additional works at: https://rdw.rowan.edu/oer Part of the Computer Sciences Commons DOI: 10.31986/issn.2689-0690_rdw.oer.1024 Let us know how access to this document benefits ouy - share your thoughts on our feedback form. Recommended Citation Bergmann, Seth D., "Computer Science Principles with Python" (2021). Open Educational Resources. 25. https://rdw.rowan.edu/oer/25 This Book is brought to you for free and open access by the University Libraries at Rowan Digital Works. It has been accepted for inclusion in Open Educational Resources by an authorized administrator of Rowan Digital Works. Computer Science Principles Python edition Seth D. Bergmann September 15, 2021 2 Preface This book is intended to be used for a first course in computer science. It in- cludes some programming, but the emphasis is on the principles which form the foundation for hardware and software. No prior experience with programming should be necessary in order to use this book. This book is intended to be used for the College Board’s Advanced Placement course known as AP Computer Science Principles (CSP). This course is not to be confused with a more traditional course known as AP Computer Science A, which places a strong emphasis on programming, currently using Java. The author(s) of this book have included all the topics that are in CSP.1 We feel that there are some related topics which may be of interest to those who are new to computer science; in many cases we have included these extra topics, but they are denoted by a symbol to indicate they are not part of the official CSP course, and students taking⊗ the AP CSP exam will not be responsible for these topics.
    [Show full text]
  • Analytica® User Guide Release 4.0
    Analytica® User Guide Release 4.0 Lumina Decision Systems, Inc. 26010 Highland Way Los Gatos, CA 95033 Phone: (650) 212-1212 Fax: (650) 240-2230 Web Site: www.lumina.com Copyright Notice Information in this document is subject to change without notice and does not represent a commitment on the part of Lumina Decision Systems, Inc. The software program described in this document is provided under a license agreement. The software may be used or copied, and registration numbers transferred, only in accor- dance with the terms of the agreement. It is against the law to copy the software on any medium except as specifically allowed in the license agreement. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or information storage and retrieval systems, for any purpose other than the licensee's personal use, without the express written con- sent of Lumina Decision Systems, Inc. This document is © 1993-2006 Lumina Decision Systems, Inc. All rights reserved. The software program described in this document, Analytica, is copyrighted: © 1982-1991 Carnegie Mellon University © 1992-2005 Lumina Decision Systems, Inc., all rights reserved. Analytica was written using MacApp®: © 1985-1996 Apple Computer, Inc. Analytica incorporates Mac2Win technology, © 1997 Altura Software, Inc. The Analytica® software contains software technology licensed from Carnegie Mellon University exclusively to Lumina Decision Systems, Inc., and includes software proprietary to Lumina Decision Systems, Inc. The MacApp software is proprietary to Apple Computer, Inc. The Mac2Win technology is technology to Altura, Inc. Both MacApp and Mac2Win are licensed to Lumina Decision Systems only for use in combination with the Analytica program.
    [Show full text]
  • Carlo Simulations
    Paper ID #29236 CARLO SIMULATIONS Dr. Mohammad Rafiq Muqri, DeVry University, Pomona Dr. Mohammad R. Muqri is a Professor in College of Engineering and Information Sciences at DeVry University. He received his M.S.E.E. degree from University of Tennessee, Knoxville. His research interests include modeling and simulations, algorithmic computing, analog and digital signal processing. c American Society for Engineering Education, 2020 Objective This teaching module was designed to enhance the knowledge and expertise of our students which enabled them to successfully apply Mont Carlo Methods to solve differential and integral equations, for finding eigen values, for inverting matrices, for evaluating multiple integrals different configurations, simulating random collisions of neutrons and subatomic particles, in statistics, in queueing models, in games of strategy, in EEG diagnostics and interpretation, thereby enhancing computational literacy and critical thinking. A Monte Carlo Simulation is a way of approximating the value of a function where calculating the actual value is difficult or impossible. It uses random sampling to define constraints on the value and then makes a sort of "best guess." The advances in computing have given a new meaning to the term stochastic or Monte Carlo simulations. The name “Monte Carlo” comes from the city in Monaco, famous for its gambling casinos. The Monte Carlo method (MCM), also known as the method of statistical trials is a traditional marriage of two major branches of theoretical physics the probabilistic theory of random process dealing with Brownian motion or random walk experiments and potential theory, which studies the equilibrium states of a homogenous medium. It is a method of approximately solving problems using sequences of random numbers.
    [Show full text]