CN102566972B - 一种图形化的Pi演算方法 - Google Patents
一种图形化的Pi演算方法 Download PDFInfo
- Publication number
- CN102566972B CN102566972B CN201010604693.7A CN201010604693A CN102566972B CN 102566972 B CN102566972 B CN 102566972B CN 201010604693 A CN201010604693 A CN 201010604693A CN 102566972 B CN102566972 B CN 102566972B
- Authority
- CN
- China
- Prior art keywords
- calculation
- transmission
- definition
- fate map
- research
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种图形化的Pi演算方法,包括如下步骤:定义Pi演算的静态语义;定义翻译后的动态规则;定义Pi演算的传输图形;通过传输图形建立进程图,所述进程图包含了进程所有可能作的动作的有向图,并通过进程图来研究进程等价性。本发明的优点在于,提供了一种有向图的判定算法(在一定前提下的图同构判定),这一判定算法可以作为计算机方面的自动判定进程等价提供基础。所采用的方法使用了有向图的技术来描述进程的代数性质,具有直观,可判定的优势,避免了代数性质研究的复杂,抽象的不足。
Description
技术领域
本发明是关于计算机软件形式化技术领域,特别涉及一种图形化的Pi演算方法。
背景技术
Pi演算是描述并发系统的工具。目前,Pi演算的研究主要集中于其代数性质的研究,对于进程代数中重要的模拟概念,主要是从代数的角度给出,并进行研究。通常在描述两个进程互模拟,需要借助操作语义,运用操作规则展开研究。
对于从代数的角度研究Pi演算的进程,的确有很多好处,例如它能够用数学的语言说明系统之间的相同或差异,通过已有的代数性质的研究,研究人员得出了很多重要的计算机语言的性质。
发明内容
本发明所要解决的技术问题是,提供一种图形化的Pi演算方法,在Pi演算中能够更容易地判断两个进程的等价性质,并且运用图的性质来研究进程的互模拟特性。
为了解决上述问题,本发明提供了一种图形化的Pi演算方法,包括如下步骤:定义Pi演算的静态语义;定义翻译后的动态规则;定义Pi演算的传输图形;通过传输图形建立进程图,所述进程图包含了进程所有可能作的动作的有向图,并通过进程图来研究进程等价性。
本发明的优点在于,侧重于运用图形技术,通过研究有向图TransitionGraph来研究进程的等价,提出了判断图同构的算法,通过研究Transition Graph图可以判断子进程的可达性,进程是否会发生死锁等问题,这些性质的研究都是原有代数方法所不能直观说明,并且提供了一种有向图的判定算法(在一定前提下的图同构判定),这一判定算法可以作为计算机方面的自动判定进程等价提供基础。所采用的方法使用了有向图的技术来描述进程的代数性质,具有直观,可判定的优势,避免了代数性质研究的复杂,抽象的不足。
附图说明
附图1所示是Pi演算的规则的操作语义定义。
附图2与附图3是传输图形的节点示意图。
附图4是A进程上的二元关系S的性质示意图。
具体实施方式
接下来结合附图详细介绍本发明所述一种图形化的Pi演算方法方法的具体实施方式。
本具体实施方式包括如下步骤:步骤10,定义Pi演算的静态语义;步骤11,定义翻译后的动态规则;步骤S20,定义Pi演算的传输图形;步骤S30,通过传输图形建立进程图T,所述进程图T包含了进程所有可能作的动作的有向图,并通过进程图来研究进程等价性。
参考步骤10与步骤S11,定义Pi演算的静态语义;定义翻译后的动态规则。
上述两个步骤用以建立起Pi演算的规则。定义如下:
操作语义定义如附图1所示。
步骤S20,定义Pi演算的传输图形(Transition Graph)。传输图形不同于Pi演算中的衍生树(Derivative Tree),后者是Pi演算所描述的进程的静态语法结构,许多Observation等价的系统在衍生树上并不等价,为此,本实施方式引入了TransitionGraph,该图反映了进程运行时的动态路径。传输图形的形式化定义如下。
定义:Transition Graph T=(P,Act,->),P集合代表用Pi演算描述的进程,代表着图中的节点,Act集合是进程可以执行的动作的集合,代表着图中的弧,->集合代表三元组(p,a,p’),即如果进程p通过a动作演变成进程p’,形式记为则T的相应图中包含了从节点p经过a动作演变成为p’,如下所示:
例如:S2=P{c/x}|R,类似可以绘制出发生和的部分,如附图2所示。
又如:s=a(x).P’,则相应的Transition Graph子图可以绘制成附图3的形式。
步骤S30,通过传输图形建立进程图T,所述进程图T包含了进程所有可能作的动作的有向图,并通过进程图来研究进程等价性。
Pi演算中有三种等价关系,强互模拟,弱互模拟以及Equivalence(=),后面两种等价关系是从强互模拟衍生而来。本发明则针对强互模拟,通过Transition Graph建立起的进程图T包含了进程所有可能作的动作的有向图,我们可以通过T来研究进程等价性,首先需要先对模拟的做出定义:
定义:A进程上的二元关系S满足附图4的性质,则被称为强模拟,
进程上的强互模拟则是指S以及S的逆都是强模拟关系。因此当需要判定两个进程是否强互模拟,则可以对进程的Transition Graph进行同构的判定。图的同构的判定算法如下:
算法伪代码:
REQUIRE:输入两个有向图G和G’,已知图的起始节点P和P’
ENSURE:输出图G和G’是否相同
RecursiveMatch(G,G’,p,p’)
Begin
Initialize two stacks stack1,stack2
Push p,p’into the stack1,stack2
While stack1 is not empty && stack2 is not empty
Begin
Pop v1 from stack1,and pop v2 from stack2
While v1’s action list is not empty
Begin
If v1’s action α can be matched by v2’s actionαthen
Set bool variable matched=true
Else
Set bool variable matched=false
End
Go through the nodes linked with v1,and v2,and pushed themaccordingly into
to the stacks
End
If matched=true then
Return相同
Else
Return不同
End
定义:进程p在其Transition Graph G上的一条路径成为p的动作序列。
性质:如果Transition Graph G1,G2中的节点p,p’所有动作序列均相同,则称p,p’同构。
性质:如果进程p与进程p’观测等价,则是指进程p与进程p’的TransitionGraph是同构的。
证明:假设进程p1,p2,需要判定p1,p2的Transition Graph G1,G2是否同构,因为进程的结构可以由上述所提到的Pi演算的定义组成,故我们通过CaseAnalysis方式证明组成G1,G2的图中的结构相同。
第一种情况:p1=a.p1’,则G1的->集合中包含(p1,a,p1’)的,同理,p2=a.p2’,则G2的->集合中也包含(p2,a,p2’)的;第二种情况:p1=a.p1’+b.p1”,则G1的->集合中包含(p1,a,p1’)和(p1,b,p1”),同理,p2=a.p2’+b.p2”,则G2的->集合中也包含(p2,a,p2’)和(p2,b,p2”);同理可得Pi演算中的其它结构形式。因此我们可以得出,进程p1,p2等价,当且仅当它们的TransitionGraph G1,G2也同构。因此我们可以得出,进程p1,p2等价,当且仅当它们的Transition Graph G1,G2也同构(其逆性质可以通过有向图的形式化定义得到)。
定义:如果进程p’可以从Transition Graph进程图T上起始节点p通过一系列动作的发生而到达,则称p’是从进程p可达。
定义:如果Transition Graph进程图T中->集合中包含(p,α,0)元素,则称进程p是可结束的。
定义:如果非零进程p无法执行其上的α动作,Transition Graph进程图T中有关p的进程将无法展开,则称进程p进入到死锁状态。
现有技术中的进程等价通过代数的性质研究来得到,这样的研究方法比较抽象,没有一个直观的效果。我们的方法侧重于运用图形技术,通过研究有向图TransitionGraph来研究进程的等价,提出了判断图同构的算法,通过研究Transition Graph图可以判断子进程的可达性,进程是否会发生死锁等问题,这些性质的研究都是原有代数方法所不能直观说明。所采用的方法使用了有向图的技术来描述进程的代数性质,具有直观,可判定的优势,避免了代数性质研究的复杂,抽象的不足,本发明提供的一种计算进程互模拟的算法,为我们研究进程演算提供了一种新的思路。
综上所述,虽然本发明已用较佳实施例揭露如上,然其并非用以限定本发明,本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求书所申请的专利范围所界定者为准。
Claims (1)
1.一种图形化的Pi演算方法,其特征在于,包括如下步骤:
定义Pi演算的静态语义;
定义翻译后的动态规则;
定义Pi演算的传输图形;
通过传输图形建立进程图,所述进程图包含了进程所有可能作的动作的有向图,并通过进程图且在两个进程为强模拟关系的情况下通过判断图同构算法来研究进程等价性;
其中,所述进程图包含进程所有动作的有向图,所述进程图用以研究进程等价性;所述进程图包含进程运行时的动态路径;
在定义Pi演算的传输图形的步骤中进一步包括:通过引入传输图形以反映进程运行时的动态路径,其中传输图形T=(P,Act,->),P集合代表用Pi演算描述进程,用以代表图中的节点,Act集合为可执行动作的集合,用以代替图中的弧,->集合代表三元组(p,α,p’),其中进程p通过动作α演变成进程p’。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010604693.7A CN102566972B (zh) | 2010-12-24 | 2010-12-24 | 一种图形化的Pi演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010604693.7A CN102566972B (zh) | 2010-12-24 | 2010-12-24 | 一种图形化的Pi演算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102566972A CN102566972A (zh) | 2012-07-11 |
CN102566972B true CN102566972B (zh) | 2016-11-23 |
Family
ID=46412491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010604693.7A Expired - Fee Related CN102566972B (zh) | 2010-12-24 | 2010-12-24 | 一种图形化的Pi演算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102566972B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516322B1 (en) * | 2000-04-28 | 2003-02-04 | Microsoft Corporation | XML-based representation of mobile process calculi |
EP1569099A2 (en) * | 2004-02-12 | 2005-08-31 | Microsoft Corporation | Process language for microprocessors with finite resources |
CN101309181A (zh) * | 2008-06-17 | 2008-11-19 | 浙江大学 | 一种服务行为失配的自动检测方法 |
CN101339501A (zh) * | 2008-08-12 | 2009-01-07 | 北京航空航天大学 | 基于有向图的ws-bpel控制环路检测方法 |
CN101464832A (zh) * | 2009-01-16 | 2009-06-24 | 哈尔滨工程大学 | 基于pi演算和拟合度分析的自律软件可信性度量方法 |
-
2010
- 2010-12-24 CN CN201010604693.7A patent/CN102566972B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6516322B1 (en) * | 2000-04-28 | 2003-02-04 | Microsoft Corporation | XML-based representation of mobile process calculi |
EP1569099A2 (en) * | 2004-02-12 | 2005-08-31 | Microsoft Corporation | Process language for microprocessors with finite resources |
CN101309181A (zh) * | 2008-06-17 | 2008-11-19 | 浙江大学 | 一种服务行为失配的自动检测方法 |
CN101339501A (zh) * | 2008-08-12 | 2009-01-07 | 北京航空航天大学 | 基于有向图的ws-bpel控制环路检测方法 |
CN101464832A (zh) * | 2009-01-16 | 2009-06-24 | 哈尔滨工程大学 | 基于pi演算和拟合度分析的自律软件可信性度量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102566972A (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zuck et al. | Model checking and abstraction to the aid of parameterized systems (a survey) | |
Nalon et al. | : A resolution-based prover for multimodal K | |
Bex et al. | Dialogue templates for automatic argument processing | |
Krauss | Certified size-change termination | |
Alwhishi et al. | Multi-valued model checking IoT and intelligent systems with commitment protocols in multi-source data environments | |
CN102566972B (zh) | 一种图形化的Pi演算方法 | |
Bonacina et al. | On Variable-inactivity and Polynomial $\mathcal T $-Satisfiability Procedures | |
Chaudhuri et al. | A lightweight formalization of the metatheory of bisimulation-up-to | |
Meert et al. | CP-Logic theory inference with contextual variable elimination and comparison to BDD based inference methods | |
Gyamfi et al. | deb2viz: Debiasing gender in word embedding data using subspace visualization | |
Degtyarev et al. | A simplified clausal resolution procedure for propositional linear-time temporal logic | |
CN107463671A (zh) | 路径查询的方法和装置 | |
Nakamura et al. | Formal verification of multitask hybrid systems by the OTS/CafeOBJ method | |
Faizi | A description logic prover in prolog | |
Wang et al. | Tableau-based forgetting in [ascr][lscr][cscr] ontologies | |
Calvanese et al. | A practical automata-based technique for reasoning in expressive description logics | |
Toman et al. | Applications and extensions of PTIME description logics with functional constraints | |
Fioravanti et al. | Program transformation for development, verification, and synthesis of programs | |
Xing et al. | The application of iterative interval arithmetic in path-wise test data generation | |
Virbitskaite et al. | Parametric behaviour analysis for time petri nets | |
Day | A comparison between statecharts and state transition assertions | |
Börger et al. | The mathematics of set predicates in prolog | |
Hoare | Generic models of the laws of programming | |
Tessaris et al. | Abox satisfiability reduced to terminological reasoning in expressive description logics | |
Gao et al. | Extensions to the relational paths based learning approach RPBL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161123 Termination date: 20191224 |