很久以前某位大仙对petri网的总结

2006年03月14日
计算模型的统一分析

    人类所有的计算模型都包括如下四个要素:
         1)输入集合或者输入变量(I);
         2)
输出集合或者输出变量(O);
         3)处理或者变化(P);
         4)数据或者状态(D)。
ComputingModel =(I,O,P,D)–注意其中用的是逗号(,),其中的输入输出是处理或者变化元素的输入输出。有系统应用价值的计算模型包括图灵机和Petri网两个。

    图灵机在已知输入输出情况下研究处理和数据的实现问题,即Turing’s machine = (I,O;P,D)–注意其中用的是分号(;),处理就是算法、程序Programming,数据是DataStructure。图灵机的工程化技术已经成熟,包括从汇编语言到UML语言在内的全系列软件工程和程序设计语言,核心是结构化程序设计语言。

    Petri网在已知变化状态条件下研究输入和输出的网络结构问题,即Petri nets =(P,D;I,O)–注意其中用的是分号(;)。

    图灵机是“从蛋(I,O)开始研究蛋(I,O)孵鸡(P,D)”问题,而Petri网是“从鸡(P,D)开始研究鸡(P,D)生蛋(I,O)”问题。两者精确对偶,统一起来就可以完全解决了“(I,O)孵鸡(P,D)、鸡(P,D)(I,O)”的自然循环,因此被我统称为自然(或实)计算模型,目的是区别于我预计10年后才有可能研究成熟并公开的“虚计算模型。 

     对偶定律告诉我们,对偶模型可以相互解决它俩各自所不能解决的问题。Petri网的实践(语用网)可以解决Turing机所不能解决的“软件模块复用(也就是计算协作)”问题;而 Turing机的实践(算法分析-也就是软件工程)解决了Petri网所不能解决的“节点爆炸”问题。这就是我把它俩统一起来研究的原因。

     如此成熟的两个对偶计算模型,理论和工程界的人们却都不愿意统一起来研究和实现,难道不是一件很值得奇怪的事情吗?怎么反而怪起解决计算实践问题的我“在骗鬼”来了呢?

     近来网络里面在热烈讨论胡戈vs陈凯歌问题,也在激愤地讨论着中国汉芯上海交大微电子学院的陈进问题。前者有了一句著名论断:“做人不要太陈凯歌了”,今天我要送出一句同样的话:“做学术不能太陈进了”,对于网格计算和语义网格领域里的骗不了鬼只能骗人主流科学家们,无论Ian Foster的Globus、英国的e-Science、徐志伟老师的织女星网格、诸葛海教授的语义网格,还是那些博士硕士生们。我还是那句话,首先要系统阅读这个博客里的全部文章,否则都是白搭,而且会误了国家、最终也误了自己。

    语用网仅仅是一个计算网络系统技术,IBM叫它"服务科学",微软是“BigTop”计划,是任何人都不可能埋没得了的–技术进步有其自然发展规律。历史无数次地证明:对于技术进步,人可以阻止得一时,却不能阻止得一世。

    这里说出一件我亲历的真事。当我向硕士学位论文评审人,著名的东南大学校长顾冠群院士计算机系主任罗军舟博导的国家重点网络实验室,阐述上面的两个计算模型时,那个曹玖新博士、硕士生导师居然说:如此根本称不上理论的简单系统,我们实验室里的任何本科生都可以轻松搞得出来,作为本科毕设都不能够格!

    居然还有这么牛逼的视Turing和Petri如无物的计算机“文盲”专家?  这就是我们计算机领域现在的主流吗?

归类于:  Petri nets背景知识导读 — 赵维 @ 8:28 am 评论(0)
2006年03月01日

计算技术的过去、现在与未来


    人类是在实践中不断认识世界的,一般的实践领域都包括世界观(即模型理论)、方法论(即工程技术)和具体实践(即应用系统)3个相互关联的部分,见下图的“认识与实践的‘三角形’”。

          

    
具体到计算机软件领域来讲,就是图灵机模型、软件工程与程序设计和计算机应用系统的3个方面。图灵机可以表示为四元组Turing’s machine = (输入变量,输出变量,加工程序,内部状态)。其中输入变量又称输入集合,集合是变量的变化范围;同样输出变量也叫输出集合;加工程序就是著名的算法,内部状态就是著名的数据结构。一种简化的图灵机要特别单独研究,即无内部状态的模型三元组TM‘ = (输入变量,输出变量,加工程序)。计算机应用系统就是我们针对具体应用问题而实现的解决方案。如何实现?从理论到方案之间必需要工程化技术,这就是软件工程与程序设计的领域了,总结在下图“认识与实践的三角形”里。
               
    关于图灵机模型的理论主要是Turing本人的贡献,其他人的东西至多可以浏览一下,参考参考。可惜国内的读者能够接触到原创资料的不多,一则不象国外到处都有公立图书馆里的原著经典,二则国内原先不重视
原始创新、也不向西方学习创新之道。整个上图所示的计算机软件领域里,人们看重的就是计算机应用系统方法论的工程化技术,我们大量学习的正是软件工程。软件工程的目标是获得主要以算法和数据结构表达的应用系统,而软件工程的方法论、即工具,就是软件语言,如UML(统一模块语言)以及Basic、C、Java等众多的程序设计语言。可以说语言是计算表达的唯一方式。

    语言就是符号系统,与在人类长期发展中
演化而来的自然语言的符号系统具有复杂、现象和片段性不同,软件语言都是根据图灵机模型构造出来的计算机工程工具,简单、规则和统一。在以Morris1938年等开始的研究符号语言规律的现代语法学里,软件语言属于语义学语言,即类似于英语的从有限集合的字母、由字母有限组合为单词、由单词有限组合为语句、由语句有限组合为文章的符号系统结构,软件高级程序设计语言总是从有限集合的关键字、由关键字有限组合为结构化的程序语句、由程序语句有限组合为函数过程或对象等基本模块、由基本模块有限组合为软件应用系统。

    古典语法学里有语义学而没有语用学,
