一种可视化程序设计语言UVPL原型的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
人类的需求推动着技术的进步,在软件开发的道路上,技术人员们一直都在为了提高软件开发效率和软件对需求变化的适应性而不断努力着。目前几乎所有的软件开发环境(IDE)都被称为是可视化的,如Visual Studio 2005,Visual C++6.0,Deiphi等,但是它们普遍存在以下不足:第一,它们只是提供进行程序开发所需的可视化组件,未提供对数据对象及其关系和行为的可视化表达的直接支持;第二,它们只支持用户界面设计的可视化,对于主要的编码过程,未能提供可视化支持,程序员还需要逐行输入代码。在这种环境下,对于初学者来说将要花费很长时间进行代码的输入、拼写的校正,尤其是母语为非英语的程序员更不习惯于大量英文的输入。这就大大增加程序的出错概率,从而增加调试的时间,影响了开发效率,同时也影响了程序员对编程概念的理解,不符合真正意义上的可视化程序上的设计。还有一类是图形化性质的纯可视化编程语言,这一类语言往往是针对具体领域(如机器人行为控制)而提供的,比较直观地表现该领域的功能要求。但是程序结构相当复杂,开发出的程序难以阅读和理解,而且图形编译器的效率很低。
     本文参考了目前较流行的面向对象思想及组件化程序设计,针对一种小语言,定义了一种新的可视化程序设计语言UVPL(Uniform Visual ProgrammingLanguage)原型,以控件实现语法单元,根据预定的语法规则组成一系列的可视化语句。能够自动生成文本代码,而且能够生成指定语言的源程序,如Basic,C,Java,Pascal等,实现编码过程的可视化,从而大大降低了词法、语法的出错率,节省程序调试时间,提高开发效率。又因为语法成分为可视化组件,而组件本身可以将应用程序的设计过程和编码过程分开,通过组件,既可以重复利用自己创建的组件中的代码,也可以通过下载并安装其他开发人员创建的组件来重复利用别人的代码。本研究已初步实现,设计并开发出了9种基本控件做为语法单元,用这些控件可以完成一些简单的程序。实验表明此可视化程序上的设计思想对于需求的变化有很强的适应性,同时设计开发出的软件具有易维护性、可重用性高、适应性强等优点。
The technological progress is driven by the human demands.In the process of software development,we put great effort on improving the efficiency of software development and software adaptability.Nowadays,almost all the software integrated development environments(IDE) have been claimed for visualization,such as Visual Studio 2005,Visual C++ 6.0,Delphi etc..But they have the insufficiency as following:First,they only afford the visual components which are needed in the programming development,never afford directly support on data object relationship and visual expressions of behaviors;Second,they only support the visualization of user interface design,as for the main programming process,it doesn't realize the visualization,programmers still need to input the codes line by line.In the circumstance,for a beginner,it will take a long time to input the codes or correct the spelling,especially for the programmer whose mother tongue is not English.This greatly increased the probability of errors,increased the debugging time.Itreduced the development efficiency,bring negative impact on programming concept comprehension,that is not the true sense of visualization design process.Another is pure visual programming language based on graphics.This type of language is often targeted at specific areas(such as robot behavior control) and the comparatively intuitive to the performance of the functional requirements in the field,but it will make the program structure becoming very complex,the program is difficult to read or understand,and the graphic compiler is very inefficient.
     Based on the idea of object oriented and module programming design,for a small language,it puts forward a visual programming language named UVPL(Uniform Visual Programming Language),it makes the visual component as grammar cell,and constitute a series of visual sentences in accordance with predetermined grammar rules. Then it can be able to automatically generate the text codes,and to generate the designated codes in other existing languages,such as C,Java or Pascal,make it visual in the whole encoding process.It reduced morphology and syntax error rates,save the debugging time,improving the development efficiency.And because the grammar cells are visual components,the components can distinguish the designing process and coding process of application.With components,we can reuse the codes created by ourselves,or download and install the codes created by others.This study has achieved the initial design.Nine controls was developed as the basic grammar cells,and some simple programs could be completed with these controls.The experiments about the study show that the thinking of this study have a strong adaptability to the demand in changes.The advantages of those components are adapt to the change of demand. Programs designed are of easy maintenance,high reusability and adaptable etc.
