用户名: 密码: 验证码:
模型驱动架构中构件组合的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
为了更好地分析问题域,模型驱动架构为问题域定义了精确的模型。构件作为一种可复用的模型单元,可以通过构件组合得到功能更强的新构件,从而提高其可扩展性。
     CNSP(Communication Net Software Platform,通讯网络软件平台)支持两阶段建模,在模型驱动架构中实现了构件组合。本文首先阐述了研究背景和项目工作;然后说明了与模型和构件相关的概念和技术,提出了将模型驱动架构和构件技术相结合的方法;接着提出了一种构件封装的模型,说明了构件组合的类型,简单阐述了组合实现和构件库管理的相关技术,通过对基于消息的构件组合运算的研究,归纳出了通讯网络领域的模型驱动架构中的构件组合运算以及运算的演化公式,并结合实际提出了组合构件的演化算法;然后论述了CNSP在模型定制和构件组合上的实现方法;最后对文章作了总结。
As the increasing complexity of software, the abstraction of problem isbecoming more and more difficult. In a complex problem domain, themodel constructed by an abstraction from reality and the description of theabstraction will be helpful to design the architecture of software andestablish the direction of development. Developers need to model a complexsystem in order to understand it. Component characterized by itsindependency, encapsulation, reusability and commonality, is a coretechnology to achieve software reusability. When the encapsulatedcomponent is unable to meet its demands, a new component should bedeveloped according to the standard of software development so as to meetthe demands. Component composition is not only a process to redesigncomponents, but also a process to evolve the target software.
     MDA(Model Driven Architecture) solves all kinds of problems aboutmodeling in the traditional development and makes modeling to be the onlykey work. MOF(Meta Object Facility) provides a semantic standards ofmetadata in MDA. QVT(Query/View/Transformation) standard achieve tothe goal of transformation from PSM(Platform Specific Model) toPIM(Platform Independent Model) in MDA. The advantage of component isreusability, which is reused not only in code level but also in design level. Inorder to take the advantages of both, MDA can be used in the whole coursesof design, composition and running. In MDA, component is encapsulatedduring the course of defining model. The composition and distribution ofcomponents are both realized in the modeling phase. The transformation ormapping of a component is implemented in the model transforming phase.This approach not only separates logic and application layers with bottomlayers so as to map them into any open or private platform through MDA, but also enhances the reusability of software development greatly.
     Component can be encapsulated as object classes, class trees, somefunctional modules, software framework, software architecture, documents,design pattern, and so on. In order to achieve the goal of high cohesion andlow coupling, an encapsulated component model is researched andpresented. In the encapsulating phase, component encapsulates computationand local data. At the same time, connector encapsulates data and control.
     Component can be composited with others to construct a newcomponent which owns more functions. What's more, the compositedcomponent can continue compositing until the demand is met. As a result,plenty of components which can be recustomized and reused are constructed.There are so many types of component composition and less unifiedclassification standards that it makes the development of componentcomposition technology greatly hindered. To settle out this problem, it isnecessary to draw on the idea from hardware composition that providesunified interfaces and structures, which means that component compositionand evolution should be done according to functional and non-functionaldemands. The functional matching problem should be resolved whencompositing components, so developers can connect the interfaces of everycomponent by using connectors in the light of software's special objectivesto form a product after testing. Taking advantage of component compositionin MDA, modeling workers can set up a component library to meet all kindsof functional demands and improve the reusability of core module in theprocess of software development.
     In some domains, especially in the domain of communication net,every component communicates with others based on messages. Every kindof component composition based on messages, such as sequential operation,selectional operation, innovational composition, cooperating composition,can be abstracted to be a form of algebraic expression. Then the algebraic expression of condition operation is introduced by the characteristics ofattributes and behaviors of composited component. According to thesededuced formulas about composition operation, component evolution can berealized. Finally, the functional or structural optimization of compositedcomponent can be achieved by these formulas. On one hand, the structure ofcomposited component will be changed after the evolution. On the otherhand, changing the structure can achieve the aim of software evolution.
     CNSP(Communication Net Software Platform) researches a newtechnology to build up an communication net software based on MDA andimplements a development platform to support the technology. CNSP isdeveloped by the technology of component and composition so as to:
     1. Improve the reusability of software.
     2. Speed up the development work, adapt to the quickly constructedsystem of applications and the change of demands immediately.
     3. Make for the accumulation of domain knowledge and model reuse.Based on classification, transformation and reuse about model, CNSPintroduces a two-level development architecture. The modeling work isdivided into two stages, namely, metamodeling and modeling. Aftermodeling, the constructed model should measure up MOF semantic andshould be stored as blocks in the database. As a kind of independent modelunit, MOF component will be easily integrated into MDA system because ofits accordance with MDA. JGraph component is a type of GUI componentsand can be well applied to the modeling interface. System defines a numberof connectors to encapsulate the control and data information. In themetamodeling and modeling phases, the software realizes the transformationfrom MOF model to JGraph model by taking advantage of QVT standard inMDA. The specific model in the domain can be constructed by themetamodeling and modeling operations so as to provide a lot of abstractprototypes for software development and component encapsulation.
     Metamodel components and model components are based on messageswhen compositing components. Therefore, sequential operation, selectionaloperation, innovational composition and cooperating composition areavailable. The difference is that additive composition is allowed in modelingphase because of components’hiberarchy assembly. Conditional and serialcomposition can be realized between metamodel components and modelcomponents in order to constrain input and output and drilldown the model.The evolution of some composition operations can satisfy the changingdemands from customers. Adding, deleting and modifying a component canbe contributed to expansion, cutting and changing of the operationexpression. Component evolution from these expressions makes softwareevolution possible. After unit, integration and system testing, thecomposited component can be distributed and put into component library soas to be managed by a standard.
     MDA and component composition technology are both used and someproblems about component composition are researched in CNSP. Amodel ofencapsulated component is presented firstly. Then component compositionis abstracted to be an algebraic expression. At last, an evolution arithmetic isdescribed to component composition in order to evolve components, evensoftware. Component composition in MDA has already embodied itsadvantage through the application and implementation of CNSP.
     As component composition and MDA are widely used by softwaredevelopers, component composition in MDA will get more popular bymodeling and its software developers. Component composition will becomea vital role to the development process based on MDA.
