×

Intra- and interdiagram consistency checking of behavioral multiview models. (English) Zbl 1387.68051

Summary: Multiview modeling languages like UML are a very powerful tool to deal with the ever increasing complexity of modern software systems. By splitting the description of a system into different views – the diagrams in the case of UML – system properties relevant for a certain development activity are highlighted while other properties are hidden. This multiview approach has many advantages for the human modeler, but at the same time it is very susceptible to various kinds of defects that may be introduced during the development process. Besides defects which relate only to one view, it can also happen that two different views, which are correct if considered independently, contain inconsistent information when combined. Such inconsistencies between different views usually indicate a defect in the model and can be critical if they propagate up to the executable system. In this paper, we present an approach to formally verify the reachability of a global state of a set of communicating UML state machines, i.e., we present a solution for an intradiagram consistency checking problem. We then extend this approach to solve an interdiagram consistency checking problem. In particular, we verify whether the message exchange modeled in a UML sequence diagram conforms to a set of communicating state machines. For solving both kinds of problems, we proceed as follows. As a first step, we formalize the semantics of UML state machines and of UML sequence diagrams. In the second step, we build upon this formal semantics and encode both verification tasks as decision problems of propositional logic (SAT) allowing the use of efficient SAT technology. We integrate both approaches in a graphical modeling environment, enabling modelers to use formal verification techniques without any special background knowledge. We experimentally evaluate the scalability of our approach.

MSC:

68N15 Theory of programming languages
68N30 Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.)
68Q45 Formal languages and automata

Software:

vUML; Sat4j
Full Text: DOI

References:

[1] Beek, M. H.t.; Fantechi, A.; Gnesi, S.; Mazzanti, F., A state/event-based model-checking approach for the analysis of abstract system properties, Sci Comput Program, 76, 2, 119-135 (2011) · Zbl 1213.68392
[3] Bézivin, J., On the unification power of models, Softw Syst Model, 4, 2, 171-188 (2005)
[4] (Biere, A.; Heule, M.; van Maaren, H.; Walsh, T., Handbook of satisfiability (2009), IOS Press) · Zbl 1183.68568
[20] Le Berre, D.; Parrain, A., The Sat4j library, release 2.2, system description, J Satisf Boolean Model Comput, 7, 59-64 (2010)
[22] Lucas, F. J.; Molina, F.; Toval, A., A systematic review of UML model consistency management, Inf Softw Technol, 51, 12, 1631-1645 (2009)
[26] Papadimitriou, C. H., Computational complexity (1994), Addison-Wesley · Zbl 0833.68049
[28] Selic, B., What will it take? A view on adoption of model-based methods in practice, Softw Syst Model, 11, 4, 513-526 (2012)
[31] Tseitin, G. S., On the complexity of derivations in the propositional calculus, Stud Math Math Logic, Part II, 115-125 (1968) · Zbl 0197.00102
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.