【技术实现步骤摘要】
本专利技术涉及一种软件工程技术,尤其是涉及一种基于模型的侵入式灰盒组装验证方法。
技术介绍
基于构件的软件开发(Component-Based Software Development,CBSD)是软件工业化的大趋势。计算机软件构架由手工代码开发模式转变为重用可独立运行的、被封装的构件模式,它具有更高的灵活性。由于复用算法和软件功能,基于构件的软件开发大大缩短了软件系统的开发进度,尤其是在经费有限的情况下该方法是实现软件项目开发的最佳选择。构件是将具有特定功能的模块或代码按照一定的格式进行封装。构件组装则是研究如何组装构件的机制,以需求模型为基础,查找合适的构件进行集成以快速开发系统软件为目的。目前,构件组装技术主要分为黑盒组装方法,白盒组装方法和灰盒组装三种方法。但各自存在优缺点:黑盒组装方法不需要对构件的实现细节有任何了解,也不需要对构件进行配置或修改,但“以不变的构件组装成万变的应用”的理念过于现实化,实际应用难度大。黑盒组装对功能进行抽象描述,使用户无法了解构件是如何运行的,缺乏对黑盒构件的可信性。白盒组装方法则要求将构件的所有实现细节都展示出来,让复用者理解后再进行组装,并可按应用需求对构件进行二次修改,但该方法需要用户对实现细节和具体需求了如指掌,在程序可读性和可维护性方面存在应用的局限性。而灰盒组装方法介于黑盒和白盒之间,其通过混合使用组装机制来架构系统软件实现用户组装需求,既灵活又高效。因 ...
【技术保护点】
一种基于模型的侵入式灰盒组装验证方法,其特征在于,包括步骤:1)流程设计:根据待开发软件的业务逻辑,设计由多个抽象构件构成的工作流模型;2)实例化:根据工作流中各抽象构件的功能要求和接口信息在实例构件库中检索,并确认是否存在匹配的单一实例构件,若为是,则将该实例构件插入至抽象构件所在位置,若为否,则选择多个实例构件组合为复合构件并侵入至抽象构件所在位置;3)性质验证:转化实例化所产生的配置文件,得到适合于模型检验器NuSMV执行的Kripke结构脚本,并基于该脚本验证构件组装过程的正确性和安全性。
【技术特征摘要】
1.一种基于模型的侵入式灰盒组装验证方法,其特征在于,包括步骤:
1)流程设计:根据待开发软件的业务逻辑,设计由多个抽象构件构成的工作
流模型;
2)实例化:根据工作流中各抽象构件的功能要求和接口信息在实例构件库中
检索,并确认是否存在匹配的单一实例构件,若为是,则将该实例构件插入至抽象
构件所在位置,若为否,则选择多个实例构件组合为复合构件并侵入至抽象构件所
在位置;
3)性质验证:转化实例化所产生的配置文件,得到适合于模型检验器NuSMV
执行的Kripke结构脚本,并基于该脚本验证构件组装过程的正确性和安全性。
2.根据权利要求1所述的一种基于模型的侵入式灰盒组装验证方法,其特征
在于,所述实例构件库的构建过程包括步骤:
A1:将Java程序进行封装使其构件化,添加组装点,并采用反射技术解析出
程序功能的函数方法,以及组装点的接口信息;
A2:根据反射出来的接口信息,确认接口以及接口参数,包括参数个数,参
数名称,参数类型和参数顺序。
A3:将解析出的函数方法进行绑定,产生调用关系;
A4:将构件化后的Java程序以XML形式保存,输出实例构件的封装文件;
A5:将实例构件保存到实例构件库中,建立实例构件的索引信息,同时在封
装文件中标识其相关的应用领域,以提供构件组装时使用。
3.根据权利要求1所述的一种基于模型的侵入式灰盒组装验证方法,其特征
在于,所述步骤1)具体包括步骤:
11)新建组装界面,根据待开发软件的业务逻辑绘制工作流;
12)设计工作流上抽象构件,并描述抽象构件的接口信息和功能要求。
13)在工作流上,标识抽象构件的构件状态,包括初始点,中间点,以及终止
点。
4.根据权利要求1所述的一种基于模型的侵入式灰盒组装验证方法,其特征
在于,所述步骤2)中将单一实例构件插入至抽象构件所在位置的过程具体为:根
\t据工作流调用关系,绑定该实例构件与相邻抽象构件实例化得到的实例构件间的接
口参数,包括参数名称,参数类型,以及参数顺序。
5.根据权利要求1所述的一种基于模型的侵入式灰盒组装验证方法,其特征
在于,所述步骤2)中选择多个实例构件组合为复合构件并侵入至抽象构件所在位
置的过程中:
以领域优先原则,采用启发式随机算法给出满足当前抽象构件的实例构件集
合,使得多个实例构件在组合后,既满足接口信息,又满足领域应用的要求;或
以功能优先原则,采用相似度计算方法给出多个跨领域的实例构件集合,使得
多个实例构件在组合后,既满足接口信息,又满足领域应...
【专利技术属性】
技术研发人员:高洪皓,陈颖,田野,曾红卫,缪淮扣,
申请(专利权)人:上海大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。