基于进程代数的软件体系结构安全模型的建立方法技术

技术编号:8532542 阅读:207 留言:0更新日期:2013-04-04 15:23
本发明专利技术公开了一种基于进程代数的软件体系结构安全模型的建立方法,包括:1)创建软件体系结构的流图;2)在软件体系结构的流图基础上,采用进程代数作为形式化描述语言对各个软件体系结构要素进行定义;3)对被定义的软件体系结构进行安全性检查,验证检查结果或进行修改,得到软件体系结构安全模型。本发明专利技术所建立的安全模型在一个形式化的框架内对软件体系结构的安全性进行描述、分析和验证,可以保证和维持基于构件的一类软件体系结构开发的一致性和完整性,因此使用此发明专利技术研究安全组件以及其交互形成的软件体系结构的安全特性具有重要意义和实用价值。

【技术实现步骤摘要】

本专利技术涉及一种软件体系结构安全模型的建立方法,尤其是一种,属于软件工程领域。
技术介绍
六十年代的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。软件危机的程度日益加剧,现有的软件工程方法对此显得力不从心。对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已经变得明显重要得多。在此种背景下,人们认识到软件体系结构的重要性,并认为对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。自20世纪90年代后期以来,软件体系结构的研究成为一个热点。广大软件工作者已经认识到软件体系结构研究的重大意义和它对软件系统设计开发的重要性,开展了很多研究和实践工作。从软件体系结构研究的现状来看,当前的研究和对软件体系结构的描述,在很大程度上来说还停留在非形式化的基础上。软件构架师仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。在目前通用的软件开发方法中,其描述通常是用非形式化的图和文本,不能描述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。难以被开发人员理解,更不能用来分析其一致性和完整性等特性。另一方面,从舆论到各级政府,信息安全正日益受到广泛重视。对信息安全的追求甚至比应用业务系统本身还强烈,安全性在一些场合具有举足轻重的作用,以至安全性成为被谈论得较多和较突出的话题,出现了安全问题解决者和关心者多于问题拥有者和提出者的高温现象。但从总体上来讲,安全仍然面临诸多的威胁,信息安全问题并没有整体上得到很好的研究,离解决实际问题仍有较大距离。
技术实现思路
本专利技术的目的,是为了解决上述现有技术的缺陷,提供了一种在一个形式化的框架内对软件体系结构的安全性进行描述、分析和验证,可以保证和维持基于构件的一类软件体系结构开发的一致性和完整性的。本专利技术的目的可以通过采取如下技术方案达到,其特征在于包括以下步骤I)创建软件体系结构的流图;其中,方框表示为体系结构元素实例AEIs,黑圈表示为局部交互,白框表示为体系结构的交互,箭头表示为附件;2)在软件体系结构的流图基础上,采用进程代数作为形式化描述语言对各个软件体系结构要素进行定义;3)对被定义的软件体系结构进行安全性检查,验证检查结果或进行修改,得到软件体系结构安全模型。作为一种优选方案,步骤2)所述软件体系结构要素包括体系结构类型的名字、体系结构类型所基于的体系结构元素类型AETs以及体系结构类型的拓扑结构;其中,所述每个AET通过名称、行为、交互来定义;每个AET的所有实例AEIs的语义被定义为AET的行为,所述语义通过其AEIs根据具体附件相关的语义并行得到;所述体系结构类型的拓扑结构,由AEIs的集合、体系结构层的交互集合以及每个AEIs交互之间的附件集合共同声明;所述AEIs的交互至少有一个局部交互,每个局部交互被包括在至少一个附件中。作为一种优选方案,步骤2)所述软件体系结构要素的定义具体如下2.1)体系结构元素类型的语义及其实例给定进程代数描述语言写的归约,设C为一个带行为E和交互集合I的AET,C的语义及其实例被定义为[I CI ] = E/ (Act- τ -1);2. 2)给定一个体系结构类型Α,若C1,…,Cn为某些ΑΕΙ,设变量i,j,k为I到η,然后对每个AEI Ci, Ici为其交互集!AICiG丨C1.为声明为体系结构层的交互,LlCiAmC1^ICl-AICi为其附着于C1,…,Cn的交互集的局部交互;2. 3)交互集合是内连接的一个C1,…,Cn的局部交互集合LI是内连接的当且仅当对于LI交互的每个对(C1. a1; Cj. a2),要么它们之间有一个附件链,要么有一个交互Ck. a3属于LI,使得C1. B1和Ck. a3之间有附件,且Ck. a3连接到a2 ;LI是最大集;2.4) 一个映射动作重命名函数集合形如ACi ^1. . . Cn LI Ci ;C1. · · Cn — S(C1. . . Cn)以方式 WCi ^1. . . Cn (Β1)=ψ . ^1. . . Cn (a2),当且仅当 C1. B1 和 Cj. a2同属一个连通集;2. 5)两种限制语义=Ci限制于C1,…,Cn的封闭式和开放式的交互语义定义为封闭式的交互语义[IciHcC1. ..^[!^!!/(Act-1xl-LI Ci ^1. ..Cn) [ψ^ ;CyCn],开放式的交互语义[|Ci|]0 C1. ..^[!^!!/(Act-1xl-ai Ci ^1. . . Cn U AlCi)) [ψ^ ^1. . . CJ ;2. 6)组件集合的交互语义定义CV-Cn的封闭和开放语义封闭语义[Ic1,…,cjcKlCiHcCV-CnI IJC1, C2 A,…,cn) [|c2|]CC1. ·· CnI I s (c” C3 A·· .cn) u s(c2,c3;(V..cn)......11 11 υ =1ηΛ(^, Cn ^1... cn) [|cn|]CC1-Cn;开放语义[C1,···, cn|]0=[|cj]0 CV-CnI |S(C1; C2 K1,…,Cn) [|C2|]0 Cr··CnI I Jc1, C3 A·· .cn) u s(c2,C3 A--Cn)......11 υ =ιυη;(ν..(;)[|(;|]ο cr.cn;2. 7) —个带有AEIs C1,…,Cn的体系结构的类型A的语义为[|A|] = [|(VCn|]0o作为一种优选方案,步骤3)所述被定义的软件体系结构的安全性检查具体如下3.1)定义一个安全项当且仅当对于每个基本状态图的状态S,存在一个可观察的动作a和一个状态s',使得s|=>as';3. 2)无环的体系结构类型缩减流图为给定一个体系结构类型A,通过聚合所有的两个方框之间的连线为一个连线得到缩减流图,A的缩减流图是一个从A的流图得到的间接流图,A是无环的当且仅当其缩减流图也是无环的;3.3)给定一个无环的体系结构类型,若C1,…,(;为附着于AEI K的AEIs,则C1,…,Cn通过K的交互语义为=LlK5C1-Cj] = [|K|]CK,cv..cn| s(k ;k, C1-Cn) [Ic11]CK7C1-Cj Is (K ;K, C1-Cn)……I Is(HC1-Cn) [I cn|] C K,C1-Cn;3. 4)给定一个无环的体系结构类型,若C1,…,Cn为附着于ΑΕΙ K的AEIs,则(^与K 相容,当且仅当[IKI ] CK, C1-Cn 11 s (κ ;κ, C1-cn) [ I Ci I ] ck,C1-cn B [ I κ I ] ck,C1-cn ;3. 5)给定一个体系结构类型,设C1,…,Cn构成一个AEI环,称Ci和C1, ···,C「l,Ci+1,Cn 可互操作,当且仅当[IC1, -,Cj]C/(Act-{T1-S^i , -,Cn)) JlCiI]C Ci A …Cn;作为一种优选方案,步骤3. 4)所述无环的体系本文档来自技高网
...

