A machine program for theorem-proving
Communications of the ACM
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
EMF: Eclipse Modeling Framework 2.0
EMF: Eclipse Modeling Framework 2.0
USE: A UML-based specification environment for validating UML and OCL
Science of Computer Programming
Verification of UML/OCL Class Diagrams using Constraint Programming
ICSTW '08 Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop
New Encodings of Pseudo-Boolean Constraints into CNF
SAT '09 Proceedings of the 12th International Conference on Theory and Applications of Satisfiability Testing
Reasoning on UML class diagrams
Artificial Intelligence
Alloy: a logical modelling language
ZB'03 Proceedings of the 3rd international conference on Formal specification and development in Z and B
Kodkod: a relational model finder
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Verifying UML/OCL models using Boolean satisfiability
Proceedings of the Conference on Design, Automation and Test in Europe
Improving unsatisfiability-based algorithms for boolean optimization
SAT'10 Proceedings of the 13th international conference on Theory and Applications of Satisfiability Testing
Solving constraint satisfaction problems with SAT technology
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
UML2Alloy: a challenging model transformation
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Formal methods for exchange policy specification
CAiSE'13 Proceedings of the 25th international conference on Advanced Information Systems Engineering
Hi-index | 0.00 |
In software systems engineering, the generally understood goal of verification is to assess the compliance of a software component with respect to the inputs and standards applying to a given phase in the design process. The goal of validation is to determine if the requirements are correct and complete, and validation is performed in the final system assessment phase. Nevertheless, the introduction of formal methods in model based engineering tends to blur the boundary between verification and validation, by allowing validation tasks to be performed early in the process, before the system has been fully designed and implemented. In particular, we consider recent work using constraint satisfaction techniques to perform formal verification and validation tasks at model level. The purpose of this article is twofold. First, we attempt to fit the existing methods and tools in a global design, verification and validation process. Second, we show that in addition to verification and validation, constraint based techniques can be used to automate part of the design activity itself, by synthesizing correct by construction and quantitatively optimal models from a specification.