一种软件系统的代数构件表示方法和装置制造方法及图纸

技术编号:18458511 阅读:69 留言:0更新日期:2018-07-18 12:35
本发明专利技术公开了一种软件系统的代数构件表示方法和装置,将软件系统根据功能区分成不同的模块,每个模块表达为一个代数构件;所述表达为:用ADL语言对代数构件进行描述,形成XML文件;以代数构件为节点,以代数构件间的运算关系为边,获得软件系统的代数拓扑图。本发明专利技术适用于面向对象和面向过程程序语言设计开发的软件系统,且表达清晰,解决了后续开发人员理解上的困扰。

An algebraic component representation method and device for software systems

The invention discloses an algebraic component representation method and device for the software system. The software system is divided into different modules according to the functional area. Each module is expressed as an algebraic component. The expression is expressed as: the ADL language is used to describe the algebraic component and form the XML file; the generation component is the node and the algebraic component is used. The operation relation is the edge, and the algebraic topological graph of the software system is obtained. The invention is suitable for the software system of object-oriented and process programming language design and development, and the expression is clear, which solves the puzzling of the subsequent developers.

【技术实现步骤摘要】
一种软件系统的代数构件表示方法和装置
本专利技术涉及一种软件系统的代数构件表示方法和装置。
技术介绍
为了提高软件系统的开发效率,改善软件系统的质量,增加软件系统的重用率,减少软件系统开发所需的费用,人们开始逐渐采用构件化的方式来进行软件系统的开发,基于软件构件开发的软件系统的灵活性和标准化程度都得到了极大的提高。目前,对软件构件的定义简单来说指的是具有一定功能,并且能够独立工作或与其他构件组装起来协同进行工作的程序结构体,从结构上说它指的是语义描述、实现代码和通讯接口的复合体。为了实现对软件构件的抽象描述,目前,国际上相关研究机构提出了许多不同的软件构件模型,主流的三个分别是对象管理集团(OMG)提出的通用对象请求代理结构(CORBA)、微软提出的分布式构件对象模型(DCOM)和Sun公司提出的EJB模型。这三种模型将软件构件的接口和实现进行有效地分离,构件之间只通过接口进行交互,从而提高了构件的复用能力。国内许多研究人员也对软件构件模型进行了相关研究,并取得了一定的研究成果,其中被研究人员广泛接受的是北京大学杨芙清院士等人提出的一种“青鸟构件模型”,该模型结合了国外三种模型的优点,将构件结构分为外部接口和内部结构两大部分。基于杨芙清院士提出的“青鸟构件模型”,湖南大学张友生等人在基于构件运算的软件演化研究一文中提出了软件构件的代数表示方法,文中将软件构件分为功能件和连接件两大部分,然而这种表示方法以类作为描述对象,并且将软件系统的功能件和连接件分隔开了,只适用于面向对象程序语言设计开发的软件系统,并不适用于面向过程程序设计语言开发的软件系统。此外,上述方案采用代数表示方式作为软件构件的最终表达形式,表达不够清晰,给后续的开发人员造成理解上的困扰。
技术实现思路
有鉴于此,本专利技术提供了一种软件系统的代数构件表示方法和装置,适用于面向对象和面向过程程序语言设计开发的软件系统,且表达清晰,解决了后续开发人员理解上的困扰。为了解决上述技术问题,本专利技术是这样实现的。一种软件系统的代数构件表示方法,包括如下步骤:将软件系统根据功能区分成不同的模块,每个模块表达为一个代数构件;所述表达为:用ADL语言对代数构件进行描述,形成XML文件;以代数构件为节点,以代数构件间的运算关系为边,获得软件系统的代数拓扑图。优选地,所述代数构件采用六元组表示:逻辑行为集合、连接关系集合、控制器、内部数据、聚合运算、检测器。优选地,所述用ADL语言对模块进行描述,形成XML文件为:用<Module>…</Module>标签对软件系统所描述的模块进行表示,然后分别用<component>…</component>标签和<connector>…</connector>标签对于模块中的功能件和连接件进行划分;在功能件<component>…</component>标签组中:用<X>…</X>标签表示逻辑行为,<X>…</X>标签中又包含了n个不同的逻辑行为子集<x1>…</x1>、<x2>…</x2>、…、<xn>…</xn>,用<staticData>…</staticData>标签表示模块的内部数据,用<operation>…</operation>标签表示模块间的聚合运算;在连接件<connector>…</connector>标签组中:用<Y>…</Y>标签表示连接关系,<Y>…</Y>标签中又包含了n个不同的连接关系子集<y1>…</y1>、<y2>…</y2>…….<yn>…</yn>,用<Dector>…</Dector>表示检测器,用<controller>…</controller>表示控制器。优选地,以代数构件间的运算关系为边包括:调用运算、包含运算和嵌套运算;调用运算是指:假设软件系统S中存在两个不同的代数构件PMA和PMB,如果代数构件PMA使用的是代数构件PMB所提供的服务,那么就可以称代数构件PMA和代数构件PMB之间是调用关系,记作包含运算是指:假设软件系统S中存在两个不同的代数构件PMA和PMB,如果代数构件PMA的执行是以代数构件PMB的执行为前提的,即代数构件PMB的输出是数构件PMA的输入,代数构件PMA包含在代数构件PMB中,那么就可以称代数构件PMA和代数构件PMB之间是包含关系,记作PMA⊙PMB;嵌套运算是指:假设软件系统S中存在两个不同的代数构件PMA和PMB,如果代数构件PMA和PMB嵌套在一起共同完成同一个功能,那么就可以称代数构件PMA和代数构件PMB之间是嵌套关系,记作嵌套包括同步嵌套和异步嵌套。本专利技术还公开了一种软件系统的代数构件表示装置,包括代数构件表达模块和拓扑图构建模块;所述代数构件表达模块,用于将软件系统根据功能区分成不同的模块,每个模块表达为一个代数构件;所述表达为:用ADL语言对代数构件进行描述,形成XML文件;所述拓扑图构建模块,用于以代数构件为节点,以代数构件间的运算关系为边,获得软件系统的代数拓扑图。优选地,所述代数构件表达模块采用六元组表示代数构件,所述六元组包括逻辑行为集合、连接关系集合、控制器、内部数据、聚合运算、检测器。优选地,所述代数构件表达模块用ADL语言对模块进行描述,形成XML文件为:用<Module>…</Module>标签对软件系统所描述的模块进行表示,然后分别用<component>…</component>标签和<connector>…</connector>标签对于模块中的功能件和连接件进行划分;在功能件<component>…</component>标签组中:用<X>…</X>标签表示逻辑行为,<本文档来自技高网
...

