首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
In this paper, we propose an “end-to-end” approach that supports dynamic reconfiguration of software architectures taking advantage of graphical modeling, formal methods and aspect-oriented programming. There are three ingredients of the proposal. The specification end of the solution is covered by a new UML profile enabling to specify the desired architectural style (model), its invariants and the intended reconfiguration operations. In order to verify the consistency of the model and the preservation of the invariants after every reconfiguration, we automatically generate formal specifications in Z notation from the defined model. At the runtime enforcing end of the solution, we propose to encode the enforcement logic as aspect in the AspectJ language. The third important ingredient that makes our approach end-to-end is the automatic translation of formal specifications into aspect-based enforcement code.  相似文献   

2.
Model transformation is a fundamental technology in the MDA. Therefore, model transformations should be treated as first class entities, that is, models. One could use the metamodel of SDM, a graph based object transformation language, as the metamodel of such transformation models. However, there are two problems associated with this. First, SDM has a non-standardized metamodel, meaning a specific tool (Fujaba) would be needed to write transformation specifications. Secondly, due to assumptions of the code generator, the transformations could only be deployed on the Fujaba tool itself. In this paper, we describe how these issues have been overcome through the development of a template based code generator that translates instances of a UML profile for SDM to complete model transformation code that complies to the JMI standard. We have validated this approach by specifying a simple visual refactoring in one UML tool and deploying the generated plugin on another UML tool.  相似文献   

3.
针对面向方面编程中存在的切点软化问题,提出一种可视化的切点定义方法,切点定义依据一种概念模型而不再依赖于基础程序的具体结构,实现了切点定义与基础程序的解耦,提高了切点鲁棒性。概念模型是对AspectJ切点表达式的可视化的抽象概括,通过扩展UML元模型实现,文中称之为切点模型。同时,扩展了Rational Rose,使其支持切点模型的建模,并实现了由切点模型自动生成方面框架代码。  相似文献   

4.
为了解决软件开发中建模对于系统级关注点被忽略的问题,提出了面向方面的UML建模模型。对面向方面技术和UML进行全面介绍,使其了解它们的主要构成及参数,并基于AspectJ语言扩展UML中的特征文件(profile),来实现面向方面UML建模(AUML)。该扩展是UML体系的一种扩充,它既结合了UML面向对象的特点,又对面向方面横切关注点在语义和结构上进行了规范。最后就图书管理系统进行举例说明,总结了面向方面软件开发(AOSD)profile的参数。  相似文献   

5.
The Unified Modeling Language (UML) has been widely accepted as a standard for modeling software systems from various perspectives. The intuitive notations of UML diagrams greatly improve the communication among developers. However, the lack of a formal semantics makes it difficult to automate analysis and verification. This paper offers a graphical yet formal approach to specifying the behavioral semantics of statechart diagrams using graph transformation techniques. It supports many advanced features of statecharts, such as composite states, firing priority, history, junction, and choice. In our approach, a graph grammar is derived automatically from a state machine to summarize the hierarchy of states. Based on the graph grammar, the execution of a set of non-conflict state transitions is interpreted by a sequence of graph transformations. This facilitates verifying a design model against system requirements. To demonstrate our approach, we present a case study on a toll-gate system.  相似文献   

6.
一种面向图形化建模语言表示法的元模型   总被引:4,自引:0,他引:4  
何啸  麻志毅  邵维忠 《软件学报》2008,19(8):1867-1880
对于图形化的建模语言,为定义其表示法一般需要解决3个问题:如何定义每个建模元素的图形符号,如何定义图形符号之间的位置关系以及如何将表示法映射到抽象语法.为了方便进行模型转换和代码生成,还需要使用模型化的方式描述建模语言的表示法.通过对UML及其语言家族中的表示法进行总结、分析和归纳,提出了一种表示法定义元模型(notation definition metamodel,简称NDM).针对定义表示法所面临的3个问题,NDM被分成基本图元及其布局、基本位置关系和抽象语法桥三部分.使用NDM定义好的表示法模型还可以通过代码生成技术生成可使用的源代码.将NDM与其他几种定义表示法的方法进行了比较,结果表明,NDM与其他方法相比具有优势.NDM已经在元建模工具PKU MetaModeler中实现.介绍了NDM在实际应用中的几个案例.  相似文献   

