当前位置: 首页 > 专利查询>天津大学专利>正文

基于扩展UML的Web应用形式化建模及验证方法技术

技术编号:19480731 阅读:29 留言:0更新日期:2018-11-17 10:36
本发明专利技术公开了一种基于扩展UML的Web应用形式化建模及验证方法,步骤(1)、提取所要设计的软件系统的功能性需求,进行需求分析;步骤(2)、进行UML建模;步骤(3)、使用XML表示上述的UML2.3模型;步骤(4)、生成形式化描述;步骤(5)、进行安全属性验证。本发明专利技术提供了由UML2.3模型到形式化语言进行自动转换的可行方法;对UML2.3中类图、时序图、状态图进行扩展,实现Web应用中协议的验证,以及实现UML模型到pi演算形式化语言的自动转换,极大的降低直接对协议进行形式化建模的难度;所用的形式化建模验证工具,并精化形式化验证模型;通过对验证结果的展示和攻击路径的分析,检测到形式化模型的漏洞,有助于快速精化模型,高效地进行缺陷检测。

【技术实现步骤摘要】
基于扩展UML的Web应用形式化建模及验证方法
本专利涉及软件需求分析形式化
,特别是涉及结合安全属性形式化分析与验证领域的一种Web应用形式化建模及验证方法。
技术介绍
随着软件工程规模不断扩大,软件的复杂性不断增加,软件系统更容易出现错误和纰漏。此外,在整个软件生命周期中,修复系统漏洞的时间越滞后,其成本就越高昂。因此,在软件系统早期设计和建模阶段就以软件开发方法与形式化方法相结合的方式进行漏洞分析和缺陷检测、确保系统的可靠性,对提升软件质量具有重要的意义。目前主要通过对软件需求的分析来实现对形式化方法进行建模。常用的形式化语言有Z语言、B语言、CSP以及pi演算等。用于对安全需求工程建模的形式化和半形式化常见方法有:Z语言、UML等。UML的发展主要基于面向对象的方法设计(OOAD),它结合并进一步发展了Booch的对象集合方法、JamesRumbaugh提出的对象建模技术OMT以及Jacobson中对用例的定义和表示。UML规范中支持多种视图的建模,由于其易用性和用户友好性,UML在工程行业迅速发展,并在事实上,已经成为了可视化建模语言中的工业标准之一。目前,通过形式化方法对安全协议进行建模及验证,可以及时在设计阶段找出协议漏洞,保证了软件工程的Web应用中从设计到实现中的质量问题。形式化方法具有严谨性和可验证的特点,适用于对安全攸关的系统和协议进行验证。另一方面,由于形式化方法比较抽象,基于严格的数学理论和推导,对于软件工程师及开发者而言,有相对较高的应用门槛,因此将形式化方法与常用的工程化建模方法结合,并进行建模和转换是目前行之有效的一种方法。然而,本专利技术针对上述现状,通过研究分析发现虽然结合UML及形式化的方法可以降低建模难度,并为系统提供形式化的语义和验证,但现有的方法依然存在很多不足之处:1)缺少Web应用相关的协议的特点,只能针对部分安全协议进行建模,没有针对相应的领域建模提出系统的框架;2)通常使用一种或两种视图对系统进行建模,由于视图选取的局限性,在验证协议时,会出现状态爆炸的情况,同时使协议的转换过程变得十分复杂。
技术实现思路
针对现有技术存在的上述问题,本专利技术提出了一种于扩展UML的Web应用形式化建模及验证方法,通过对UML2.3进行扩展建模,将UML方法和形式化方法的优势相结合,并针对系统特点提出了轻量形式化框架,将系统模型的自动转换为形式化模型,并进行安全属性验证。本专利技术提出了一种基于扩展UML的Web应用形式化建模及验证方法,该方法包括以下流程:步骤1、提取所要设计的软件系统的功能性需求,进行需求分析,步骤2、进行UML建模,通过自然语言描述需求以实现建模;或者,对Web应用独有的特征进行抽取,实现对软件系统的建模,其中:例图的建模表示软件系统中关键角色的相应行为,而类图的建模表示软件系统中每个主要功能及系统中类之间的关系;通过对UML2.3模型视图进行扩展,进行详细建模,从而为自动化转换做出准备,具体包括:扩展的类图用于表示软件系统的类型和静态行为,扩展的时序图适用于对软件系统间消息传递进行建模,而扩展的状态图对软件系统中行为对状态的迁移进行表示;步骤3、使用XML表示上述的UML2.3模型;步骤4、生成形式化描述,包括对模型的静态视图进行映射定义;对模型的动态视图即状态图和时序图进行转换,从而根据转换规则将模型自动转换为形式化描述,转换规则分为两部分处理,一部分是对UML2.3模型导出为xmi模型,并分析模型的结构和标签属性、提取出有用的信息,以树状结构保存;另一部分是对关键信息通过转换算法实现重组,将相互关联的信息拼接为形式化语言;步骤5、进行安全属性验证,调用集成的形式化验证工具,对软件系统涉及的安全属性进行验证。与现有技术相比,本专利技术针对Web应用的特性,提出了基于UML2.3的形式化建模框架,并依据此框架对UML2.3中的类图、时序图和状态图进行相应扩展,从而使其自动化生成形式化语言。为安全协议的建模降低了难度,并保证了其安全属性。进一步保证Web应用中软件设计和实现一致性,减少了漏洞发现的成本,有效提升了系统开发的效率。预期的有益效果包括:1.提出的基于Web应用特点的形式化框架,可以有效地根据Web应用的领域特点选取合适的UML2.3视图,并进行形式化建模。该框架满足Web应用中安全协议的特性,降低了形式化的使用门槛,并专利技术出由UML2.3模型到形式化语言进行自动转换的可行方法。2.对UML2.3中类图、时序图、状态图进行扩展,要实现Web应用中协议的验证方法。为了满足Web应用中的特有的安全特性,本专利技术需要在建模中对UML2.3模型进行相应的扩展,并依据协议的复杂性选择合适的视图进行建模。本专利技术通过时序图描述协议的核心进程,通过状态图约简重复的进程,并通过类图对协议静态信息进行建模。此外,本专利技术还需实现UML模型到pi演算形式化语言的自动转换,极大的降低直接对协议进行形式化建模的难度。3.专利技术形式化建模验证工具,并精化形式化验证模型,高效地进行缺陷检测。本专利技术设计并实现了基于扩展UML2.3的形式化建模验证工具,从而为形式化框架提供了有利支持,证明了方法的可行性。此外,通过对验证结果的展示和攻击路径的分析,可以检测到形式化模型的漏洞,有助于快速精化模型,高效地进行缺陷检测。附图标记图1为基于UML2.3的Web应用形式化框架;图2为本专利技术的基于UML2.3的Web应用形式化方法整体流程;图3为形式化验证工具原型模块图;图4为xmi文件解析结果(部分);图5为ConfiChair协议用例图模型;图6为ConfiChair应用扩展类图模型;图7为ConfiChair应用扩展时序图模型;图8为ConfiChair应用扩展状态图模型;图9为ConfiChair协议C_notify反例攻击路径。具体实施方式下面将结合附图对本专利技术的具体实施方式作进一步的详细描述。如图2所示,本专利技术的基于扩展UML的Web应用形式化建模及验证方法,包括以下流程:步骤1、提取所要设计的软件系统的功能性需求,进行需求分析,步骤2、UML建模,通过自然语言(例如需求规约等自然语言)描述需求以实现建模;或者,对Web应用独有的特征进行抽取,实现对软件系统的建模,其中:例图的建模表示软件系统中关键角色的相应行为,而类图的建模表示软件系统中每个主要功能及系统中类之间的关系;通过对UML2.3模型视图进行扩展,进行详细建模,从而为自动化转换做出准备,具体包括:扩展的类图用于表示软件系统的类型和静态行为,扩展的时序图适用于对软件系统间消息传递进行建模,而扩展的状态图对软件系统中行为由于事件的发生和约束,对状态的迁移进行很好的表示。本步骤中,根据构成应用的不同的活动,选择不同的视图进行表示。以Web应用系统中的协议为例,在对系统协议进行分析过程中,需要考虑其消息类型、密码原语、攻击者等元素的建模;该步骤的建模集成了对UML2.3中类图、时序图和状态图三种主要视图的扩展;步骤3、使用XML表示上述的UML2.3模型;步骤4、生成形式化描述,即通过对不同视图定义映射规则和转换算法,系统可以生成相应的形式化描述,本专利技术选取应用pi演算语言作为系统主要的描述。该步骤分为两部分处理,一部本文档来自技高网
...