【技术保护点】
1.一种软件系统的代数构件表示方法,其特征在于,将软件系统根据功能区分成不同的模块,每个模块表达为一个代数构件;所述表达为:用ADL语言对代数构件进行描述,形成XML文件;以代数构件为节点,以代数构件间的运算关系为边,获得软件系统的代数拓扑图。

【技术特征摘要】
1.一种软件系统的代数构件表示方法,其特征在于,将软件系统根据功能区分成不同的模块,每个模块表达为一个代数构件;所述表达为:用ADL语言对代数构件进行描述,形成XML文件;以代数构件为节点,以代数构件间的运算关系为边,获得软件系统的代数拓扑图。2.如权利要求1所述的方法,其特征在于,所述代数构件采用六元组表示:逻辑行为集合、连接关系集合、控制器、内部数据、聚合运算、检测器。3.如权利要求2所述的方法,其特征在于,所述用ADL语言对模块进行描述,形成XML文件为:用<Module>…</Module>标签对软件系统所描述的模块进行表示,然后分别用<component>…</component>标签和<connector>…</connector>标签对于模块中的功能件和连接件进行划分;在功能件<component>…</component>标签组中:用<X>…</X>标签表示逻辑行为,<X>…</X>标签中又包含了n个不同的逻辑行为子集<x1>…</x1>、<x2>…</x2>、…、<xn>…</xn>,用<staticData>…</staticData>标签表示模块的内部数据,用<operation>…</operation>标签表示模块间的聚合运算;在连接件<connector>…</connector>标签组中:用<Y>…</Y>标签表示连接关系,<Y>…</Y>标签中又包含了n个不同的连接关系子集<y1>…</y1>、<y2>…</y2>…….<yn>…</yn>,用<Dector>…</Dector>表示检测器,用<controller>…</controller>表示控制器。4.如权利要求1所述的方法,其特征在于,以代数构件间的运算关系为边包括:调用运算、包含运算和嵌套运算;调用运算是指:假设软件系统S中存在两个不同的代数构件PMA和PMB,如果代数构件PMA使用的是代数构件PMB所提供的服务,那么就可以称代数构件PMA和代数构件PMB之间是调用关系,记作PMA⊕PMB;包含运算是指:假设软件系统S中存在两个不同的代数构件PMA和PMB,如果代数构件PMA的执行是以代数构件PMB的执行为前提的,即代数构件PMB的输出是数构件PMA的输...

【专利技术属性】
技术研发人员:胡昌振单纯喻梓峻梅珊珊毛俐旻
申请(专利权)人:北京理工大学北京计算机技术及应用研究所
类型:发明
国别省市:北京,11

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

1