7.
基于扩展UML的面向方面的建模   总被引:5,自引:0,他引:5       下载免费PDF全文
郭东亮  张立臣 《计算机工程》2006,32(19):100-102
提出了一个新的扩展UML进行面向方面建模的方法,它以合适的语义表达了AspectJ和AspectC++的元素和织入机制。在这个方法中,方面继承自类,切入点和通知继承自特征,这样切入点和通知是方面的一部分,方面与基本类的关系用横切依赖表示。切入点的图符可以表达多个方面在相同连接点的横切行为,通知以一致的方式建模结构横切和行为横切,通过在顺序图上新加一个通知发出焦点,并通知表示为消息,这样可以清晰建模通知在何时何处怎样影响系统的行为。  相似文献   

8.
9.
Aspect-oriented programming (AOP) provides mechanisms for the separation of crosscutting concerns - functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often contain several crosscutting concerns which could not be modularized using traditional programming constructs. This paper presents an automated approach to the problem of migrating systems developed according to the object-oriented programming (OOP) paradigm into aspect-oriented programming (AOP). A simple set of six refactorings has been defined to transform OOP to AOP and has been implemented in the AOP-migrator tool, an Eclipse plug-in. A set of enabling transformations from OOP to OOP complement the initial set of refactorings. The paper presents the results of four case studies, which use the approach to migrate selected crosscutting concerns from medium-sized Java programs (in the range of 10K to 40K lines of code) into equivalent programs in AspectJ. The case study results show the feasibility of the migration and indicate the importance of the enabling transformations as a preprocessing step  相似文献   

10.
In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (1) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (2) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (3) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a back-annotation mechanism that presents the analysis results in terms of the original language notation.  相似文献   

11.
葛君伟  何勇 《计算机应用研究》2008,25(10):3012-3014
面向方面编程 ( AOP)把横切关注点从系统中分离 ,解决了面向对象编程 ( OOP)中代码纠缠、散射的问题。但在面向方面建模中 ,横切方面没有得到很好的支持。首先 ,在统一建模语言 ( UML)元模型的基础上利用类图建立了整体框架模型 ,设计了核心类、方面、横切元素及其之间的关系 ;其次 ,利用 UML扩展机制为切点、通知、方面等主要元素建立了新的模型 ,设计了它们与方面之间新的关联关系并为其定义了语义。通过 UML扩展,使得 UML能够直接表达面向方面概念 ,支持面向方面建模设计 ,实现了面向方面模型  相似文献   

12.
葛君伟  何勇 《计算机应用研究》2008,25(10):3012-3014
面向方面编程(AOP)把横切关注点从系统中分离,解决了面向对象编程(OOP)中代码纠缠、散射的问题。但在面向方面建模中,横切方面没有得到很好的支持。首先,在统一建模语言(UML)元模型的基础上利用类图建立了整体框架模型,设计了核心类、方面、横切元素及其之间的关系;其次,利用UML扩展机制为切点、通知、方面等主要元素建立了新的模型,设计了它们与方面之间新的关联关系并为其定义了语义。通过UML扩展,使得UML能够直接表达面向方面概念,支持面向方面建模设计,实现了面向方面模型的可视化和可辨别性;整体框架模型使得面向方面整体结构清晰,各个核心元素之间关系明确,为面向方面建模提供了一个整体设计平台,提高了面向方面软件设计的模块化,增强了代码的重用性和系统的可维护性。  相似文献   

13.
软件重构在不改变程序行为的情况下通过对代码进行小的改进以提升设计,使之更容易理解和维护,面向方面的程序设计是软件开发的新技术,为了有效实施面向方面的软件重构,需要开发者识别面向方面程序的转化规则。然而,由于使用的AOP语言没有形式化的语义定义,难以确认转化和重构的程序运行行为。本文对MCI操作语义的面向方面的扩展使之支持程序的方面特征的描述,定义了两个程序的观测等价,讨论了AspectJ的形式语义模型的建立,在MCI的语义下形式化地精确证明了Add Before-executing编程规则的观测等价性,其基本原理和方法可以适用于其他规则的证明,通过上述工作提出了面向方面重构的程序和它的面向对象程序原型等价性的证明方法。  相似文献   

14.
模型驱动开发及其关键技术模型转换是近年来软件工程领域研究的热点。在嵌入式软件开发早期,不仅需要对设计模型进行静态分析,更需要对其进行动态仿真,验证系统设计的正确性。如何把设计模型和仿真模型无缝连接起来是工业部门亟待解决的问题。深入调研了UML和Simulink模型转换研究现状,详细分析了模型驱动开发中模型转换的相关技术,提出了一种UML到Simulink的模型转换方法,设计了UML元模型、Simulink元模型,撰写了UML元模型到Simulink元模型的映射规则。最后选取自动驾驶仪系统的飞行控制软件作为案例,验证了该方法的正确性。该方法能实现UML和Simulink两种异构模型同构化,提高嵌入式软件开发效率,丰富并且完善模型驱动开发,也为飞行控制系统、高速铁路控制、机载航电系统等嵌入式软件开发提供了技术支持。  相似文献   

