共查询到20条相似文献,搜索用时 156 毫秒
1.
2.
Briand L.C. Labiche Y. Di Penta M. Yan-Bondoc H. 《IEEE transactions on pattern analysis and machine intelligence》2005,31(10):833-849
The object constraint language (OCL) was introduced as part of the Unified Modeling Language (UML). Its main purpose is to make UML models more precise and unambiguous by providing a constraint language describing constraints that the UML diagrams alone do not convey, including class invariants, operation contracts, and statechart guard conditions. There is an ongoing debate regarding the usefulness of using OCL in UML-based development, questioning whether the additional effort and formality is worth the benefit. It is argued that natural language may be sufficient, and using OCL may not bring any tangible benefits. This debate is in fact similar to the discussion about the effectiveness of formal methods in software engineering, but in a much more specific context. This paper presents the results of two controlled experiments that investigate the impact of using OCL on three software engineering activities using UML analysis models: detection of model defects through inspections, comprehension of the system logic and functionality, and impact analysis of changes. The results show that, once past an initial learning curve, significant benefits can be obtained by using OCL in combination with UML analysis diagrams to form a precise UML analysis model. But, this result is however conditioned on providing substantial, thorough training to the experiment participants. 相似文献
3.
Oliveira T.C. Alencar P.S.C. Filho I.M. de Lucena C.J.P. Cowan D.D. 《IEEE transactions on pattern analysis and machine intelligence》2004,30(10):708
The consistency problems in UML models and related software processes can be very complex. First, although UML supports a modeling process that should yield inter and intraconsistent models, the meaning of the UML dependencies and their specializations is not precisely defined and, for this reason, many inconsistencies may appear in their models and processes. Precise definitions would form a basis for methods to detect and analyze consistency problems related to UML dependencies and relationships, as well as problems related to software processes described in UML. In addition, we are using the UML object constraint language (OCL) to describe constraints related to the framework instantiation process. OCL is recognized as a limited language in some aspects for expressing well-formedness rules. We have presented a method (T.C. Oliveira et al., 2004) that works in the case of consistent rules and consistent instantiation processes. 相似文献
4.
Most Unified Modeling Language (UML) computer-aided software engineering tools have been insufficient in the development process because they provide little support for conceptual model testing. Model testing aims to ensure the correctness of a UML/OCL class diagram, or, in other words, that a given class diagram can perfectly meet the user’s requirements. This study proposes the validation of class diagrams with black-box testing, a technique used to test software without focusing on the software’s implementation or structure. An approach is proposed for the automatic transformation of the constraints of a UML/OCL class diagram into test cases. Following the creation of the test cases, they are executed with JUnit and the results produced are shown to the tester. To demonstrate the applicability of this approach, an effectiveness evaluation and an efficiency evaluation are performed here. Evaluation studies show that all faults included in a class diagram have been detected within an efficient time. 相似文献
5.
将MDA中模型驱动的软件代码自动化生成思想应用于模型驱动的软件测试用例自动化生成。从UML/OCL模型出发,采用缺陷测试理论、变异分析技术,结合约束处理规则,开发一个可以自动生成单元测试用例的框架,提高软件测试的自动化程度,从整体上提高软件的开发效率。 相似文献
6.
《Information and Software Technology》2002,44(11):649-657
Role-based access control (RBAC) is a flexible approach to access control, which has generated great interest in the security community. The principal motivation behind RBAC is to simplify the complexity of administrative tasks. Several formal models of RBAC have been introduced. However, there are a few works specifying RBAC in a way which system developers or software engineers can easily understand and adopt to develop role-based systems. And there still exists a demand to have a practical representation of well-known access control models for system developers who work on secure system development. In this paper we represent a well-known RBAC model with software engineering tools such as Unified Modeling Language (UML) and Object Constraints Language (OCL) to reduce a gap between security models and system developments. The UML is a general-purpose visual modeling language in which we can specify, visualize, and document the components of a software system. And OCL is part of the UML and has been used for object-oriented analysis and design as a de facto constraints specification language in software engineering arena. Our representation is based on a standard model for RBAC proposed by the National Institute of Standards and Technology. We specify this RBAC model with UML including three views: static view, functional view, and dynamic view. We also describe how OCL can specify RBAC constraints that is one of important aspects to constrain what components in RBAC are allowed to do. In addition, we briefly discuss future directions of this work. 相似文献
7.
《Information and Software Technology》2014,56(8):821-838
ContextModel-driven Engineering (MDE) promotes the utilization of models as primary artifacts in all software engineering activities. Therefore, mechanisms to ensure model correctness become crucial, specially when applying MDE to the development of software, where software is the result of a chain of (semi)automatic model transformations that refine initial abstract models to lower level ones from which the final code is eventually generated. Clearly, in this context, an error in the model/s is propagated to the code endangering the soundness of the resulting software. Formal verification of software models is a promising approach that advocates the employment of formal methods to achieve model correctness, and it has received a considerable amount of attention in the last few years.ObjectiveThe objective of this paper is to analyze the state of the art in the field of formal verification of models, restricting the analysis to those approaches applied over static software models complemented or not with constraints expressed in textual languages, typically the Object Constraint Language (OCL).MethodWe have conducted a Systematic Literature Review (SLR) of the published works in this field, describing their main characteristics.ResultsThe study is based on a set of 48 resources that have been grouped in 18 different approaches according to their affinity. For each of them we have analyzed, among other issues, the formalism used, the support given to OCL, the correctness properties addressed or the feedback yielded by the verification process.ConclusionsOne of the most important conclusions obtained is that current model verification approaches are strongly influenced by the support given to OCL. Another important finding is that in general, current verification tools present important flaws like the lack of integration into the model designer tool chain or the lack of efficiency when verifying large, real-life models. 相似文献
8.
《Information and Software Technology》2007,49(8):892-912
Early detection and correction of faults in the software design phase can reduce total cost and time to market of a software product. In this paper we describe an approach for testing UML design models to uncover inconsistencies. Our approach uses behavioral views such as Sequence Diagrams to simulate state change in an aggregate model. The aggregate model is the artifact of merging information from behavioral and structural UML views. OCL pre-conditions, post-conditions and invariants are used as a test oracle. 相似文献
9.
模型驱动开发及其关键技术模型转换是近年来软件工程领域研究的热点。在嵌入式软件开发早期,不仅需要对设计模型进行静态分析,更需要对其进行动态仿真,验证系统设计的正确性。如何把设计模型和仿真模型无缝连接起来是工业部门亟待解决的问题。深入调研了UML和Simulink模型转换研究现状,详细分析了模型驱动开发中模型转换的相关技术,提出了一种UML到Simulink的模型转换方法,设计了UML元模型、Simulink元模型,撰写了UML元模型到Simulink元模型的映射规则。最后选取自动驾驶仪系统的飞行控制软件作为案例,验证了该方法的正确性。该方法能实现UML和Simulink两种异构模型同构化,提高嵌入式软件开发效率,丰富并且完善模型驱动开发,也为飞行控制系统、高速铁路控制、机载航电系统等嵌入式软件开发提供了技术支持。 相似文献
10.
Model Driven Engineering promotes the use of models as the main artifacts in software and system development. Verification and validation of models are key activities to ensure the quality of the system under development. This paper presents a framework to reason about the satisfiability of class models described using the Unified Modeling Language (UML). The proposed framework allows us to identify possible design flaws as early as possible in the software development cycle. More specifically, we focus on UML Class Diagrams annotated with Object Constraint Language (OCL) invariants, which are considered to be the main artifacts in Object-Oriented analysis and design for representing the static structure of a system. We use the Constraint Logic programming (CLP) paradigm to reason about UML Class Diagrams modeling foundations. In particular, we use Formula as a model-finding and design space exploration tool. We also present an experimental Eclipse plug-in, which implements our UML model to Formula translation proposal following a Model Driven Architecture (MDA) approach. The proposed framework can be used to reason, validate, and verify UML Class Diagram software designs by checking correctness properties and generating model instances using the model exploration tool Formula. 相似文献
11.
12.
由于传统形式化语言的复杂性以及当前变异分析系统性能问题,基于规格的变异分析一直没有得到广泛的应用.介绍辅助UML建模的对象约束语言(OCL)和基于规格变异分析的基本理论.提出一种新型的OCL规格变异系统的设计方案,并详细描述了一些变异算子的具体实现.解决了传统变异系统的性能缺陷,提高了变异分析的实用性. 相似文献
13.
Cyber physical systems (CPSs) can be found nowadays in various fields of activity. The increased interest for these systems as evidenced by the large number of applications led to complex research regarding the most suitable methods for design and development. A promising solution for specification, visualization, and documentation of CPSs uses the Object Management Group (OMG) unified modeling language (UML). UML models allow an intuitive approach for embedded systems design, helping end-users to specify the requirements. However, the UML models are represented in an informal language. Therefore, it is difficult to verify the correctness and completeness of a system design. The object constraint language (OCL) was defined to add constraints to UML, but it is deficient in strict notations of mathematics and logic that permits rigorous analysis and reasoning about the specifications. In this paper, we investigated how CPS applications modeled using UML deployment diagrams could be formally expressed and verified. We used Z language constructs and prototype verification system (PVS) as formal verification tools. Considering some relevant case studies presented in the literature, we investigated the opportunity of using this approach for validation of static properties in CPS UML models. 相似文献
14.
Kyriakos Anastasakis Behzad Bordbar Geri Georg Indrakshi Ray 《Software and Systems Modeling》2010,9(1):69-86
The Unified Modeling Language (UML) is the de facto language used in the industry for software specifications. Once an application
has been specified, Model Driven Architecture (MDA) techniques can be applied to generate code from such specifications. Since
implementing a system based on a faulty design requires additional cost and effort, it is important to analyse the UML models
at earlier stages of the software development lifecycle. This paper focuses on utilizing MDA techniques to deal with the analysis
of UML models and identify design faults within a specification. Specifically, we show how UML models can be automatically
transformed into Alloy which, in turn, can be automatically analysed by the Alloy Analyzer. The proposed approach relies on
MDA techniques to transform UML models to Alloy. This paper reports on the challenges of the model transformation from UML
class diagrams and OCL to Alloy. Those issues are caused by fundamental differences in the design philosophy of UML and Alloy.
To facilitate better the representation of Alloy concepts in the UML, the paper draws on the lessons learnt and presents a
UML profile for Alloy. 相似文献
15.
This paper describes the results of a preliminary feasibility study of an approach to representing multiobjective combinatorial optimization problems in UML (structural constraints) and OCL (procedural constraints) and then automatically translating the representations to a constraint satisfaction solving language (Oz) for execution. The paper presents two examples of the application of the approach—a job scheduling problem and a (fixture) design problem. The main goal of this paper is to investigate directions towards a standard, graphical language for representing combinatorial optimization problems. The paper shows that for the two selected problems it is easy to represent structural constraints in UML and that procedural constraints are representable in OCL. The results also show that a developed translator automatically converts the UML/OCL representations to Oz and that the resulting Oz program performs very reasonably, in some cases outperforming the hand-written benchmark programs. 相似文献
16.
17.
The Object Constraint Language (OCL) is a well-accepted ingredient in model-driven engineering and accompanying modeling languages such as UML (Unified Modeling Language) and EMF (Eclipse Modeling Framework) that support object-oriented software development. Among various possibilities, OCL offers the formulation of class invariants and operation contracts in form of pre- and postconditions, and side-effect free query operations. Much research has been done on OCL and various mature implementations are available for it. OCL is also used as the foundation for several modeling-specific programming and transformation languages. However, an intrusive way of embedding OCL into these language hampers us when we want to benefit from the existing achievements for OCL. In response to this shortcoming, we propose the language SOIL (Simple OCL-like Imperative Language), which we implemented in the UML and OCL modeling tool USE to amend its declarative model validation features. The expression sub-language of SOIL is identical to OCL. SOIL adds imperative constructs for programming in the domain of models. Thus by employing OCL and SOIL, it is possible to describe any operation in a declarative way and in an operational way on the modeling level without going into the details of a conventional programming language. In contrast to other similar approaches, the embedding of OCL into SOIL is done in a careful, non-intrusive way so that purity of OCL is preserved. 相似文献
18.
Francisco Assis Moreira do Nascimento Marcio F. S. Oliveira Flávio Rech Wagner 《Innovations in Systems and Software Engineering》2012,8(1):19-33
This work presents a Model-Driven Engineering (MDE) framework to improve embedded system design. The framework adopts concepts
from MDE for the automatic generation of a control and data flow internal representation, starting from the functional specification
of an embedded application described using UML class and sequence diagrams. By means of transformations rules applied on the
UML model of the embedded system, an MOF-based (Meta Object Facility is a standard representation for meta-models and models
proposed by OMG) internal representation is automatically obtained, which is iteratively mapped into a hardware/software implementation
by means of model transformations. This mapping is optimized by a design space exploration (DSE) method based on a categorical
graph product. The model transformations have also as input a platform model, which specifies the available hardware, software
and interface resources, and produce an implementation model, on which software synthesis, communication synthesis and high-level
synthesis algorithms are applied to generate the final implementation. A case study is described to illustrate the application
of the framework. 相似文献
19.
20.
基于知识的UML图形文档自动生成 总被引:2,自引:0,他引:2
基于领域本体的需求获取使得用领域术语描述用户需求,并进行应用模型的自动分析成为可能,以尽可能地保证需求描述的正确性和完整性。从以领域概念为背景的应用模型,到以软件概念为基础的应用软件模型,是需求工程要完成的一个实质性跨越。UML是目前软件需求描述的一个实际上的标准。该文主要论述了从基于领域本体的应用需求描述到基于UML的软件需求文档的自动转换过程,文章提出建立从领域本体概念到UML概念映射规则库,以及根据UML概念填写用XML表示的UML图元模板的规则库,设计并实现了一个基于规则的,从应用需求概念到UML图元模板的自动转换工具。 相似文献