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模型。这三种模型将软件构件的接口和实现进行有效地分离,构件之间只通过接口进行交互,从而提高了构件的复用能力。国内许多研究人员也对软件构件模型进行了相关研究,并取得了一定的研究成果,其中被研究人员广泛接受的是北京大学杨芙清院士等人提出的一种“青鸟构件模型”,该模型结合了国外三种模型的优点,将构件结构分为外部接口和内部结构两大部分。基于杨芙清院士提出的“青鸟构件模型”,湖南大学张友生等人在基于构件运算的软件演化研究一文中提出了软件构件的代数表示方法,文中将软件构件分为功能件和连接件两大部分,然而这种表示方法以类作为描述对象,并且将软件系统的功能件和连接件分隔开了,只适用于面向对象程序语言设计开发的软件系统,并不适用于面向过程程序设计语言开发的软件系统。此外,上述 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。