【技术实现步骤摘要】
本专利技术涉及软件工程领域,特别是涉及一种面向数据处理领域的体系结构描述语言和建模工具。
技术介绍
当前软件复用的热门方法是领域工程方法,“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。领域工程通过对领域中若干成员系统的需求分析的基础上,识别应用系统的共性和可变特,获取一组具有足够可复用性的领域需求,并对其进行抽象,形成领域分析模型(domain analysis model),依据领域分析模型产生出领域中一类应用系统共同具有的体系结构,即特定领域的软件体系结构(domain specific software architecture,简称DSSA),并以此为基础,识别、开发和组织可复用构件。这样,当开发同一领域中的新应用时,可以根据领域分析模型,确定新应用的需求规约,根据特定领域的软件体系结构形成新应用的设计,并以此为基础选择可复用构件进行组装,从而形成新系统。数据处理(Data Processing)是对数据的采集、变换、加工、存储、检索,其基本目的是从大量的、杂乱无章的或是难以理解的数据中抽取并推导出有价值、有意义的信息。数据处理贯穿于社会生产和社会生活的各个领域。数据处理离不开软件和保密技术的支持, 这些都需要通过数据处理软件来实现。如测绘制图管理软件、仓库管理软件、财会管理软件、交通运输管理软件,技术情报管理软件、办公室自动化系统等。在地理数据方面既有大量自然环境数据(土地、水、气候、生物等各类资源数据),也有大量社会经济数据(人口、交通、工农业等),这些数据采集后都需要进行综合性数据处理。故发展数据处理软件,充分利用数 ...
【技术保护点】
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...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。