首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 265 毫秒
1.
元建模技术研究进展   总被引:15,自引:1,他引:14  
刘辉  麻志毅  邵维忠 《软件学报》2008,19(6):1317-1327
随着UML(unified modeling language)与MDA(model driven architecture)的兴起和流行,模型已经成为软件开发的核心制品,而模型重要性的提升使得建模语言以及定义建模语言的元模型逐渐成为软件开发中的一个核心要素.软件开发往往涉及多个领域,而不同的领域往往需要不同的建模语言及其建模工具.但是,手工地为不同的建模语言开发建模工具代价高昂.元建模技术是解决这个问题的方法之一,通过元建模,可以根据领域需要定制合适的元模型以定义领域建模语言,进而自动生成支持该建模语言的建模工具.大量的工程实践表明,与领域建模以及MDA相结合,元建模可以大幅度地提高软件开发效率,基于元建模的MDA比基于通用建模语言的MDA更具潜力.在最近的几年中,元建模及其相关技术发展迅猛,不但在技术上取得了长足的进步,而且在产业界也开始出现大规模的商业应用.总结了元建模的现有研究成果,分析和比较了现有元建模工具,探讨了元建模的可能发展方向.对元建模中存在的问题进行分析,并指出了可能的解决途径.  相似文献   

2.
随着模型驱动体系结构的理论和技术的不断发展,模型已成为软件开发的核心元素。因此,支持模型驱动体系结构的建模语言和建模工具成为研究热点。本文提出一种支持模型驱动的软件开发的ICES-Modeling建模语言,该语言融合了现有的建模方法的一些思想,可以有效地描述领域内的概念,概念与概念之间的关系。还针对该建模语言,设计并开发了建模工具,该建模工具具有支持建模语言的定义,方便模型的理解,支持多角度建模等特点。  相似文献   

3.
模型驱动架构(MDA)集成了统一建模语言(UML)、元对象机制(MOF)、可扩展标记语言(XML)和基于XML的元数据交换(XMI)等一系列标准,强调模型在软件开发中的重要作用.简要分析了建模与仿真和软件工程领域的若干典型模型开发与运行过程,将仿真系统的开发过程划分为需求工程、分析、设计、实现和试验五个主要阶段;探讨了模型驱动架构(MDA)的概念和技术(包括模型、建模技术、模型变换技术、代码自动生成技术等)在仿真系统开发各个阶段的应用;以交通仿真为例,给出了部分建模与仿真结果,展示了仿真系统开发过程与MDA相结合的可行性,表明了在MDA工具的支持下,MDA概念和技术的应用可以提高仿真系统的开发效率.  相似文献   

4.
一种提高元建模语义完整性的方法   总被引:1,自引:0,他引:1  
元建模发生在模型驱动架构中的元元模型、元模型和模型层中,传统的元建模采用统一建模语言UML描述。但是实践证明,UML无法提供与对象有关的所有信息,缺少描述模型中关于对象的附加约束,而且无法描述不同模型之间的转换。针对传统元建模中的语义缺陷,特引入对象约束语言来提高元建模的精确性。文中阐述了如何结合UML和OCL应用于元模型,提高元建模语义完整性,加强元建模的可读性和可执行性,并且使用该方法能够检测出约束冲突。  相似文献   

5.
敏捷模型驱动开发是模型驱动开发的敏捷版,强调构建"足够好"的模型。通过分析敏捷模型驱动开发与UML之间的关系,探讨如何在敏捷建模中应用UML,得出合理利用UML可以提高开发效率的结论。最后,指出在软件开发中,敏捷模型驱动开发与UML共同存在的问题。  相似文献   

6.
介绍了基于模型驱动架构设计的水电仿真软件开发框架,以UML 作为面向对象建模工具,从更高的抽象层次上构建系统,描述和总结了系统的功能组成、模型结构与层次、模型变换及代码生成,避免传统开发的缺陷,使对系统的建模行为成为软件开发的核心。以吉林丰满水电站为用户案例,对系统进行应用测试,实践验证了该方法的通用性、先进性和可靠性,是一种适合实现水电仿真系统等大规模软件开发的新方法。  相似文献   

7.
模型驱动体系结构(MDA)是一种以模型为中心的软件开发框架,其本质是元建模与模型转换。提出了一种基于MDA的实时软件资源建模与模型转换的方法。首先通过元建模抽象出包含资源信息的MARTS元模型以及价格时间自动机的元模型;然后利用模型转换语言ATL对MARTS元模型和价格时间自动机元模型构造转换规则,通过将对应的实例模型进行相互转换,实现在MDA下MAR"I'E模型到价格时间自动机模型的转换;最后通过形式化工具UPPAAL对模型转换结果进行形式化验证。实例分析表明了该方法的可行性与有效性,它能够提高实时软件资源建模的可信性。  相似文献   

