用户名: 密码: 验证码:
基于模型驱动的电信领域元建模工具的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着软件工程理论的发展,软件开发过程中产生的复杂性、易变性等问题跃然纸面。如何为软件的产业化提供技术支持成为软件工程研究的当务之急。由此对象管理组织OMG推出了模型驱动架构MDA。元建模理论是MDA众多技术规范中的基础理论之一,元建模技术的研究已经成为软件开发者关注的热点。
     本文首先从对MDA整体框架介绍和元建模理论的研究入手,通过对支持元建模相关标准规范的学习和分析,建立了一套完整的基于MDA思想的元建模方法。然后在该元建模方法的指导下,针对电信这样一个特定领域提出了领域元模型的建立和转换法则。最后本文依据元建模方法需要完成的功能对元建模工具进行设计和实现,并对整个工具的开发过程进行了深刻的总结,指出存在的不足和今后研究的方向。
     作为通讯网络软件开发平台——CNSP(Communication Net Software Platform)的模型工具子系统,应用元建模工具可以创建电信领域信息知识丰富的元模型,同时提供元模型之间的相互转换,并为下一阶段的模型可执行奠定基础。实践证明,应用元建模工具为电信领域的网络管理提供了有效的方法和手段,在一定程度上说明了MDA理论的优越性。
The rapid development of information age came with the appearance of VLSI. Computer technology has penetrated into every filed of life simultaneously. And software is gradually becoming the“nerve center”of global economy. However, the traditional software development patterns are increasingly difficult to cope with the serious problems of complexity, diversity and variability in the process of software development. Moreover, excellent software products are not adequate to compare with constantly renewed hardware implementation techniques. The methodology of Object-oriented Programming (OOP) only mitigates the software crisis in a certain extent rather than solve it completely. Therefore, current researches focus on how to develop software of good extensible performance with effective patterns. And then Model Driven Architecture (MDA) which is proposed by Object Management Group (OMG), the largest organization of software industry standard around the world, comes into being.
     MDA is a new specification for using modeling architecture in software development. Notably, it is a new approach to alleviate pressure facing the software industry. Thereby, some essential techniques and criteria are introduced in order to prepare for the industrialization of software in MDA. The aim of MDA is to insulate business requirements of system from concrete implementation techniques. And during the development process, a series of system models that belong to different abstraction levels are produced. These models are divided into two categories; namely, Platform Independent Model (PIM) and Platform Specific Model (PSM). The former concentrates on business logic regardless of platform-related details. In addition, fully-specified PIM can enable intellectualized transformation which enhances interoperability of system. The key of MDA is that model plays a very important role in software development lifecycle. The whole development process is driven by the behavior of modeling. Through raising abstraction level of development, MDA makes the abstract model not influenced by specific implementations, which thereby increases the extensibility, portability and maintainability of software, as well as improves efficiency of development and prolongs software life cycle.
     Meta-modeling theory is the cornerstone of MDA framework. In the theory, model is formal specification about the structure, function, behavior and performance of system. And meta-model is model of a model that captures its essential properties and features. Hence MDA is based on the concept of model which depends on meta-model. Clearly, there is a close relationship between model and meta-model. Compared to traditional modeling method, meta-modeling is a higher level modeling approach in more abstract expression way. In a sense, meta-modeling defines a modeling language to achieve the consistency of data and logic, so design issues can be discussed on higher abstraction level. It is more than 10 years since the concept of meta-modeling was introduced into software engineering filed. Since then meta-modeling method, as well as technical standards of meta-modeling, continues to be improved and perfected. Finally, OMG established unified meta-layer; namely, meta-modeling framework. There are four layers from down to top that are M0 layer, M1 layer, M2 layer and M3 layer. From the dialectical viewpoint, every layer is an abstraction of former one, as well as an instance of the latter. There are some core criteria to support meta-modeling theory, such as Meta Object Facility (MOF), Query/Views/Transformations (QVT), Unified Modeling Language (UML), and Object Constraint Language (OCL).
     According to related theories, the process of meta-modeling is as follows: In the beginning, it is necessary to construct a kind of meta-modeling language to describe meta-model accurately, which includes the definitions of its abstract syntax, concrete syntax and semantics. Then, meta-models are created in this language. At last, models are generated through the description of various elements in meta-models. The purpose of meta-modeling is to establish meta-model so as to satisfy the character of special fields, to support the transformation and interoperability among models, and to provide well-defined meta-model for the next stage of modeling. In this way, meta-models, which have the characteristic of higher extensibility and cross-platform, can communicate with other parts of system via the standard mode.
     Currently, with the rapid development of telecommunication technologies, the huge diversity of network devices and the increasing complexity of network topology put the design of network management software in great quandary. It has brought big challenges due to frequent changes of software requirement. To contend with this problem, research addresses both methods and tools to support the changes. Communication Net Software Platform (CNSP) is a network management platform that aims to manage telecom requirement changes based on MDA. As a subsystem of CNSP, meta-modeling tool applies meta-modeling theory to telecom field. As a result, meta-models in a domain specific language that provides a highly specialized set of domain concepts are created, and all kinds of operations and management on meta-models are provided at the same time by using the meta-modeling tool.
     It is well known that well-designed framework is in favor of code reuse and system stability. In order to design an extensible and manageable framework, the architecture of meta-modeling tool is divided into three layers: presentation layer, business logic layer and storage layer. First, presentation layer is used for user interaction whose main functionality contains building, modifying, deleting and other operations on meta-model. There are three modules in this layer: Navigator View, Editor View and Manager View. Second, business layer is used to deploy Enterprise Java Bean Component. Component and service can, of course, be dynamically deployed at runtime. It is an interface between presentation and storage layer. Third, storage layer is used to save meta-model information in a distributed environment. On the one hand, meta-modeling tool can be installed on clients in different area for cooperative work. On the other hand, database and application server are installed on center server for centralized management. Besides, this layer also involves the persistence of xKL information (the textual syntax of meta-model transformed by diagrammatic syntax).
     By and large, it is profound significant to research how to establish meta-model with rich information and static and dynamic semantics. Applying aforementioned meta-modeling theory to the large-scaled and sophisticated telecom field, abstractions and related concepts are distilled from various network management requirements. And then the system is represented in a unified and meaningful way, which enhances the interoperability and generality among subsystems, as well as decreases the amount of information isolated islands. Practice has proved that applying meta-modeling tool to telecom field is an effective means to support network management, which shows the superiority of MDA in certain degree.
