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

一种获取体系结构描述语言的方法和一种建模工具技术

技术编号:6925550 阅读:217 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种获取体系结构描述语言的方法和一种建模工具,所述的方法包括:首先制定一种能描述产品线变化性的DPOSPL?ADL元模型;然后,在DPOSPL?ADL中引入变量定义和赋值语法;最后,根据体系结构模型的约束,制定DPOSPL?ADL的描述规范;所述的体系结构描述语言支持领域分析后的需求特征模型到体系架构模型的转换,可针对需求特征模型中的可变点快速开发出针对特定需求的实际产品的体系架构。

【技术实现步骤摘要】

本专利技术涉及软件工程领域,特别是涉及一种面向数据处理领域的体系结构描述语言和建模工具。
技术介绍
当前软件复用的热门方法是领域工程方法,“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。领域工程通过对领域中若干成员系统的需求分析的基础上,识别应用系统的共性和可变特,获取一组具有足够可复用性的领域需求,并对其进行抽象,形成领域分析模型(domain analysis model),依据领域分析模型产生出领域中一类应用系统共同具有的体系结构,即特定领域的软件体系结构(domain specific software architecture,简称DSSA),并以此为基础,识别、开发和组织可复用构件。这样,当开发同一领域中的新应用时,可以根据领域分析模型,确定新应用的需求规约,根据特定领域的软件体系结构形成新应用的设计,并以此为基础选择可复用构件进行组装,从而形成新系统。数据处理(Data Processing)是对数据的采集、变换、加工、存储、检索,其基本目的是从大量的、杂乱无章的或是难以理解的数据中抽取并推导出有价值、有意义的信息。数据处理贯穿于社会生产和社会生活的各个领域。数据处理离不开软件和保密技术的支持, 这些都需要通过数据处理软件来实现。如测绘制图管理软件、仓库管理软件、财会管理软件、交通运输管理软件,技术情报管理软件、办公室自动化系统等。在地理数据方面既有大量自然环境数据(土地、水、气候、生物等各类资源数据),也有大量社会经济数据(人口、交通、工农业等),这些数据采集后都需要进行综合性数据处理。故发展数据处理软件,充分利用数据库技术进行数据管理和处理具有十分重要的社会意义。数据处理的典型应用场景中,往往要有针对性的数据清洗,把无关的数据、不重要的数据等处理掉。进行适当转换或分类后,就可以根据具体的分析需求选择模式分析的技术,简单的可以只是计算统计数据,也可以是复杂一些的如路径分析、兴趣关联规则、聚类等。最好得出有用的信息,以一个友好的界面如报表图表等,展示给用户。可见数据处理软件的行为是十分相似的,若能把数据处理的功能模块化,加入可定制性,构成数据处理软件产品线,不但能提高软件复用度,也能节约开发时间和开发成本。这也正是数据处理软件产品线(Data Process Oriented Software Product Line,简称 DP0SPL)的研究意义所在。软件体系结构最主要的核心元素有构件、接口和结构布局。这些元素所组成的软件体系结构模型是对软件产品结构的抽象。形式化语言既能让计算机理解,又有利于分析和代码的生成,于是有了体系结构描述语言的研究。体系结构描述语言(Architecture Description Language,简称ADL)是一种文本的形式化体系结构描述方法。体系结构描述语言目前还缺乏统一的标准,现有的ADL多应用于某一特定领域, 跨领域使用会出现语言描述能力不足,支撑工具无法使用等问题。现有ADL大部分都不支持对产品线的描述,也不具备从产品线体系结构模型中衍生单个产品体系结构的能力。对于数据处理领域而言,目前还缺乏专有的ADL,因此无法快速地进行体系结构建模,若使用其他的通用建模语言如UML等,会导致特征模型转化的不平滑,也不利于后续的代码生成。 因此目前需要一种能对数据处理领域软件体系结构进行建模的描述语言,这种ADL要能描述产品线体系结构,能在产品工程中衍生软件家族的产品,同时也要求ADL描述处理的体系结构模型能被DPOSPL所识别和使用,能配合DPOSPL生产过程。专利技术内 容本专利技术所要解决的技术问题是提供一种获取面向数据处理领域的体系结构描述语言的方法,这种ADL能够描述产品线体系结构,能在产品工程中衍生软件家族的产品,同时这种ADL描述的体系结构模型还能被DPOSPL所识别和使用,能配合DPOSPL生产过程。为了解决上述问题,本专利技术公开了一种获取面向数据处理领域的体系结构描述语言(Data Process Oriented Software Product Line Architecture Description Language,简称DPOSPL ADL)的方法,包括首先,制定一种能描述产品线变化性的DP0SPLADL元模型;所述的DPOSPL ADL元模型覆盖一个体系结构模型的必要元素构件、接口、构件依赖,同时在元模型中加入描述产品线变化性的元素;元模型中的各元素及元素之间的关系如下构件构件是DPOSPL ADL元模型中最主要的元素,构件有自包含的属性,即构件可以包含若干子构件,形成一个组合结构,这样就实现了体系结构的层次组装;接口 一个构件包含若干接口,一个接口的描述中包含该接口的生产接口和该生产接口的依赖接口,生产接口和依赖接口之间是一对多的关系;另外接口的描述中还包含 xModel描述的URL,这个属性是可选的;端口内部构件的接口能通过端口提升到父构件的作用域,端口的描述里包含需要提升的接口以及对应的子构件引用;构件实现一个构件对应一个构件实现,组合构件并不需要提供构件实现,而没有组装结构的子构件则需要指定;若不指定,则表示这个构件在构件库里不存在或不确定,有待开发人员进一步指定或完成所缺构件的开发。通过端口描述中的variability属性实现对于变化性描述的支持;所述的端口是DPOSPL ADL中把内部构件的接口提升到父构件作用域的元素,传统ADL中它仅代表一种子构件接口的暴露,但在DPOSPL ADL中它还包含了构件组装的变化性的描述,要了解具体需要哪些描述,首先要分析一下体系结构可能出现的变化性;通常来说,构件流程变化性分为4种,可简单归纳为一对一,一对多,多对一和多对多,具体如下类型一、单个构件依赖其他的单个构件,这种流程是最直接的,不存在变化性;类型二、后继多个构件的执行依赖于单个构件的接口,这里从一转多的流程里可以存在变化性,分为两种1、后继构件之间互相互斥,体系结构绑定后只能存在一个后续构件,即变为类别一的连接状态;2、后继构件之间可共存,体系结构绑定后会有至少一个构件作为后续构件,这些构件在执行上可以不分先后并行执行;类型三、多个前续构件的接口被单个后继构件所依赖,跟类别二类似,这里前续构件之间也存在两种可变性,互斥或多选;类型四、多个前续构件的接口被多个后续构件所依赖,这里的变化性分为两组,前续构件为一组,后续构件为 一组,这两组的组内再分为互斥和多选两种变化性,跟类别二和类别三类似;以上所述的四种构件连接类型,分别对应下面的体系结构,这些结构也是DPOSPL ADL所支持和使用的组装结构;对于类型一,可通过直接的构件结构供需连接完成,并不存在变化点;对于类型二,单个前续构件的接口被后续若干构件所依赖,这些构件封装到一个父构件,其变化性通过父构件的端口来描述,要么互斥要么多选;另外,如果后续的多个构件均被绑定至产品体系结构时,加入一个父构件负责调用这些后续的构件,同时可以在端口的描述里指定这些后续构件是同时调用还是线性调用;对于类型三,与类型二相似,把前续构件封装到一个父构件,父构件负责收集前续构件的运行结果,并返回给依赖接口和该接口的构件;对于类型四,把前续构件与后续构件分别封装到不同的父本文档来自技高网...

