已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 e - s c i e n c e 的本质是为科学研究提供一个高度共享和协作的学术研究环境。网格 技术由于其强大的分布式计算能力和资源共享能力逐渐成为目前e s c i e n c e 应用中的 基础底层架构。在网格环境下,各种软件、硬件等资源都以网格服务的形式存在。但 是单个网格服务由于其功能单一而无法完成一个计算量巨大且计算步骤繁杂的科学 任务,因此需要将分散的各个网格服务组合起来,形成具有更强功能的网格服务,实 现科学任务的流程化和自动化。 另外,为了提高科研成果的可共享性,科学家往往需要重用已有的实验流程和 实验结果来开展下一步工作,并基于此进行一定的修改来实现新的研究目标,从而减 少重复劳动和科研投入。而工作流技术所具有的自动化和流程化等特点,为科学家在 e s c i e n c e 环境中开展复杂科学计算、实验分析、协同工作以及成果共享等研究活动提 供了一种全新的研究手段。 但是,利用工作流技术来实现科学任务的流程化和自动化,就需要编写一个符 合某种工作流描述语言语法规则的工作流脚本。然而工作流描述语言的语法通常极其 复杂,直接编写工作流脚本来描述科学任务对领域科学家而言具有极大的困难,因此, 如何为科学家提供一种简单、易用的方式来描述科学任务,是目前工作流研究领域亟 待解决的问题之一,也是e s c i e n c e 研究中的热点问题。 本文通过实现一个易用的、支持图标拖拽的可视化工作流编辑器来解决上述问 题,并主要开展了如下研究工作来实现此编辑器:首先,研究了一个面向科学家的、 支持图标拖拽、生成图形化流程的可视化编辑框架;其次,研究序列化与反序列化机 制,透明地、实时地实现图形化流程和工作流脚本的转换,既方便科学家可视化地查 看工作流,又实时地生成工作流脚本:再次,基于e m f 建模框架生成工作流的模型, 保障工作流脚本满足b p e l 描述语言的语法规范;然后,实现工作流流程模板,解决 工作流流程的共享问题,减少重复劳动,为e s c i e n c e 中资源的共享和协作提供了一 种很好的方式;最后,设计了计算化学领域中的一个典型示范应用,验证了工作流可 视化编辑器的可用性,以及所生成的工作流脚本的可执行性。 关键词:e - s c i e n c eg e fe m ft 作流 a b s t r a c t t h ee s s e n c eo fe - s c i e n c ei st op r o v i d eas h a r i n ga n dc o l l a b o r a t i v ee n v i r o n m e n tf o rs c i e n c e r e s e a r c h d u et oi t st h es t r o n gd i s t r i b u t e dc o m p u t i n ga n dr e s o u r c es h a r i n g ,西dg r a d u a l l y b e c o m e st h ea r c h i t e c t u r eo fe - s c i e n c e a 1 lk i n d so fr e s o u r c e si ne - s c i e n c e , s u c ha s s o f t w a r e ,h a r d w a r e ,a n do t h e r s ,a r ee x p r e s s e da sg r i ds e r v i c e i ti si m p o s s i b l ef o ras i n g l e g r i ds e r v i c et oc o m p l e t eac o m p u t i n gt a s kw h i c hn e e d sh u g ec o m p u t i n gc o u n ta n dl a r g e s e t so fs u b - p r o c e s s e s t h e r e f o r e ,t h r o u g hw o r k f l o wt e c h n o l o g y , m a n ys i n g l eg r i ds e r v i c e c a l lb eo r c h e s t r a t e dt oc o m p o s eas t r o n g e rg r i ds e r v i c ew h i c hw ec a nu s et oa c c o m p l i s h t h es c i e n c et a s ka u t o m a t i c a l l y i na d d i t i o n , i no r d e rt oi m p r o v et h es h a r i n go fr e s e a r c ha c h i e v e m e n t sa n dr e d u c e r e p e a t e di n v e s t m e n t , m a n ye x p e r i m e n t sw i l lb ep r o c e s s e db a s e do ne x i s t i n go r i g i n a lo r m o d i f i e de x p e r i m e n t s w o r k _ f l o wt e c h n o l o g yp r o v i d e san o v e lm e a n sf o rs c i e n t i s t st o c o m p u t e s c i e n t i f i ct a s k , a n a l y z ee x p e r i m e n t s ,c o o p e r a t i v e l yw o r k , a n ds h a r ea c h i e v e m e n t s h o w e v e r , i no r d e rt ou t i l i z ew o r k f l o wt e c h n o l o g yt oc o m p l e t es c i e n c et a s k s ,t h e s c i e n t i s t sn e e dt os u b m i taw o r k f l o ws c r i p tw h i c hs h o u l dc o n f o r mt h eg r a m m a ro fs o m e w o r k f l o wd e s c r i p t i o nl a n g u a g et ow o r k f l o we n g i n e w h e r e a s ,a st h ew o r k f l o wd e s e r i p t l a n g u a g ei su s u a l l yv e r yc o m p l i c a t e d ,i ti se x t r a o r d i n a r yd i f f i c u l tf o rs c i e n t i s t st od i r e c t l y e d i tw o r k f l o ws c r i p t t h u s ,h o wt oi m p l e m e n tav i s u a lw o r k _ f l o wd e s i g n e ri sb e c o m i n ga h o tt o p i ci ne - s c i e n c ef i e l d ,t h a t sj u s tw h a tt h i sp a p e rf o c u s e so n t h i sp a p e ri m p l e m e n t saw o r k f l o wv i s u a ld e s i g n e r , f o rs h o r tw f v d ,w h i c he n a b l e s s c i e n t i s t st o g r a p h i c a l l yd e f i n e ,d e p l o ya n de x e c u tt h ew o r k f l o ww i t h o u tk n o w i n ga b o u t t h ed e t a i l e dt e c h n o l o g y , t os o l v et h ea b o v ep r o b l e m s w em a i n l yd os o m er e s e a r c hi nt h e f o l l o w i n ga s p e c t s f i r s t l y , r e s e a r c ht h em e c h a n i s mo ft h eg r a p h i c a le d i t i n ga n db u i l da f r a m e w o r kf o rs c i e n t i s t s ,s u p p o r tg r a p h i c a l l yd r a ga n dd r o p ,a n dg e n e r a t eg r a p h i c a l w o r k f l o w s e c o n d l y , r e s e a r c h s e r i a l i z a t i o na n da n t i - s e r i a l i z a t i o nt os w i t c hb e t w e e n g r a p h i c a lw o r k f l o wa n dw o r k f l o ws c r i p tt r a n s p a r e n t l ya n dr e a l t i m e t h i r d l y , r e s e a r c h e c l i p s em o d e l i n gf r a m e w o r kh o w t og u a r a n t e ew o r k f l o ws c r i p tc o n f o r mt h eg r a m m a ro f w o r k f l o wd e s c r i p t i o nl a n g u a g e f o u r t h l y , t h ew o r k f l o wt e m p l a t ec a nr e d u c et h er e p e a t e d w o r ka n dp r o v i d eaw a yo fs h a r i n ga n dc o l l a b o r a t i o ni ne - s c i e n c e a tl a s t ,t h ec a s es t u d y d e m o n s t r a t e st h ea v a i l a b i l i t yo fw w da n dt h ea p p l i c a b i l i t yo fg e n e m t e dw o r k f l o ws c r i p t k e yw o r d s :e - s c i e n c e g e fe m fw o r k f l o w n 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立进 行研究所取得的成果。学位论文中凡引用他人已经发表或未发表的成果、 数据、观点等,均己明确注明出处。除文中已经注明引用的内容外,不 包含任何其他个入或集体已经发表或撰写过的科研成果。对本文的研究 成果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:丛煮生 e l 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属 兰州大学。本人完全了解兰州大学有关保存、使用学位论文的规定,同 意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许 、 论文被查阅和借阅;本人授权兰州大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本学 位论文。本人离校后发表、使用学位论文或与该论文直接相关的学术论 文或成果时,第一署名单位仍然为兰州大学。 保密论文在解密后应遵守此规定。 论文作者签名:磷盎 毒师签名:桃日 1 1 研究背景 第一章绪论 近年来,随着网格技术的不断发展,科学家和领域工程师越来越多地借助网格 技术来共享、管理和处理大量的数据集【1 】。网格技术的出现使得大量的研究人员与 计算机资源的协作成为可能,它促进了科学研究的一种新方式e s c i e n c e 的发展。 e - s c i e n c e 是指在重要的科学领域中的全球性合作,以及使这种合作成为可能的下一代 基础设施 2 】。它通过全球的分布式协作、海量数据集合、万亿次级的计算资源等方 式来提高科学研究效率。而目前对e - s c i e n c e 的研究主要体现在基础设施、核心技术 和示范应用等三个层次,并且大多数e s c i e n c e 项目( 比如英国e - s c i e n c e 计划 3 】、美 国自然科学基金会的t e r a c n i d 项目 4 】、欧盟资助的e ud a t a o d d 项目 5 】等) 都以网 格作为其基础架构。 网格技术所具有的分布式计算能力和资源共享能力为科学家高效地完成科学任 务提供了基础支持。在网格环境下,各种软件、硬件、数据等资源都以网格服务的形 式存在,而单个网格服务由于其功能单一性无法完成一个计算量巨大且计算步骤繁杂 的计算任务,因此需要将分散的各个网格服务组合起来,形成具有更强功能的网格服 务,实现科学任务的流程化和自动化,所以在e - s c i e n c e 环境中引入了工作流的概念, 使用它来编排多个简单的网格服务。目前众多科技文献中也都出现了将工作流技术作 为表示和管理复杂分布式科学计算的范例【6 ,7 ,8 ,9 ,1 0 ,1l 】。 但是,利用工作流技术来实现科学研究的流程化和自动化,就需要领域科学家 给网格环境中的工作流执行引擎提交一个工作流脚本,且这个工作流脚本必须符合某 种工作流描述语言( 比如工业上的工作流标准w e bs e r v i c e sb u s i n e s sp r o c e s se x e c u t i o n l a n g u a g e ,w s - b p e l 12 ) 的语法规则。然而工作流描述语言的语法极其复杂,大多 数的领域科学家并不是计算机专家,直接编写工作流脚本给科学家描述科学任务带来 了极大的困难。在e - s c i e n c e 研究环境中,科学家迫切需要一个简单、直观的可视化 编辑器来实现工作流的编排,并且屏蔽底层的网格工作流技术,透明地实现网格服务 的调用。因此,如何实现一个可视化的工作流编辑器是目前e - s c i e n c e 研究中的热点 问题也正是本文的研究目标。 第一章绪论 1 1 1e - s c i e n c e 的基本概念 在i n t e m e t 和网络应用日益普及的今天,我们一方面需要面对网络上空前丰富的 计算资源和快捷便利的通信手段,另一方面还要面临信息分散,难于查找,系统复杂 性难以驾驭,应用系统相互孤立,难以互联互通的局面。而此时,网格( g r i d ) 技术 应运而生,它恰好能解决大规模分布式资源的共享和协同工作。网格的概念来源于电 力网( p o w e rg r i d ) ,它的最终目的是希望能像使用电力一样,方便地使用分布在网 络上的各种资源,而不必关心资源的物理所在地。美国“网格之父 i a nf o s t e r 定义 网格的本质为共享与协作,它提供了强大的分布式计算能力和数据管理能力,使得多 个机构动态组成的虚拟组织能够相互共享资源和协同解决问题【1 3 】。同时,中国工程 院李国杰院士认为:网格是继传统因特网、w e b 之后的第三次互联网浪潮,可以称之 为第三代因特网应用。传统因特网实现了计算机硬件的连通,w e b 技术实现了网页的 连通,而网格则试图实现互联网上所有资源的全面连通,其中包括计算资源、存储资 源、通信资源、软件资源、信息资源、知识资源等。因此,通过网格技术,可以汇聚 i n t e m e t 中分散的、异构的和动态变化的计算和信息资源,将资源虚拟化,使我们能 以透明的方式使用i n t e m e t 中的各种资源,从而把i n t e m e t 从通讯和信息交互的平台 提升到资源共享和协同工作的平台。 e - s c i e n c e 是近年来备受关注的研究热点,它得名于2 0 0 0 年1 1 月英国国家研究 总局主任j o h n t a y l o r 所宣布的耗资1 2 亿英镑的3 年研究计划。e - s c i e n c e 的实质是 科学研究的信息化,为科学研究提供了一个高度共享和协作的学术研究环境。j 0 l l i l t a y l o r 在谈到e - s c i e n c e 的分布访问存储的意义时指出:e - s c i e n c e 意味着通过全球分 布协作,使用海量数据集合、万亿次级的计算资源,有效地提高科学研究效率。它为 大规模数据集的操作和处理、昂贵的科研设备和大型软件的共享提供了一种高效的方 式,真正意义上促进了科学研究的信息化发展。 为了实现e - s c i e n c e 所提出的目标,其中的一个关键问题就是需要寻求一种基础 架构来提供资源共享和协同工作的能力,并为科学家提供一种易于使用的方式来透明 地使用此科学研究环境。网格技术所具有的分布式计算和资源共享等能力能够满足 e - s c i e n c e 基础平台建设的需要,逐渐成为e - s c i e n c e 应用中的基础底层架构。不同层 次的网格中间件,如网格资源管理、计算任务、数据中心和信息中心等组件构成了 e - s c i e n c e 环境的基本架构。 2 第一章绪论 i i 2 工作流技术简介 随着工作流技术标准化的工业组织工作流管理联盟( w o r k f l o wm a n a g e m e n t c o a l i t i o n , w f m c 1 4 】) 的成立,工作流技术的研究与开发进入了一个新的热潮。1 9 9 4 年,w f m c 发布了一个支持工作流管理系统之间互操作的工作流参考模型,并制定了 一系列的工业标准。进入二十一世纪以来,工作流技术已被越来越多的人认可,出现 了众多与之相关的学术研究组织、标准规范、工作流引擎以及商业产品。 工作流技术指部分或整体业务流程的自动化,按照某种预定义的规则,在多个 参与者之间自动地传递文本、信息或任务的过程,从而实现某个预期的业务目标,或 者促使其目标实现的一种技术【1 5 】。简言之,工作流就是一系列相互衔接、自动进行 的业务活动或任务。一个工作流包括一组任务及它们的相互顺序关系,还包括流程及 任务的启动和终止条件,以及对每个任务的描述。 在目前的学术研究领域,工作流技术大致被划分为商业工作流( b u s i n e s s w o r k f l o w ) 、网格工作流( g r i dw d 舳o w ) 和科学工作流( s c i e n t i f i cw o r k f l o w ) 三种 基本类型【1 6 】,当然这种分类并不是严格意义上的标准划分,只是从不同的研究领域 简单地划分工作流技术。 b u s i n e s s 工作流是发展历史最长的一种工作流形式,主要支持许多商业应用中的 业务流程,比如学生注册,保险索赔等。典型地,它是基于i n t e r a c t ,i n t r a n e t 或者其 他内部企业信息系统的。它在企业界的应用相当广泛,比如企业日常办公的文档自动 化处理,企业内部的各种数据或信息的自动处理,多种业务流程的整合,企业之间的 数据交换,借助i n t e m e t 技术实现跨地域的数据传输和处理等。在b u s i n e s s 工作流中, 业务流程一般是预先定义的,并且以一个相对稳定的流程执行。 g r i d 工作流是架构在网格基础架构之上的一种工作流管理系统类型。它的主要 目标是利用网格技术所提供的强大的资源共享和计算能力,实现e s c i e n c e 和 e - b u s i n e s s 应用程序中大标量的科学和商业流程处理【1 6 】。不同于常规的b u s i n e s s 工 作流,由于网格基础架构的特性,它需要考虑以下两个主要问题:( 1 ) 性能:网格计 算能够提供高性能的计算能力,因此,网格工作流需要处理资源的调度、负载平衡和 分布式应用的并行计算问题:( 2 ) 可靠性:由于网格资源的动态性,在网格工作流运 行过程中可能会由于资源的消失而导致无法成功执行,这就需要提供一种容错机制来 保证流程的正确执行。 3 第一章绪论 s c i e n t i f i c 工作流主要用于支持大量的e s c i e n c e 应用 1 7 2 0 ,比如高能物理、天 气建模、天文学、药物发现过程、生物信息学、灾难恢复模拟等数据处理中复杂的科 学过程。它可以建立在网格架构上,也可以是集群和p 2 p 架构。可见,s c i e n t i f i ct 作流与g r i d 工作流都支持e s c i e n c e 应用的实现,而e l 前大多数文献都将两者融合起 来,它们之间并没有明显的分界线。 s c i e n t i f i c 工作流作为e s c i e n c e 研究领域的热点问题,学术界组织和召开了众多 的专题会议:e - s c i e n c e 工作流服务w o r k s h o p 2 1 ,e s c i e n c e 网格环境w o r k s h o p 2 2 , e - s c i e n c e 关于工作流互操作和语义扩展的w o r k s h o p 2 3 等。另外,在科学数据管理 相关的大型项目中也涉及s c i e n t i f i c 工作流的研究,比如由美国国家科学基金会 ( n a t i o n a ls c i e n c ef o u n d a t i o n , n s f ) i t r 资助的g r i p h y n ( g r i dp h y s i c sn e t w o r k ) 2 4 , g e o n ( g e o s c i e n c e sn e t w o r k ) 2 5 ,s c e c ( s o u t h e mc a l i f o r n i ae a r t h q u a k ec e n t e r ) 2 6 , s e e k ( s c i e n c ee n v i r o n m e n tf o re c o l o g i c a lk n o w l e d g e ) 2 7 等项目,英国e - s c i e n c e 计划 支持的m y o r i d ,d i s c o v e r y n e t 等项目【3 】。 。 另外,b u s i n e s s 工作流领域的研究学者也越来越关注s c i e n t i f i c 工作流的发展。 比如,e i n d h o v e n 技术大学的w m rv a nd e ra a l s t 教授完成了大量关于s c i e n t i f i c 工 作流的流程建模、分析和执行的实验【2 8 】。 以上这些都说明了s c i e n t i f i c 工作流已经成为工作流领域和e - s c i e n c e 研究领域中 的重要课题和研究热点。由于s c i e n t i f i c 工作流正处于迅猛发展的阶段,目前并没有 形成一个统_ 的定义,众多研究者从不同的角度给出了s c i e n t i f i c 工作流的定义: i e e et c s c ( t e c h n i c a lc o m m i t t e eo ns c a l a b l ec o m p u t i n g ) 技术委员会【2 0 】认为 s c i e n t i f i c 工作流是一种特别的工作流,是大标量的复杂e - s c i e n c e 应用的基础,比如 天气建模,结构生命科学、天文学和化学,医学外科或者灾难恢复模拟系统中都需要 利用工作流技术。 k e p l e r 项目组的l l k a ya l t i n t a s 等人【2 9 】认为s c i e n t i f i c 工作流是将数据和处理组 合到一个可配置的和结构化的步骤集合中,此集合能够实现计算科学问题的半自动处 理。它提供了图形化接口用于联合不同的技术,并使科学家有效使用这些技术,从而 提高科学家的效率。 a l t i n t a si 等人【3 0 】认为s c i e n t i f i c 工作流与b u s i n e s s 工作流有一定的相似性,但 是也有很多需求方面的不同。特别地,s c i e n t i f i ct 作流趋向于操作大量的、复杂的、 4 第一章绪论 异构的数据资源,这些资源在操作之前需要被集成到一起。 综合以上s c i e n t i f i c 工作流的定义,我们得出s c i e n t i f i c 工作流的本质仍然是实现 流程的自动化,且s c i e n t i f i c 工作流和b u s i n e s s 工作流之间存在众多的相似之处,如 都存在工作流建模、事件驱动分析和大标量的协同工作等需求。针对这些共同的需求, 我们将采用已成熟的b u s i n e s s 工作流中已有的技术( 比如借鉴b u s i n e s s 工作流中已有 的工作流描述语言w s b p e l ) 来实现s c i e n t i f i c 工作流的日标,而不是完全重新开始 设计s c i e n t i f i c 工作流。事实上,众多b u s i n e s s 工作流领域的学者已经开始研究如何 更好地使b u s i n e s s 工作流技术适应于s c i e n t i f i c 工作流的应用场景。当然,除了两者 之间所存在的共性之外,s c i e n t i f i c 工作流存在其他特殊需求,比如计算强度和数据密 集度,动态资源分配,调度和与底层资源的匹配。结合已有文献的研究工作【3 1 】,通 过对比分析s c i e n t i f i c 工作流和b u s i n e s s 工作流,本文得出两者之间的区别如下: ( 1 ) s c i e n t i f i c 工作流用于描述一个复杂的科学实验过程,往往涉及一些密集型 的计算,并伴随着大量数据集的产生和转移。因此,s c i e n t i f i c 工作流更加注重对数据 流的管理、流程的优化执行以及流程设计的各种资源的优化调度。而b u s i n e s s 工作流 重在企业内部流程的控制和执行。 ( 2 ) 第二个不同是s c i e n t i f i c 工作流对并行计算的建模需求。s c i e n t i f i c 工作流 应用了复杂的计算模型,生成大量的数据,然后分析这些数据。因此,这样的工作流 包含大量独立的、并发执行的子工作流。b u s i n e s s 工作流一般不需要显示小的子流程 的并发执行。 ( 3 ) 最本质的不同在于:工作流流程的易变性。科学研究大都属于探索性活动, 在新想法和新观点成型之前,s c i e n t i f i c 工作流也许只是一个需要执行多次的实验。因 此,需要支持流程的频繁改变和重新部署,并使改变和部署的过程相当简单。而对于 b u s i n e s s 工作流而言,一个流程相对来说比较固定,流程的变化不会如此频繁。如公 司的报账流程,一旦形成,可能会在相当长的时间内一直使用此流程。 基于e - s c i e n c e 的研究背景,本文的研究工作属于s c i e n t i f i c 工作流的范畴。 1 1 3e - s c i e n c e 中为什么需要工作流技术 - 科学领域中所取得的重大进步越来越依赖于大规模的复杂计算和数据分析,而这 些计算和分析可能会包含成百上千个步骤,每一个步骤又需要利用由不同组织开发 第一章绪论 的、分散在各个执行环境中的大量分布式的软件资源、数据资源以及科学仪器设备。 在e - s c i e n c e 环境下,各种软件、硬件等资源都以网格服务的形式存在,但是单个网 格服务由于功能单一,无法完成一个计算量巨大且计算步骤繁杂的科学任务,因此需 要寻求一种方式来将分散的各个网格服务组合起来,形成具有更强功能的网格服务, 实现科学任务的流程化和自动化。 科学研究本质上是一种探索行为,科学家经常以一种试探性的方式开展各种实 验,在新想法和新观点形成之前,需要进行大量频繁的参数改变和重新部署来使实验 得以继续。正是由于科研过程具有可重复性的特点,我们就需要使整个修改和部署过 程变得极其简单,从而减少复杂度,而传统的实验方式并不能快速灵活地支持参数的 修改和实验的重复。 科学研究通常包含众多计算量巨大的计算任务,这些计算任务大都可分解为多 个单独的计算单元。各个计算单元之间存在并行、顺序或条件等逻辑结构,也就是说, 它们之间或者耦合度很低,能够同时执行而互不依赖,或者一个计算单元的输出是另 一个计算单元的输入。而为了完成其中的每一个计算单元,科学家都需要逐一调用网 格环境中所集成的各种网格服务来实现分布式环境下各种计算机软件、数据库甚至仪 器设备等资源的存取。但是,这种逐一调用网格服务的方式将随着科学应用复杂程度 的增加,带来更巨大的重复劳动和工作量,使得科学研究变得低效和难以控制。 为了提高科研成果的可共享性,往往需要基于已有的实验流程来开展下一步工 作,并在已有的实验流程基础上进行一定的修改来实现新的研究目标,从而减少重复 劳动和科研投入。 以上这些需求就对传统的科学研究手段提出了新的挑战,因此,如何完成各个 计算单元的并行执行和顺序执行从而实现科学研究的流程化和自动化,以及科学流程 的可重复性、可共享性和可修改性是e = s c i e n c e 应用中面i 艋的新需求。工作流技术所 具有的自动化和流程化等特点为上述问题提供了一种有效的解决途径。这就是 e = s c i e n c e 中需要工作流技术的原因。 1 1 4 领域科学家使用工作流技术存在的问题 利用工作流技术来实现科学研究的流程化和自动化,就需要领域科学家给网格 环境中的工作流执行引擎提交一个工作流脚本,且这个工作流脚本需要符合工作流描 6 第一章绪论 述语言( 比如工业上的工作流标准b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw 曲 s e r v i c e s ,w s b p e l ) 的语法规则。然而工作流描述语言的语法极其复杂,大多数的 领域科学家并不是计算机专家,直接编写工作流脚本来描述科学任务给科学家带来了 极大的困难。 因此,在e s c i e n c e 研究环境中,科学家迫切需要一个简单、直观的可视化编辑 器来实现工作流的编排,且屏蔽底层的网格工作流技术,透明地实现网格服务的调用。 另外,工作流编辑器是整个工作流管理系统中至关重要的部分。从工作流管理 联盟所发布的一个工作流管理系统的参考模型 1 4 】( 见图1 ) ,可以看出,流程定义工 具直接面向终端用户,是科学家使用整个工作流系统的入口。 回 图1 工作流管理系统参考模型 同时,图2 中基于网格架构的工作流管理系统的架构表明i 工作流设计是整个 架构中的重要组件,它决定了工作流组件定义和组成的方式【1 】。 7 第一章绪论 图2 网格工作流管理系统的一般架构 因此,支持工作流建模和定义的工作流编辑器是整个工作流管理系统中至关重 要的环节,它将能解决领域科学家使用工作流技术所存在的问题。 1 2 国内外研究现状 工作流可视化编辑器的研究在e - s c i e n c e 研究领域中受到越来越多的关注,国内 外众多研究机构都在开展工作流可视化编辑器的研究与开发。目前,针对不同的学科 领域,许多工作流编辑器已被开发出来,用于定义、管理和执行不同学科中的工作流, 比如m y g r i d 中的t a v e m a 3 2 、k e p l e r 3 3 、t f i a n a 3 4 、g e o d i s e 3 5 】和p e g a s u s 3 6 】 等。其中,以生物信息学研究居多,大多数工作流编辑器都是为了解决生物信息学中 存在的工作流编排问题而出现的。下面简要介绍几个国内外主要的工作流编辑器。 1 2 1 研究现状 l 、t a v e r n a t a v e m a 是e s c i e n c e 项目m y g r i d 的组件之一,是一个开源的支持生物信息学虚 拟实验研究的工作流工具。在t a v e m a 中,生物学家以结构化的、可重复的、可验证 l 第一章绪论 的方式来描述和执行实验过程。 t a v e m a 的主要特色是基于数据流的网状工作流,它将一系列的输入转换为所需 要的输出。另外,t a v e m a 项目组提供了自定义的工作流语言s c u f f ( s i m p l ec o n c e p t u a l u n i f i e df l o wl a n g u a g e ) 和图形化界面两种方式用于工作流的创建,一方面图形化方式 方便科学家使用,另一方面s c u f f 语言作为整个工作流系统的中间处理和交换的语言。 2 、k e p l e r k e p l e r 是由s c i e n c ee n v i r o n m e n tf o re c o l o g i c a lk n o w l e d g e 、s d mc e n t e r s c i e n t i f i c p r o c e s sa u t o m a t i o n 、p t o l e m yi i 和c y b e ri n f r a s t r u c t u r ef o rt h eg e o s c i e n c e s 等多个项目 组合作开发的一个项目,主要目标是基于开源的p t o l e m yi i 可视化建模系统开发一个 开源的、支持工作流设计、部署和执行的s c i e n t i f i c 工作流系统。 k e p l e r 支持拖拽方式来创建和执行工作流,并且使用x m l 建模语言m o m l 语 言作为工作流执行语言。m o m l 模型的实际执行是由p t o l e m y i i 中的一个或多个定义 执行策略的d i r e c t o r s 来完成。k e p l e r 使用面向a c t o r 的设计模式,将p t o l e m y l i 中的 抽象a c t o r 作为一个包装器,使得w e b 服务,g l o b u s 网格作业和g r i d f t p 都能作为 应用程序中的一个组件。这样,当科学家创建工作流时,只需要选择合适的组件( 也 称为a c t o r ) ,然后将其放置在设计面板上。 k e p l e r 中比较特别的一点是,由于受p t o l e m yi i 中层次有限状态机的启发,k e p l e r 将控制流嵌入到数据流中,实现控制流与数据流的整合。同时,模版和f l a m e 标记对 已有的语义w e b 服务框架提供了新的扩展。 3 、t r i a n a t r i a n a 是由c a r d i f f 大学所提供的一个开源的图形化问题解决环境,能够支持信 号、文本和图像处理以及重力波检测等科学问题的处理。t r i a n a 是美国红十字会( p i k e s p e a kr e dc r o s s ,p p a e c ) 资助的一个为期两年的网格项目g r i d o n e d 项目中的一部分。 t r i a n a 环境被设计为一系列即插即用组件,这些组件能够很容易地集成到其它系 统中;它包含一个很大的库,由预先写好的分析工具和自定义工具组成。 科学家从工具箱里拖拽程序组件,然后将其放置到一个工作区中来组成一个应 用程序。这些组件之间的连接通过画线来实现。t f i a n a 使用x m l 语言来表示组件定 义和工作流。t r i a n a 工作流语言支持b p e l 的一个子集,并将它的工作流导出到b p e l 中,而它与b p e l 4 w s 最大的不同在于它不明确地支持控制结构。在t f i a n a 中,循环 9 第一章绪论 和执行分支都由特定的组件来处理。t r i a n a 内部的工作流表示是基于对象的,特定的 j a v a 对象代表单个组件实例和所连接任务的层次,并采用有向循环图表示工作流。 4 、a s k a l o n a s k a l o n 是由奥地利自然基金( a u s t r i a ns c i e n c ef u n d ,f w f ) 资助的a u r o r a 项目 中的一部分,是集群计算和网格计算的一个编程环境。在这个项目中,提供了一种新 的工作流语言a g w l ( a b s t r a c tg r i dw o r k f l o wl a n g u a g e ) ,它使得科学家只关注科学 网格应用,而不知道底层的网格架构。a g w l 是一种基于x m l 的语言,它定义了活 动图用于表示计算任务或科学家之间的交互。和b p e l 类似,a g w l 定义了一个丰 富的结构集合,包括顺序活动,子活动,控制流机制( 顺序并行,异或选择,顺序循 环) ,数据流机制( 输入输出端口) ,数据仓库等。a g w l 与已有工作流语言的主要 区别在于它提供了一些高级的工作流结构,比如带有前驱和后继条件的活动的并行执 行,并行循环,基于事件的同步机制和基于属性的活动选择等【3 7 】。 5 、s e d n a s e d n a 3 8 是由e p s r ce - s c i e n c e 计划资助的,是o m i i 项目中的一部分。这个软 件项目组的主要目标是基于w r e b 服务组装的事实标准b p e l 建立一个用于s c i e n t i f i c 工作流建模、监控和执行的环境,并使用了开源工作流执行引擎a c t i v e b p e l e n g i n e 3 9 。多个英国e - s c i e n c e 项目中的s c i e n t i f i c - i - 作流研究小组参与了整个平台的 测试。 国内工作流的研究重在b u s i n e s s 工作流方面,主要针对企业内部的流程实现。 h a b u 是国内一个开源的工作流系统,包括引擎和客户端两部分的内容。客户端使用 e w o r k f l o w ,遵循w f m c 标准,是一个定义工作流的可视化软件平台。e w o r k f l o w 的 客户端是基于j a v a 技术开发的,使用s w i n g 作为界面表示层,并使用j g r a p h 开源软 件。基于h a b u ,可以方便地集成企业现有系统、中间件和电子商务应用。而对于工 作流在科学领域的应用研究尚处于起步阶段。计算化学e - s c i e n c e 中工作流的研究结 合e - s c i e n c e 领域的具体需求展开,有一定的理论和应用研究价值。 1 2 2 研究现状分析 通过对比分析国内外主要的工作流编辑器,我们知道每个工作流可视化编辑器 的实现都主要分为两个关键的子问题:工作流描述语言的选择和可视化编辑框架的实 l o 第一章绪论 现。对于工作流描述语言,目前主要分为两大类: 一类是面向应用领域,提出了自定义的工作流描述语言,比如t a v e m a 中所提出 的s c u f f 语言,a s k a l o n 中所提出的a g w l 语言等。这些自定义的工作流描述语言支 持科学家开展特定领域的研究工作,并将满足其语法的工作流脚本提交给自定义的工 作流引擎,完成科学任务; 另一类则是趋向于标准化,以工业上的事实标准b p e l 语言作为工作流描述语 言。比如i b m 的a l p h a w o r k s 所提供的一个免费下载的b p w s 4 j 编辑器,o r a c l e 开发 的b p e l 设计器,a c t i v ee n d p o i n t s 所开发的一个基于e c l i p s e 的软件a c t i v e b p e l d e s i g n e r ,s e d n a 的b p e l 编辑器等,这些工作流可视化编辑器都是基于b p e l 业务 流程执行语言。 自定义的工作流描述语言能够更好地满足特定领域的需求。b p e l 作为工作流描 述语言的事实标准存在如下好处:首先b p e l 是w e b 服务组装的事实标准,这就便 于各个工作流可视化编辑器之间的互操作,从而减少资源的重复投入;其次,众多企 业比如i b m 、o r a c l e 、b e a 和a c t i v ee n d p o i n t s 等提供了许多具有企业竞争力的开源 的工作流执行引擎,这在一定程序上将会不断促进b p e l 标准的发展。 当前,虽然b p e l 的语法过于复杂,不利于科学家直观地描述科学任务,但是 采用b p e l 语言作为工作流描述语言来开发工作流可视化编辑器,将有利于促进工作 流描述语言标准的发展,以及工作流编辑器与支持b p e l 标准的工作流引擎之间的交 互,减少大量的重复工作,使得将来的e - s c i e n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛文化考试重点及答案
- 长沙县卫生健康局所属基层医疗卫生机构2025年12月公开招聘编外工作人员备考题库及答案详解参考
- 2026年株洲市应急管理局辅助人员招聘备考题库带答案详解
- 2026年上海对外经贸大学公开招聘国际发展合作研究院行政管理岗位备考题库及完整答案详解
- CN110251987B 一种提高大麻二酚含量的提取方法 (中国农业科学院麻类研究所)
- 企业安全培训论文课件
- 企业安全培训活动记录课件
- 康复护理病例言语疗法
- 职场廉洁从业反贪腐承诺书3篇
- 安徽省黄山市休宁县部分校联考2025-2026学年七年级上学期1月月考历史试题
- 湖南涉外经济学院《高等数学》2024-2025学年期末试卷(A卷)含答案
- 免陪照护服务的持续改进与质量监控机制
- 2025秋人教版(2024)八年级上册英语课件 Unit 1 Happy Holiday (第2课时) Section A Pronunciation 1- 2f
- 冬季心脑血管疾病预防
- 党建阵地日常管理制度
- 车间医药箱管理制度
- T/CSPSTC 17-2018企业安全生产双重预防机制建设规范
- 遥感图像处理技术在城市更新中的应用
- 食叶草种植可行性报告
- 落叶清扫压缩机设计答辩
- 广东省建筑装饰装修工程质量评价标准
评论
0/150
提交评论