引文
++[1]黄志澄.给数据以形象 给信息以智能--数据可视化技术及其应用展望[J],电子展望
    与决策,1999(6):3-9.
    
    [2]J.Webster(ed.),Wiley.What is VP[J].Encyclopedia of Electrical and Electronics Engineering,1999,275-283.
    [3]Burnett,Margaret.Visual Programming[J].Encyclopedia of Electrical and Electronics Engineering.New York:John Wiley & Sons Inc,1999.
    [4]Jim Davies,Ashok K.Goel.Transfer of problem-solving strategy using Covlan[J].Visual Languages and Computing,2007(18):149-164.
    [5]Steven L.Tanimoto.Representation and learnability in visual languages for web-based interpersonal communication[A],In:Proc.VL'97,held at Capri,1997.
    [6]李星毅,鞠时光,王新宇.可视化语言与语言可视化[J].江苏理工大学学报(自然科学版).2001,22(6):54-58.
    [7]P.A.LEE and J.WEBBER.Taxonomy for Visual Parallel Programming Languages[J].Technical Report CSTR-793,2003.
    [8]Burnett,Margaret.Types and Type Inference in a Visual Programming Language[A].In:1993 IEEE Symposium on Visual Languages[C].Bergen,Norway,August 24-27,1993.
    [9]P.A.Lee,M.D.Hamilton,S.Parastatidis.A Visual Language for Parallel,Object-Oriented Programming[A].In:Technical Report Series CS-TR-826[C].University of Newcastle upon Tyne,February 2004.
    [10]MARGARET M.BURNETT,MARLA J.BAKER.A classification system for visual programming languages[J].Visual Languages and Computing,1994(5):287-300.
    [11]Dennis Koelma,Richard van Balen,Arnold Smeulders.SCIL-VP:a multi-purpose visual programming environment[A].In:Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing:technological challenges of the 1990's[C].Kansas City:Missouri,United States,1992.1188-1198.
    [12]Joel Kelso.A Visual Programming Environment for Functional Languages[D].presented for the degree of Doctor of Philosophy of Murdoch University,2002.
    [13]Margaret M.Burnett,Allen L.Ambler.A Declarative Approach to Event-Handling in Visual Programming Languages[A].In:1992 IEEE Workshop on Visual Languages[C].Seattle,WA,Sept.15-18,1992:34-40.
    [14]许红霞,张莉.可视化语言文法形式化描述综述[J].计算机科学,2005,32(4):201-204.
    [15]李刚,林凌编著,《LABVIEW-易学易用的计算机图形化编程语言》[M].北京:北京航天航空大学出版社,2001.
    [16]Microsoft 开发人员网络,Microsoft Robotics StudioVPL Introduction,http://msdn.microsoft.com/zh-cn/library/bb483088(en-us).aspx,2008.
    [17]大连雅奇时代信息工程有限公司,http://www.yqmis.tom/,1992-2007 YQMIS.
    [18]Gennaro Costagliola,Vincenzo Deufemia,Giuseppe Polese.Visual language implementation through standard compiler-compiler techniques[J].Visual Languages and Computing,2007(18):165-226.
    [19]G.COSTAGLIOLA,A.DELUCIA,S.OREFICEz,et al.A Classification Framework to Support the Design of Visual Languages[J].Visual Languages and Computing,2002(13):573-600.
    [20]Martin Erwig.Visual Semantics-Or:What You See is What You Compute[A].In:the Proceedings of VL '98[C].Nova Scotia,Canada.1-4 September 1998.
    [21]Erwig,M.Abstract Syntax and Semantics of Visual Languages[J].JVLC,1998(9).
    [22]曹咏春.Java可视表达和可视运行的研究与实现[D].广州:广东阿工业大学工学硕士论文,2004.
    [23]Shen Xiajiong,Gu Jun,Dong Xinfa,Wang Ge.A Method to Solve Small-screen and Scaling-up Problems in VPLs with Fisheye views[A].In:ISISE2008[C].New York:IEEE computer society press,2008(12).93-97.
    [24]沈夏炯,顾军,王戈,董新法.基于Fisheye Views算法解决可视化程序设计语言问题的研究[J].计算机应用.2009(1):306-308.
    [25]沈夏炯,顾军.可视化编程语言中small-screen与scaling-up问题解决方法探讨[J].电脑开发与应用.2008(10):72-73,79.
    [26]Noritaka OSAWA,Kikuo ASAI,Yuji Y,et al.A Dancing Programmer in an Immersive Virtual Environment[A].In:the IEEE Symposia on Human-Centric Computing Languages and Environments(HCC' Ol)[C].New York:IEEE Workshop,2001.
    [27]Pavel Grigorenko,Ando Saabas,Enn Tyugu.COCOVILA-Compiler-Compiler for Visual Languages[J].LDTA 2005 Preliminary Version,2005.
    [28]Ephraim P.Glinert.Out of Flatl and:towards 3-D visual programming[A].In:1987Fall Joint Computer Conference[C].New York:IEEE Computer Society Press,1987.292-299.
    [29]Colin Ware,Glenn Franck.Viewing a Graph in a Virtual Reality Display is Three Times as Good as a 2D Diagram[A].In:1994 IEEE Conference on Visual Languages[C].New York:IEEE Computer Society Press,1994.182-183.
    [30]Hideki Koike,Manabu Aida.A Bottom-Up Approach for Visualizing Program Behavior[A].In:the 11th International IEEE Symposium on Visual Languages[C].New York:IEEE Workshop,1995.91-98.
    [31]J.Baltasar Garcia Perez-Schofield,Emilio Garcia Rosello,Francisco Ortin Soler,et al.Visual Zero:A persistent and interactive object-oriented programming environment[J].Visual Languages and Computing.2008(19):380-398.
    [32]Marc Alexander Najork.PROGRAMMING IN THREE DIMENSIONS[J].Visual Languages &Computing,1996,7(2):219-242.
    [33]陈火旺,刘春林,谭庆平,等.程序设计语言编译原理[M](第3版).北京:国防工业出版社,2000.12-14.
    [34]王兵山,吴兵.形式语言[M].长沙:国防科技大学出版社,1988.
    [35]Eric J.Golin,TomMagliery.ACompiler Generator for Visual Languages[A].In:Proceedings of IEEE Workshop Visual Languages[C],1993,314-341.
    [36]周健南.面向对象技术的现状与发展[J].安徽电子信息职业技术学院学报.2004,3(3):66-67
    [37]陈奇.面向对象程序设计高级教程[M].北京:高等教育出版社.2001.
    [38]马骏,沈夏炯.组件技术及其开发模式探讨[J].河南大学学报(自然科学版).2003,33(1):63-67.
    [38]童爱红,谭明金.可视化语言及其核心技术[J].南京:解放军理工大学学报.2002,1(4):54-57
    [40]Georg Raeder.A Survey of Current Graphical Programming Techniques[J].IEEE Computer,1985,18(8):11-25.
    [41]Marc-Alexander Najork.Programming in Three Dimensions[J].Visual Languages and Computing,1996(7):219-242.
    [42]Sutherland,I.B.SKETCHPAD.a man-machine graphical communication system[A].In:Spring Joint Computer[C],1963.329-346.
    [43]Najork M.Visualprogramming in 3d[J].Dr.Dobbs Journa,1995,20(12):18-31.
    [44]Smith,D.C.PYGMALION:A Creative Programming Environment[D].PhD dissertation,Stanford University,1975.
    [45]Smith,R.The alternate reality kit:An animated environment for creating interactive simulations[A].In:1986 IEEE Workshop on Visual Languages[C].New York:IEEE Workshop,1986.99-106.
    [46]Citrin W.,Doherty M.,Zorn B.Design of a completely visual object-oriented programming language[A].In:Visual Object-Oriented Programming[C].New York:Prentice-Hall,1994.
    [47]P.T.Cox,F.R.Giles,T Pietrzykowski.Prograph:A step towards liberating programming from textual conditioning[A].In:1989 IEEE Workshop on Visual Languages[C].New York:IEEE Workshop,1989.150-156.
    [48]Tortora G,Structure.Interpretation of visual languages[A].In:Visual Languages and Visual Programming[C].New York:Plenum Press,1990.3-30.
    [49]Adele Goldberg,Margaret Burnett,Ted Lewis.What is Visual Object-Oriented Programming[J].Manning Publications,1995,3-20.
    [50]Burnett M.Seven programming language issues[A].In:Burnett,M.M.,Goldberg,A.,and Lewis,T.G.,editors,Visual Object-Oriented Programming[C].Prentice Hall and Manning,Greenwich,CT,1994.
    [51]WangGe,ShenXiajiong,DongXinfa,GuJun.A Case of Visual Programming Language to Reduce Lexical Errors[A].In:ICCSE 2008[C],2008,7(3):1452-1453.
    [52]ShenXiajiong,WangGe,GuJun,DongXinfa.A Novel Visual Programming Method Designed for Error Rate Reduction[A].In:ISCSCT2OO8[C],2008,12(1):280-283.EI accession number:20091211971974
    [53]ShenXiajiong,DongXinfa,GuJun,WangGe.Controls-Based Visual Programming[A].In:MMIT2OO8[C].New York:IEEE computer society press,2008(12).639-641.
    [54]董新法,沈夏炯.基于图形控件的可视化编程研究[J].现代计算机(专业版).2008(11):26-28.
    [55]李启炎,陈福生,宋秋杰,等.PASCAL程序设计语言[M](第二版).上海:同济大学出版社,2000.7-30.
    [56]孙永强,陈宗斌,邸艳辉.Visual C#.NET[M]北京:清华大学出版社,2006.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700