现代语法学重新阐释了古典的语义学,并从中分离出语用学来,为下面提及的Petri网计算系统奠定了方法论和工具基础。语义学阐述符号语言表达主观意识,语用学阐述符号语言表达客观规律。语义学阐释的主观意识是否符合客观规律,还需要在语用学所构造的虚拟社会里得到检验并受其调整。详见本blog的“形式语用学”(http://blog.donews.com/ygzw/category/94286.aspx)。

    下面揭示软件工程的边界、即局限性
问题。软件工程就是根据用户需求的客观事物逻辑,用软件语言表达出来的应用系统。先有用户事物,后有软件系统;用户需求决定软件系统。但是用户需求不是固定的一成不变的,而是不断变化发展的,导致软件系统也应当不断维护升级。当软件工程技术发展到一定阶段,接近成熟的时候,这种由于事物变化而导致的系统维护升级的矛盾就特别突显出来,成为计算机工程的主要问题了。前些年IBM就提出了“随需应变”等口号,以及其它机构的类似做法,说明人们都意识到了这个问题。一个叫Brooks的图灵奖获得者在1986年给出了“软件怪兽”和“没有银弹”的著名论断,说的就是不可能用软件工程方法来解决这个问题。最近几年火热的“网格计算”等也是针对的这个问题,中科院计算所的徐志伟老师在领导实践了织女星网格计划之后,也于2003年底得出了同样的“计算机领域面临大变革”的结论。

    人们至今没有解决这个问题,以Foster领头的Globus小组的“网格计算
项目”在风光了两年后,旋即销声匿迹了。我们虽然知道微软等巨头们早就在行动了,但它们只字不提,闷声研究,我们就不得而知了。IBM改变前几年的“随需应变”和“网格计算”的口号为最近1年来的“服务科学”,我认为IBM应该是找到解决这个问题的窍门:服务离不开社会,IBM应当是在实现虚拟社会。但IBM在去年放出“服务科学”的“洋屁”后,就再也不肯说出里面的理论模型和工程方法论了,可能解释是IBM还没有准备好,要么是技术封锁?

     好的猎人总是能够从猎物遗留的气味中判断出猎物的种类来,我们不应该满足于闻闻IBM的“服务科学”屁声,更应当探索和揭示里面的道道–究竟是吃了什么样的“食物”后才能放出这样的“洋屁”来呢?

    “
用户事物的发展变化导致计算系统的维护升级”,是我们面临的下一个计算问题。如果客观事物不变化,那么计算系统就不必升级。在数学里,通常设定这个变化为一个微小变量得尔塔(dlta),通过对这个微小变量得尔塔(dlta)的研究,往往可以揭示出一个更加高级的数学理论。如微积分,就是研究初等曲线微小变量得尔它(dlta)的规律而获得的高等数学的基础理论。如果我们找出客观事物的变化规律,就可以揭示计算系统的升级规律,从而获得计算系统的升级方法论,最终在更高的一个抽象级别上实现下一代的计算系统工程化技术。

   
用户事物不是孤立存在的,它的变化发展是受到其存在的环境影响的,普遍联系的哲学原理恰当地揭示了事物的变化发展规律。“事物之间的联系是物质的、客观
的、可以通过观察得到的(语用学的)、而不是您脑子里臆想的(语义学的)
东西”,Petri早在1963年就”用计算机科学的语言揭示出了这个物理理论”,被称为Petri网理论
(Petri nets theory)。完整的Petri网论也包括与上图相仿的
“认识与实践的三角形”,收录在下图里。(如果图不清楚,请参见http://www.chinagrid.net/dvnews/show.aspx?id=1503&cid=6的图形)

                        
                  
    
Petri是物理学家,已经80高龄了,他现在不可能也没有必要亲自来实现这个工程化技术了,但是他在过去的40多年里已经全部深入地给出了网论的这三个方面(
http://www.informatik.uni-hamburg.de/TGI/publikationen/public/biblio_petri_eng.html)。Petri网论已经完全发育成熟(我很奇怪:计算机领域的人们不习惯于阅读发明人的原创资料,去总是道听途说地去理解前人伟大的思想?这是科技研究,特别是尖端科技研究的大忌!)。本博客(http://blog.donews.com/ygzw/)里试图阐述清楚的就是实现这个叫“虚拟社会”的工程化技术–“语用网和计算自然语言(Pragmatic Network/Web & Natrual Languge Computing)”项目实现“语用设计语言”并支持“人件知识工程”。
 
     计算机的未来将毫无疑问地集中于此,有人曾经预测这个技术市场的规模是20万亿美金。我们下一步该做什么了呢?我在迷惘中等待着国人们的觉醒。

[注:本段文字主要总结了“人件知识工程与语用设计语言”在整个计算机系统领域里的作用与地位,并兼顾回答北京大学袁崇义教授(Petri的嫡系弟子,《Petri网原理》等系列教科书的作者,被称为国内Petri网论权威)的不理解“模拟能力等价的Petri网论怎么就比图灵机高级了呢?”
初等曲线的自然指数有限多项式(+aiX^i,i=0,1,2,...,n)的微积分仍然属于自然指数有限多项式集合,二者模拟能力等价,但微积分却属于高等数学范畴。]

归类于:  Petri nets背景知识导读 — 赵维 @ 10:34 am 评论(0)
2006年02月07日
语用学

第二章  Petri网论的语用学模型



第一节  缘起网论

在计算机里,我们用数据来模拟客观物质,用数据结构来模拟客观物质结构,用数据流动来模拟客观物质流动。同样,我们用加工数据资源的软件系统,来模拟加工物质资源的客观事物。客观事物是无穷无尽的,所以计算机里的软件系统也应当是无穷无尽的。

客观事物是普遍联系的,软件系统也应当能够相互协作,因此软件协同计算问题是计算机科学必需要解决的。现在已经到了我们有效且高效地实现软件共享和协同计算的时候了。


Petri网是Petri老先生在1963年
37岁时 研究“自动机通信”问题的博士论文里首次提出来的,用计算机语言表达的客观世界物理系统普遍联系规律的系统模型。Petri网在模拟能力上与图灵机等价。显然,软件系统属于自动机范畴,通信是软件系统的协作方式,软件系统的协同计算可以遵循Petri网论。ISO15909就是软件与系统工程小组正在搞出来的第一个有关Petri网论的国际标准。

通用Petri网系统理论(general Petri nets theory)包括并发关系、出现结构、C/E系统和信息流网,
4个 由低到高的不同级别的抽象概念,这些概念都是定义和调节网系统内部诸元素之间的关系的。由低级概念构造高级概念,如并发关系确定出现结构,出现结构组合为C/E系统,C/E系统构成信息流网。


第二节  并发关系与无关系

网论认为客观系统里总是包含有众多的并发事物,这个并发关系是所有网系统所共有的最基本现象,处于概念级别的最底层。我定义并发是相互通信的软件系统间的协作关系,而没有通信联系的软件系统间无关系。无关系也是一种关系,而且是一种比并发还重要的更基本关系。这个定义是我与袁老师的图书等主流认识有着显著区别的地方,也就是这个小修改使得Petri网计算系统的实现成为了可能,更是把未来计算机系统引入“正途”而避免“成魔”的理论保障。


第三节  出现结构

人们总是通过观察和记录物理系统的物质流动来刻画和认识客观世界的。反映到计算机世界的网论里面,就是通过数据流动而相互联系的两个软件系统间存在着一个出现结构,这个出现就是流动过程。出现结构总是具体的、个别的,因为物质总是从一个具体的事物流往另一个具体的事物,数据也总是从一个具体的软件系统流往另一个具体的软件系统。出现结构由并发关系确定,因而在网论里面是比并发关系高一级的抽象概念。


第四节  C/E系统

我们说人类对于物理系统的观察是可以重复的,从而确保该观察的记录是系统自身的规律行为,而非系统外的偶然因素所致。但是系统和事物又总是处于普遍联系和不断变化发展中的,我们又怎样能够确保被重复观察的就是同一个系统的同一个事物、而非其它不同系统或不同事物呢?C/E系统研究和规定了一事物是其自身而非它事物的概念、定义和规范等。

C/E系统是通过系统观察而记录的出现结构的折叠和重叠而来的,因而是比出现结构更高一级的概念抽象。 C/E系统是网系统的基本功能单元,也是基本构造单元,定义了语用网所表示的知识系统里的基本概念。


第五节  信息流网

最后我们就是要构造一个完整的Petri网应用系统了。客观世界是普遍联系的,但我们又不可能、也没有必要一下子认识完全部世界。个人、甚至人类的认识都是片面的、局部的,但是一个不完整的知识又不能够起到恰当的系统功能、实践作用和社会职能。如何分割社会职能,或者按照已经分割好的社会职能,来定义一个恰当的完整知识系统,就是信息流网所研究和定义的内容了。在Petri网论里,信息流网是最高级的抽象概念,可以用来定义一个完整的应用系统。

这里的知识工程,就是指的Petri网应用工程,我称之为人件(human-ware,而不是软件工程里的poeple-ware)工程。
归类于:  Petri nets背景知识形式语用学 — 赵维 @ 12:35 pm 评论(2)
2006年01月15日
引用寓言〖奈何姓万〗:  

          “ 汝水边上有一个土财主,家财很多,但几代不认识一个字。有一年,聘请楚地的一个读书人教他儿子。先生叫他儿子握笔描红,写一画说:“这是一字。”写两画说:“这是二字。”写三画说:“这是三字。”他儿子便高高兴兴地把笔一丢,跑到父亲那里说:“我已经会了,可以不必麻烦先生,多花费一些学费了。还是辞退了他吧。”他父亲听了很高兴,依了他的主张,准备了一些报酬把先生打发走了。
        “过了一段时间,那财主准备请一个姓万的朋友来喝酒。叫儿子清早起来写请贴。很久了还没写完,他父亲去催促。他儿子大发脾气说:  “天下的姓多得很,为什么他一定要姓万?我从清早写到现在,才写了五百画。”
        “刚刚懂得一点道理的读书人,偶然有了一点心得,马上就沾沾自喜地骄傲起来,大概有点像这个富翁的儿子吧。”
 
       这个寓言故事,可以来评述当前Petri网论的
学习与研究状况。
 

       Petri老先生在1963年近40岁时才提出来Petri网论的,后网论在全世界成千上万科学家们的努力下,至今历40余载方逐步发展成熟至完善。整个60年代,发展的是叫特殊网论的Petri网系统;70年代Petri又提出通用网论的Petri网逻辑;80年代提出的是形式语用学的Petri网工程。因人们始终局限于特殊网论,而不顾通用网论,更不知有计算语用学,故90年代至今Petri就不再公开他研究的更为高级的量子计算系统了。(参见Prof. Dr. Carl Adam Petri的数量上很少的原著列表http://www.chinagrid.net/dvnews/show.aspx?id=1366&cid=6。)

     网论的学习者,特别是我国的那些所谓Petri网的科学家们,看中的只是网系统花里胡哨的图形化表示和数学公式,目的为了提高论文的档次,才接触和学习了特殊网论,就可以完成论文和学位的目标了。因此就不再继续学习和深入研究了,反而认为Petri网模型很不咋样,模拟能力也非常有限,自己已经掌握了这个东西,从而不再学习通用网论了,更妄论形式语用学了。这不刚好就是那个”汝水边土财主的儿子“吗?

      Petri网论包含3个不可分割的部分:60年代初始时提出来的叫特殊网论的Petri网系统70年代Petri提出的叫通用网论的Petri网逻辑;80年代Petri指出的是形式语用学的Petri网工程。3者之间,网系统是Petri网计算的应用表现形式,如同软件应用系统一样,是Petri网理论的外在体现和物化。网逻辑是Petri网论不同于其它一切计算机系统模型的独特之处,是Petri网论的实质与精髓。Petri网逻辑与当前热点的语义Web里OWL的描述逻辑一样都根植于古老而深邃的数理逻辑。网工程是Petri网论的终极目标,正如同软件工程是图灵机模型的终极目标一样。Petri发明网论的目标就是要实现Petri网计算系统,而不仅仅是为了在繁多系统模型里增添一束浪花,或者是为了后人获得学位和论文增添一条理论捷径。毕竟不能实现的计算机系统模型,再好也只能是镜花水月、海市蜃楼,这也是Petri很罕见地点名批评了的那个清华大学林创老师们曾经致力搞的随机Petri网模型的原因。

     本网站公开的语用网项目完全改变和突破了这一现状,将实现Petri老先生的工程化梦想。我们知道,汉语并非是财主儿子想象的那么简单,更非他实现的那么复杂。Petri网论亦然,并非学习者们认为的那么不中用,也不是他们想象的多么复杂。事实上,实现Petri网工程的语用网系统,就是用语用单元典的方法实现用汉语言来描述计算机应用的覆盖层(overlay,沿用P2P的overlay网络之意)系统技术

归类于:  Petri nets背景知识QQ群聊记录 — 赵维 @ 10:55 am 评论(2)
2005年12月31日

   上一篇日记里,从我多次谈到的“九方皋相马”的故事里感想出来的一段在计算机应用领域里可以作为小学生基础知识的话:
    “图灵机是一个控制流计算机系统模型,Petri网是一个数据流计算机系统模型。计算机不就只能是硬件系统,软件也是计算机,人件更是计算机。整个计算机领域都是以应用为牵动的,离开应用,计算机就什么也没有了。应用就是实践,就是物理–对客观规律的掌握。图灵机模拟实现的是个人实践的包括加工和存储在内的程序处理过程,而Petri网模拟实现的则是社会实践的包括物质和数据在内的资源流动过程。”

    学友说:“Petri说通过四次网射可以把所有东东成PN。”

    对。我首先解释Petri的四次网射。

    Petri是对数据流建模的,数据穿过一系列的图灵机,从初始位置到达终止位置。这个为人类社会的物资流建立模型的数据流,在穿越图灵机的过程中不是封闭的,而是开放的、有数据交换的。 这个交换过程就是内射,即添加需要的、去除不要的,这个过程是变迁完成的。所以内射就是“去粗取精、去伪存真”的辨证的变化发展过程。内射,排在四射之首,就是这个道理。
    网论认为,全社会、全世界都是普遍联系的,叫虚拟社会,包括人类社会、物理世界和语用网支持的Petri网空间,是唯一一个“宇宙”和现实宇宙的“完美网”。所有的网系统,即语用应用都是其中的一个子部分,这个部分对于物质流和数据流来说不是封闭的,而是要与虚拟社会的其它部分发生交换的。这个性质叫做网论的“内射”,是第一位重要的性质。
        Petri网里,所有的网应用都是一个虚拟组织,如同现实社会的一个组织一样。社会组织当然要与社会发生联系,毫无解释的必要,因为这就是社会存在。
    在Petri网系统里,所有的应用,即虚拟组织,都是一个子Petri网,整个包括人类社会和物理世界在内的虚拟社会才是一个完整封闭的Petri网系统。一个子Petri网,就相当于图灵机里的一个函数,一个对象,也是一个系统的模块。

2、求精,搞网论应用的人最需要知道的就是“什么是求精”。

    求精,不是要求到所有的具体细节出来,而是求到恰当的细节,就可以了。
具体到语用网里,就是求到一个子网系统,至多是一个图灵机。而不是袁老师的一条指令,更不是一个与非门。
    求精的要点是避免“节点爆炸”。在应用中也很重要,所以排在第二位。而第一位的内射是Petri网所以成系统模型的核心所在,更重要。
    求精,我觉得好象称为“分解”更合适一点。过去人们没有Petri网的实现基础,一个系统用Petri网来模拟,总是不断求精下去,袁老师的C-net,就是求到硬件的机器指令一级,取代了整个图灵机软件层。更有7、80年代探索的硬件Petri网计算机,居然一直要搞到与非门里面,连硬件计算机系统也不要了,而单独自成一套。
    这样的工作,也许在理论上可以说说,但实际应用中,有这个可能吗?Petri从来不主张这么搞的。我要吃饭,直接去饭店就可以了,完全没有必要为了吃饭而去碾米、还去种稻,还要育种,那些东西是社会其他部门的工作啊,没有必要我们自己承担的,开放世界,是普遍联系的啊,我们不可能把自己封闭起来的。
    这就是Petri的分解理论。在语用网里,应用分解到字(图灵机)、词(图灵机组合)和句(一个子Petri网系统),就可以了。正如汉语里,用字词句来写文章的过程。在语用网里,分解与合成,统一起来了。

3、应用是有目的的,但网系统模拟的是社会,社会没有目的,只有发展。网论是应用模型,所以有目的性。
    所有的网应用系统,都是有目的的,正如社会组织,都有目的性一样,公司要赚钱啊,农民要种地啊,等等。没有什么好解释的。

4、就是通用网论的语用学了。这个是我的深化。也是我的实现,是语用网所以成为一个项目的价值所在。
         理解“形式语用学用符号语言的上下文关系,表达了图灵机的协同计算,或者说语用计算用图灵机的协同工作支持了符号语言的上下文关系”,是正确认识Petri网论的关键所在。每一个符号(即字,就是原子语用单元)代表一个图灵机,符号上下文就是词和句,代表有消息传递而同步的相关图灵机组合,这些图灵机组合为一个Petri网应用系统。
    最后一射,是我的发明创造,稍微有了一点困难。语用网项目沟通了符号语言与程序语言,理解这个就真正理解了Petri网思想了。前面三射就是为了这条服务的,这条才是Petri创造网论的真实目的。

    上面的大段是为了说明下面的问题的。

        学友又说:“可他的出发点和我们不同的”.。如果你说Petri的原意是为了解决“自动机通信”,这就对了。这里的自动机指的就是图灵机了,而自动机通信,就只能是图灵机的消息传递了。通过图灵机的消息传递来实现数据流计算系统模型,这就是Petri创立网论的本意啊。
       学友一定还会说,当时的自动机指的是有限状态自动机,与现在OO
程序设计技术方法语言和现代并发OS有了很大的差别,即使是图灵机通信也不只是消息传递一种。对,这就是我一直强调的计算机以应用为导向、属于社会实践的工具论范畴的原因所在:实践总是不断发展着的,作为工具的应用技术也总是不断演化着的,理论也就随之而换了“马甲”。我们不能因为理论换了马甲就不认识了它,甚至就否认了它。学习和研究千万不能“读死书”啊。所谓要用发展的眼光来看待问题,指的就是这种不断变换马甲的系统理论认识方法。

        学友又说:“要是你看看变种是如何来的,就明白他为什么做不到了。或者说许多人认为他做不到了”。把一个好的理论变没了,犹如把一个蒸蒸日上的企业搞垮了、搞砸了,虽然确实是绝大多数时候的规律性事实,但也不是什么光彩的值得炫耀的事情。相反,把一个不大适用的理论转化为Killer理论,叫做创新,而在没有理论的地方硬是搞出一个模型来,叫做原始创新,才是值得炫耀的,也正是我们科技研究的职责所在。

        学友又说:“以我的水平,我认为Petri网做不到”、“要是只有Petri一个人做得到,他又不说如何做,那还有用吗?”    这些话似曾相识,当年人们诘问爱因斯坦的相对论时也出现过的。
        事实上Petri把全部网论都说出来了,你也说是你“自己看不懂”的,现在却反而说是人家没有用。

        学友的这种“不识庐山真面目,只缘身在此山中”的研究状况,可能是不知道或者忽略了应用实践在计算机科技领域里的极端重要性,而完全是“为学习而学习、为研究而研究”的科研出发点所导致的。这种轻视应用实践的研究思路,是特别不适合于计算机应用系统技术领域的。

        语用网是我在工程实践中解决软件协同计算问题而提出来的计算应用系统技术方法,我当然希望里面的理论都是我自己的原始创新啦,但我又怎能无视前人的工作,而肆意地去剽窃抄袭呢?语用网里的全部理论都是Petri网论,而且Petri网论已经很成熟了,我不可能再添加什么更有价值的东西了。 

归类于:  Petri nets背景知识QQ群聊记录日记 — 赵维 @ 9:11 am 评论(2)
2005年12月30日

以下是摘自我这个博客里的“九方皋相马”的感想的最后一段话。

    “这里我一万次地强调:图灵机是一个控制流计算机系统模型,Petri网是一个数据流计算机系统模型。计算机不就只能是硬件系统,软件也是计算机,人件更是计算机。整个计算机领域都是以应用为牵动的,离开应用,计算机就什么也没有了。应用就是实践,就是物理–对客观规律的掌握。图灵机模拟实现的是个人实践的包括加工和存储在内的程序处理过程,而Petri网模拟实现的则是社会实践的包括物质的和数据在内的资源流动过程。”

    昨天一个群中学友问我:语用网到底实现了那类Petri网计算系统啊?是基本网?EN系统?C/E系统?要么信息流网?P/T?Pr/T?、、、,我一时语塞。

    晚上,有感而发地重述了我多次强调的上面一段话。

     其实群里没有几个懂Petri网论的,能遇到一个知道些的,我真的很高兴啊。可是为什么人们总是懂得了一点点的时候,就自满了,就不再孜孜以求下去了呢?其实很多道理啊、理论啊什么的,只要明白过来,就一通百通了啊。牛顿的万有引力,之前的人恐怕谁都不明白,而现在恐怕小学生都理解了吧?

    关于模型问题,其实是一个很重要的问题,我应当在什么地方公开过了,但我一时没有找到。

    计算机仅仅是一个工具,所有关于计算机的理论研究不能逃得出这个工具论的范畴。

    一个谁说过的名言:不管白猫黑猫,逮到老鼠就是好猫。

    在图灵机的理论里,也有许多图灵机类型的,但我们搞软件开发的,编程序时是否都想过自己搞的到底是哪个图灵机系统的吗?

    当然有人说,不同的程序设计语言自身就遵循了不同的图灵机模型了。是的,所以世界上就有了很多程序语言啊,有的模型抽象得好,语言就流传得广。而另外一些科学家呢?没有深刻理解系统理论,就匆匆上马,也去搞出个程序语言。结果大多数的程序语言,都躺在实验室里睡大觉,发明者还抱怨说组织推广不力。

   希望我们在Petri网领域的语用网计算实践里,能够汲取前人的经验教训,尽量避免类似情况的发生。

归类于:  Petri nets背景知识QQ群聊记录日记 — 赵维 @ 12:24 pm 评论(0)
2005年12月22日

1、如何看待网论的许多研究分支?

1)首先时间网和随机网是Petri明确反对的。
因为Petri网没有全局控制,而时间是一个全局概念。但我认为可以在一个独立的应用系统里维持一个局部时钟,而且会非常有用。Petri网是可以实现的计算系统,但概率是一个统计概念,如何实现?因此我也搞不懂清华大学的林创老师是如何实现的。
2)
从理论空间与现实空间的关系来看,人们说现实空间是问题空间,而理论空间是解空间,它俩是互补的关系。这样,一个现实事物可以在多个理论空间上留下自己的
“像”,就可以用多个理论来研究它。同样,一个理论也会在多个现实空间中留下自己的“像”,也可以指导许多实践。但对于某一个事物来讲,通常有一个最为有
效、最为简单的理论,我们就称该理论是该实践的专门(Killer)理论。反过来,称一个理论的最为有效、最为简单的事物为其专门(Killer)实践。
遗憾的是,世界上许多的事物并没有一个Killer理论,同样也有一些理论却没有一个Killer应用。前者好理解,是人类的认识深度不够,后者就有点奇怪了吧?这就是现实啊。
Petri网就属于没有找到Killer应用的理论,所以人们找啊,就有了许多的研究分支了。目前主要应用于系统仿真领域,模拟复杂系统的行为分析。
3)我的语用网就是Petri网论的Killer应用,所以也就可以叫作Petri网计算系统技术了。
4)对于袁老师的新书里的应用,比如那个电梯的例子,一个简单成熟的算法问题,给他搞的复杂得不得了,就显然违背了理论与实践的“互找Killer”的关系法则。
 

