论文部分内容阅读
随着网络的普及和深入应用,人们希望利用互联网上的丰富信息资源在线创建满足其个性化需求的增值型互联网情景应用(Situational Applications)。研究如何构造互联网情景应用的重要意义在于更好地使能大量不具备专业编程知识的最终用户自行构造应用,从而发挥互联网作为新兴的社会化计算平台的巨大潜力。本文重点关注提高用户自主构造情景应用的易用性问题,具体地,从资源一体化、情景应用构造语言以及可视化编程等方面展开研究,主要工作和创新性贡献如下:
(1)针对多样化网络信息资源的访问复杂性,提出数据服务作为网络信息资源的统一抽象以及一种基于监督学习的资源封装方法GRUB。提出了一种基于嵌套关系模型的基础数据结构,允许数据服务把多样化的信息表示形式统一为一体化的嵌套关系表示,可降低信息表示异构所导致的访问复杂性。GRUB方法着重解决了非结构化的HTML信息资源的封装困难问题。该方法基于网页相似性假设,通过用户标注与系统自动学习相结合的方式实现信息资源的封装,无需用户掌握HTML语言以及正则表达式等专业知识。实验结果表明GRUB方法在有效性方面与已有工作相当,而在适应性方面,同时适合记录级和页面级的信息抽取,已有工作尚无法同时做到。
(2)针对情景应用业务逻辑的表达复杂性,提出了嵌套表格代数系统,并以此为基础提出了情景应用构造语言SAML。基于嵌套表格代数,SAML语言将情景应用业务逻辑表示为一组有限的数据操作的序列,用户无须掌握循环控制结构,并为可视化编程环境引入表格化编程界面和演示编程技术提供基础。嵌套表格代数为本文的基础数据结构-嵌套表格及其良定义的数据操作提供了有效支持,将来自不同信息资源的异构数据集成到同一个嵌套表格中的同时,可保障其规范性。数据操作采用集合操作方式,将循环结构隐藏于操作的实现内部,对用户透明。
(3)现行的可视化情景应用编程环境主要采用流程图建模方式,要求用户掌握复杂的数据流和控制流编程,难以普及。基于SAML语言,本文设计并原型实现了一种新颖的支持演示编程的表格化编程环境Mashroom。与流程图建模不同的是,我们将SAML语言中的数据操作可视化为用户熟悉的表格环境下的操作,用户通过演示对资源的操作过程实现业务逻辑的表达,无需用户掌握数据流和控制流编程。案例试验与分析表明:与Yahoo! Pipes相比,Mashroom在不失表达能力的前提下减少了近90%的构造时间;在学习代价方面,避免了要求用户熟悉HTML语言、正则表达式等专业编程知识以及数据流、控制流等复杂编程概念,用户只需具备浏览器、Spreadsheet等常用软件的使用经验。
在应用层面,上述成果已经作为核心技术应用到国内某著名电信设备制造商的“零代码一体化Widget构造与管理环境”当中,进一步印证了研究成果的实际价值和可用性。