8.
MDA环境下可变性元建模方法研究   总被引:1,自引:0,他引:1  
为模型提供可变性支持对于模型驱动软件开发的实践具有重要意义。可变性建模有利于捕捉领域概念及其特征的共性和差异性,为构造应用模型簇提供了一种模型复用的途径。在研究特征建模的可变性机制和MDA标准建模语言对可变性表示不足的基础上,提出了一种可变性元建模方法,构造可变性概要以支持原子、成组等可变性描述,开发了可变性验证和模型转换算法。通过实际项目的验证,该方法为基于可变性建模的模型内容复用提供了有效支持。  相似文献   

9.
为提高软件开发效率,提出模型驱动下的数据库自动生成方法.该方法以MetaEdit+作为元建模工具,由领域专家建立领域元模型和模型,通过生成器定义语言MERL,软件开发人员可以很方便地设计代码生成器,直接从领域专家所建立的图形领域模型生成Java程序代码,并运行已生成的程序代码进而生成数据库.通过一个实例详细介绍了数据库概念模型元模型设计、E-R模型设计并给出从E-R模型到Java代码的生成器设计.经测试,所生成的Java程序代码可以在Windows操作系统环境的Java平台上运行,并能正确生成Oracle 10g数据库实例.  相似文献   

10.
模型驱动架构(MDA)是由对象管理组织(OMG)提出的应用模型技术进行软件开发的方法和标准体系,其核心理念是平台无关模型建模和平台特定模型转换。通过编程实现基于元对象机制2.0(MOF2.0)查询/视图/转换(QVT)标准定义开发的框架,该框架可以将元模型转换为特定N层应用程序类,实现主要程序功能,从而大大提高开发效率。验证了通过编程实现模型驱动转换的灵活性和功能实现的多样性,包括XML文件对模型规范的描述以及生成代码的完整性。  相似文献   

11.
MDA: revenge of the modelers or UML utopia?   总被引:1,自引:0,他引:1  
Thomas  D. 《Software, IEEE》2004,21(3):15-17
Modeling is at the core of many disciplines, but it is especially important in engineering because it facilitates communication and constructs complex things from smaller parts. Model engineering or model-driven development, treats software development as a set of transformations between successive models from requirements to analysis, to design, to implementation, to deployment. We discuss UML and MDA tools for developing software models. We also discuss domain specific languages, domain-oriented programming, platform-specific models and model engineering.  相似文献   

12.
Model differentiation techniques, which provide the capability to identify mappings and differences between models, are essential to many model development and management practices. There has been initial research toward model differentiation applied to Unified Modeling Language (UML) diagrams, but differentiation of domain-specific models has not been explored deeply in the modeling community. Traditional modeling practice using the UML relies on a single fixed general-purpose language (i.e., all UML diagrams conform to a single metamodel). In contrast, Domain-Specific Modeling (DSM) is an emerging model-driven paradigm in which multiple metamodels are used to define various modeling languages that represent the key concepts and abstractions for particular domains. Therefore, domain-specific models may conform to various metamodels, which requires model differentiation algorithms be metamodel-independent and able to apply to multiple domain-specific modeling languages. This paper presents metamodel-independent algorithms and associated tools for detecting mappings and differences between domain-specific models, with facilities for graphical visualization of the detected differences.  相似文献   

13.
The Unified Modeling Language (UML) is becoming the de facto standard for software analysis and design modeling. However, there is still significant resistance to model-driven development in many software organizations because it is perceived to be expensive and not necessarily cost-effective. Hence, it is important to investigate the benefits obtained from modeling. As a first step in this direction, this paper reports on controlled experiments, spanning two locations, that investigate the impact of UML documentation on software maintenance. Results show that, for complex tasks and past a certain learning curve, the availability of UML documentation may result in significant improvements in the functional correctness of changes as well as the quality of their design. However, there does not seem to be any saving of time. For simpler tasks, the time needed to update the UML documentation may be substantial compared with the potential benefits, thus motivating the need for UML tools with better support for software maintenance.  相似文献   

14.
A significant current software engineering problem is the conceptual mismatch between the abstract concept of an association as found in modelling languages such as UML and the lower level expressive facilities available in object-oriented languages such as Java. This paper introduces some code generation patterns that aid the production of Java based implementations from UML models. The work is motivated by a project to construct model driven development tools in support of the construction of embedded systems. This involves the specification and implementation of a number of meta-models (or models of languages). Many current UML oriented tools provide code generation facilities, in particular the generation of object-oriented code from class diagrams. However, many of the more complex aspects of class diagrams, such as qualified associations are not supported. In addition, several concepts introduced in UML version 2.0 are also not supported.The aim of the work presented in this paper is to develop a number of code generation patterns that allow us to support the automatic generation of Java code from UML class diagrams that support these new and complex association concepts. These patterns significantly improve the code generation abilities of UML tools, providing a useful automation facility that bridges the gap between the concept of an association and lower level object-oriented programming languages.  相似文献   

