2015 · 21 citations · 26 references
ComputingComputer ScienceFormal MethodsSystems ArchitectureSystems ModelingConcurrency VerificationConcurrent ModelingConcurrent System VerificationModel CheckingSpecification LanguagesVerificationActivity DiagramsConcurrency ModelsSequence DiagramsState MachinesUml Activity DiagramsUml ModelingUml Sequence DiagramsUnified Modeling Language
The Unified Modeling Language (UML) is a defacto standard for software development and, together with the Object Constraint Language (OCL), allows for a precise description of a system prior to its implementation. At the same time, these descriptions can be employed to check the consistency and, hence, the correctness of a given UML/OCL model. In the recent past, numerous (automated) approaches have been proposed for this purpose. The behavior of the systems has usually been considered by means of sequence diagrams, state machines, and activity diagrams. But with the increasing popularity of design by contract, also composite structures, classes, and operations are frequently used to describe behavior in UML/OCL. However, for these description means no solution for the validation and verification of concurrent behavior is available yet. In this work, we propose such a solution. To this end, we discuss the possible interpretations of “concurrency” which are admissible according to the common UML/OCL interpretation and, afterwards, propose a methodology which exploits solvers for SAT Modulo Theories (i. e., SMT solvers) in order to check the concurrent behavior of UML/OCL models. How to address the resulting problems is described and illustrated by means of a running example. Finally, the application of the proposed method is demonstrated.
26
Statecharts: a visual formalism for complex systems
David Harel · Science of Computer Programming · 1987 · 6.7K citations
The complexity of theorem-proving procedures
Stephen Cook · 1971 · 6.2K citations · Full text
Software abstractions: logic, language and analysis
Choice Reviews Online · 2007 · 1.5K citations
The SMT-LIB Standard Version 2.0
Clark Barrett, Aaron Stump, Cesare Tinelli · 2010 · 722 citations