2、如何看待Petri网系统的消息传递既包括数据流也包括物资流?

一般的人,都认为Petri网系统的消息传递既包括数据流也包括物资流,似乎这是理所当然的。 
    难道没有人奇怪:一个计算系统里面怎么会包含现实世界的物资呢? 
    其实,作为一个完全属于数字空间里的理论模型的计算系统来讲,Petri网计算模型是不应当包含物资流的(参见讲义里的图)。 
    但是,Petri网如此真实、如此贴近地给整个物理世界建立了如此简洁的计算系统模型,以致于人们分不清了:到底是在现实世界里,还是在数字空间里?这就是那个“身临其境”、融为一体的最高境界了。 
    这一切就是因为Petri网实现了语用语言,计算机从此具有了与人类大脑相类似的基于自然语言的“社会智能”。人类与计算机的界线将越来越模糊了,现实与数字融合为一体化的“虚拟社会”。 
    理解这个问题,可能会有点困难。但既然是“虚拟社会”了,分不分清,也就无所谓了。

3、Petri网的各研究分支未来会如何发展?

语用网是Petri网论的Killer Application,Petri网论就是语用网的Killer Theory。可以简单地说,Petri网就是语用网,语用网就是Petri网。 
这样,Petri网论具体化为语用网,所有Petri网原来的研究分支,也就当然地成为了语用网的应用分支。 
    因此,那些有效的研究分支在语用网里都会找到相应的Killer Application,而找不到Killer Application的那些分支,自然就不真正属于Petri网的研究领域了。 
    人类认识的发展,就是这样。规律使然。