15.
UML可视化建模系统的模型一致性检查机制   总被引:36,自引:0,他引:36  
UML标准建模语言是面向对象技术领域中的重要成果,使用UML解决现实世界中的问题是当前该领域的研究热点。UML集成支持环境既可提高建模的效率,也可在一定程度上保证所建模型间的一致性;通过模拟动态模型的行为,可在建模的早期发一模型中存在的问题;代码生成,逆向变换系统将模型和程序代码有机地统一起来。  相似文献   

16.
ContextSoftware development time has been reduced with new development tools and paradigms, testing must accompany these changes. In order to release software products in a timely manner as well as to minimise the impact of possible errors introduced during maintenance interventions, testing automation has become a central goal. Whilst research has produced significant results in test case generation and tools for test case (re)-execution, one of the most important open problems in testing is the automation of oracle generation. The oracle decides whether the program under test has or has not behaved correctly and then issues a pass/fail verdict. In most cases, writing the oracle is a time-consuming activity that, moreover, is manual in most cases.ObjectiveThis article automates two important steps in the test oracle: obtention of expected output and its comparison with the actual output, using a model-driven approach.MethodThe oracle automation problem is resolved using a model-driven framework, based on OMG standards: UML is used as metamodel and QVT and MOF2Text as transformation languages. The automated testing framework takes the models that describe the system as input, using UML notation and derives from them the test model and then the test code, following a model-driven approach. Test oracle procedures are obtained from a UML state machine.ResultsA complete executable test case at functional test level is obtained, composed of a test procedure with parametrized input test data and expected result automation.ConclusionThe oracle automation is obtained using a model-driven approach, test cases are obtained automatically from UML models. The model-driven testing framework was applied to an industrial application and has been useful to testing automation for the main functionalities in the system.  相似文献   

17.

Model-driven engineering (MDE) promotes the use of models throughout the software development cycle in order to increase abstraction and reduce software complexity. It favors the definition of domain-specific modeling languages (DSMLs) thanks to frameworks dedicated to meta-modeling and code generation like EMF (Eclipse Modeling Framework). The standard semantics of meta-models allows interoperability between tools such as language analysers (e.g., XText), code generators (e.g., Acceleo), and also model transformation tools (e.g., ATL). However, a major limitation of MDE is the lack of formal reasoning tools allowing to ensure the correctness of models. Indeed, most of the verification activities offered by MDE tools are based on the verification of OCL constraints on instances of meta-models. However, these constraints mainly deal with structural properties of the model and often miss out its behavioral semantics. In this work, we propose to bridge the gap between MDE and the rigorous world of formal methods in order to guarantee the correctness of both structural and behavioral properties of the model. Our approach translates EMF meta-models into an equivalent formal B specification and then injects models into this specification. The equivalence between the resulting B specification and the original EMF model is kept by proven design steps leading to a rigorous MDE technique. The AtelierB prover is used to guarantee the correctness of the model’s behavior with respect to its invariant properties, and the ProB model-checker is used to animate underlying execution scenarios which are translated back to the initial EMF model. Besides the use of these automatic reasoning tools in MDE, proved B refinements are also investigated in this paper in order to gradually translate abstract EMF models to concrete models which can then be automatically compiled into a programming language.

  相似文献   

18.
针对模型驱动的软件开发过程中潜在的交互性和一致性问题,介绍了一种模型转换分类的方法MTCM.根据模型和模型所描述的系统以及使用的建模语言的不同对模型转换进行细粒度的分类,然后按照此分类方法对OMG组织提出的模型转换标准QVT(查询/视图/转换)进行研究,并通过一个经典的模型转换实例即从UML模型到RDBMS模型的转换进行验证.分析得出结论,MTCM方法有助于提高模型转换的准确性和高效性.  相似文献   

19.
A Formal Object Approach to the Design of ZML   总被引:2,自引:0,他引:2  
This paper addresses two issues: how formal object modeling techniques facilitate the XML application development and how XML technology helps formal/graphical software design process. In particular, the paper presents a XML/XSL approach to the development of a web environment for Z family languages (Z/Object-Z/TCOZ). The projection techniques and tools from object-oriented Z (in XML) to UML (in XMI) are developed using XSL Transformations (XSLT). Furthermore, object-oriented Z is used to specify and design the essential functionalities of the web environment and the projection tools to UML. In a sense, the paper also demonstrates a formal object approach to modeling XML applications.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号