引文
[1] Anneke Kleppe, Jos Warmer, Wim Bast. MDA Explained The Practice and Promise of The Model Driven Architecture. Pearson Education Asia Limited and Posts & Telecommunications Press, 2003.
    [2] Frankel, David. Model Driven Architecture: Applying MDA to Enterprise Computing. New York: John Wiley & Sons, 2003.
    [3] 张海藩. 软件工程导论(第三版). 北京: 清华大学出版社, 1998: p23~45.
    [4] OMG. MOF Meta Object Facility Specification OMG Document 2003-05-02. http://www.omg.org/uml.
    [5] 兰庆国. 可执行元模型关键技术研究(博士学位论文). 吉林大学, 2006.4: p13~25, p31~65.
    [6] Anneke Kleppe, Jos Warmer, Wim Bast著, 鲍志云译. 解析MDA, 北京: 人民邮电出版社, 2003.
    [7] Joaquin Miller. Model Driven Architecture (MDA), Document numberormsc/2001-07-01, Architecture Board ORMSC1.
    [8] OMG MDA FastStart Program Office. FastStart Program. OMG, 2001.
    [9] Jishnu Mukerji, Joaquin Miller. Overview and Guide to OMG’s Architecture. OMG Document, 2005.9: p27~36.
    [10] Unified Modeling Language 2.0: Superstructure. OMG, 2003: p34~48.
    [11] OMG. CWM1.1 Specification, 2001.5.
    [12] C. Atkinson, T. Kuhne. The role of meta-modeling in MDA. UML 2002 Workshop on Software Model Engineering, 2002.
    [13] OMG, QVT Query/Views/Transformations RFP, OMG Document ad/02-04-10, revised on April 24, 202. http://www.omg.org/cgi-bin/doc?ad/2002-4-10.
    [14] Zhang Wei, Mei Hong, et al. Transformation from CIM to PIM: Afeature-oriented component-based approach. 8th International Conference on Model Driven Engineering Languages System, 2005.
    [15] Alcatel, Softeam, Thales, TNI-Valiosys. Response to MOF2.0 Query/Views/Transformations RFP. Revised Submission. Codagen Technologies Corp, August 18, 2003: p11~25.
    [16] OMG/XMI, XML Metadata Interchange Specification 2.1, OMG Document: formal/2005-09-01, 2005.
    [17] G. Booch. An MDA Manifestor. The MDA Journal. Meghan-Kiffer Press, 2004: p98~120.
    [18] D. Riehle, S. Fraleigh, D. Bucka-Lassen, N. Omorogbe. The architecture of a UML virtual machine. OOPSLA 2001: p327~341.
    [19] David Akehurst. Model Translation: A UML-based Specification Technique and Active Implementation Approach. 2000.
    [20] OMG. Unified Modeling Language: OCL, version 2.0, 2003.8.
    [21] Jos Warmer, Anneke Kleppe. Object Constraint Language: The Getting Your Models Ready for MDA, Second Edition, Addison Wesley, 2003.8: p311~345.
    [22] John D. Poole. Model-Driven Architecture: Vision, Standards And Emerging Technologies. Position Paper Submitted to ECOOP 2001.
    [23] Atkinson, C. The Role of Metamodeling in MDA. Fraunhofer Institute for Experimental Software Engineering, 1st International Enterprise Distributed Object Computing Conference(EDOC ‘97). Australia, 1997.
    [24] Engels, G. Heckel, R. “From Trees to Graphs: Defining the Semantics of Diagram Languages with Graph Transformation”. ICALP Satellite Workshops, Proceeding in Informatics, 2000: p373~382.
    [25] Rumpe, B. “A Note on Semantics(with an Emphasis on UML)”; Second ECOOP Workshop on Precise Behavioral Semantics(with an Emphasis on OO Business Specifications), 1998.
    [26] 张伟, 梅宏. 一种面向特征的领域模型及其建模过程. 软件学报, 2003, Vo 1.14, No.8.
    [27] Horstmann, C. S. Cornell, G. Core Java 2 Volume Ⅰ: Fundamentals Prentice Hall PTR. 2006.
    [28] Eclipse Rich Client Platform: Designing, Coding, and Packaging JavaTM Applications, Addison-Wesley Professional, 2005: p65~225.
    [29] Burke, B. Monson-Haefel, R. Enterprise JavaBeans3.0: 5th Edition O’REILLY, 2007.5.

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

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

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