Static Verification of UML Model Consistency
نویسندگان
چکیده
In a UML model, different aspects of a system are covered by different types of diagrams and this bears the risk that an overall system specification becomes inconsistent or incomplete. Hence, it is important to provide means to check the consistency and completeness of a UML model. Many approaches for model validation and verification rely on generation of suitable code which dynamically (i.e., at run-time) checks the validity of OCL constraints. This approach has several well-known drawbacks. For example, it cannot generally guarantee that a constraint will never be violated, unless an infinite number of tests is performed. On the other hand, even more desirable static approaches are not immune from weaknesses. The techniques based on model checking suffer from the state explosion problem and thus cannot scale to most system sizes. Moreover, the static approach is in general undecidable. In this paper we propose a static verification framework based of Abstract Interpretation techniques, a theory of approximation of mathematical structures. This framework, by using OCL constraints together with Class Diagrams, certifies that the dynamic part (Sequence Diagrams) of the model is satisfied. Our approach keeps the advantages of static verification and, at the same time, avoids the weaknesses of the other mentioned methods as it does not require users to build test scenarios and also it can make undecidable methods decidable, up to a specified level of precision.
منابع مشابه
Checking UML Model Consistency
UML is nowadays a de-facto standard for design and development of (object-oriented) software. With version 2.0 UML has achieved a more precise formal semantics. The same happened to OCL, a specification language which is an integral part of UML that allows to embed software contracts in the model. In this work we propose an approach for a static verification of consistency of UML models which r...
متن کاملFormal Consistency Verification of UML Requirement and Analysis Models
To capture and analyze the functional requirements of an information system, UML and the Unified Process (UP) propose the use case and sequence diagrams. However, one of the main difficulties behind the use of UML is how to ensure the consistency of the various diagrams used to model different views of the same system. In this chapter, the authors propose an enriched format for documenting UML2...
متن کاملBAS: A Case Study for Modeling and Verification in Trustable Model Driven Development
Multi-view modeling and separation of concerns are widely used to decrease the design complexity of the large-scale software system. To ensure the correctness and consistency of multi-view requirement models, the formal verification technology should be applied to the model-driven development process. However, there still lacks unified theory foundation and tool supports for the rigorous modeli...
متن کاملTypechecking UML Static Models
UML static models are expressed using a mixture of class diagrams and OCL expressions. In a well formed static model, the OCL expressions and class diagrams are type consistent. Checking for type consistency of static models involves both inclusion and parametric poly-morphism. This paper deenes a semantics of type consistency in terms of a type theory for UML static models. The type theory is ...
متن کاملTesting and Verification of Software Model through Formal Semantics: a Systematic Review
UML is a standard language used in business modeling for specifying, visualizing and constructing artifact for software and non software systems. It provides the capability to explore the static structure as well as dynamic behaviour of any large and complex software system. It consists of different software design patterns, templates and frameworks with unique diagrams to represent different a...
متن کامل