引文
[1] 刘丽敏. 基于软件构件的信息管理系统平台的设计与实现[D]. 长沙: 中南大学, 2003: 1-13.
    [2] Wang Xuelong. Object-Oriented Analysis Based on Unified ModelingLanguage and Its Application[J]. Journal of Xi’an PetroleumInstitute(Natural Science Edition), 2003, 18(5): 93-96.
    [3] David S Frankel. Model Driven Architecture: Applying MDA toEnterprise Computing[M]. American:Material, 2003: 9-127.
    [4] Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified ModelingLanguage User Guide[M]. AddisonWesley Longman, Inc. 1999:1-58.
    [5] Anneke Kleppe, JosWarmer,Wim Bast. MDA Explained: The ModelDriven Architecture: Practice and Promise[M]. AddisonWesleyLongman, Inc. 2003: 10-15.
    [6] Rima Patel Sriganest, Gerald Brose, Micah Sliverman. MasteringEnterprise JavaBeans 3.0[M].Wiley Publishing, Inc. 2006: 35-137.
    [7] Jung Georg, Hatcliff John. A Correlation Framework for the CORBAComponent Model[J]. International Journal on Software Tools forTechnology Transfer, 2007, 9(5-6): 417-427.
    [8] 奚和平. 基于构件的软件测试模型及方法[J]. 解放军理工大学学报, 2006, 7(3): 236-240.
    [9] 郭国平. 基于构件的开发平台研究[M]. 西安电子科技大学出版社,2006: 23-159.
    [10] Yang Xiaofeng, Zhang Zhihong, Zhou Qinglei,Wang Shiqing.Analysis on Object Management Architecture of OMG [J].Zhengzhou Daxue Xuebao, 1999, 31(2): 17-21.
    [11] Liu Jia. Introduction to Metadata[M]. Huayi Press, 2002: 1-38.
    [12] Object Management Group. Meta-Object Facility(MOF)[EB/OL].http://www.omg.org/technology/documents/formal/mof.htm, 1-167.
    [13] QVT-Merge Group. Revised submission for MOF 2.0 Query/View/Transformation RFP[EB/OL]. http://www.omg.org/docs/ad, 1-37.
    [14] 杨金翠, 袁玉宇. 基于构件技术的软件开发模式研究[J]. 软件工程与标准化, 2007, 10: 33-36.
    [15] 应时, 周顺, 朱春艳. 基于构件库及构件组合的软件重用[J]. 计算机工程, 1998, 24(11): 19-22.
    [16] Goering Richard. Cobra strikes to reshape IC design flow[J].Electronic Engineering Times, 2005, 1357: 32-44.
    [17] Sun Microsystems. Java 2 Enterprise Edition PlatformWhitePapers[EB/OL]. http://java.sun.com/j2ee/white/index.html, 1-68.
    [18] 邓雄, 常创业, 吴际, 金茂忠, 刘超. 模型驱动的EJB 构件测试建模研究[J]. 电子学报, 2006, 34(12A): 2467-2472.
    [19] Hisham M Haddad. Integrated collections:Approach to SoftwareComponent Reuse[J]. Proceedings of the Third InternationalConference on Information Technology, 2006: 28-33.
    [20] Lau Kung-Kiu,Wang Zheng. Software component models[J]. IEEETransactions on Software Engineering, 2007, 33(10): 709-724.
    [21] 吴柯. 一种基于构件的软件工程模型[J]. 实践与经验, 2007, 261:134-135.
    [22] Gao Jianfeng, Lin Chin-Yew. Introduction to the Special Issue onStatistical Language Modeling[J]. ACM Transactions on AsianLanguage Information Processing, 2004, 3(2): 87-93.
    [23] Loecher Sten, Ocke Stefan. AMetamodel-based OCL-compiler forUML and MOF[J]. Electronic Notes in Theoretical ComputerScience, 2004, 102(1): 43-61.
    [24] ZhangWei, Mei Hong, et al. Transformation from CIM to PIM: AFeature-Oriented Component-Based Approach[J]. In Proceedings ofMoDELS, 2005: 248-263.
    [25] 黄柳青, 王满江. 构件中国-面向构件的方法与实践[M]. 北京:清华大学出版社, 2006: 76-137.
    [26] Kung-Kiu Lau, Faris M Taweel. Towards Encapsulating Data inComponent-Based Software Systems[J]. CBSE 2006, LNCS 4063:376–384.
    [27] 费玉奎, 王志坚, 艾萍. 构件交互模型与组合适配方法研究[J].计算机工程与应用, 2004, 20: 89-91.
    [28] 张友生. 构件运算与软件演化研究[J]. 计算机应用. 2004, 24(4):20-22.
    [29] 任洪敏, 钱乐秋. 构件组装及其形式化推导研究[J]. 软件学报,2003, 14(6): 1066-1074.
    [30] Hu Qimin, Xue Jinyun. Solving Path Problems with ComponentCompositon[J]. Computer Science, 2006, 33(8): 97-98.
    [31] 潘颖, 赵俊峰, 谢冰. 构件库技术的研究与发展[J]. 计算机科学,2003, 30(5): 90-93.
    [32] 廖渊, 唐磊, 李明树. 一种基于QoS 的服务构件组合方法[J]. 计算机学报, 2005, 28(4): 627-634.
    [33] 黄万艮, 陈松乔. 基于消息的构件组合运算与构件演化[J]. 小型微型计算机系统, 2007, 28(7): 1216-1220.
    [34] Jiang Guo, Liao Yue-hong, Jeff Gray, Barrett Bryant. UsingConnectors to Integrate Software Components [J]. Proceedings ofthe 12th IEEE International Conference and Workshops on theEngineering of Computer-Based Systems, 2005: 11-18.
    [35] 刘静, 何积丰, 缪淮扣. 模型驱动架构中模型构造与集成策略[J].软件学报, 2007, 17(6): 1411-1422.
    [36] D'Ambrogio Andrea,Iazeolla Giuseppe.Metadata-Driven Design ofIntegrated Environments for Software Performance Validation[J].Journal of Systems and Software,2005,76(2):127-146.
    [37] 王学斌, 王怀民, 吴泉源. 一种模型转换的编织框架. 软件学报,2006, 17(6): 1423-1435.
    [38] Object Management Group. JGraph-Paper[DB/OL].http://www.jgraph.com/doc/jgraph, 1-52.
    [39] Paige Richard, Kolovos Dimitrios, Polack Fiona. An ActionSemantics for MOF 2.0[J]. The 21st Annual ACM Symposium onApplied Computing-Proceedings of the 2006 ACM Symposium onApplied Computing, 2006: 1304-1305.
    [40] Fink Torsten, Koch Manuel, Pauls Karl. AMDAApproach to AccessControl Specifications Using MOF and UML profiles[J]. ElectronicNotes in Theoretical Computer Science, 2006, 142: 161-179.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700