【技术保护点】
1.一种基于扩展UML的Web应用形式化建模及验证方法,其特征在于,该方法包括以下流程:步骤(1)、提取所要设计的软件系统的功能性需求,进行需求分析;步骤(2)、进行UML建模,通过自然语言描述需求以实现建模;或者,对Web应用独有的特征进行抽取,实现对软件系统的建模,其中:例图的建模表示软件系统中关键角色的相应行为,而类图的建模表示软件系统中每个主要功能及系统中类之间的关系;通过对UML2.3模型视图进行扩展,进行详细建模,从而为自动化转换做出准备,具体包括:扩展的类图用于表示软件系统的类型和静态行为,扩展的时序图适用于对软件系统间消息传递进行建模,而扩展的状态图对软件系统中行为对状态的迁移进行表示;步骤(3)、使用XML表示上述的UML2.3模型;步骤(4)、生成形式化描述,该步骤包括两部分:一部分是对模型的静态视图进行映射定义,即定义了类图中元素到形式化语义之间的映射规则;另一部分是对模型的动态视图即状态图和时序图进行转换算法的描述,从而根据转换规则将模型自动转换为形式化描述,转换规则分为两部分处理,一部分是对UML2.3模型导出为xmi模型,并分析模型的结构和标签属性、提取出有用的信息,以树状结构保存;另一部分是对关键信息通过转换算法实现重组,将相互关联的信息拼接为形式化语言;步骤(5)、进行安全属性验证,调用集成的形式化验证工具,对软件系统涉及的安全属性进行验证。...

【技术特征摘要】
1.一种基于扩展UML的Web应用形式化建模及验证方法,其特征在于,该方法包括以下流程:步骤(1)、提取所要设计的软件系统的功能性需求,进行需求分析;步骤(2)、进行UML建模,通过自然语言描述需求以实现建模;或者,对Web应用独有的特征进行抽取,实现对软件系统的建模,其中:例图的建模表示软件系统中关键角色的相应行为,而类图的建模表示软件系统中每个主要功能及系统中类之间的关系;通过对UML2.3模型视图进行扩展,进行详细建模,从而为自动化转换做出准备,具体包括:扩展的类图用于表示软件系统的类型和静态行为,扩展的时序图适用于对软件系统间消息传递进行建模,而扩展的状态图对软件系统中行为对状态的迁移进行表示;步骤(3)、使用XML表示上述的UML2.3模型;步骤(4)、生...

【专利技术属性】
技术研发人员:杨星星李晓红侯庆志
申请(专利权)人:天津大学
类型:发明
国别省市:天津,12

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

1