您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页支持柔性机制的元数据驱动模型的研究与应用

支持柔性机制的元数据驱动模型的研究与应用

来源:爱go旅游网
维普资讯 http://www.cqvip.com 2OO2年6月 西安电 科技大学学报(自然科学版) Jun.2002 第29卷第3期 JOU] AL 0F XI】= AN I I、砸RSnY Vn1.29 No.3 支持柔性机制的元数据驱动模型的研究与应用 李青山,陈 平,褚 华 (西安电子科技大学软件工程研究所,陕西西安710071) 摘要:以软件体系结构为中心的构件化软件开发方法保证了大型复杂系统构造的稳定性,而稳定框架 支撑下的柔性支持力度是维持一个软件系统生命力和活力的关键.通过对元数据驱动模型控制原理的 分析,讨论了基于元数据的流程图控制方法对层次化体系架构中各个层次行为控制的柔性机制支持.给 出了iCM_L ̄系统中基于该元数据驱动机制提供应用支撑层柔性支持的一种元数据标记规则和该规则 映射下的具体元数据表示示例. 关键词:元数据;元数据驱动;柔性;流程图控制 中图分类号:TP311 文献标识码:A 文章编号:1001.240O(2002)03.0319-05 Research on and the application of the metadata-driven model supporting flexibility /2 Qing-shan,CHEN Ping,CHU Hua (Research Inst.ofSoftware Engineering,Xidian Univ.,Xi all 7112071,China) Abd act: While architecture-centered and component-based s0fb一『are development methodology etlsUl" ̄,teh stabihty for constructing large complex systems,the flexibility degree supported by the stable framework is critic.,d to maintaining the vitality of such systems.Based on the analysis of the principles of the metadata-driven n ̄del,this paper discusses in detail the flexibility mechanism supportde by the metadata-based folwchart control approach for tl1e multi-layer behavior diversiifcation control of layered architectures.Finally,a set of metadata tag rules for the supportign hvd fo ysstesm and all appropriate sample metadata ifle are established based on this princilpe. Key Words: metadata;metadata-driyen;flexibility;flowchart control 软件开发方法经历r面向任务(task—oriented)、面向流程(process—oriented)、面向对象(object-oriented)和逐 渐成熟的构件化(c ent-based)开发模型和技术等几个阶段….面向任务的软件架构无法促进流程的顺 畅,而面向流程的软件开发方法无法提供足够柔性支持快速的流程变迁及产品组装,对象和构件化的软件,r 发模型正是可以为复杂软件系统的构造提供强有力的稳定性和柔性的支持[2I. 从架构角度提供系统开发柔性机制的支持,一般采用层次化的软件系统架构. 基于图1的分层理念,可以明确蓖1j分系统中各种成分的职能,统一系统中各种成分 』、 用 之间的接口,进而提供系统的可扩充性、可维护性和可移植性.在系统实现过程中, 应用支撑 应用层中新的业务逻辑的扩充、由于应用层上新的应用开发提出应用支撑层的扩 系统结构 充和维护以及由于系统规模的扩充而引起的系统软件体系结构层的扩充等都对系 升发系统’ 台 统实现一级的柔性支持提出 很高的要求.元数据模型及相应数据驱动技术为系 统稳定基础上的柔性机制提供了强有力的支持. 图J 软件系统架构 在对各类程序模块进行分析后可以发现,存在着许多程序片断十分相似的现象,它们之间的区别 处删 对象的数据结构无关,处理流程要么一致,要么可以分成确定的类型.这时,可以对这样的程 片断进行抽 收稿日期:2001-06.31 基金项目:国家部委预研基金资助项H(6214) 作者简介:李青【ll(1973.)、男,泔师,西岔电了科技人学博j:研究埠 }誊 鞲 维普资讯 http://www.cqvip.com 320 西安电子科技大学学报(自然科学版) 第29卷 象,保留其相同的部分,将有区别的部分表示成特定结构的数据,以及可以通过这些描述数据的数据(元数 据)的不同值产生不同行为的一段程序.这样,在程序的不同位置配置不同值的元数据,就可以得到与原来等 价的程序行为.程序的流程逻辑和动态行为用数据来描述和控制,一方面可以为支持重用机制并且提供特定 服务的构件提供对外行为表现的柔性支持,也为实现程序控制的工具开发提供了数据模型支持. 1元数据驱动模型 1.1几个基本概念 为r更好地理解元数据驱动模型和相关机制的控制原理,首先明确以下几个基本概念. (】)元数据(Metadata) 当数据在程序中不是被加工的对象,而是被用来对程序的运行起控制作 ,并H 可以通过值的改变而改变程序的行为时,这样的数据称为元数据 3.元数据既是程序行为的一种抽象,又是 高于语言自身数据类型和用户自定义数据类型的一种数据抽象.基于这种抽象,元数据仅在系统扩充维护时 可能发生修改,相对稳定.元数据一般静态存储,仅在运行中以解释方式控制程序行为,影响程序动态行为, 与编译无关l4 J.程序元数据一般用文本文件来描述. ㈦2数据驱动(Data-driven) 基于元数据进行程序设计和行为控制,称为数据驱动. (3)目标逻辑(Target togi ̄)根据特定目标规则,用实现特定功能单元的结点和表示结点行为关系的边 形成的特定工作流程来表述并实现_『功能目标,称为目标逻辑. 4)流程图(Flowchart) 表示特定目标逻辑的有向图,其结点表示特定的服务处理功能,边表示服务处州 功能之『H】的关系.在元数据驱动模型中,流程图用元数据表示,由特定的构件加载,并根据其表现的目标逻辑 来控制其他相关构件的运行. 1.2元数据驱动的控制原理 特定目标逻辑的实现中常见的策略是用程序中的控制流直接来体现.但是,当系统发生必要的扩充时, 就必须修改程序.这样,既带来r新的程序开发要求,又可能因程序本身的修改与扩充而导致系统可靠性与 稳定性的降低,还不利于引入应用开发的工具支持.元数据驱动控制的核心思路是将功能相对稳定的町以在 实现一层被重用的功能模块用程序的行为控制流来封装,而表现不同目标逻辑的功能模块之间的不同关联 关系用数据来描述.这样,对请求服务方提供服务的目标逻辑的行为就可以用数据来表达和控制,数据的变 化就会引起行为的一定流程控制范围内的改变.基于这种思路,目标逻辑的稳定部分和可变部分可以明确分 开,对叮变的表现逻辑流程的部分完全用数据来描述,提高了行为控制的可操纵性. 鉴于元数据模型的行为实现中,目标逻辑划分成两个部分,一部分是经过抽象后由不同的单元构成的集 合,每个单元的内部有卜分密切的逻辑关系,而且将来发生部分改动或扩充的可能性较小,这样的 儿称为 结点;另t一部分是由结点之间逻辑关系构成的集合,这一部分将来发生改动或扩充的可能性较人,这样的火 系称为边.用不同种类的基础构件来实现不同种类的结点,结点内部的逻辑用程序中的控制流体现.川,厄数 据来表永结点标识及其问的关系。进而映射成结点之间的关系.这样一组元数据完全代表r一个具体的流 图.根据口标系统的特定领域软件体系结构约束规则,用特定的流程图控制构件来加载流程图,在外部激发 下找到对应的流程图,从其入口启动其起始结点运行,再根据其运行结果对图中的边进行解释,确定要执 的结点标识,然后激活下一结点运行,递归控制,直至到达该流程图规定的一个合法出口为止.元数据驱动的 控制过程 图2 汞用以L的功能模块与模块关系之间的划分思路,一个具体的流程图一般对应一个冗数据文件. 达・ 个具体的}_{标逻辑.这个目标的最终行为的产生是3个因素综合的结果.首先是实现功能行为的结, 语义, 其次足冗数据文件描述的对应特定流程图的所有可能执行路径,最后是一次执行过程中的动态加载的各种 及映 境关系的控制参数.后两个因素都对目标逻辑的行为控制提供了柔性支持.图3进一步给出r冗数据 驱动摸型控制下的基} 流群圈的行为控制方式.其中NID代表结点标识. 1.3元数据驱动模型对柔性机制的支持 次化的软f1:体系结沟中,麟 t:元数据驱动模型的程序行为控制方式可以提供以下J乙个方面的 十ri.之 维普资讯 http://www.cqvip.com 第3期 李青山等:支持柔性机制的元教据驱动模型的研究与应用 321 程序实现…. … :目标系统 /\ 关联 登蔓 — 动 、、1I 规则l 元数据 I 文件表示 图2元数据驱动的控制原理 持. (1)应用层中的新的应用逻辑的扩充新的 应用逻辑的扩充包括两个方面,一种是新的逻 辑并不扩充新的结点功能,仅仅是一种新的结 流程图 控制构件 点流程,这时只要根据应用逻辑关系按照给定 —丁 的元数据定义规则给出反映应用流程处理规则 其他结点构件 的流程图对应的元数文件即可;另一种要扩充 新的结点,在给出结点功能的程序实现后,应用 流程逻辑仍然用元数据描述和控制. ㈤2应用层上新的应用逻辑扩充可能导致的新的应用支撑逻辑的扩充 由于应用支撑逻辑反映的足特 一一~一一~一一~ 图3基于流程图的行为控帘l 定域的体系结构特征,功能的变化很小,一般只是新的支撑流程关系的扩充,新的元数据的加载就可以支持 支撑层的扩充或维护. (==;)实现行为和数据封装的构件的柔性也由元数据来控制 构件是对象和构件化大型软件系统 的 本行为封装单元,构件的控制流受特定的元数据制约,改变元数据可以改变构件的行为,对请求服务力‘提供 柔性支持.一  / 同时,由f元数据也是数据,可以通过操作元数据,就能在不改变程序体的情况下修改和扩充程序.从I 可以更有效地设计和实现完成行为控制的工具. 2元数据驱动技术在iCALL系统中的应用 iCAIL‘系统是笔暂内主开发的一个客户服务中心平台产品,该系统在人工流程__二次开发、fLl功 流 稗自动生成 f、应用支撑层的逻辑实现、数据网关与多种外部系统接口等许多方 明到r元数据驱动技术. 这种数据驱动机制为该系统的易于使用、易于扩充和维护、扩充后的稳定可靠提供厂强符力的秉性支拍.. l 以 A LIJ 系统中应用支撑流程的元数据控制为示例,给出元数据定义规则和语青呼人流程的t数 据表示,说吲元数据驱动模型的控制机制. 一个啦用支撑流程是埘于一个应用层的请求,应用支撑平台进行的应用支撑层限务动作的组台. 脱 r特定的、异步执行的一组应用支撑操作.应用支撑流程标识是全局惟一的标识,表 特定的心朋支撑 . 元数据文法格式: M rADA r』~F【LE:::FILE HEAD<CR>FIj0WCHART FIU HEAD::=MAX ITEMS;S1NGLE MARK;FIELD SEPARA rDR; FIDWCHART:::<I ><CR>NODE I1):OBJ ID;OPERATOR ID;l<CR>i ARGUMENT NUM: ARGUMENT LIST;<CR><L><CR>CHAR"r FlE1I)S: <CR><R><CR><R><CR> (:}扒R3’FIELDS::=CHART FIELDl<CR>CHART FIELD l (.HART FIEIJ)::=COND[TION ID;NEXT NODE 维普资讯 http://www.cqvip.com 322 西安电子科技大学学报(自然科学版) 第29卷 元数据标记规则: (1)MAX ITEMS为大于0的整数,表示该文件中最大可能的结点数,一般大于实际数量,以便留下扩充余 地. (2)SINGLE MARK为‘S’或‘M’,分别表示结点集合中每行表示一个结点还是多个结点. (3)FIELD SEPARATOR是当SINGLE—AMRK为‘M’时,在结点之间的分隔符. (4)FLOWCHART是该文件的主体,表示一个应用支撑流程. (5)NODE ID为大于0的整数,表示该结点全局惟一的结点标识;在同一流程中,规定结点标识为l的为 起始结点. (6)OBJ ID 0 为大于 的整数,表示该结点对应的应用支撑结点对象的对象标识.(7)OPERATOR ID为大于0的整数,表示该结点所对应的应用支撑结点对象中的方法的标识;应用支撑 结点对象包含若干具有某种相似特征的特定的应用支撑结点,这些结点对应于应用支撑结点对象中的方法. (8)ARGUMENTNUM为大于0的整数,表示该结点所需的参数的个数. (9)ARGUMENT_LIST为一个串,列举该结点所有的参数,中间用‘;’分隔;ARGUMENT—NUM为0,表示没 有参数,ARUMENT_LIST不存在. Of9 CHART_FIELDS表示该结点的动作完成后,所有后续动作的集合. ⑩CONDITION—ID表示该结点的动作发生后,所产生的结果的标识. ⑥NEXT NODE为大于0的整数,表示该结点之后的下一个结点的标识. ⑩任何以#开头的一行,都是注释行. 以下的语音呼人流程元数据控制示例中,目标逻辑动态行为实现过程中的每一步流程选择是根据上一・ 步功能结点的动态执行结果数据直接确定,而iCAIJ 系统中人工流程二次开发支持中元数据控制的流程选 择逻辑可以在反映业务规则的功能结点内动态确定.因此,基于同样的流程图控制机制,具体元数据格式定 义及控制方式可以根据具体环境的特点灵活设置. 清单1应用支撑流程中语音呼人元数据文件 128;M;1. #接左边部分,形成一个串行文件 {#start node { 1;0;0;0 8;1007;261;0 { { 0;4 0;9I一1;9 } } } } {#search agt {#reflect line 4;1007;209;0 9;1006;216;0 { { 0;6l一1;10 0;11 l一1;11 } } } i J {#calilin ring {#play agent number 5;1001;212;3;2;0;20 12;1001;100;0 { { 0;6l一1;6l 1;5 0;1 1 l一1;1 1 l 1;12 } l }  }j } {#1,accept;0,refuse;一1,message error {#notify agent 6;10l 1;228;0 11;1011;245;0 维普资讯 http://www.cqvip.com 第3期 李青山等:支持柔性机制的元数据驱动模型的研究与应用 323 { { 一2003;7I一2002;1 I 1;8I一1;10 11;1011;245;O } } } } {#find another agent {#hang up 7;1007;252;0 10;一1;235;O { { 0;6I一1;10 } } } } 3结束语 元数据驱动模型的理念是用数据表示行为,把软件系统中对行为的控制转化为对数据的控制.系统的不 断维护和进化需求使得行为可变性和可控性是不可避免的,由于数据可控制性比程序代码可控性要高得多, 所以元数据驱动模型支持下的柔性机制为整个系统的可扩充性、可维护性以及扩充后的稳定性和可靠性提 供r良好的实现一级的支持.元数据驱动模型在软件系统构造过程中更高抽象层次上的应用研究是下一步 的工作. 参考文献: [1]郭健强,龚杰民.构件软件与面向对象技术[J].西安电子科技大学学报,1998,25(6):719—724. [2]Jo|mson E.Frameworks:(Components+Patterns)[J].Communications 0f the ACM,1997,40(1):39—42. 【3j Gordon S N.Software Reuse by Specialization 0fGenetic Procedures t}l Views[J].IEEE Tram on Software Engineering,1997,23 (7):628.641. [4]郑有才,蔡希尧.元数据驱动的可通用通信软件的设计[J].西安电子科技大学学报,1998,25(6):778.781. [5]杜军朝.基于特定域支撑逻辑的可视化开发技术[D].西安:西安电子科技大学,2000. (编辑:李维东) 上接第313_贞) [2]Blundo C,Cresti A.Space Requirements for Broadcast Eneryption[A].Advances in Cryptology-EUROCRYFI"94[C].Berlin: Springer-Vedag,1995.287—298. 【3]Abdalla M,Shavitt Y,Wool A.Key Marm ̄ment for Restricted Mulifeast Using Broadcast Encryptino[J].IEEE/ACM Trans Netw, 20OO,8(4):443454. 【4j Stinson D R.Cryptography Theory and Practice[MJ.Boca Ratno:CRC Press,Inc,1995. [5]BiotaR.Anopti ̄lClass 0fSyrmnetricKeyGeneraiton Systerm[A].AdvancesinCry ̄olagy.EUROCRYPr'84[C].Berlin:Springer- vexing,1985.335-338. [6]Beimel A,Chor B.Commnieation in Key Distribution Scl ̄raes[J].IEEE Tram on Information Theory,1996,42(I):19—28. [7]Fiat A,Naor M.Broadcast Eneryptino[A].Advances in Cryptology-CRYFID'93[C].Berlin:Springer-Verlag,1994.480-491. [8] Blundo C,Mattos LA F,StinsonDR.GeneralizedBeimel-Chor SchemesforBroadcast EnerypfionandInteractiveKey1)istifbution[J . Theoretical Computer Science,1998,200(1-2):313.334. L9] Stin ̄on D R.On Some Methods for Unconditionally Secure Key Distributino and Broadcast Encrypfion[J .Designs,t tx and Cryptography,1997,12(3):215・243. [10]St ̄nir A.On Generation of Cryptographieally Strong Pseudo-Random Number Sequences[J].ACM Tram Contput Sys,1983,I(I): 38—44. (编辑:郭 华) 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务