`
yangtsefisher
  • 浏览: 26987 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

图片驱动的计算机技术(译文)

阅读更多

这是MIT上介绍Sikuli的一篇文章

Sikuli的网站: http://sikuli.org/

延伸阅读:http://blog.vgod.tw/2010/01/25/change-the-world/

 

---------------------

---------------------

 

图片驱动的计算机技术

 

译者:YantseFisher

原文:http://web.mit.edu/newsoffice/2010/screen-shots-0120.html

译言:http://article.yeeyan.org/view/YangtseFisher/75052

 

直到1980年代,使用一个计算机程序还意味着你要记住很多的命令,一次性的把它们打出来,仅仅得到反馈的几行文本。图形用户界面,或者称为GUI,改变了这些。通过表示程序,把程序中函数和数据表示成二维的图片——就像图标,按钮和窗口一样——GUI使得原本需要耗费体力仔细记忆的内容变得直观和容易理解。


但是,在GUI使计算机用户处理事情更加容易的同时,对于计算机程序员来说,事情的容易程度并得到没有任何改进。在GUI控件下面的是大量的程序代码,通常情况下,构建和自定义一个程序,或者把不同的程序组合起来,仍然意味着要处理那些代码。MIT计算机科学人工智能实验的研究员们希望改变这种状况,他们开发了一个可以让人们利用GUI的截图来编写程序的系统。最终,这个系统将会使得那些没有掌握任何计算机语言的普通用户创建他们自己的程序成为可能。


这个由副教授Rob Miller,研究生张琮翔,以及MarLand大学的Tom Yeh设计的脚本语言系统,叫做Sikuli, 在墨西哥惠慈尔土著人的语言中这是“上帝之眼”的意思。在去年九月ACM关于用户界面的最顶尖会议UIST上拿到Best Student Paper Award的一篇论文中,研究者展示了Sikuli可以通过构造脚本,简短的程序来扩展其他程序的功能。使用Sikuli需要对通用的脚本语言Python有一定了解。但是他不需要对它所扩展的那些语言的知识有任何了解。当程序员需要触发某个应用程序的功能时,她只需要在相关的GUI上面画个框框,点击鼠标截取图片,把它直接插入Python代码的中去。


假设,比方说,某个Pyhon程序员想要写一个脚本,可以当她乘坐的公共汽车正好转过某个弯时,程序自动发送消息到她的手机里。如果当地交通管理局维护了一个网站,可以描述汽车标记在Google地图上行驶的过程,那么这个程序员就可以指定当汽车的标记进入某个指定的地图区域时发送消息。不是使用难以理解的术语来描述标记,或者指定地图区域边界的地理坐标,取而代之程序员可以简单的将截图加入脚本命令中:当(标记)到达(拐弯处),给我发送消息。


“我看到那个的时候,我想, ‘天哪, 你可以做到?’”Allen Cypher说到,他是一位IBM的Almaden研究中心专攻人机交互的研究员。“我从没想过你可以做任何像那样的事情。他们不仅做了,而且做得很好。已经是实用性的了。我想立即开始尝试那些以前不能做的事情。”


在同一篇论文中,研究者们展示了一个面向更广受众的Sikuli应用。一个计算机用户希望学习使用某个计算机程序难以理解的特征,可以借助于GUI的截屏——也就是说,用一个像Adobe Photoshop中套索工具一样的按钮——在网络上来搜索相关内容。在一个允许人们在网络上使用这个系统的实验中,研究者发现用户们用可视化图片的方法来找到有用的内容只需要花费原来一般的时间。


使用Sikuli的程序员不需要了解GUI内部的代码,同样,Sikuli对它毫无了解。取而代之,Sikuli使用计算机视觉算法来分析屏幕上正在发生的事情。“它作为一个代理,像人类一样看着屏幕”,Miller说到。这意味着,不需要任何额外的改动,Sikuli就可以在任何有图形界面的应用上工作。它不需要在不同的文件格式或者计算机语言之间转换,因为,就像人一样,它只是看着屏幕上的像素。


在一篇将要在人机交互领域最高会议CHI上发表的论文中,研究者描述了Sikuli的一个新的应用,瞄准了大型软件开发项目中的程序员们。在一个这样的项目工程中,新的代码每天都在累计,并且其中的任何一行代码都可能导致之前开发的GUI功能不正确。理想状态下,一天工作结束后,测试人员将会跑遍整个应用程序,点击虚拟按钮确保正确的窗口和图标将会弹出。因为这样做将会极高的耗费时间,然而,也许要等到对应用程序进行了长时间并且高成本的质量保证测试后,被破坏的GUI才会被发现。


然而,程序员们可以用新的Sikuli应用创建脚本,来对应用程序的GUI组件进行自动化测试。计算机视觉辨别GUI和那些应该被弹出的窗口使得脚本编写容易多了,并且只要写一次,这些脚本就可以不做修改的每天晚上运行。


这个新的应用有一个新加的功能,对于那些非程序员来说尤其令人鼓舞。像它的前任一样,他允许用户写他们自己的脚本——这种情况下,GUI测试——使用Python语言。当然,用Python写脚本仍然需要一些Python的知识——至少,理解怎么使用像“dragDrop”和”assertNotExist“这样表述怎么处理GUI控件的命令。


新的应用同时提供了另一种选择,可以通过记录一系列按键和点击鼠标来定义测试过程。例如,代替敲打一行包括”dragDrop“命令的代码,程序员可以简单的做拖拽文件这样一个动作。系统自动的生成相应的Python代码,包含一个同样文件的截图;只要这个程序员愿意,她就可以当插入其他GUI的截图时复用这些代码。这指明使用Sikuli将来的版本也许既不需要了解特殊应用程序的代码知识,也不需要学习像Python这样的脚本语言,这个系统赋予了普通计算机用户直观的创建程序的能力,这些程序可以跟其他的应用进行交互。

分享到:
评论
2 楼 condeywadl 2010-02-03  
我觉得没有说清楚 截图是可以完成一定的功能需求 但是那些不需要截图来创造的功能如何完成 还不是很详细
1 楼 rink1969 2010-01-27  
分析像素吗?
好像按键精灵就有这样的功能……

相关推荐

    计算机英语译文和答案khdaw.pdf

    通过以上知识点的总结和解释,我们不仅能够了解计算机技术的基础概念和发展历程,还能深入探索计算机在各个领域的具体应用及其面临的挑战和机遇。这对于学习计算机科学和信息技术的人来说是非常有价值的参考资料。

    计算机专业英语译文和答案

    通过这份详尽的学习材料和丰富的练习,计算机科学的学习者不仅能够提升自身的专业英语词汇量,还能够加深对计算机科学本质的理解,从而在全球化的技术交流中更加游刃有余,为他们的学术和职业生涯带来巨大的帮助和...

    《计算机英语》参考译文和练习答案

    - **历史背景与影响**:自20世纪中叶以来,计算机技术和互联网的发展引发了信息革命。这场革命极大地改变了人类的工作方式和社会结构,促进了全球化进程。 #### 第十三单元:电子商务简介 - **定义与模式**:电子...

    刘艺《计算机英语》第二版译文和答案

    《计算机英语》第二版译文和答案是一本旨在帮助读者理解和掌握计算机领域专业英语的教材。本书涵盖了多个关键的计算机科学主题,通过学习这些课文,读者可以深化对计算机科学基础知识和最新发展的理解。 第一单元...

    计算机英语参考译文和练习答案.doc

    本单元深入讲解计算机的物理组成部分,如中央处理器(CPU)、内存(RAM和ROM)、输入/输出设备(键盘、鼠标、显示器等)以及存储设备(硬盘驱动器、固态驱动器、光盘驱动器等)。此外,可能还会讨论计算机架构和性能...

    测控专业英语译文

    4. **计算机技术**: 计算机软件和硬件是测控系统的核心。嵌入式系统、实时操作系统(RTOS)、数据库管理以及编程语言(如C/C++、Python、LabVIEW)都是其中的关键元素。此外,云计算和边缘计算也逐渐应用于测控,...

    4万英文翻译原文+译文

    同时,随着计算机技术的应用,电力拖动系统变得更加智能化,能够实现复杂的控制策略,如直接转矩控制(DTC)和矢量控制。 近年来,随着节能环保理念的提升,电力拖动系统进一步朝着高效、节能的方向发展。永磁同步...

    _开关型磁阻电动机译文集_.pdf

    2. **应用背景**:随着微电子学和计算机技术的发展,步进电机的需求量显著增加。国内制造厂家可以提供各种系列、不同规格的产品百余种,几乎涵盖国民经济的各个领域。 3. **技术书籍内容**:书籍共分为六章,从基础...

    译文基于plc的感应电动机监控系统设计与实现-毕业论文.doc

    "译文基于PLC的感应电动机监控系统设计与实现-毕业论文" 本文主要介绍了基于可编程控制器(PLC)技术的感应电动机监控系统的设计和实现方法。该系统通过对感应电动机的性能测量实现其速度控制和保护,并在正常操作...

    某轻型货车驱动桥的设计说明.doc

    6. **毕业设计要求**:学生在设计过程中,除了进行技术计算和设计外,还需查阅和翻译相关国内外文献,了解驱动桥的最新技术和趋势。同时,需完成开题报告、中期检查、译文和最终的毕业设计说明书,字数不少于1万字,...

    0018-4座微型客货两用车设计(后驱动桥、后悬设计)(CAD图+翻译).zip

    CAD图(计算机辅助设计)将展示驱动桥的详细结构,包括齿轮、轴承、轴和其他关键部件的三维模型,这对于理解和优化设计至关重要。 后悬架系统则是车辆动态性能和乘客舒适性的关键。微型客货两用车的设计需兼顾载人...

    计算机专业英语第六版翻译

    《计算机专业英语第六版》是一本专为计算机科学和技术学习者设计的教材,旨在帮助读者提升在计算机领域的专业英语阅读、理解和交流能力。这本教材的详细翻译涵盖了计算机科学的各个方面,包括硬件、软件、编程语言、...

    高校计算机辅助翻译CAT技术的教学状况调查和其改进对策研讨.docx

    - 受限于传统的学科划分观念,许多文科背景的翻译教师对于计算机技术的应用缺乏足够的兴趣和信心。 2. **大陆地区的教学情况** - 在很长一段时间内,计算机辅助翻译技术并未被充分纳入翻译专业的教学体系之中。 ...

    计算机英语 ..........

    第二单元的“计算机硬件”深入讨论了计算机内部的硬件组件,如主板、处理器、内存条、硬盘驱动器、显卡、声卡等,以及它们在系统性能中的作用和相互间的交互。 第三单元的“操作系统”讲解了操作系统的基本功能,如...

    译文—基于PLC的感应电动机监控系统设计与实现.doc

    本文主要介绍了基于可编程控制器(PLC)技术的感应电动机监控系统的设计和实现方法。该系统通过对感应电动机的性能测量实现其速度控制和保护,并能够在正常操作和出现故障的条件下按照使用者所要求的速度运行参数...

    89C51单片机简介-外文原文及译文.doc

    这些微控制器的高速处理速度和增强的外围设备集使它们非常适合高速事件驱动的应用。然而,这些关键应用领域也需要这些微控制器具有高度的可靠性。可以通过一个 robust的测试过程和一个适当的工具环境来确保微控制器...

    单片机外文翻译—汇编语言的艺术(译文-英文).doc

    1. 低级控制:汇编语言能提供对硬件的直接访问,这对于系统级编程、设备驱动开发或嵌入式系统来说至关重要。 2. 性能优化:在需要极致性能的关键代码段,汇编语言可以实现高效的计算,例如游戏引擎中的图形渲染。 ...

Global site tag (gtag.js) - Google Analytics