15.
UML元模型建模与实例生成是软件自动生成技术的重要环节之一,相关理论和技术在领域建模语言DSL中得到广泛应用。元模型自动生成实例技术不仅可以降低软件开发难度和成本,还可以提高软件开发效率。在已有元模型实例生成图语法理论的基础上,提出相应的元模型图实例自动生成算法,证明了该算法与图语法的等价性。并且在可视化UML建模平台中实现了这一算法,得到了从UML元模型自动生成大量实例的预期结果。  相似文献   

16.
As UML 2.0 is evolving into a family of languages with individually specified semantics, there is an increasing need for automated and provenly correct model transformations that (i) assure the integration of local views (different diagrams) of the system into a consistent global view, and, (ii) provide a well-founded mapping from UML models to different semantic domains (Petri nets, Kripke automaton, process algebras, etc.) for formal analysis purposes as foreseen, for instance, in submissions for the OMG RFP for Schedulability, Performance and Time. However, such transformations into different semantic domains typically require the deep understanding of the underlying mathematics, which hinders the use of formal specification techniques in industrial applications. In the paper, we propose a multilevel metamodeling technique with precise static and dynamic semantics (based on a refinement calculus and graph transformation) where the structure and operational semantics of mathematical models can be defined in a UML notation without cumbersome mathematical formulae.  相似文献   

17.
OWL本体在知识工程中有着广泛应用,人们考虑用它来解决软件开发中的问题。该文分析OWL本体和Java面向对象模型问的差别,指出直接映射存在的问题,阐述OWL本体映射到面向方面模型的特点,并提出OWL本体向AspectJ面向方面模型映射的具体方法,较好实现OWL本体向软件代码模型的映射。  相似文献   

18.
Gray  J. Lin  Y. Zhang  J. 《Computer》2006,39(2):51-58
The escalating complexity of software and system models is making it difficult to rapidly explore the effects of a design decision. Automating such exploration with model transformation and aspect-oriented techniques can improve both productivity and model quality. The combination of model transformation and aspect weaving provides a powerful technology for rapidly transforming legacy systems from the high-level properties that models describe. Further, by applying aspect-oriented techniques and program transformation, small changes at the modeling level can trigger very large transformations at the source code level. Thus, model engineers can explore alternative configurations using an aspect weaver targeted for modeling tools and then use the models to generate program transformation rules for adapting legacy source code on a wide scale.  相似文献   

19.
This paper describes MiniMAO1, a core aspect-oriented language. Unlike previous aspect-oriented calculi and core languages, MiniMAO1allows around advice to change the target object of an advised operation before proceeding. MiniMAO1accurately models the ways AspectJ allows changing the target object, e.g., at call join points. Practical uses for changing the target object using advice include proxies and other wrapper objects.MiniMAO1was designed to serve as a core language for studying modular specification and verification in the aspect-oriented paradigm. To this end MiniMAO1
  • •has an imperative, reference-based semantics,
  • •models the control-flow effects of changing target object bindings with advice, and
  • •has a safe static type system.
The first two features make MiniMAO1 suitable for the study of aspect-oriented mechanisms, such as those found in AspectJ. These features are important for studying the interaction of aspect-oriented language features with modular specification and verification. A statically type-safe language is also important for such research. AspectJ does not have a safe static type system. To achieve static type safety MiniMAO1uses a slightly different form of proceed and advice binding than in AspectJ. These changes are sufficient for static type safety, but we do not claim that they are necessary; a less restrictive type system might suffice.This paper gives an operational semantics, type system, and proof of soundness for MiniMAO1.  相似文献   

20.
In this paper we present an approach that allows to validate properties of UML models. The approach is based on an integrated semantics for central parts of the UML. We formally cover UML use case, class, object, statechart, collaboration, and sequence diagrams. Additionally full OCL is supported in the common UML fashion. Our semantics is based on the translation of a UML model into a graph transformation system consisting of graph transformation rules and a working graph that represents the system state. By applying the rules on the working graph, the evolution of the modeled system is simulated.  相似文献   

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

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