Incremental integrity checking of UML/OCL conceptual schemas

被引:47
|
作者
Cabot, Jordi [1 ,2 ]
Teniente, Ernest [3 ]
机构
[1] Open Univ Catalonia, E-08018 Barcelona, Catalonia, Spain
[2] Univ Toronto, Toronto, ON M5S 3G4, Canada
[3] Tech Univ Catalonia, E-08034 Barcelona, Catalonia, Spain
关键词
Model-driven development; Efficient constraint checking; Incremental; Runtime checking; UML; OCL; INFORMATION-SYSTEMS; SPECIFICATION;
D O I
10.1016/j.jss.2009.03.009
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Integrity constraints play a key role in the specification and development of software systems since they state conditions that must always be satisfied by the system at runtime. Therefore, software systems must include some kind of integrity checking component that ensures that all constraints still hold after the execution of any operation that modifies the system state. Integrity checking must be as efficient as possible not to seriously slow down the system performance at runtime. In this sense, this paper proposes a set of techniques to facilitate the efficient integrity checking of UML-based software specifications, usually complemented with a set of integrity constraints defined in Object Constraint Language (OCL) to express all rules that cannot be graphically defined. In particular, our techniques are able to determine, at design-time. when and how each constraint must be checked at runtime to avoid irrelevant verifications. We refer to these techniques as incremental because they minimize the subset of the system state that needs to be checked after each change by assuming that the system was initially in a consistent state and just reevaluating the elements that may have been affected by that change. We also show how the techniques can be integrated in a model-driven development framework to automatically generate a final implementation that automatically checks all constraints in an incremental way. (C) 2009 Elsevier Inc. All rights reserved.
引用
收藏
页码:1459 / 1478
页数:20
相关论文
共 50 条
  • [31] OCLFO: first-order expressive OCL constraints for efficient integrity checking
    Franconi, Enrico
    Mosca, Alessandro
    Oriol, Xavier
    Rull, Guillem
    Teniente, Ernest
    SOFTWARE AND SYSTEMS MODELING, 2019, 18 (04): : 2655 - 2678
  • [32] Checking UML and OCL Model Consistency: An Experience Report on a Middle-Sized Case Study
    Gogolla, Martin
    Hamann, Lars
    Hilken, Frank
    Sedlmeier, Matthias
    TESTS AND PROOFS, TAP 2015, 2015, 9154 : 129 - 136
  • [33] Formalization of UML Composition in OCL
    Chavez, Hector M.
    Shen, Wuwei
    INTERNATIONAL JOURNAL OF SOFTWARE INNOVATION, 2013, 1 (01) : 26 - 40
  • [34] OCL: The constraint language of the UML
    Warmer, J
    Kleppe, A
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1999, 12 (02): : 10 - +
  • [35] Incremental multiset hash functions and their application to memory integrity checking
    Clarke, D
    Devadas, S
    van Dijk, M
    Gassend, B
    Suh, GE
    ADVANCES IN CRYPTOLOGY - ASIACRYPT 2003, 2003, 2894 : 188 - 207
  • [36] HOL-OCL: A formal proof environment for UML/OCL
    Brucker, Achim D.
    Wolff, Burkhart
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2008, 4961 : 97 - +
  • [37] A Conceptual Schema Based XML Schema with Integrity Constraints Checking
    Yuliana, Oviliani Yenty
    Chittayasothorn, Suphamit
    ICHIT 2008: INTERNATIONAL CONFERENCE ON CONVERGENCE AND HYBRID INFORMATION TECHNOLOGY, PROCEEDINGS, 2008, : 19 - 24
  • [38] Validating UML models and OCL constraints
    Richters, M
    Gogolla, M
    UML 2000 - THE UNIFIED MODELING LANGUAGE, PROCEEDINGS: ADVANCING THE STANDARD, 2000, 1939 : 265 - 277
  • [39] Analyzing Inconsistencies in UML/OCL Models
    Przigoda, Nils
    Wille, Robert
    Drechsler, Rolf
    JOURNAL OF CIRCUITS SYSTEMS AND COMPUTERS, 2016, 25 (03)
  • [40] Eliminating Invariants in UML/OCL Models
    Soeken, Mathias
    Wille, Robert
    Drechsler, Rolf
    DESIGN, AUTOMATION & TEST IN EUROPE (DATE 2012), 2012, : 1142 - 1145