5 页面框架15
5.1 全局对象15
5.2 注册组件15
5.3 处理函数介绍17
6 后台调用C++程序18
6.1 编译程序18
6.2 运行程序18
6.3 RunProg运行机制19
7 系统功能演示19
7.1 代码块添加、删除、修改内容19
7.2 代码块拖动拼接组合23
7.3 代码块编译运行25
结论 28
致谢 29
1 引言
1.1 背景及意义
云计算和代码自动生成是计算机领域两大重要话题。云计算是当前是一个热门的技术名词,云存储是在云计算(cloud computing)概念[8]上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。 当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。代码自动生成是利用网络端,将已有的代码片段通过配置接口生成新代码的过程。将云存储用于代码片段的存储,利用了云存储[6]存储速度高,存储容量大,保存时间长以及按需扩展的优点,结合图形化程序构建技术将功能以流程图形式联系在一起,用一块块图形对象构建出应用程序。论文网
本次程序运行的环境是OpenStack,OpenStack 是一个开放源的云计算项目和工具集,并且提供了关于基础设施即服务(IaaS)[5]的解决方案。OpenStack 不仅可以快速部署全虚拟化环境,而且可以通过此环境来建立多个互联的虚拟服务器,并能够使用户快速部署应用在虚拟机上。此外,另一个由 Apache 提供的基于平台即服务(PaaS)的开源分布式计算的架构 Hadoop[9] 在亚马逊、百度、Facebook 等国内外大型网站已经成功应用。利用 OpenStack 来构建一个基于基础设施即服务(IaaS)的云计算体系结构,并在此基础上搭建 Hadoop 环境,按照这个结构实现基础设施即服务(IaaS)和平台即服务(PaaS)的协同工作,并以 web 界面展示的方式,为用户进入计算云平台提供了便捷的操作方式。该体系结构的核心思想是利用 OpenStack 来搭建任意多个私有云,每个私有云都是一个服务节点,并且每个服务节点都有多个资源节点,不同私有云以及私有云中的资源相互独立。通过 OpenStack 来完成对服务节点和资源节点的配置和部署,同时在每个资源节点部署 Hadoop。用户可以在申请资源的时候提交作业,云计算平台会根据资源的情况随机分配到不同的节点,完成计算后将作业结果返回。
在服务器框架中,该软件采用的是php语言编写的服务器程序。这是由于php的特性决定的。PHP 独特的语法混合了 C、Java、Perl 以及 PHP [3]自创新的语法;PHP安装它可以比 CGI或者Perl更快速的执行动态网页[7]。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展!
因此,采用php语言编写后台程序不仅可以很好的将程序嵌入到html文档中执行,而且可以大大提高代码运行的效率,更加方便的调用html接口。
1.2 代码拼接已有软件现状
图形界面的自动代码生成为脚本赋予了人类的视角,让计算机不单能够去捕捉后台的接口数据和返回值,而且能如同人眼一般,“看”到一个真实的 GUI 展现。使用者直接在脚本中引用目标 GUI 元素的截图来获取该对象,并指定对其所进行的操作,简单高效。使得 GUI 自动化摆脱了对应用的内部程序实现的依赖,无需获取 API,亦无须了解 GUI 的内部代码实现;忽略了标准控件和非标准控件在操作和获取上的差异性;普遍适用于所有运行在有图形用户界面的操作系统之上的应用,有 GUI 显示的地方即可被获取和操作。实时的图形检索定位,避免了位移和 UI 重排等位置变化造成的无法准确定位并获取控件的问题。Python 语法兼容 +Java 内核,为其赋予了很强的扩展性,同时,Open Source 也让 Sikuli 本身获得了更多的发展机会和空间。使用 GUI 元素截图所编制的 Sikuli 脚本具有良好的代码可读性,这一点从上述实例场景中能够有所体会——在这种简短的脚本中,已基本接近自然语言的表述方式。这样的一种展现形式和特性使得手工测试用例与自动化测试脚本的距离大大缩小,使得这两者之间的自动转化和整合成为可能。源:自~优尔-·论`文'网·www.youerw.com/