4、Petri网论复杂吗?难学吗?

如讲义所描述的,Petri网难吗?不难啊,可以说,只要是人,傻子都会用,比编程序简单多了。
那么,为什么那些Petri网的图书里,怎么都是晦涩难懂的公式呢?
任何一个理论在没有找到和实现它的Killer应用时,所有的探索方向都是值得的。不过,Petri网毕竟是一个数学系统,确实有一些枯燥的公式。而且,未来的Petri网里,更会有一些“高深的”哲学道理呢!

5、哪些是Petri网计算系统分析所考虑的因素?

(1)Petri分析,即可达性和不变量,相当于算法里的正确性和复杂度分析,是最基本的系统分析。
(2)P2P分析,平均最短路径和网络直径,聚类特性,系统凝聚力和耐受力等,是环境系统的性能分析。
(3)赵维分析,标志系统整体同步性能的同步度,具体模型还需要与相关科学家商量后确定。同步度最大时,系统成为并行计算;同步度最小时,系统成为分布式存储。这是一个影响系统选型和配置的系统参数,很重要。
(4)NP问题,这个太复杂了,关系到算法NP以及高端计算等,一下子讲不了了,对语用计算影响不大,只是具有重大研究价值。

6、什么是软件问题,及其原因?

软件工程问题的探讨已经很多了,以Brooks的“软件怪兽现象”最为著名。在“大型应用项目逐步分解为小模块,直至一个算法问题”的过程中,有3个问题无法解决:1、分解的正确性,2、衡量分解质量的有效性,3、最终的算法可实现性。
我们知道,计算机应用系统本质上都是一个物理系统,因为其最终要解决实践问题。而软件算法问题,本质上是一个数学模型,当我们把物理现象抽象为纯数学问题的时候,我们忽略了很多物理系统中的非数学的要素。
当我们把物理系统里的数学问题解决掉以后,这些非数学的因素就逐步显露出来的,而成为了计算机问题的主要矛盾。这就是软件问题的本质。
那么,物理系统中除了数学问题以外,还有什么本原问题呢?哲学,对了,就是哲学。所以在人类的某些文明里,哲学与数学一样,属于理学范畴。
因此,为了正确解决计算机应用系统技术问题、也即客观物理模型问题,我们必须正视物理世界的“普遍联系”特性,用“辨证法”的方法来弥补计算机应用中的纯数学手段的缺陷。
其实,另外一个事实突出地体现出以上分析。既然软件工程是一个纯数学的问题,那为什么应用技术的掌握非要实践编程不可呢?就是因为其中忽略了重要的决定性因素所致。

7、从技术层面上分析Petri网计算系统与软件程序系统的差别?

