Abstract
Although formal system verification has been around for many years, little attention was given to the case where the specification of the system has to be changed. This may occur due to a failure in capturing the clients’ requirements or due to some change in the domain (think for example of banking systems that have to adapt to different taxes being imposed). We are interested in having methods not only to verify properties, but also to suggest how the system model should be changed so that a property would be satisfied. For this purpose, we will use techniques from the area of Belief Revision, that deals with the problem of changing a knowledge base in view of new information. In the last thirty years, several authors have contributed with change operations and ways of characterizing them. However, most of the work concentrates on knowledge bases represented using classical propositional logic. In the last decade, there have been efforts to apply belief revision theory to description and modal logics. In this work, we analyze what is needed for a theory of belief revision which can be applied to the temporal logic, such as the Computation Tree Logic (CTL). In particular, we illustrate different alternatives for formalizing the concept of revision of CTL. Our interest in this particular logic comes both from practical issues, since it is used for software specification, as from theoretical issues, as it is a non-compact logic and most existing results rely on compactness. We focus here on the revision of CTL models and present a characterization result for the revision of partial models.
Similar content being viewed by others
Notes
Actually, Alchourrón, Gärdenfors and Makinson proved the result for another operation, contraction, and then later proved the relation between contraction and revision, having this theorem as a corollary.
A path \(\pi = [s_1, s_2,\ldots , s_{i-1}, s_i, s_{i+1},\ldots ]\) is a path in \( {\mathcal {M}}= {{\langle AP{}, S{}, s_0{}, R{}, L{} \rangle }}\) if and only if \( \forall s \in \pi , s \in S \) and \( (s_i, s_{i+1}) \in R \) for all \( i \ge 1 \).
In fact, it is trivially satisfied by operations PU1–PU5. However (R*1)–(R*5) were intended to be applied for any set of primitive operations
A KMTS is equivalent to a Kripke structure if its expansion generates a set with a single Kripke model. This occurs when in a KMTS there are no undeterminacies about labels or transitions.
References
Alchourron, C. E., Gärdenfors, P., & Makinson, D. (1985). On the logic of theory change: Partial meet contraction and revision functions. Journal of Symbolic Logic, 50(2), 510–530.
Alchourron, C. E., & Makinson, D. (1982). On the logic of theory change: Contraction functions and their associated revision functions. Theoria, 48(1), 14–37. https://doi.org/10.1111/j.1755-2567.1982.tb00480.x
Baier, C., & Katoen, J. P. (2008). Principles of model checking. MIT Press. https://doi.org/10.1093/comjnl/bxp025
Buccafurri, F., Eiter, T., Gottlob, G., & Leone, N. (1999). Enhancing model checking in verification by AI techniques. Artificial Intelligence, 112(1–2), 57–104. https://doi.org/10.1016/S0004-3702(99)00039-9
Burch, J., Clarke, E., McMillan, K., Dill, D., & Hwang, L. (1992). Symbolic model checking: \(10^{20}\) States and Beyond. Information and Computation, 98(2), 142–170. https://doi.org/10.1016/0890-5401(92)90017-A
Chatzieleftheriou, G., Bonakdarpour, B., Smolka, S. A., & Katsaros, P. (2012). Abstract model repair. In A. Goodloe & S. Person (Eds.), NASA formal methods. Lecture notes in computer science (Vol. 7226, pp. 341–355). Springer. https://doi.org/10.1007/978-3-642-28891-3_32
Clarke, E. M., & Emerson, E. A. (1982). Design and synthesis of synchronization skeletons using branching time temporal logic. In D. Kozen (Ed.), Logics of programs. Lecture notes in computer science (Vol. 131, pp. 52–71). Springer. https://doi.org/10.1007/BFb0025774
Clarke, E. M., Emerson, E. A., & Sistla, A. P. (1986). Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems (TOPLAS), 8(2), 244–263. https://doi.org/10.1145/5397.5399
Clarke, E. M., Grumberg, O., & Peled, D. A. (1999). Model checking. Springer.
Cresswell, M. J., & Hughes, G. E. (2012). A new introduction to modal logic. Routledge.
Finger, M., & Wassermann, R. (2008). Revising specifications with CTL properties using bounded model checking. In Proceedings of the 19th Brazilian symposium on artificial intelligence (SBIA’08), Lecture notes in artificial intelligence (Vol. 5249, pp. 157–166). Springer.
Grove, A. (1988). Two modellings for theory change. Journal of Philosophical Logic, 17(2), 157–170. https://doi.org/10.1007/BF00247909
Guerra, P. T. (2010). Revisão de Modelos CTL. Master’s thesis, Universidade de São Paulo.
Guerra, P. T., Andrade, A., & Wassermann, R. (2013). Toward the revision of CTL models through Kripke modal transition systems. In J. Iyoda & L. M. de Moura (Eds.), Formal methods: Foundations and applications. 16th Brazilian symposium on formal methods (SBMF 2013), Lecture notes in computer science (Vol. 8195, pp. 115–130). Springer.
Guerra, P. T., & Wassermann, R. (2010). Revision of CTL models. In A. Kuri-Morales & G. Simari (Eds.), Advances in artificial intelligence—IBERAMIA 2010, LNCS (Vol. 6433, pp. 153–162). Springer.
Guerra, P. T., & Wassermann, R. (2017). On the uncomputability of partial meet contraction for linear-time temporal logic. In Brazilian logic meeting—Book of abstracts. Extended version accepted for publication in the South American Journal of Logic, 2019.
Guerra, P. T., Wassermann, R. (2018). Two AGM-style characterizations of model repair. In Proceedings of the 16th international conference on principles of knowledge representation and reasoning (KR 2018) (pp. 645–646).
Hansson, S. O. (1999). A textbook of belief dynamics. Theory change and database updating. Kluwer Academic.
Hansson, S. O., & Wassermann, R. (2002). Local change. Studia Logica, 70(1), 49–76.
Herzig, A., & Rifi, O. (1999). Propositional belief base update and minimal change. Artificial Intelligence, 115(1), 107–138. https://doi.org/10.1016/S0004-3702(99)00072-7
Huth, M. (2002). Model checking modal transition systems using Kripke structures. In A. Cortesi (Ed.), Verification, model checking, and abstract interpretation (pp. 302–316). Springer.
Huth, M., Jagadeesan, R., & Schmidt, D. (2001). Modal transition systems: A foundation for three-valued program analysis. In D. Sands (Ed.), Programming languages and systems. Lecture notes in computer science (Vol. 2028, pp. 155–169). Springer. https://doi.org/10.1007/3-540-45309-1_11
Katsuno, H., & Mendelzon, A. O. (1991). On the difference between updating a knowledge base and revising it. In Proceedings of the second international conference on principles of knowledge representation and reasoning (KR’91) (pp. 387–395). Morgan Kaufmann.
Kozen, D. (1983). Results on the propositional \(\mu \)-calculus. Theoretical Computer Science, 27(3), 333–354. https://doi.org/10.1016/0304-3975(82)90125-6
Larsen, K. G. (1990). Modal specifications. In J. Sifakis (Ed.), Automatic verification methods for finite state systems. Lecture notes in computer science (Vol. 407, pp. 232–246). Springer.
Larsen, K. G., & Thomsen, B. (1988). A modal process logic. In Proceedings of the third annual symposium on logic in computer science, 1988. LICS ’88 (pp. 203–210). https://doi.org/10.1109/LICS.1988.5119
Pnueli, A. (1977). The temporal logic of programs. In Proceedings of the 18th annual symposium on foundations of computer science, SFCS’77 (pp. 46–57). IEEE Computer Society. https://doi.org/10.1109/SFCS.1977.32.
Queille, J. P., & Sifakis, J. (1982). Specification and verification of concurrent systems in CESAR. In Proceedings of the 5th colloquium on international symposium on programming (pp. 337–351). Springer. http://dl.acm.org/citation.cfm?id=647325.721668
Ribeiro, J., Nayak, A., & Wassermann, R. (2018). Towards belief contraction without compactness. In Knowledge representation and reasoning conference (KR) (pp. 287–296).
Ribeiro, J. S., & Andrade, A. (2015). A 3-valued contraction model checking game: Deciding on the world of partial information. In Formal methods and software engineering—Proceedings of the 17th international conference on formal engineering methods, ICFEM 2015 (pp. 84–99).
Sousa, T. C., & Wassermann, R. (2007). Handling inconsistencies in CTL model-checking using belief revision. In Proc. of the Brazilian symposium on formal methods.
Van Zee, M., Doder, D., Dastani, M., & Van Der Torre, L. (2015). AGM revision of beliefs about action and time. In Proc. international conference on artificial intelligence (pp. 3250–3256). AAAI Press. http://dl.acm.org/citation.cfm?id=2832581.2832702
Zhang, Y., & Ding, Y. (2008). CTL model update for system modifications. Journal of Artificial Intelligence Research, 31(1), 113–155.
Funding
Paulo T. Guerra was funded by Grant #2010/15392-3, São Paulo Research Foundation (FAPESP). This work was developed under the Brazilian Research Council (CNPq) Grant #447178/2014-8.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Ethical Approval
This work does not contain any studies with human participants or animals performed by any of the authors.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Guerra, P.T., Wassermann, R. Revising System Specifications in Temporal Logic. J of Log Lang and Inf 31, 591–618 (2022). https://doi.org/10.1007/s10849-022-09376-9
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10849-022-09376-9