【技术保护点】
基于进程代数的软件体系结构安全模型的建立方法,其特征在于包括以下步骤:?1)创建软件体系结构的流图;其中,方框表示为体系结构元素实例AEIs,黑圈表示为局部交互,白框表示为体系结构的交互,箭头表示为附件;?2)在软件体系结构的流图基础上,采用进程代数作为形式化描述语言对各个软件体系结构要素进行定义;?3)对被定义的软件体系结构进行安全性检查,验证检查结果或进行修改,得到软件体系结构安全模型。

【技术特征摘要】
1.基于进程代数的软件体系结构安全模型的建立方法,其特征在于包括以下步骤 1)创建软件体系结构的流图;其中,方框表示为体系结构元素实例AEIs,黑圈表示为局部交互,白框表示为体系结构的交互,箭头表示为附件; 2)在软件体系结构的流图基础上,采用进程代数作为形式化描述语言对各个软件体系结构要素进行定义; 3)对被定义的软件体系结构进行安全性检查,验证检查结果或进行修改,得到软件体系结构安全模型。2.根据权利要求1所述的基于进程代数的软件体系结构安全模型的建立方法,其特征在于步骤2)所述软件体系结构要素包括体系结构类型的名字、体系结构类型所基于的体系结构元素类型AETs以及体系结构类型的拓扑结构;其中, 所述每个AET通过名称、行为、交互来定义;每个AET的所有实例AEIs的语义被定义为AET的行为,所述语义通过其AEIs根据具体附件相关的语义并行得到; 所述体系结构类型的拓扑结构,由AEIs的集合、体系结构层的交互集合以及每个AEIs交互之间的附件集合共同声明;所述AEIs的交互至少有一个局部交互,每个局部交互被包括在至少一个附件中。3.根据权利要求2所述的基于进程代数的软件体系结构安全模型的建立方法,其特征在于步骤2)所述软件体系结构要素的定义具体如下 2.1)体系结构元素类型的语义及其实例给定进程代数描述语言写的归约,设C为一个带行为E和交互集合I的AET,C的语义及其实例被定义为s [ I CI ] = E/ (Act- x -1); 2. 2)给定一个体系结构类型AjSC1,…,Cn为某些AEI,设变量i,j,k为I到n,然后对每个AEI Ci, Ia为其交互集!Aiq = ICi为声明为体系结构层的交互,LlCiAmCnGlC1-AlCi为其附着于C1,…,Cn的交互集的局部交互; 2. 3)交互集合是内连接的一个C1,…,Cn的局部交互集合LI是内连接的当且仅当对于LI交互的每个对(C1. a^Cj. a2),要么它们之间有一个附件链,要么有一个交互Ck. a3属于LI,使得C1. B1和Ck. a3之间有附件,且Ck. a3连接到a2 ;LI是最大集; 2.4)一个映射动作重命名函数集合形如屯(;^1. . . Cn LI Ci ^1. . . Cn-S (C1. . . Cn)以方式 WCi ^1. . . Cn Ca1) =^Cj ^1. . . Cn Ca2),当且仅当 C1. B1 和 Cj. a2 同属一个连通集; 2.5)两种限制语义=Ci限制于C1,…,Cn的封闭式和开放式的交互语义定义为封闭式的交互语义[|C」]C C1. ..^[!^!!/(Act-lxl-LI Ci ^1. ..Cn) [^Ci ;Q...CJ,开放式的交互语义[|Ci|]0 C1. ..^[!^!!/(Act-lxl-ai Ci ^1. . . Cn U AlCi)) [^Ci ^1. . . CJ ; 2.6)组件集合的交互语义定义&,...,(;的封闭和开放语义 封闭语义[Ici, -,Cn|]C=[|C1|]C C1. ..Cn UCijC2,Cn) [Ic2Ilcc1. ..Cn ^(C1,C3 ^1. . . Cn) U s(C2,C3;(V..C...

【专利技术属性】
技术研发人员:韩昊杨捷李金星夏彬伟
申请(专利权)人:华南理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1