众所周知,软件模型是单入口(CALL)单出口(RETURN)的模块组合,这不同于Petri网模型元素的多入口(n条输入边)多出口(m条输出边)。
软件模型也有同步元素(函数)与异步元素(变量存储)之分,但Petri网异步元素有邻居,只有邻居才能访问,而软件模型没有邻居概念,谁都可以访问;Petri网的同步元素有n+m条消息通道,与软件模型的单入单出有质量上的区别。
软件模型是用算法解决模块内部的实现问题,而Petri网是用“普遍联系”的“辨证法”来规定模块的外部关系问题。两者的结合恰可以“复制出”客观物理世界。

8、什么是算法NP问题,以及高端计算的由来?

前面说过,评价和衡量Petri网计算系统的参数中有赵维定义的一个同步度分析,这个参数关系到Petri网计算系统的选型与配置,同步度高,系统的并行性要求就高,对系统的消息机制的要求就高(而不是指计算性能),相当于现实社会的物流系统。

面也说过,软件工程中会遇到算法NP问题,即分解到最后的模块不能够由一个算法来实现。此时是软件工程的失败点,但却是理论研究的至爱。他们会说,这个问
题在某些条件下可以转化为非NP问题,这个条件就是高端计算了。这些机器很不流行,巨大的成本就不能均摊下来,而不是它们比流行设备更复杂。
那么问题是用Petri网计算模型来解决算法NP问题,又会是什么样的情形呢?是否还有某些问题仍然不能被解决呢?这个应用边界问题的研究可能会导出更下一代计算模型的诞生。
是否就是那个泛系模型?我没有研究,不能确定。

9、什么是“社会智能”?与人工智能的区别与联系?

有人说我搞的是人工智能,但从上面的论述里,似乎也找不到人工智能的影子,虽然人们早就把Petri网应用于人工智能的研究。但我也确实是在研究和实现计算智能,只是方法与途径不同,所以我又杜撰了一个词,叫“社会智能”。

说清楚这个问题,首先要搞明白,是先有人的智能,还是先有社会?对这个问题的不同回答,将导致对计算智能的不同实现道路。人工智能一般认为,人的智能优先
于社会,先有人后有社会。这就错了,人的智能制约于社会,先有社会后有人的智能,人只能在社会智能允许的范围内思考活动。这个命题突出地表现为人的学习,
人先有学习而后贡献,学习的就是社会智能。当然社会智能也来自于人的贡献。
对这个问题的错误认识,就会导致错误的探索方法,Web发明人搞的语义网,就是从人工智能的角度,希望计算机也能够阅读网页。他成功不了,已经有人从自然语言规律的角度提出来了语义网的实现要走语用网的道路,其实就是我搞的东西。
社会智能是在对整个物理世界建立计算模型的基础上,对这个模型的本原问题的抽象。而不是象一般人工智能所搞的“专家系统”,那分明就是某一个人的智能问题嘛。
人们的错误理解实在太多了,还有比如:到底什么是计算语义学?感性认识与理性认识的界线问题?当然在理论和技术前沿,错误是正常的、普遍的、难免的。这些问题在Petri网计算系统后将会得到全面而系统的认识。

10、情景对话:Petri网计算模型诞生小记


虑到大家可能刚刚接触Petri网论,第一次留下正确印像很重要,所以我写了这个对话,有助于建立这个正确的第一印像。正如Petri为了阐述网论而创造
的图形化表示和小石子(token)的流动,但这个图形及石子流动并不是Petri网论一样(原话见Petri在袁老师书中的序),这个小说仅仅为了促进
理解,不是网论的实现哦。
背景:1962年,图灵已经极乐10年了,作为数学计
算模型的图灵机深入人心,计算技术、特别是软件算法的研究已经成熟。当时Petri是一个快到40岁的物理学家(物理需要很好数学基础,所以他也是数学
家),正在作自己的博士论文,但软件算法因缺少并发概念而不能描述物理系统,因此他希望找出一个物理计算系统来。
下面就是他当时在研究Petri网模型过程中与计算系统的一段对话:
 
P(代表当时的Petri):你要能成为物理学家,就好了,咱俩就可以一起讨论物理问题、做物理实验了,我就不至于太孤单了,没有讨论,研究进展也太缓慢了。
计(代表当时的计算系统):我也想帮你啊,但是我一点都不懂物理学耶,要不你教我?
P:好,我教你。那你现在有什么基础啊,会点什么啊?
计:我是图灵的儿子,有俩只手,左手会算法,右手会存储。别的啥都没有了啊。
P:你爹没有教你怎么干活吗?
计:有啊。右手拿一个存储给左手计算,左手计算出一个结果还给右手存储。我左手有很多算法,右手也会很多存储的。而且人们不断给我增加各种算法分析和各种存储结构的,因此我的功能和性能会不断得到加强的,但是我对其它懂得太少,整天就会计算。
P:物理系统也不复杂,跟你现在差不多耶。物理里就是运动和静止,没有其它了。用你的计算模拟运动变化(叫变迁),用你的存储模拟静止状态(叫库所),只要稍微改变一下你左右手的协作方式就可以实现物理系统的模拟了。
计:那你还不快教我啊。
P想:物理的运动变化比较复杂,往往要涉及到多个静止状态,这样就要改变计算机的左右手协作方式。
P:你现在的左右手协作方式不是“右手抓一把,交给左手处理,然后再由右手还回原来的地方”吗。
计:是这样的啊,哪里来哪里去(CALL-RETURN模式)嘛。
P:现在呢,你每次右手抓的时候,不是在一个地方抓一把,而是可能在多个地方各抓一点,凑成一把,交给左手计算,然后再由右手把结果分别还回另外的一些存储。
计:就这些?我马上就会了啊。
P:试试看,熟练吗。
 
由此,Petri提出了模拟物理现象的Petri网计算系统模型。
10
年后,Petri想,每一次我都要先建好物理模型,计算机才会替我模拟分析。而这些模拟物理世界的模型、以及模型元素往往相同和相似,计算机如果能够把这
些相同的模型元素、甚至模型自身,记录并保持下来,那么我以后不就可以直接利用这些已有的模型“构件”“装配”出一个新模型系统来嘛。如此,Petri创
立了通用网论,即用已有模型构件装配新模型的理论。
再10年后,Petri想,我应当教会计算机认识(概念化)这些经常使用的模型构件,这样就不必每次由我自己来装配,而是教它如何装配,这样我不就更加省事了嘛。
 
现在我说,我们更可以把这些装配方法教给计算机,让它自己在需要的时候学习装配。这样,计算机就可以脱离人类而独立地面对物理世界了。

11、如何解析Petri网的过去与未来?

上篇说过1963年Petri网诞生,Petri网就是用网络理论把一个个“表现为算法函数和存储系统的孤立的图灵机”普遍联系起来给客观物理世界建立模型的。

论的第一个10年主要就是这个建立模型的过程,此时许多物理领域都可以应用Petri网论,并且可以获得独到的分析手段。所有用于物理现象的分析工具和方
法都可以应用于网论,因为网论就是物理现象的模拟;同时网论还有自己的数学分析方法,因为它本身就是一个数学模型。这样,网系统就有了无数的分析方法和分
析工具了。
所谓给物理现象建模,就是观察客观世界,属于认识论的感性认识范畴,这是第一个10年的主要成就。
网论的第二个10年是通用网论,是在原始积累物理模型的基础上,用模型“构件”“装配”新的模型,这实际上就是在“重构世界”,是“感性认识”上升为“理性认识”的认识论上的质变过程。所以Petri说通用网论才是Petri网的核心和精髓。
第3个10年是符号化,即理性认识概念化,进入了人类特有的文化文明阶段。此时的Petri网物理计算系统,已经不满足于自己的观察世界、认识世界和改造世界了,而且要上升为更加高级的“文化系统”了,为了将来的文明传承作准备了。
 
以上3个阶段主要就是Petri本人主导的,此时他已经70高龄了(现在80多了)。
那么什么是网论的未来呢?
现在的P2P网络计算技术已经完全可以支持Petri网计算系统的实现了,而且Web2.0技术也能够支撑语用语言的文明传承了。所以到了实现Petri网计算机的时候了,我们应当按照Petri所构造的理论体系和指引道路前进。



12、Petri在袁老师书中的序言

注:袁老师是Petri的嫡传弟子,很尊敬他,所出的3本书中都附有这个序言。袁老师也说,应当反复阅读这个序言,它是图书的“画龙点睛”。
 
