Abstract
In many approaches to the verification of reactive systems, operational semantics are used to model systems whereas specifications are expressed in temporal logics. Most approaches however assume, that the initial specification is indeed the intended one. Changing the specification thus necessitates to find an accordingly adapted system and to carry out the verification from scratch. During a systems life cycle however, changes of the requirements and resources necessitate repeated adaptations of specifications. We here propose a method that supports syntactic action refinement (SAR) and allows to automatically obtain (a priori) correct systems by hierarchically adding details to the according specifications. More precisely, we give a definition of SAR for formulas ϕ of the Modal Mu-Calculus (denoted by \(\varphi[\alpha\leadsto Q]\)) that conforms to SAR for TCSP-like process terms P (denoted \(P[\alpha\leadsto Q]\)) in the following sense: The system induced by a process term P satisfies a specification ϕ if and only if the system induced by the refined term \(P[\alpha\leadsto Q]\) satisfies the refined specification \(\varphi[\alpha\leadsto Q]\). Model checking is used to decide, whether the initial system satisfies the initial specification. If we are not satisfied with the obtained refinement \(P[\alpha\leadsto Q]\) or \(\varphi[\alpha\leadsto Q]\) we reuse already gained verification information (P satisfies ϕ that is) as the basis for other refinement steps. This can be conceived as a method to reengineer systems. Syntactic action refinement allows to handle infinite state systems. Further, the system induced by P might be exponentially smaller that the system induced by \(P[\alpha\leadsto Q]\)). We explain how our results can thus also be exploited to enhance model checking techniques. Finally, we apply our results to an example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Attie, P.C., Emerson, E.A.: Synthesis of concurrent systems with many similar sequential processes (extended abstract). In: ACM (ed.) POPL 1989. Proceedings of the sixteenth annual ACM symposium on Principles of programming languages, Austin, TX, January 11-13, pp. 191–201. ACM Press, New York (1989)
Aceto, L., Hennessy, M.: Adding action refinement to a finite process algebra. In: Leach Albert, J., Monien, B., Rodríguez-Artalejo, M. (eds.) ICALP 1991. LNCS, vol. 510, pp. 506–519. Springer, Heidelberg (1991)
Alur, R., Henzinger, T.A., Rajamani, S.K.: Symbolic exploration of transition hierarchies. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 330–344. Springer, Heidelberg (1998)
De Roever, W.P., Rozenberg, G., De Bakker, J.W. (eds.): REX 1989. LNCS, vol. 430. Springer, Heidelberg (1990)
Bensalem, S., Lakhnech, Y., Owre, S.: Computing abstractions of infinite state systems compositionally and automatically. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 319–331. Springer, Heidelberg (1998)
Bryant, R.E.: Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)
Bradfield, J., Stirling, C.: Local model checking for infinite state spaces. Theoretical Computer Science 96(1), 157–174 (1992)
International Conf. on Computer-Aided Verification. LNCS, vol. 407 (1989), vol. 531 (1990), vol. 575 (1991), vol. 663 (1992), vol. 697 (1993), vol. 818 (1994), vol. 939 (1995), vol. 1102 (1996), vol. 1254 (1997), vol. 1427 (1998), vol. 1633 (1999). Springer, New York
Cousot, P., Cousot, R.: Abstract interpretation frameworks. Journal of Logic and Computation 2(4), 511–547 (1992)
Clarke, E.M., Emerson, E.A.: Design and Synthesis of Synchronization Skeletons using Branching Time Temporal Logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)
Clarke, E.M., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. In: Courcoubetis, C. (ed.) Proceedings of The Fifth Workshop on Computer-Aided Verification, (June/July 1993)
Clarke, E., Grumberg, D., Long, D.: Model Checking and Abstraction. ACM Transactions on Programming Languages and Systems 16(5), 1512–1542 (1994)
Cleaveland, R.: The concurrency workbench: A semantics-based verification tool for the verification of concurrent systems. ACM Transactions on Programming Languages and Systems 15(1), 36–72 (1993)
Castellano, L., De Michelis, G., Pomello, L.: Concurrency vs interleaving: an instructive example. Bulletin of the European Association for Theoretical Computer Science 31, 12–15 (1987); Technical Contributions
Cousot, P.: Abstract interpretation. In: Symposium on Models of Programming Languages and Computation, ACM Computing Surveys, June 1996, vol. 28(2), pp. 324–328 (1996)
Dam, M.: CTL* and ECTL* as fragments of the modal μ-calculus. Theoretical Computer Science, 126(1),77–96, April 1994
Emerson, E.A., Lei, C.L.: Efficient model checking in fragments of the propositional μ-calculus. In: Symposium on Logic in Computer Science (LICS 1986), Washington, D.C., USA, June 1986, pp. 267–278. IEEE Computer Society Press, Los Alamitos (1986)
Emerson, E.A., Sistla, A.P.: Symmetry and model checking. In: Courcoubetis, C. (ed.) Proceedings of The Fifth Workshop on Computer-Aided Verificaton (June/July 1993)
Goltz, U., Gorrieri, R., Rensink, A.: On syntactic and semantic action refinement. LNCS, vol. 789, pp. 385–404 (1994)
Gorrieri, R., Rensink, A.: Action refinement. Technical Report UBLCS- 99-9, University of Bologna (Italy), Department of Computer Science (April 1999)
Graf, S.: Verification of distributed cache memory by using abstractions. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 207–219. Springer, Heidelberg (1994)
Huhn, M.: Action refinement and property inheritance in systems of sequential agents. In: Sassone, V., Montanari, U. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 639–654. Springer, Heidelberg (1996)
Hungar, H.: Local model checking for parallel compositions of context-free processes. LNCS, vol. 836, pp. 114–128. Springer, Heidelberg (1994)
Kozen, D.: Results on the propositional mu -calculus. Theoretical Computer Science 27(3), 333–354 (1983)
Long, D.E., Browne, A., Clarke, E.M., Jha, S., Marrero, W.R.: An improved algorithm for the evaluation of fixpoint expressions. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 338–350. Springer, Heidelberg (1994)
Milner, R.: A Calculus of Communicating Systems, 1st edn. Springer, Heidelberg (1980)
Manna, Z., Wolper, P.: Synthesis of communicating processes form temporal logic specifications. ACM Transactions on Programming Languages and Systems 6, 68–93 (1984)
Peled, D.: Ten years of partial order reduction. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 17–28. Springer, Heidelberg (1998)
Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: ACM (ed.) POPL 1989. Proceedings of the sixteenth annual ACM symposium on Principles of programming languages, New York, NY, USA, January 11-13, 1989, pp. 179–190. ACM Press, New York (1989)
Paige, R., Tarjan, R.E.: Three partition refinement algorithms. SIAM Journal on Computing 16(6), 973–989 (1987)
Saïdi, H., Shankar, N.: Abstract and model check while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 443–454. Springer, Heidelberg (1999)
Stirling, C.: Local model checking games (extended abstract). In: Lee, I., Smolka, S.A. (eds.) CONCUR 1995. LNCS, vol. 962, pp. 1–11. Springer, Heidelberg (1995)
Stirling, C.: Modal and temporal logics for processes. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp. 149–237. Springer, Heidelberg (1996)
Stirling, C., Walker, D.: Local model checking in the modal mu-calculus. Theoretical Computer Science 89(1), 161–177 (1991)
van Glabbeek, R., Goltz, U.: Equivalence notions for concurrent systems and refinement of actions. In: Kreczmar, A., Mirkowska, G. (eds.) MFCS 1989. LNCS, vol. 379, pp. 237–248. Springer, Heidelberg (1989)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Majster-Cederbaum, M., Salger, F. (2000). Correctness by Construction: Towards Verification in Hierarchical System Development. In: Havelund, K., Penix, J., Visser, W. (eds) SPIN Model Checking and Software Verification. SPIN 2000. Lecture Notes in Computer Science, vol 1885. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722468_10
Download citation
DOI: https://doi.org/10.1007/10722468_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41030-0
Online ISBN: 978-3-540-45297-3
eBook Packages: Springer Book Archive