【技术保护点】
1.一种获取面向数据处理领域体系结构描述语言DPOSPL ADL的方法,其特征在于,包括:首先,制定一种能描述产品线变化性的DPOSPL ADL元模型;然后,引入变量定义和赋值语法;最后,根据体系结构模型的约束,制定DPOSPL ADL的描述规范。

【技术特征摘要】
1.一种获取面向数据处理领域体系结构描述语言DPOSPL ADL的方法,其特征在于,包括首先,制定一种能描述产品线变化性的DPOSPL ADL元模型; 然后,引入变量定义和赋值语法;最后,根据体系结构模型的约束,制定DPOSPL ADL的描述规范。2.如权利要求1所述的方法,其特征在于,制定的DPOSPLADL元模型覆盖一个体系结构模型的必要元素构件、接口、构件依赖,同时在元模型中加入描述产品线变化性的元素;所述元模型中的各元素及元素之间的关系如下构件构件是DPOSPL ADL元模型中最主要的元素,构件有自包含的属性,即构件可以包含若干子构件,形成一个组合结构,这样就实现了体系结构的层次组装;接口 一个构件包含若干接口,一个接口的描述中包含该接口的生产接口和该生产接口的依赖接口,生产接口和依赖接口之间是一对多的关系;另外接口的描述中还包含 xModel描述的URI,这个属性是可选的;端口 内部构件的接口能通过端口提升到父构件的作用域,端口的描述里包含需要提升的接口以及对应的子构件引用;构件实现一个构件对应一个构件实现,组合构件并不需要提供构件实现,而没有组装结构的子构件则需要指定;若不指定,则表示这个构件在构件库里不存在或不确定,有待开发人员进一步指定或完成所缺构件的开发。3.如权利要求2所述的方法,其特征在于,通过端口描述中的variability属性实现对于变化性描述的支持;所述的端口是DPOSPL ADL中把内部构件的接口提升到父构件作用域的元素,传统ADL 中它仅代表一种子构件接口的暴露,但在DPOSPL ADL中它还包含了构件组装的变化性的描述,要了解具体需要哪些描述,首先要分析一下体系结构可能出现的变化性;通常来说,构件流程变化性分为4种,可简单归纳为一对一,一对多,多对一和多对多,具体如下 类型一、单个构件依赖其他的单个构件,这种流程是最直接的,不存在变化性; 类型二、后继多个构件的执行依赖于单个构件的接口,这里从一转多的流程里可以存在变化性,分为两种1、后继构件之间互相互斥,体系结构绑定后只能存在一个后续构件, 即变为类别一的连接状态;2、后继构件之间可共存,体系结构绑定后会有至少一个构件作为后续构件,这些构件在执行上可以不分先后并行执行;类型三、多个前续构件的接口被单个后继构件所依赖,跟类别二类似,这里前续构件之间也存在两种可变性,互斥或多选;类型四、多个前续构件的接口被多个后续构件所依赖,这里的变化性分为两组,前续构件为一组,后续构件为一组,这两组的组内再分为互斥和多选两种变化性,跟类别二和类别三类似;以上所述的四种构件连接类型,分别对应下面的体系结构,这些结构也是DPOSPL ADL 所支持和使用的组装结构;对于类型一,可通过直接的构件结构供需连接完成,并不存在变化点; 对于类型二,单个前续构件的接口被后续若干构件所依赖,这些构件封装到一个父构件,其变化性通过父构件的端口来描述,要么互斥要么多选;另外,如果后续的多个构件均被绑定至产品体系结构时,加入一个父构件负责调用这些后续的构件,同时可以在端口的描述里指定这些后续构件是同时调用还是线性调用;对于类型三,与类型二相似,把前续构件封装到一个父构件,父构件负责收集前续构件的运行结果,并返回给依赖接口和该接口的构件;对于类型四, 把前续构件与后续构件分别封装到不同的父构件,并以父构件的端口来描述变化性,父构件之间则直接通过接口连接;其中的父子构件组装原理跟类型二和类型三类似。4.如权利要求1所述的方法,其特征在于,在DPOSPL ADL中引入变量定义和赋值等语法,并规定其语法规则与JavaScript语法相同;DPOSPL ADL对体系结构元素的描述是以对象的形式存在的,遵循JavaScript Object Notation规范,简称JSON规范;该规范是一种轻量级的数据交换格式,易于被人阅读和编写也易于被机器解析和生成;体系结构模型元素的具体描述如下 Component对象代表一个构件的描述,它包含如下属性name:构件的名字,同时也是ADL中对构件的引用名,是必须的属性,该属性为字符串; DPOSPL ADL规范对构件名字的字符没有限制,可以使用中文字符或英文字符,也可以使用标点符号;但考虑到与其他模块的兼容性问题,构件名字推荐只使用英文字符,标点只使用下划线;description 构件说明,可选属性;这一属性是自由的文本,并不要求结构化;构件描述可以是构件功能的说明,也可以是构件的约束,用于帮助各个后续阶段的开发者了解构件行为;interfaces 构件接口列表,类型为接口对象的数组;ports 构件端口列表,类型为端口对象的数组,为可选属性,若构件没有子构件,则此属性应该被忽略;端口的描述实现了构件组装的变化性,是产品线描述的核心所在;components 子构件列表,类型为构件对象的数组,为可选属性,若构件没有子构件,此属性可忽略;这个属性实现了构件的层次组装结构,为变化性提供基础;instanceEntrance 构件实现,类型为构件实现的对象,为可选属性;对于一个构件, 若构件库里已经包含该功能的构件,则可以把这个构件的实现在这里指定,代码生成时会自动绑定到对应的构件级构架入口;mandatory 构件是否强制,类型为布尔型,默认为假;这个属性标示该构件在变化点绑定时的选择强制性,只对没有子构件的构件有效;如果该属性为真,变化绑定时必须把它选上,否则无法通过语义检查;Interface对象是构件接口的描述,它包含三个主要属性provide 生产接口的引用,类型为字符串,必要属性;DPOSPL ADL接口引用跟构件引用类似,规范中没有约束字符串里的字符,但推荐按照常规的程序变量命名规则;requires 当前接口的依赖接口的列表,类型为接口引用的数组,可选属性,若当前接口没有依赖其他接口,这一属性可以忽略,否则,应该把它们指定出来;xModel =XModel描述文档的URI,类型为字符串,可选属性,该属性若不指定,在模型转换成代码的时候会缺失接口的数据模型,这时,后续的开发人员应该另行指定;Port对象是子构件提升接口到父构件作用域,以及描述变化性的元素;它的属性如下promotion:要提升的子构件接口引用,类型为字符串,必要属性;接口可以是生产接口,也可以是依赖接口 ;items 当前端口所涉及的子构件引用列表,类型为构件引用数组,必要属性;所有指定的子构件都必须包含promotion中声称的接口,否则无法通过语义检查;relation items中构件的关系,类型是变化性枚举,必要属性;实际使用时按字符串输入,但必须是以下三种之一 DIRECT,直接映射,即子构件直接不存在变化性,全部都需要提升到父构件;0R,多选映射,即子构件之间可以选择一个或者多个作为提升的构件,在变化绑定时没有被选择的构件和接口将被忽略;X0R,异或映射,即子构件之间只能选其中之一,它们之间互相排斥;同样的,在变化性绑定时没有被选择的构件和接口将被忽略;concurrent 子构件调用顺序,布尔类型;P...

【专利技术属性】
技术研发人员:郑莉许斌吴展威徐骏
申请(专利权)人:清华大学
类型:发明
国别省市:11

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

1