共查询到20条相似文献,搜索用时 15 毫秒
1.
This paper describes the Mondex case study with UML class diagrams and restricting OCL constraints. The constraints have been
formulated either as OCL class invariants or as OCL pre- and postconditions. The proposed two models include UML class diagrams
and OCL constraints which have been checked by the UML and OCL tool USE (UML-based Specification Environment). USE allows
validation of a model by testing it with scenarios. The Mondex case study has been validated by positive and negative test
cases. The test cases allow the validity of the various constraints to be traced and checked. Validation results are presented
as textual protocols or as UML sequence diagrams where starting, intermediate, and resulting system states are represented
by UML object diagrams. UML sequence diagrams, UML object diagrams, and textual protocols are shown with varying degrees of
detail for the attributes, constraints, and executed commands.
J. C. P. Woodcock 相似文献
2.
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. 相似文献
3.
In Model‐Driven Development (MDD), detection of model defects is necessary for correct model transformations. Formal verification tools and techniques can to some extent verify models. However, scalability is a serious issue in relation to verification of complex UML/OCL class diagrams. We have proposed a model slicing technique that slices the original model into submodels to address the scalability issue. A submodel can be detected as unsatisfiable if there are no valid values for one or more attributes of an object in the diagram or if the submodel provides inconsistent conditions on the number of objects of a given type. In this paper, we propose a novel feedback technique through model slicing that detects unsatisfiable submodels and their integrity constraints among the complex hierarchy of an entire UML/OCL class diagram. The software developers can therefore focus their revision efforts on the incorrect submodels while ignoring the rest of the model. Copyright © 2013 John Wiley & Sons, Ltd. 相似文献
4.
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. 相似文献
5.
Harith T. Al-Jumaily Author Vitae Dolores Cuadra Author Vitae Author Vitae 《Journal of Systems and Software》2008,81(12):2299-2314
Transforming integrity constraints into active rules or triggers for verifying database consistency produces a serious and complex problem related to real time behaviour that must be considered for any implementation. Our main contribution to this work is to provide a complete approach for deriving the active mechanisms for Relational Databases from the specification of the integrity constraints by using OCL. This approach is designed in accordance with the MDA approach which consists of transforming the specified OCL clauses into a class diagram into SQL:2003 standard triggers, then transforming the standard triggers into target DBMS triggers. We believe that developing triggers and plugging them into a given model is insufficient because the behaviour of such triggers is invisible to the developers, and therefore not controllable. For this reason, a DBMS trigger verification model is used in our approach, in order to ensure the termination of trigger execution. Our approach is implemented as an add-in tool in Rational Rose called OCL2Trigger. 相似文献
6.
Assessment of the correctness of software models is a key issue to ensure the quality of the final application. To this end, this paper presents an automatic method for the verification of UML class diagrams extended with OCL constraints. Our method checks compliance of the diagram with respect to several correctness properties including weak and strong satisfiability or absence of constraint redundancies among others. The method works by translating the UML/OCL model into a Constraint Satisfaction Problem (CSP) that is evaluated using state-of-the-art constraint solvers to determine the correctness of the initial model. Our approach is particularly relevant to current MDA and MDD methods where software models are the primary artifacts of the development process and the basis for the (semi-)automatic code-generation of the final application. 相似文献
7.
8.
系统的静态模型通常由UML类图和OCL约束两部分构成。OCL约束可以转化为相应的程序代码,为此需要对模型及约束进行验证与确认。本文阐述了OMG的四层元横型框架,并以一个简易的模型为例,说明用USE对模型进行验证的全过程。 相似文献
9.
10.
James P. Davis Ronald D. Bonnell 《Knowledge and Data Engineering, IEEE Transactions on》2007,19(3):427-440
An important conceptual modeling activity in the development of database, object-oriented and agent-oriented systems is the capture and expression of domain constraints governing underlying data and object states. UML is increasingly used for capturing conceptual models, as it supports conceptual modeling of arbitrary domains, and has extensible notation allowing capture of invariant constraints both in the class diagram notation and in the separately denoted OCL syntax. However, a need exists for increased formalism in constraint capture that does not sacrifice ease of use for the analyst. In this paper, we codify a set of invariant patterns formalized for capturing a rich category of propositional constraints on class diagrams. We use tools of Boolean logic to set out the distinction between these patterns, applying them in modeling by way of example. We use graph notation to systematically uncover constraints hidden in the diagrams. We present data collected from applications across different domains, supporting the importance of "pattern-finding" for n-variable propositional constraints using general graph theoretic methods. This approach enriches UML-based conceptual modeling for greater completeness, consistency, and correctness by formalizing the syntax and semantics of these constraint patterns, which has not been done in a comprehensive manner before now 相似文献
11.
带OCL约束条件的类图到Object-Z规格说明的转换 总被引:1,自引:0,他引:1
如何提高软件的可靠性是目前软件研究领域的一个热点。将形式化方法和主流的软件开发方法相结合是一个可行的方法。本文研究UML语言和Object-Z语言相结合的方法,为主流的软件开发人员所使用的图形化规格说明技术与形式方法提供的精确的分析和验证技术架起了一座桥梁。本文定义如何将带0CL约束条件的类图转换到Object-Z规格说明的方法。这样不仅可以通过支持Object-Z语言的工具采对UML语言描述的系统性质进行验证和确认,而且能够帮助规格说明人员方便地构造Object-Z规格说明。 相似文献
12.
In a UML model, different aspects of a system are covered by different types of diagrams. Nevertheless, it is important to provide means to check the consistency and completeness of the UML model. This problem is addressed in this paper by integrating the information specified in class and statechart diagrams into sequence diagrams. The representation as constraints attached to certain locations of the objects lifelines in the sequence diagram allows the identification of gaps and contradictory specifications. Furthermore, dependencies between the sequence diagrams can be investigated based on the previous analysis. 相似文献
13.
Jordi Cabot Robert Clarisó Esther Guerra Juan de Lara 《Software and Systems Modeling》2010,9(3):335-357
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. 相似文献
14.
Shoichiro Fujiwara Kazuki Munakata Yoshiharu Maeda Asako Katayama Tadahiro Uehara 《Innovations in Systems and Software Engineering》2011,7(4):275-282
In this paper, we report on our current work toward efficient and effective verification of web application’s basic design.
We use a UML class diagram with Object Constraint Language (OCL) to describe the application behaviors and data constraints.
Then we generate test data from the formally represented specifications. We make the observation that key web application
behaviors can be captured through table size constraints as well as data constraints like foreign key constraints. Based on
the observation, we translate the OCL specification into the equivalent constraints using table size expressions. We present
a scheme to generate test data from the translated constraints using a Satisfiability Modulo Theories solver. We employ two
techniques to reduce constraints. The first is string handling and the other is decomposition of table structures. We also
report on an experimental result of test data generation. The result indicates a potential that our scheme works well for
real applications in reasonable times. 相似文献
15.
Refactoring consists in restructuring an object-oriented program without changing its behaviour. In this paper, we present refactorings as transformation rules for programs written in a refinement language inspired on Java that allows reasoning about object-oriented programs and specifications. A set of programming laws is available for the imperative constructs of this language as well as for its object-oriented features; soundness of the laws is proved against a weakest precondition semantics. The proof that the refactoring rules preserve behaviour (semantics) is accomplished by the application of these programming laws and data simulation. As illustration of our approach to refactoring, we use our rules to restructure a program to be in accordance with a design pattern. 相似文献
16.
Paul Ziemann Karsten Hlscher Martin Gogolla 《Electronic Notes in Theoretical Computer Science》2005,127(4):17
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. 相似文献
17.
Yoshihiro Adachi Kensei Tsuchida Takanori Imaki Takeo Yaku 《Electronic Notes in Theoretical Computer Science》2000,30(4):276-288
An intelligible program diagram called Logichart has been developed for Prolog visualization. Its syntax rules and layout rules are formalized in terms of an attribute graph grammar. This grammar is underlain by a context–free graph grammar whose productions are defined to formalize the graph–syntax rules of Logichart diagrams. Semantic rules attached to the productions are defined in such a way that they can extract the layout information needed to display a Logichart diagram as attributes. Our Prolog visualization system, which has been implemented based on the attribute graph grammar, can draw a Logichart diagram for any correct Prolog program (completeness), and any Logichart diagram displayed by the system is always valid for the grammar (soundness). The system can also display the execution of a Prolog program in real time; that is, the Logichart diagram is dynamically updated as the program runs. 相似文献
18.
QVT Relations (QVT-R) is the standard language proposed by the OMG to specify bidirectional model transformations. Unfortunately, in part due to ambiguities and omissions in the original semantics, acceptance and development of effective tool support have been slow. Recently, the checking semantics of QVT-R has been clarified and formalized. In this article, we propose a QVT-R tool that complies to such semantics. Unlike any other existing tool, it also supports meta-models enriched with OCL constraints (thus avoiding returning ill-formed models) and proposes an alternative enforcement semantics that works according to the simple and predictable “principle of least change.” The implementation is based on an embedding of both QVT-R transformations and UML class diagrams (annotated with OCL) in Alloy, a lightweight formal specification language with support for automatic model finding via SAT solving. We also show how this technique can be applied to bidirectionalize ATL, a popular (but unidirectional) model transformation language. 相似文献
19.
20.
Martin Gogolla Paul Ziemann Sabine Kuske 《Electronic Notes in Theoretical Computer Science》2003,72(3):160
Recently, we proposed an integrated formal semantics based on graph transformation for central aspects of UML class, object and state diagrams. In this paper, we explain the basic ideas of that approach and show how two more UML diagram types, sequence and collaboration diagrams, can be captured. For UML models consisting of a class diagram and particular state diagrams, a graph transformation system can be defined. Its graphs are associated with system states and its rules with operations in the class diagram and transitions in the state diagrams. Sequence and collaboration diagrams then characterize sequences of operation applications and therefore sequences of transformation rule applications. Thus valid sequence and collaboration diagrams correspond to derivations induced by the graph transformation system. Proceeding this way, it can be checked for example whether such an operation application sequence may be applied in a specific system state. 相似文献