论文部分内容阅读
随着计算机技术的日新月异和自然科学领域的不断发展,科学工作流作为面向数据的工作流旨在利用计算机技术帮助人们解决科学实验的数据再现和有效性验证等问题,并进一步减轻科学实验设计与分析的人力成本。作为一个刚刚起步的新研究领域,需要探索其具体应用场景,归纳应解决的实际问题。 本文正是在这种背景下,调研问题的应用场景与实际需求,从最基本的科学工作流建模开始,研究科学工作流中数据起源正则查询与关键字检索的若干关键问题。一方面,现有科学工作流中数据起源研究停留在可达性查询阶段,主要回答“某数据点d1是否依赖于数据点d2?”等类似问题。本文研究更为复杂的查询——正则查询,回答诸如“某数据点d1是否经过技术a1或者技术a2重复处理过,然后由技术s处理过的,最终输出数据d2?”等问题,这个查询可以由正则查询R=(a1|a2)*.s.(_)*表征。另一方面,科学工作流中的关键字检索不同于普通的文本检索,需要考虑科学工作流模式构建科学工作流运行实例的表征能力。科学工作流中的关键字检索是对科学工作流模式共享库进行检索。科学工作流模式库中科学工作流模式的每个模块(包括复杂模块与原子模块)都由一个或多个关键字标注。当用户需要设计新的科学工作流时,可以通过输入关键字对科学工作流模式共享库进行检索,进而可以重用部分共享库中已有科学工作流模式或模块,从而减轻实验设计的人力成本。 本文对自然科学领域科学实验中遇到的实际问题进行调研分析,在此基础上,结合数据管理技术,对科学工作流中的正则查询和关键字检索两大问题进行深入研究,主要贡献和创新包括: 第一,提出基于上下文无关包文法的科学工作流模型。基于上下文无关文法的科学工作流模型使用文法表征科学工作流模式,文法的语言对应科学工作流运行实例。上下文无关图文法用以描述科学工作流中的数据依赖关系并用于进行数据起源的正则查询。而上下文无关包文法通过将科学工作流模块的关键字建模到文法的产生式中,使得关键字检索更为简洁,关键字匹配的语义更为清晰。 第二,提出一种基于节点编码的科学工作流数据起源正则查询方法。本文提出的正则查询方案基于一类特殊查询——稳定正则查询。将点对点稳定查询的时间复杂度降低到常数级,是最优算法;将多点稳定查询的时间复杂度做到仅与输入节点表的大小有关而与数据起源图的大小无关,附加地将多点可达查询的时间复杂度降低到线性于输入输出,是最优算法;最后本文将稳定正则查询扩展到通用正则查询,显著地提升了查询效率。 第三,提出一种新型的科学工作流关键字检索方案。本文定义了科学工作流中关键字检索的匹配语义,并将上下文无关包文法扩展为上下文无关概率包文法,讨论了基于“和”语义和“最大”语义的排序语义。另外,鉴于科学工作流的复杂结构,直接将匹配的科学工作流返回给用户可能造成用户理解上的困难,本文提出一种新型的检索结果展示方法——典型产生式解析树。典型产生式解析树是结构不重复的树,它代表了一类由循环多次执行造成结构冗余的树。典型产生式解析树以简洁的方式展示了科学工作流模式的结构。