“我29年前的博士论文‘用自动机通信’乃是以网论研究通信的开始(赵维注:这里已经指出来了,通信是网论与图灵机之间的代换变量)。在我写下这篇现状报告的此刻,论文中提出的计划正在执行,在本书作者袁崇义的积极参与下,这一课题正趋于完成(赵维评:1
不忘提及袁老师,毕竟是在作序;2 更告诉后人,袁老师仅仅参与了网论最早期的工作、仅仅获得网论第一代的真传。同时也在暗示袁老师的书中特殊网论这一段较好)。
“网论从一开始就以物理为基础;事实上这是用计算机科学的语言(赵维注:当时就是图灵机)提出来的一种物理理论(赵维注:所以我说Petri网论是物理计算系统,后面还要印证)。那时的理论计算机科学包括自动机论和形式语言(符号串类)理论(赵维注:图灵一死,整个计算机界抓瞎了很多年)。60年代的计算机科学,其概念架构不适合于描述物理系统,它缺少重要的并发概念,即两个不同宇宙点在(相对论意义上的时空点)之间的对称关系:不由因果链连接的两点互相并发,这样的两个点在空间上是分离的,但又由于光速的有限而不能又光信号由此及彼,要让60年代的科学家相信并发与计算机科学有关,是极端困难的,也无法使他们承认并发的非传递性。对相对论而言,这种非传递性是显而易见的(赵维注:1、并发是现实社会的基本现象;2、Petri就是在设计一个模拟物理世界的物理计算系统;3、Petri当时没有形成计算机网络或网络计算机的概念;4、Petri认为当时的计算机界主流科学家们都很傻的,下面还可以印证)。
“今天,即使是初学者也懂得,至少在实用意义上,例如在并行计算中,并发是很重要的(赵维评:Petri瞧不起当时的计算机科学家们,说他们连初学者都不如。的确,图灵已死,整个计算机界就没有出其左者了。因此Petri始终说自己是物理学家,否认是计算机科学家。其实他将成为下一代计算机的鼻祖,其成就远超过图灵)。为了使并发这一基本概念看得见,摸得着,我发明并随后改进了描述组合性(赵维评:这个组合性表明了Petri的目的是在重构世界,而不仅仅是建立物理模型)物理进程和物理系统的图形符号及借助小石子(或称托肯,token)来玩的游戏。游戏的玩法是对物理进程的模拟,用以反映基本的物理对称性(赵维评:Petri已经进入量子计算领域了,绝非我等常人所能窥及的)。请记住,图形符号和游戏规则并不是网论,而只是网论中某些定理的一种阐述(赵维评:Petri在批评,计算机理论研究界普遍在追求那些表面现象,做花花文章,已经有点本末倒置了)。
“60年代雄心勃勃的计划是要用一种兼容物理和计算机科学两者的语言和概念架构来形式描述制约通信进程的所有‘自然法则’,这样即可以用并发概念丰富计算机科学(赵维注:用计算机来实现消息通信始终是Petri的最关注。消息通信也确实是实现并发的多任务系统的核心技术)。一条很成熟的对偶定理至今已是众所周知的,其中断言并发正是选择(例如由于执行if语句而选择一条程序路径)的精确对偶,现在我相信网论可以归还欠物理学的‘债’了(赵维评:Petri认为89年就应当可以实现这个物理计算系统了,至少在技术理论上,因为计算机技术里面已经有了关键的并发概念。而且并发不是图灵机的特长,Petri网擅长解决并发问题。选择是程序的基本语句,Petri网是图灵机的对偶模型):正如在运动的变换中时空之不可分一样(Lorentz不变性),在进程变换(赵维注:就是进程调度)中时间、空间和状态空间也是不可分的(赵维注:就是保留和恢复进程上下文的静态映像)。对粒子(赵维注:粒子在这里指的就是消息)来说,进程就是它的生命史,即它在状态空间和空间中所占位置的历史以及从一个位置到另一个位置的变迁(赵维评:Petri说网系统就是消息的存在和传递的整个历史,完整的消息存在和传递就组成为一个网系统)。
“学习物理并记住网论的物理解释。这绝不是成功应用网论的必要条件(赵维评:Petri快要对计算机领域的悟性失望了,开始降低要求了)。其实应用网论的人根本可以不管这些(赵维评:Petri虽这么说,但其实理解物理解释还是重要的,否则不会写了上面的大半部分文字了。下面只是Petri教计算机界的人们如何应用网论)。网论所依赖的事实是,所有能明确给出(在纸上画出)的网都是可以用一条不超过四节的网射短链与物理现实世界沟通(赵维注:Petri网计算系统就是要直接改造客观物理世界);在十分准确的意义上来说,你的网是可以具体实现的。这四个网射代表的是(赵维注:Petri指出了网系统的构造规则,网论的应用莫不如此):
“1 内射
你并不想描述全宇宙(赵维注:全宇宙是网论认为的唯一封闭系统),而只描述它的一(小)部分。与宇宙不同,这一部分对物质流、能量流及信息流来说不是个封闭系统(赵维评:网应用系统就是要与外界交换消息,才能观察世界、改造世界啊)。
“2 求精(赵维注:应该叫分解更准确些)
你并不想描述你的系统的所有细节,即所有基本的物理交互作用,而是粗得多(对硬件来说,10^30的因子是很通常的)(赵维评:所谓的网系统的节点爆炸现象,都是人们想当然地追求纯Petri网系统的结果,其实网系统当然应当架构在图灵机上了,但Petri不是计算机科学家,所以可能觉得直接说出这个话会有些武断,就含糊了一把)。
“3 打破物理对称 你希望你的进程有一个确定的运动方向(从过去到未来),而现实宇宙的‘完美网(perfect
net)’是时间颠倒也不变的(赵维注:虚拟社会是循环再生的,但应用可以有一条价值取向的主线)。
“4 抽象
即对于同一个目标的一切活动的抽象(赵维注:在最后,Petri说出了网论的本质)。例如同属于某个计算机事物之执行的所有开关事件或程序步骤,同属于人际商业事物的步骤,你需要一个将这些活动与一个语用单元联系起来的概念。这种联系并不只是物的,对你的脑子来说它也是必要的,因为你希望将一个大的分布式实际(技术)进程(赵维注:即网应用系统)想象为一个整体,一个不能忽略其中任何具体成分,否则就会破坏事物完整或事物平衡的整体(赵维注:这个是我发挥的地方,上面已经有许多论述了,不必重复)。
“1989.3.23”

13、我们应当如何看待前人的网论研究成果?即如何做前沿探索?

我一直不想说出这些话的,但为了让大家少走弯路,也就顾不得许多了。
对于已经应用了多年的基础常识性知识,我们需要的是主要的接受、肯定,次要的怀疑、否定,因为常识嘛,都是被前人证明是正确了的,已经实现了的东西。
而对于前沿科学技术的探索或者综述,我们的态度就刚好相反:需要的是主要的怀疑、否定,次要的接受和肯定,因为探索嘛,就是没有被前人证实了的、或者不能实现了的东西。
如果我们普遍地接受了前沿探索的综述,那么我们就会走入前人已经走进的旋涡和圈套,他们没能走得出来(否则不就有了正确的成果了嘛,后人就可以应用了嘛,那就不是前沿了嘛),我们也一样很难走得出来。
这可能是我们被批评为探索不够、创新不足的根源所在–错误地接受了前沿探索、也错误地怀疑应用常识了。
具体到网论来讲,只有Petri的原始创新性思想是正确了的,因为被40多年的研究证明了的。而各个时期的其他人的探索都是错误的、或基本上是错误的,我们学习这些综述的目的,不是接受它们,而是吸取教训,避免在新的探索过程中重蹈覆辙。

