660 likes | 791 Views
有关 “ 过程 ” 和 “ 计算 ” 的思考 ( Process & Computation ). 学术讲座: 老概念遇到新挑战. 郝克刚 西北大学计算机科学系 ( 2004.3 ). 老概念遇到新挑战. “ 过程” ( Process ) “计算” ( Computation ). 全国计算机软件新技术研讨会 暨徐家福教授八十华诞庆贺活动. “ 过程 ” 新论. 郝克刚 西北大学计算机科学系 ( 2003.12 南京). “ 过程 ” : 计算机界早期的话题. 谈及过程,人们都知道这是计算机界早期的话题。
E N D
有关“过程”和“计算”的思考 (Process & Computation) 学术讲座:老概念遇到新挑战 郝克刚 西北大学计算机科学系 (2004.3)
老概念遇到新挑战 • “过程” (Process ) • “计算” (Computation) 西北大学计算机科学系软件工程研究所
全国计算机软件新技术研讨会暨徐家福教授八十华诞庆贺活动全国计算机软件新技术研讨会暨徐家福教授八十华诞庆贺活动 “过程” 新论 郝克刚 西北大学计算机科学系(2003.12 南京) 西北大学计算机科学系软件工程研究所
“过程”:计算机界早期的话题 • 谈及过程,人们都知道这是计算机界早期的话题。 • 早期的程序设计语言都是基于过程的。特别是E.W.Dijkstra指出goto语句有害而引起的结构化程序设计,把程序设计中的过程的研究推向了高潮。 • 形式语义中专门有过程语义,形成单独的一派。 • 关于过程的研究在计算机界曾风靡一时,研究热潮早已成为过去。基于过程的语言已逐渐被对象式语言所替代,指称语义和逻辑语义也进一步占了上风。很长时间已很少有人谈及过程。 西北大学计算机科学系软件工程研究所
“过程” 新论 • 但是,情况有变。 • 随着 Internet 的普及和社会信息化进程的加速,一种称之为新世纪软件杀手的软件BPM(业务过程管理系统)出现了。 • 该软件要求有一种过程描述语言。要求对业务过程进行详细地、严格地描述。利用 Internet 技术实现:在设定的时候,由设定的人员作设定的事。 • 业务过程不同于程序中的过程,它要求突破结构化的束缚。他的并行机制也超过了CCS和CSP的模式。 • Petri Net 是一种很好的模型,但用于描述业务过程,还需作进一步的扩展。 • 总之, BPM的出现,引起了新一轮“过程”研究的热潮。呼唤 “过程”的新论。 西北大学计算机科学系软件工程研究所
讲述大纲: • 突破结构化的束缚 • 引入 Petri Net 的思想和机制 • 分区解决方案 • 复杂的多流问题 • 研究所相关工作简单介绍 西北大学计算机科学系软件工程研究所
起草1 起草2 审查1 审查2 突破结构化的束缚 • 所谓结构化,即过程是由几种结构形式,如顺序、分支、循环、并行等,由原始语句逐步构造而成。 • 但是业务过程常要突破结构化的束缚。例如典型的审批公文的例子 • 这在结构化的循环结构中是不允许的,但是在业务过程的设计中却大量用到。 西北大学计算机科学系软件工程研究所
Place Transition Token Petri Net 是一种很好的模型 • 非结构化,并行,竞争,同步,… 西北大学计算机科学系软件工程研究所
Place Transition Token Petri Net 是一种很好的模型 • 非结构化,并行,竞争,同步,… 西北大学计算机科学系软件工程研究所
Place Transition Token Petri Net 是一种很好的模型 • 非结构化,并行,竞争,同步,… 西北大学计算机科学系软件工程研究所
Place Transition Token Petri Net 是一种很好的模型 • 非结构化,并行,竞争,同步,… 西北大学计算机科学系软件工程研究所
Place Transition Token Petri Net 是一种很好的模型 • 非结构化,并行,竞争,同步,… 西北大学计算机科学系软件工程研究所
Place Transition Token Petri Net 是一种很好的模型 • 非结构化,并行,竞争,同步,… 西北大学计算机科学系软件工程研究所
Place Transition Token Petri Net 是一种很好的模型 • 非结构化,并行,竞争,同步,… 西北大学计算机科学系软件工程研究所
在过程定义语言中引入 Petri Net 的思想和机制是一重大进步。 • 工作流管理联盟 WfMC (Workflow Management Coalition) • 工作流过程定义语言 WPDL (Workflow Process Definition Language) • WPDL起草者中并没有多少人了解Petri Net的理论。因而,从WPDL中不难看出结构化模型的影响和引起的混乱。 • 在过程定义语言中引入 Petri Net 的思想和机制是一重大进步。 • 联想:Turing Machine 理论对计算机诞生的影响。 西北大学计算机科学系软件工程研究所
信牌箱1 C1 C2 活动1 信牌箱2 C3 信牌箱3 Petri Net 用于描述业务过程,还需作进一步的扩展。 • Petri Net没有直接描写数据的机制。于是,在描写控制结构上就不能直接刻画分支结构。关于分支,它只有相应的竞争机制,是把分支条件的确定放在了系统的外面,系统不能直接描写。 • 信牌驱动式工作流计算模型。信牌: 是中国古代官府执行任务的凭证。 《计算机研究与发展》2000, (37) 12 • 数据:变量,对象,文件,数据库项。 西北大学计算机科学系软件工程研究所
b1 AND-SPLIT a1 b2 AND-SPLIT AND-JOIN a2 WPDL中的JOIN语义问题 • WPDL中的 AND-SPLIT和 AND-JOIN 语义定义不够严格。 西北大学计算机科学系软件工程研究所
WPDL中的JOIN语义问题 • AND-JOIN 被定义为与进入此活动的转移相关的并行线程的合并,同步合并线程的个数依赖于前面的AND-SPLIT转移条件的实际执行结果。 • 这里所说的“AND-JOIN 前面的 AND-SPLIT ”是否有固定的所指?如何求出这些 AND-SPLIT?此时,该AND-JOIN 应该按什么规则计算输入转移的个数以表明它可进入执行状态?等等存在一系列问题。 • 如果用限制 SPLIT 和 JOIN 的类型严格配对(在 WPDL 的说明中选 FULL-BLOCKED )的方法解决这个问题,自然很容易,但却大大地限制了它的实际应用。。 西北大学计算机科学系软件工程研究所
b1 a1 b2 a2 真假信牌执行规则 条件为真时传真信牌,后面的活动真执行;条件为假时传假信牌,后面的活动假执行。 西北大学计算机科学系软件工程研究所
合格 零件1 组装 不合格 合格 零件2 不合格 有些情况真假信牌执行规则不适用 • 问题的症结主要是真假信牌不能任意使用,如果不在一定的范围内,使用真假信牌就会产生不正确的结果。 西北大学计算机科学系软件工程研究所
分区解决方案 • 为了保持模型的充分表达能力,我们选择了两种规则综合使用的方案。把整个过程分为同步区和非同步区。真假信牌规则在同步区中使用,而真信牌在非同步区中使用。 • 同步区的定义。与 AND-JOIN 节点配对的聚焦点。由 AND-JOIN 节点与其对应的聚焦点所围成的区域被称为同步区。 • 计算聚焦点的算法,求相应的同步区的算法。 • 为使真假信牌规则在同步区中的正确使用,对同步区所作的必要限制。 • “ WPDL中的JOIN 语义问题和分区解决方案”《计算机科学》2003. 7(30)。 西北大学计算机科学系软件工程研究所
策划 起草 评审 复杂的多流 • 多流是过程的实例在执行中出现的一种现象: • 有两个或两个以上的活动同时(并行)执行, • 这种活动出现在过程执行的前后,多次执行(前后并行) 。 • 流水线是典型的多流 西北大学计算机科学系软件工程研究所
多流引起的问题 • 建立“流数据” • 多流的倒序 • 多流的同步 • 解决方案:设立流的 ID; • 局部禁止多流。 西北大学计算机科学系软件工程研究所
软件工程研究所相关工作 • 信牌驱动式业务过程模型的研究。 • 非确定 Petri 网。《小型微型计算机系统》2003. 3(24) • 过程管理系统异常处理和动态修改研究。 • 业务过程管理系统中对事务处理的支持。 • 多服务器支持的分布式过程管理系统。 • 产业化。西安协同数码股份有限公司开发的 SynchroFLOW 中国电信市场,行业应用提供商… 西北大学计算机科学系软件工程研究所
超越图灵机(Turing Machine)的计算(Computation) 模型? 西北大学 计算机科学系 西北大学计算机科学系软件工程研究所
Wegner 文章引起的联想和思考: Peter Wegner & Dina Goldin: Computation Beyond Turing Machines Seeking appropriate methods to model computing and human thought. COMMUNICATIONS OF THE ACM April 2003 / Vol.46, No.4 超越图灵机(Turing Machine)的计算 --- 寻找适当的方法给计算和人的思维建模 西北大学计算机科学系软件工程研究所
对图灵机作为计算问题求解的基础的质疑 • 阿伦·图灵(Alan Turing)证明了计算机不能完全地证明数学的命题,扩展了歌德的关于逻辑不能完全为数学的真命题建立模型的证明。 • 这种在计算机和数学之间建立的的联系,后来被用于发展计算机科学的数学基础,就如同为物理学和其他的科学建立数学基础一样。 • 此文说明图灵机不适合作为计算问题求解的普遍性的基础。 • “交互” 用于超越图灵机扩展计算的方法,。 西北大学计算机科学系软件工程研究所
阿伦·图灵(Alan Turing) • 图灵出生于1912年,1930年入剑桥大学学习数学, • 1934年他22岁时,在国王学院(Kings College)完成了学位论文,推广了冯·诺伊曼(Von Neumann)的群论模型。 • 他的1936年的论文:论可计算数及其在不可判定问题中的应用,证明了数学不可能用计算机完全建模。 • 在40年代初,他开发了解译德国的密码的计算机模型,帮助同盟国赢得二次世界大战。 • 在40年代末他开发了有关人工智能,国际象棋和人脑的计算模型。他预测在20世纪结束以前计算机能完全模拟人的思维,能比人下国际象棋下得更好。 西北大学计算机科学系软件工程研究所
考查图灵模型的历史演化 • 1936的论文主要是论述图灵机不能解答所有的数学的问题, • 然而在1960年代,图灵机却被理论计算机科学家作为解答所有计算问题的方式所采用。 • 然后在1990年代又转化为计算方面的弱点。随着计算的实用性的增加延拓了我们关于“计算问题” 的概念,展现了图灵机在处理求解问题的能力方面的限制。 西北大学计算机科学系软件工程研究所
希尔伯特,歌德, 和丘奇( Hilbert ,Gödel, Church) • 1900希尔伯特提出了假定,认为逻辑能完全证明数学的命题是真或假,并列出了25 个数学家应该努力去证明的尚未证明的数学命题。 • 罗素和怀特黑德的数学原理(Principia Mathematica)接受了希尔伯特原则,提出了一个数学的逻辑系统,作为进行数学的证明的普遍性的模型。 • 试图的屡屡失败,导致了歌德1931年证明的命题:逻辑不能对所有的数学定理判定其是否为真。歌德证明了判定问题在原则上是用逻辑不可解的, • 后来这个命题引出了很多数学家的研究工作,进一步用有关逻辑或其他的数学模型来解释数学的不可解性的理论和哲学。 • 丘奇采用了歌德的思想,在1935年证明了判定问题是不能用λ演算解决的。 • 同时,图灵证明了存在判定问题是不能用计算机解决的,因为图灵机的“停机问题” 本身就是不可解的。 西北大学计算机科学系软件工程研究所
丘奇- 图灵论题 • 图灵的结果被歌德和丘奇所接受,作为一个更简单,而且更好的不可解性的论据。 • 图灵 1937年被邀请到普林斯顿和丘奇一起合作,后来被叫做丘奇- 图灵论题。这个论题断言逻辑,λ演算,图灵机,有效的函数计算具有等价的问题求解机制。 • 这个论题后来被重新解释为求解全部计算问题的统一的完整的机制。 西北大学计算机科学系软件工程研究所
c- 机器 和 u- 机器 • 图灵在他的1936年论文中隐含着这样的断言:各种图灵机(他称其为自动的机器或a-machines)不能为所有形式的计算提供一个完全的模型,就如同它们不能为所有形式的数学提供模型一样。 • 他定义了c-机器(选择机器)作为计算的一种模型,增加了交互式的选择作为计算的一种形式; • 后来,他还定义了u-机器(未组织的机器)作为另一个关于脑的模型。 • 但是图灵没有对其进行形式化,而且在他过早的逝世10年后,这些模型在1960年代由于不必要已经被扔掉了,因为已经假定图灵机模型能完全描述所有形式的计算。 西北大学计算机科学系软件工程研究所
Peter Wegner & Dina Goldin 的观点: • 虽然这种对丘奇- 图灵论题狭隘的解释与图灵关于图灵机仅是对算法类的问题求解的形式化的主张相矛盾, • 然而它还是在1960年代被计算机界所接受,成为了计算理论的教条式的原则。用理论上的图灵机这个数学模型为计算机科学建立了模型。 • 这个科学模型,和物理学,化学和生物学的那些模型相平行,提供了一个可接受的,但是弱的计算理论。 西北大学计算机科学系软件工程研究所
计算机科学,算法(algorithms) • 计算机科学从图灵1936年的开创性的文章发表开始,之后到1960年代已经形成了一门成熟的学科,在全国各地的大学里,已经将其列入大学生的课程教学计划之中。1968年,关于这门新学科应该教授的的内容也已达成共识,被明确地说明在ACM的课程‘68文件中。 • 计算机科学这门新学科把计算看作为信息处理,一种输入到输出的变换。在计算开始前,输入被完全定义,输出提供该问题的解答。这样的机械的变换在数学中早已称为算法(algorithms);所以,计算机科学所采用的关于计算的这种方法被称为算法类(algorithmic)。 西北大学计算机科学系软件工程研究所
计算的领域已经大大地扩展了, • 从1960年代以来,愈来愈多的人认识到:人工智能,图形学和因特网不能用图灵机表达。其中,程序(系统)和世界(环境)之间在计算期间发生的的交互起着关键的作用,它不能用任何在计算之前被决定的输入的集合所替代。就人工智能来说,交互能看作是称为智能的系统行为的前提条件, • 如同 Brooks [ 2 ]论述的那样: 现实的计算系统不是那种清晰的机构,它接收输入,进行理论上计算,然后产生输出…而在智能和环境的交互之间画条界线是相当困难的。从某种意义上说,分清它们并不重要,因为所有的智能系统,如果他们是有用的实体,必然都处于世界的这种或那种环境之中。 西北大学计算机科学系软件工程研究所
需要一个新的概念构架 • 英国的计算机科学家罗宾•米尔纳(Robin Milner)为计算模型开发了一个新的概念构架,它基于CCS和后来基于p-演算。 • 在他的图灵奖授奖讲演:交互的要素中,米尔纳宣称所建立的计算的模型是不充分的: 经过整个1970年代,我越发确信并行和交互的理论需要一个新的概念构架,不仅是对我们已发现的顺序[算法类]计算的自然模型的一种提炼。 西北大学计算机科学系软件工程研究所
挑战图灵机 • 米尔纳在他的1991 图灵作奖授奖讲演中,作为对图灵机的封闭箱子式的计算的补充介绍了一些交互式的模型。不过他避开了CCS和π-演算的计算是否超越了图灵机和算法的问题。 • 图灵机已经被作为完整的计算的首要的范型所接受,但是在70年代末和80年代初,公开地向这种看法的挑战也已开始孕育。 • 在最近的20年中,计算技术已经由主机系统和微机工作站向网络和无线装置转移,以及相应地在应用中由数字化和数据处理向嵌入式系统和图形用户界面的转移。我们认为将交互作为计算包含的一个组成部分,已不再是不成熟的事了。 西北大学计算机科学系软件工程研究所
交互式机器模型 interaction machines (IMs) • 在90年代末,作为图灵机的一种扩展,开发了交互式机器模型 • Peter Wegner, Brown University, April 1997 Interactive Foundations of Computing • Peter Wegner and Dina Goldin, January 1 1999 Mathematical Models of Interactive Computing • P1 (Turing machines): TMs cannot model interaction since they shut out the world while computing. 西北大学计算机科学系软件工程研究所
交互式机器(IMs) • 交互式的系统以交互式机器(IMs)作为模型,它是TMs的简单的扩展。 • D1(交互式机器):IMs用添加动态的输入/输出(读/写)的方法扩展TMs。交互式机器在某些方面可以有所不同,例如可以有一个或多个输入流,通信是同步或异步,但是所有IMs都是开放式系统,它表达的动态外部行为超越算法表示的可计算性。 • D2(交互历史):IMs的可观察的行为由交互历史指定。 • D3(流):串行的历史——叫做流——是交互式的与时间有关的字符串类似物。 西北大学计算机科学系软件工程研究所
P2 命题2 (交互式机器):交互式机器不能用图灵机作为模型。 • 命题2 可从下述事实得证:有限的输入字符串总是能交互式地被扩展。IMs不能用最初输入是有限字符串的TMs建模。他们需要一个无限的输入带,它的输入不受IM的控制,并且它的接受(结束)条件不能如Buchi自动机那样,由一个终止状态或状态的无限重复来指定的,。 • 为了证明P2,只需证明IMs能够表达有限以及无限的字符串之间的映射即够。但是,交互式的行为不能通过映射的字符串从有限到无限的延伸完全地刻画。 西北大学计算机科学系软件工程研究所
O1(流):流(历史)的语义不能用字符串的语义表达。O1(流):流(历史)的语义不能用字符串的语义表达。 • 交互不能被表达为,或者被归结为变换(函数) 。 • 交互将计算扩展为历史上的可计算的nonfunctions(非函数),而不是字符串上的noncomputable(不可计算)函数。 • 飞机票预约系统和其他的反映式系统提供全天候交互式的服务,不能用函数来设定。 • 时间是一种非函数特性,因为函数(算法)的效果与它们的计算时间无关,与发生效果的时间无关。 西北大学计算机科学系软件工程研究所
O2(行为): • 交互的行为包括非函数的有限和无限的行为在内。 • 在路上没有其他交通车辆的情况下,驾车是一项能用算法阐述的交互式作业。它对蒙住眼的人,指定应该什么时候踩油门,转动方向盘,或者踩刹车等。在这种情况下驾车回家,原则上可以用封闭系统的脱机的规则来建模。 • 但是在实际的交通情况下驾车回家,即使是原则上也不能将其归结为算法,它依靠难以置信的、复杂的、不可预测的联机的事件,甚至对有限的计算来说,它都不能作为算法或顺序地加以描述。 西北大学计算机科学系软件工程研究所
O3(持续): • 持续的智能体行为不能用交互历史描述。 • 在司机可观察的历史和它们引起的司机行为之间的对应关系不是算法,甚至对于有限的旅程的离散近似也是如此,因为所有可能的事件历史的集合不能作为算法来描述,并且历史到行为上的映射也不是算法。 • 智能体的行为是由无法控制的外部交互历史确定的,而不是内部的状态转换决定的,这个思想是给交互式计算建模的核心。 西北大学计算机科学系软件工程研究所
O4(智能):用交互把算法扩展成高性能的智能体。O4(智能):用交互把算法扩展成高性能的智能体。 • 用装有激光制导的炸弹,它交互式地核对所观察地形和准备好的地图,可以很好的解释交互式的能力。 • 当增加了交互功能后,盲哑的算法转换成为高性能的智能体(嵌入式系统)。 • 算法“哑” 而且“盲” ,因为当它们计算的时候不能交互:他们患有杜绝交互的孤独症(autistic) 。 • 形成对照地,交互式系统对外部现实的建模,与内部的算法的变换规则相比,具有更高的要求和表达能力。 西北大学计算机科学系软件工程研究所
O5(关闭):自然数在对角线运算下不关闭,如同有理数在代数运算下不关闭一样。O5(关闭):自然数在对角线运算下不关闭,如同有理数在代数运算下不关闭一样。 • 交互式机器的输入不能用有限的字符串的集合建模,因为流不能用字符串建模,并且有限的序列总是能被扩展。 • 交互式机器不能用所有有限的序列的可数(enumerable)集合建模,但是可以用无限的序列更自然地建模,因为对手有最后的发言权,总是能扩展任何有限的序列。 • 对手的行为最好是用无限的过程建模,它能表达的是实数的基数(康托的对角线运算)而不是可数的序列。 • 自然数对交互式的过程类似对角线运算那样是不关闭的,就如同有理数在代数的运算下不关闭一样。 西北大学计算机科学系软件工程研究所
O6(实数):交互式机器用实数为实际时间和现实世界建立模型。O6(实数):交互式机器用实数为实际时间和现实世界建立模型。 • P3(不可数性):交互式机器的交互历史是不可数的。 • 实数在19世纪被看作为连续的数学和物理空间的无限分解性的模型。 • 连续的物理空间的有限区间的无限分解性和离散的物理的时间的无限的可扩展性,引起了相对于实数和实时的双重不可数的现实的抽象。 • 所有无限位的流的集合与实数之间和与交互式机器的输入流之间均能建立一对一的(one-to-one)对应。 • 交互式的模型引出了实数和现实世界之间的偶然发现的和出乎意料的联系。 西北大学计算机科学系软件工程研究所
论题(直观计算): • 当可计算的概念包括了交互而被延宽后,相对于图灵机的形式的可计算性(丘奇-图灵论题)的直观概念被突破了。 • 虽然丘奇论题在窄的意义下(图灵机表达算法的行为)是有效的,但是在更宽的意义下(算法精确地刻画可计算性)是不正确的。 • 论题(直观计算): 算法(图灵机)不能刻画计算的直观概念,因为它们不能表达交互式的计算,而直观的计算应包括交互在内。 西北大学计算机科学系软件工程研究所
交互式机器模型的概念仍然是有质疑的 • 荷兰的计算理论专家范•里温(Van Leeuwen)认为: • 既使古典的图灵的范型也许不再能充分地适合刻画现在的计算的全部特点。 • 我们的交互式模型的概念仍然是有质疑的,因为我们没有提出一个理论上的构架,能比的上图灵机的理论。 • 不过,计算的完整的模型经常是在没有理论基础或数学模型的情况下被开发的。甚至图灵也曾经在没有形式化的基础上提出过c-机器和u-机器。 西北大学计算机科学系软件工程研究所
几种类型的交互式机器: • Sequential interaction architecture is modeled by sequential interaction machines (SIMs), • while persistent Turing machines (PTMs) are a canonical model for sequential interaction whose role parallels that of TMs for algorithms. • Distributed interaction architecture is modeled by multi-agent interaction machines (MIMs). • Expressiveness of finite agents is specified by observation equivalence, and is measured by the ability of observers to distinguish agent behavior. • SIMs are shown to be more expressive than TMs and MIMs are in turn shown to be more expressive than SIMs. 西北大学计算机科学系软件工程研究所