过程” 新论

过程” 新论

ID:8552259

大小:66.50 KB

页数:5页

时间:2018-04-01

过程” 新论_第1页
过程” 新论_第2页
过程” 新论_第3页
过程” 新论_第4页
过程” 新论_第5页
资源描述:

《过程” 新论》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、“过程”新论郝克刚,葛玮,安贵“过程”新论郝克刚西北大学软件工程研究所所长,教授,博导。葛玮西北大学软件工程研究所副所长,副教授。安贵西安协同数码股份有限公司副总经理。高级工程师。本文由【中文word文档库】www.wordwendang.com搜集整理。中文word文档库免费提供海量教学资料、行业资料、范文模板、应用文书、考试学习和社会经济等word文档引言:谈及“过程”,人们都知道这是计算机界早期的话题。早期的程序设计语言都是基于过程的。特别是E.W.Dijkstra指出goto语句有害而引起

2、的结构化程序设计,把程序设计中的过程的研究推向了高潮。形式语义中专门有过程语义,形成单独的一派。关于“过程”的研究在计算机界曾风靡一时,研究热潮早已成为过去。基于过程的语言已逐渐被对象式语言所替代,指称语义和逻辑语义也进一步占了上风。很长时间已很少有人谈及“过程”。但是,情况有变。随着Internet的普及和社会信息化进程的加速,一种称之为新世纪软件杀手的软件BPM(业务过程管理系统)出现了。该软件要求有一种过程描述语言。要求对业务过程进行详细地、严格地描述。利用Internet技术实现:在设定的

3、时候,由设定的人员作设定的事。业务过程不同于程序中的过程,它要求突破结构化的束缚。他的并行机制也超过了CCS和CSP的模式。PetriNet是一种很好的模型,但用于描述业务过程,还需作进一步的扩展。总之,BPM的出现,引起了新一轮“过程”研究的热潮。呼唤“过程”的新论。1.突破结构化的束缚所谓结构化,即过程是由几种结构形式,如顺序、分支、循环、并行等,由原始语句逐步构造而成。早期的程序设计语言都是基于过程的。在结构化程序设计的研究中,已经把程序设计中过程的结构研究得非常透彻。但是,业务过程常要突破

4、结构化的束缚。例如典型的审批公文的例子起草1起草2审查1审查2-------第5页共5页-------“过程”新论郝克刚,葛玮,安贵这在结构化的循环结构中是不允许的,但是在业务过程的设计中却大量用到。1.在过程定义语言中引入PetriNet的思想和机制PetriNet是一种很好的模型。它采用位子(Place)、变迁(Transition)和托肯(Token)等元素来描述过程。它是非结构化的模型,可以很好地描写过程中并行、竞争、同步、…等机制。这里有一个非常有趣的联想。第一台电子数字计算机ENIAC

5、出现的时候,它只是一台为各种炮火计算弹道的专用计算机,程序是用外接电路板输入的。只有在熟悉图灵机理论的冯•诺伊曼(图灵本人也参与了计算机ACE的设计)后才出现了真正意义下的“存储程序式”的通用电子数字计算机EDVAC和EDSAC。可见理论的重要性。关于过程的描述也如此。当工作流管理联盟WfMC早期在起草工作流过程定义语言WPDL时,起草者中并没有多少人了解PetriNet的理论。因而,从WPDL中不难看出结构化模型的影响和引起的混乱。可以毫不夸张的说,在过程定义语言中引入PetriNet的思想和机

6、制是一重大进步。当然,PetriNet只是一种抽象模型,作为过程描述的模型和语言还需对其进行进一步的扩展。例如,一个很重要的缺陷是PetriNet没有直接描写数据的机制。于是,在描写控制结构上就不能直接刻画分支结构。关于分支,它只有相应的竞争机制,是把分支条件的确定放在了系统的外面,系统不能直接描写。我们研究室在过程定义语言中引入PetriNet的思想和机制,提出了一种过程定义模型,称之为:“信牌驱动式工作流计算模型”(参见《计算机研究与发展》2000,(37)12。)“信牌”是我国古代官府执行任

7、务的凭证,官员只有接到信牌才能执行相应的任务,我们借助这一概念,将PetriNet模型中的托肯、位子、变迁和流关系用人们容易理解的信牌、信牌箱、活动和转移表示。在模型中引入了数据,它可以是变量、对象、文件或数据库项。数据按它的应用范围分为环境数据、相关数据和流数据。在转移上可以附加条件表达式,它的值由执行过程的实例时该表达式有关数据的值动态地决定。C1C2C3活动1信牌箱3信牌箱2信牌箱1-------第5页共5页-------“过程”新论郝克刚,葛玮,安贵1.分区解决方案前面提到WPDL受到结构

8、化模型的影响,但是面对的业务过程又大都是非结构化的,从而陷入了混乱。例如在WPDL中,如果AND-SPLIT和AND-JOIN是严格配对时(结构化的情况),比较简单。但是当它们不严格配对时,语义定义就不清楚了。例如下例:AND-JOINAND-SPLITAND-SPLITb2b1a2a1AND-JOIN被定义为与进入此活动的转移相关的并行线程的合并,同步合并线程的个数依赖于前面的AND-SPLIT转移条件的实际执行结果。这里所说的“AND-JOIN前面的AND-SPLIT”是否有固

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。