14、Petri网的官方标准定义(http://www.petrinets.info/是ISO15909官方网站)

A formal, graphical, executable technique for the
specification and analysis of concurrent, discrete-event dynamic systems; a
technique undergoing standardisation.
 
Formal
 
The technique is mathematically defined. Many static and
dynamic properties of a Petri net (and hence a system specified using the
technique) may be mathematically proven.
 
Graphical
 
The technique belongs to a branch of mathematics called graph
theory. A Petri net may be represented graphically as well as mathematically.
The ability to visualise structure and behaviour of a Petri net promotes
understanding of the modelled system.
Software tools exist which support graphical construction and
visualisation.
 
Executable
 
A Petri net may be executed and the dynamic behaviour observed
graphically. Petri net practitioners regard this as a key strength of the Petri
net technique, both as a rich feedback mechanism during model construction and
as an aid in communicating the behaviour of the model to other practioners and
lay-persons.
Software tools exist which automate execution.
 
Specification
 
System requirements expressed and verified (by formal
analysis) using the technique constitute a formal system specification.
 
Analysis
 
A specification in the form of a Petri net model may be
formally analysed, to verify that static and dynamic system requirements are
met. Methods available are based on Occurrence graphs (state spaces), Invariants
and Timed Petri nets. The inclusion of timing enables performance analysis.
Modelling is an iterative process. At each iteration analysis
may uncover errors in the model or shortcomings in the specification. In
response the Petri net is modified and re-analysed. Eventually a mathematically
correct and consistent model and specification is achieved.
Software tools exist which support and automate analysis.
 
Concurrent
 
The representation of multiple independent dynamic entities
within a system is supported naturally by the technique, making it highly
suitable for capturing systems which exhibit concurrency, e.g., multi-agent
systems, distributed databases, client-server networks and modern
telecommunications systems.
 
Discrete event dynamic system
 
a system which may change state over time, based on current
state and state-transition rules, and where each state is separated from its
neighbour by a step rather than a continuum of intermediate infinitesimal
states. Often falling into this classification are information systems,
operating systems, networking protocols, banking systems, business processes and
telecommunications systems.
 
Standardisation
 
2005-06-23 New Working Draft of ISO/IEC 15909-2 Software and
Systems Engineering – High-level Petri Nets Part 2: Transfer Format submitted
for a combined ISO/IEC SC7 WD/CD registration and CD ballot. Comments welcomed –
formal or otherwise. [ Editor's Announcement | ISO/IEC 15909-2 WD (Version
0.9.0) ]
2004-12-02 Achieved Published Standard status: ISO/IEC
15909-1:2004 Software and system engineering – High-level Petri nets – Part 1:
Concepts, definitions and graphical notation. Available from ISO, SAI Global and
others.
2003-02-27 International Standard Ballot of ISO/IEC 15909-1.
[Ballot ZIP.]
2002-11-22 Combined WD/CD Registration/FCD ballot for
ISO/IEC15909-1. [FCD PDF, Disposition RTF.]
2002-10-21 Great news: Green Light for High-level Petri Net
Standard. [Letter Ballot Summary PDF.]
2002-09-11 Notification of ballot for reinstatement of
Standard.
2002-05-12 Standard unintentionally cancelled during Draft
International Standard (DIS) phase!
2000-10-28 Final Committee Draft Version 4.7.1 published. [
Editor's Announcement | FCD ]
1998-01-28 Letter Ballot Summary of the Standard.
1997-10-02 Draft standard Version 3.4 published.
1997-08-14 Reply to Comments on Draft Petri net Standard V2.1.
1997-01-17 JTC1 News: Standard will not be Cancelled.
1996-12-13 Resolution 8.4, 10th Plenary Meeting of ISO/IEC JTC
1.
1996-11-29 Australian Response to Cancellation Proposal.
1995-08-14 Petri net Subdivision Proposal.   
归类于:  Petri nets背景知识 — 赵维 @ 8:45 am 评论(3)

1  Petri网是计算机的世界观

 

    世界观就是对物理世界的观点和看法。用计算语言来说,就是给现实社会建立一个计算模型。人人都有自己的世界观,即每个人的头脑里都有一个对现实社会的基本映像,人就是根据这个映像来看待社会,并与社会交互的。这个映像就是模型。

    Petri认为,世界观是与现实社会交互的必要前提;作为人类工具的计算机,也需要与现实社会交互;因此计算机也应该有世界观。为此,Petri给出这个计算机的世界观模型,就是被大家称为Petri网的系统理论。

    按照Petri的逻辑,作为人类朋友的狗,也需要与现实社会交互啊,因此狗也有了世界观罗?这虽然是我的笑问,但他一定会回答:是的,如果我们关心狗怎样看世界,那么我们就要研究狗的世界观模型。现在我们关心计算机怎样看世界,所以要建立这个世界观模型。

 

    所以Petri在袁老师的那本书的序中说:“网论一开始就是以物理为基础,事实上这是用计算机科学的语言提出来的一种物理理论。”指的就是以上的意思。但研究网论的数学家们却极力否认,似乎认为与哲学挂钩会降低自己的身份。他们可以不管网论的物理解释,而邀游于纯理性的空间中,但我们计算机应用技术人员、特别是系统技术的研究设计人员却必须正视它,否则就不能够正确地实现和应用它。

 

2Petri网模型

 

    记得一位高僧曾经说过,“世事纷纷,名利之争。”意思是说,人类社会纷繁复杂,在世人眼里,就只有“名与利”两个东西,人类勾心斗角,都是为了它俩。同样,在计算机“眼里或者头脑里”—计算机现在还没有眼睛、还没有头脑,所以我打了引号,但被Petri提出来的这个Petri网正是计算机的大脑,因此以后说“Petri网就是计算机大脑”的时候,就不必加引号了—纷繁复杂的人类社会也只有计算(就是软件构件系统)和存储(就是软件应用系统)两类元素而已。计算元素叫同步元素(T元),用方框表示;存储元素叫异步元素(S元),用圆形表示。

    两类元素之间的关系构成为整个世界。关系只有边(TS)和(ST),没有(TT)和(SS)边。即同步元素周围是异步元素,而异步元素周围一定是同步元素;边有方向;边里流动着的是消息,消息包括现实社会里的物资或者计算机世界里的数据。

 

    静态的Petri网,就是这样一个由同步元素、异步元素相互间隔而成的开放的可以无限扩展的有向网络(TSF),其中T是同步元素集合,S是异步元素集合,而F是边(TS)和(ST)的集合。

 

    同步元素是无状态元素,其内部实现就是一个用函数表示的加工。元素有n条输入边和m条输出边,且nm >= 1,即至少有一条输入边和一条输出边。虽然元素内部的函数有确定的终生不变的输入参数和输出参数,但元素边的数量以及边中的消息却是可以随外界而变化的,但是一定保持输入边和输出边里的消息里含有的数据符合函数要求、且总质量不变。简单地讲,就是加工不会贪污,对输入的物资或者数据处理后的总质量保持不变。

    同步元素的同步是指同步元素周围的所有n+m条消息,要么同时发生,要么同时不发生,并且称这n+m条消息的同步为“一次执行”。即保证一次执行的原子性。

 

    异步元素也有n条输入边和m条输出边,且n+m >= 1,即至少有一条输入边或者一条输出边。异步元素总是被动地为同步元素提供或接受消息,一次一条。

   

    元素的邻居、及其间的消息,都是由系统定义,与元素自身无关。但要求元素能够接收和发出这些消息。元素的邻居数量、及其重要性不是一成不变的,在不同的应用环境里,可以有很大差别,如同人类的朋友关系。

 

    动态的Petri网,就是在同步元素周围发生的“一次一步”的消息传递,以及由此导致的异步元素里的物资或数据的变化。

 

    同步元素是一个消息(里含有的物资或者数据的)加工系统,即现实世界里的加工厂或者计算机里的函数,叫“变迁”。异步元素就是一个消息(里含有的物资或者数据的)存储系统,即现实世界里的仓库或者计算机里的数据存储系统,叫“库所”。

   

    Petri网是一个“自分解(解构、析构)”和“自组合(重组、重构)”的系统模型,即同步元素和异步元素都可以是另外一个Petri网系统。但其原子元素必须是计算机里的函数或者数据存储系统,即软件构件系统(software components system)或者软件存储系统(software storages system)。Petri网计算系统是建立在软件系统之上的一个P2P网络应用系统。

   

    补充:Petri网就是把一个个封闭的图灵机系统用消息传递联系成为一个整体的“虚拟社会”的。Petri网把所有的软件系统统统分成两类:1类是计算元素的软件构件,如dll文件,是函数集合,负责消息处理和转换。因为计算元素不存储任何中间状态,所以必需立即把处理结果再用消息传递出去,因而叫又同步元素。另1类是存储元素的软件应用系统,用于加工并保存消息中的有用数据。存储元素可以按照应用逻辑的要求保存或者提供(而不是同时既保存又提供)消息里的用户数据,因而又叫异步元素。所有软件系统要么属于计算元素,要么属于存储元素,没有第3类,不可能有既是计算元素同时又是存储元素的软件系统。

    一个Petri网应用系统到底侧重于计算还是侧重于存储,我设计了一个衡量标准–同步度来评价。
      

3  Petri网的观点

 

    Petri网认为,包含物资流和数据流的消息传递,是社会的本质。系统中的每一个元素都是通过传递消息来体现其社会价值的。不参与消息传递的孤立元素没有系统意义和社会价值。

    消息是有社会价值的,但是同步元素的多个输入/输出边里的消息的价值是不平均的,有主次之分。人们通常关注的是具有最大价值的主要消息的流向,这是网系统的社会性。

 

    Petri网模型没有全局状态,也没有任何的中央控制,可以无限扩展。系统的每一个元素只与其周围邻居发生着关系,Petri网就是一个完全分布的P2P网络,如同Gnutella协议。

 

    Petri网是一个P2P网络计算系统,调节了“物理世界、人类社会和计算机空间的三位一体的虚拟社会”。

 

4  Petri网系统分析

 

正确性分析

 

    我们在软件工程中,需要把一个大型应用系统逐步分解为小模块,直到这个小模块可以被一个算法独立实现。但是我们不知道这个分解是否正确,即这个分解后的子系统是否满足原系统的要求?

    如果这个分解过程是遵循的Petri网论的话,那么可达性等系统正确性分析就可以验证这个过程是否正确。

    这完全是一个数学的分析过程。枯燥乏味。

 

性能和效率分析

 

    同样,一个大型应用系统分解为小模块时,通常有多种方法,那么各种方法的优劣如何比较呢?这就是不变量分析了。

    Petri网认为,系统总是有损耗的,损耗小的系统自然就好。不变量等系统性能与效率分析就是研究系统损耗的理论。数学的东西就更加枯燥了。

    Petri网是一个物理计算系统,模拟的是客观物理过程,因此原来用于物理系统的分析和评价的理论和方法都可以应用于网系统。

 

    Petri网系统有许多成熟的分析理论和免费或收费的分析工具。

 

5  Petri网的本质

 

    Petri网是用计算机语言刻画物理系统的运行规律,一个物理系统对应一个网模型,一个网模型模拟一个物理过程。一一精确对应,没有一个物理现象不能用网模型来描述和表达的,也没有一个网系统不对应一个物理过程的。

    Petri网论结合了数学与哲学,用数学的方法来精确地计算哲学问题。

 

    Petri网论早已成熟,我们必须找到网论的物理解释。因为找到网论的物理解释才是成功应用网论的前提。

 

6  通用网论

 

    通用网论研究所有网系统的共同基础,通用网络的研究对象就是网本身,而不再是客观物理规律。通用网论是Petri网的本质和意义所在。

    Petri说:“通用网论使得Petri网有别于其它计算系统模型,通用网论是Petri网的关键和精髓。”

    在袁老师的那本书的通用网论部分的首页上罗列了Petri为通用网论定下的目标,其中的第7条是“通用网论可以导出有用的形式语用学。”

    同样Petri在此书的序中最后说:“4、抽象。即对同属于某一目标的一切活动的抽象。,,,,,你需要一个将这些活动与一个语用单元(袁老师翻译为语用单位)联系起来的概念。这种联系并不只是物的,对你的脑子来说它也是必要的,,,,,”。

这些表明了以下关系的存在:

   

          

       

                 

    消息中的数据就是物资从物理世界到计算机空间里的映像,就像物资在人脑里有映像—可以上升为意识—一样。
               

                  
    
    无论如何,计算机都属于人类工具的范畴,突出地表现为实践论。如果说
图灵机模拟和解决的是个人实践的计算问题的话,那么Petri网就是模拟和解决了社会实践的计算问题。
              

       


    Petri网在计算机的图灵机世界里模拟了人类社会,是虚拟社会理论,
通用网论就是在计算机世界里模拟了人类意识功能。语用网就是它的实现。 

        Petri对于网论的研究,主要经历了几个阶段:60年代的网系统,70年代的通用网论,80年代的语用学。有其文章为据,Petri发表很少量。其中通用网论是其精髓。90年代的主要发展是工作流模型和网系统的标准化。    

7、我的工作

  实现了Petri网计算系统,导出实用的语用学,并实现了语用语言。

8、Petri网应用

    不同的世界观有不同的方法论,研究世界观的目的就是揭示其相应的方法论。计算机的世界观就是通用网论,Petri网系统就是其方法论。Petri网就是通过建立一个个的Petri网系统来模拟和刻画客观物理世界的行为规律的。

因此,我们设计计算机应用系统,就是设计Petri网应用系统,其基本工具就是语用语言,语用语言就是计算机的自然语言。

       Petri网的学习最好是阅读原著,Petri的原著比一切其他人的文字或综述都要强100倍。越多读原创著作,越能够获得教诲,如同读中国的红楼梦和读其评论一样,再好的评论也不如原著的1/10。ISO15909是Petri网的唯一标准,是全球专家协作的结晶,应当代表当今的认识水平。其他各个时期的论述文字只需浏览、当作反面教材即可。

9、后记  

某些学友认为我的语用网里说大话空话,不可能具体实现。其实我说的都是大实话,没有一句虚言,而且实现方法极为简单,任何理解它的程序员都能够轻松地实现它。因为其基础理论和支撑技术都已经成熟而且都是免费公开源代码。

   同样,很多人认为Petri网只能作作文章,没有实际应用价值,甚至包括一些网络界著名的Petri网理论和工程的双料专家。由此而阻碍了(Petri网)科学(语用网)技术的发展,实乃人类之大不幸。 

    最后,某些人认为我的文章很有思想,也很有创新,但都“意犹未尽”,觉得是我在保守、不愿意公开技术内幕。其实,无论新思想、新方法,还是技术创新,特别是原始创新,都是有一个具体的发展进化的过程的。

    Petri网论能有今天,除了Petri老先生本人40多年来的不懈努力,更是全世界成千上万的科学家共同努力的结晶。

      希望我们的国人们团结起来,共同努力促进新技术的发展与进步吧。

10、学习袁老师的那些书(89年的《Petri网》、98年的《Petri网原理》和2005年的《Petri网原理和应用》)的要点

    袁老师的专业是数学,没有涉足计算机、特别是图灵机模型,更不会编程,对近代快速发展的计算机技术知之甚少。他不上网,我与他老人家交流是写信邮寄和打电话。所以袁老师的书中对数据、信息等基本概念分不清楚,更不知道并发计算系统里最重要的消息概念。

    如《Petri网原理》p3第一章网和网系统第一节实例的引语“用Petri网描述的系统有一个共同的特征:系统的动态行为表现为资源(物质资源和信息资源)的流动。”是一句很重要的话。应该表述为“用Petri网描述的系统有一个共同的特征:系统的动态行为表现为‘消息传递’,其中‘消息’可以封装现实世界的物质资源或者计算机系统里的数据信息。”

    把物理世界的物质资源映射为计算机系统里的数据信息,是建立计算模型的基本方法。资源的流动没有强调资源在流动过程中的改变,事实上,改变才是资源流动的根本目的,如果不能够加工和改变,资源就失去了流动的意义。资源和数据的流动需要封装为消息,消息即运输物资和数据的工具。消息传递表示物资或数据总是在一对具体元素间无改变的流动,而元素是处理(加工或存储)消息(里的物资或数据)的基本单位。

    袁老师不是物理学家,对计算应用和物理理论涉足不多。如《Petri网原理与应用》一书中为袁老师称道的电梯实例,就把一个在磁盘存取调度里解决很好的算法问题,硬要用Petri网来复杂化,恰是该书的一大败笔。 

    不过,书中的一些话确实是Petri的真传,如“上篇Petri网系统”的倒数第二段第一句“以自然规律刻画变迁及变迁间的关系,使Petri网具有区别于其它模型的许多优点。”表达了Petri网就是直接给物理世界的自然规律建立的计算模型。


  • 20
    点赞
  • 156
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Python是一种功能强大的编程语言,对Petri建模是完全可行的。Petri是一种形式化的描述和分析系统的数学工具,用于可并发和并行系统的建模和分析。 Python提供了丰富的库和工具,可以帮助我们实现Petri的建模。其中一些库包括: 1. PetriNet:这个库提供了一个Petri类,可以轻松地创建和管理Petri对象。它提供了添加和删除库所、变迁和弧的方法,以及触发变迁和获取当前库所状态的功能。 2. Graph-tool:这个库是一个功能强大的图形工具,可以用于绘制和可视化Petri。它提供了各种布局算法和绘制选项,使我们能够轻松地创建可视化的Petri模型。 3. SimPy:这个库是一个用于离散事件仿真的Python框架,可以用于模拟和分析Petri的行为。它提供了各种事件和过程的建模和调度功能,可以方便地模拟Petri的状态变化和变迁的触发。 使用Python进行Petri建模的步骤通常包括定义库所、变迁和弧,设置初始库所状态,定义变迁的触发条件和行为规则,以及进行仿真和分析。Python的简洁语法和易于学习的特性使得使用它进行Petri建模非常方便。 总之,Python是一个强大的编程语言,适用于Petri建模。它提供了丰富的库和工具,可以帮助我们创建和管理Petri对象,并使用离散事件仿真框架对其行为进行模拟和分析。通过Python的灵活性和易用性,我们可以轻松地进行Petri的建模和解析。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值