Abstract
This paper describes an analysis technique for a system consisting of a collection of formal specifications. The goal of the analysis is to provide early discovery of system states from which the system will inevitably fail in the future by violating some formal specification. This goal can also be formulated as a form of temporal specification conflicts. The technique utilizes SAT-solver based bounded constraint solving within a custom search algorithm. The proposed technique is also compared to an alternative model checking of Computational Tree Logic technique. The proposed technique can assist in providing an early warning for a mission critical system such as the power grid prior to an emerging catastrophic failure.
Similar content being viewed by others
Notes
Defining it as an Expression would work too, but an instance solution reported by Kodkod provides assignments to Relations, not Expressions.
References
Bjørner N, Browne A, Chang E, Colón M, Kapur A, Manna Z, Sipma HB, Uribe TE (1996) STeP: Deductive-Algorithmic Verification of Reactive and Real-time Systems. In: Proceedings of 8th International Conference Computer Aided Verification, LNCS 1102. Springer, pp 415–418
Bozga M, Daws C, Maler O, Olivero A, Tripakis S, Yovine S (1998) Kronos: A Model-Checking Tool for Real-Time Systems. In: Hu AJ, Vardi MY (eds) Proceedings of 10th Internationla Conference Computer-Aided Verification, LNCS 1427. Springer, pp 546–550
Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang LJ (1990) Symbolic Model Checking: 10\(^{20}\) States and Beyond. In: Proceedings of 5th Annual Symposium on Logic in Computer Science, June 1990
Clarke EM, Emerson EA (1981) Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic. In: Kozen D (ed) Proceedings of Workshop on Logic of Programs, LNCS 131. Springer, pp 52–71
Drusinsky D (2000) The Temporal Rover and the ATG Rover. In: Proceedings of SPIN, (2000) Workshop, LNCS 1885. Springer, pp 323–329
Drusinsky D (2006) Modeling and Verification Using UML Statecharts—A Working Guide to Reactive System Design. Elsevier, Runtime Monitoring and Execution-based Model Checking
Drusinsky D (2011) Practical UML-based Specification, Validation, and Verification of Mission-critical Software. Space Exploration and Defense Software Examples in Practice. ISBN: 978-145750-494-5, Dog-Ear Publishing
Drusinsky D (2014) Computer-aided discovery of formal specification behavioral requirements and requirement to implementation mappings. Innovations Syst Softw Eng 10:271–281. doi:10.1007/s11334-014-0235-1
Drusinsky D, Michael JB, Shing M (2008) A visual tradeoff space for formal verification and validation techniques. IEEE Syst J 2(4):513–519
Drusinsky D, Shing M (2010) Validating Quality Attribute Requirements via Execution-based Model Checking. In: Proceedings of 21st IEEE International Symposium on Rapid Systems Prototyping, George Mason University, Fairfax, VA, 8–11 June
Drusinsky D, Michael JB, Otani T, Shing M (2008) Validating UML Statechart-Based Assertions Libraries for Improved Reliability and Assurance. In: Proceedings of 2nd International Conference on Secure System Integration and Reliability Improvement, Yokohama, Japan, 14–17 July, pp 47–51
Gordon MJC, Melham TF (eds) (1993) Introduction to HOL: a theorem proving environment for higher order logic. Cambridge University Press, Cambridge
Harel D (1987) Statecharts: a visual formalism for complex systems. Sci Comput Program 8(3):231–274
Havelund K, Pressburger T (2000) Model Checking Java Programs using Java PathFinder. Int J Softw Tools Technol Transf 2(4):366–381
Havelund K, Rosu G (2004) An Overview of the Runtime Verification Tool Java PathExplorer. Formal Methods in System Design, vol 24. Springer, Netherlands, pp 189–215
Holzmann G (1997) The Model Checker SPIN. IEEE Trans Softw Eng 23(5):279–295
Hopcroft JE, Ullman JD (2006) Introduction to automata theory, languages, and computation. Addison Wesley
Nitsche U (1994) Propositional Linear Temporal Logic and Language Homomorphisms. In: Proceedings of 3rd International Symposium on Logical Foundations Computer Science, LNCS 813. Springer, pp 265–277
Kodkod, A Constraint Solver for Relational Logic, http://alloy.mit.edu/kodkod/
Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a Nutshell. Int J Softw Tools Technol Transf 1(1–2):134–152
Meiera A, Mundhenkb M, Thomasa M, Vollmera H (2008) The Complexity of Satisfiability for Fragments of CTL and CTL*Electronic Notes in Theoretical Computer Science, vol 223, 26 December 2008, pp 201–213
NuSMV: a new symbolic model checker, http://nusmv.fbk.eu/
Paulson LC (1994) Isabelle: A Generic Theorem Prover, LNCS 828. Springer
Sammapun U, Lee I, Sokolsky O (2005) RT-MaC: Runtime Monitoring and Checking of Quantitative and Probabilistic Properties. In: Proceedings of 11th IEEE International Conference Embedded and Real-Time Computing Systems and Applications, pp 147–153
Zhang L, Malik S (2002) The Quest for Efficient Boolean Satisfiability Solvers. In: Proceedings of 14th Conference on Computer Aided Verification (CAV2002), Copenhagen, Denmark, July, pp 17–36
Acknowledgments
This research was funded by a grant from the US Defense Threat Reduction Agency (DTRA).
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was funded by a grant from the US Defense Threat Reduction Agency (DTRA). The views expressed in this document are those of the author and do not reflect the official policy or position of the Department of Defense or the US Government.
Rights and permissions
About this article
Cite this article
Drusinsky, D. Early detection of evolving system failures and temporal conflicts using parameterized formal specifications and bounded constraint-solving. Innovations Syst Softw Eng 11, 143–152 (2015). https://doi.org/10.1007/s11334-015-0244-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-015-0244-8
Keywords
- Formal specifications
- System failures
- Statechart assertions
- SAT-solving
- Bounded constraint solving
- Validation and verification
- Computation tree logic