Hostname: page-component-78c5997874-v9fdk Total loading time: 0 Render date: 2024-11-10T19:27:41.461Z Has data issue: false hasContentIssue false

Compositional Specification in Rewriting Logic

Published online by Cambridge University Press:  09 October 2019

ÓSCAR MARTÍN
Affiliation:
Facultad de Informática, Universidad Complutense de Madrid, Madrid, Spain (e-mails: omartins@ucm.es, jalberto@ucm.es, narciso@ucm.es)
ALBERTO VERDEJO
Affiliation:
Facultad de Informática, Universidad Complutense de Madrid, Madrid, Spain (e-mails: omartins@ucm.es, jalberto@ucm.es, narciso@ucm.es)
NARCISO MARTÍ-OLIET
Affiliation:
Facultad de Informática, Universidad Complutense de Madrid, Madrid, Spain (e-mails: omartins@ucm.es, jalberto@ucm.es, narciso@ucm.es)

Abstract

Rewriting logic is naturally concurrent: several subterms of the state term can be rewritten simultaneously. But state terms are global, which makes compositionality difficult to achieve. Compositionality here means being able to decompose a complex system into its functional components and code each as an isolated and encapsulated system. Our goal is to help bringing compositionality to system specification in rewriting logic. The base of our proposal is the operation that we call synchronous composition. We discuss the motivations and implications of our proposal, formalize it for rewriting logic and also for transition structures, to be used as semantics, and show the power of our approach with some examples.

Type
Original Article
Copyright
© Cambridge University Press 2019 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Footnotes

*

This work is partially supported by MINECO Spanish project TRACES (TIN2015-67522-C3-3-R), and Comunidad de Madrid programs N-GREENS Software (S2013/ICE-2731) and BLOQUES (S2018/TCS-4339). This paper owes a good share of whatever value it may have to the very careful and useful remarks and suggestions from its anonymous referees.

References

Arbab, F. 2004. REO: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14, 3, 329366.CrossRefGoogle Scholar
Bachmair, L., Tiwari, A. and Vigneron, L. 2003. Abstract congruence closure. Journal of Automated Reasoning 31, 2, 129168.10.1023/B:JARS.0000009518.26415.49CrossRefGoogle Scholar
Bae, K. and Meseguer, J. 2010. The linear temporal logic of rewriting Maude model checker. In Rewriting Logic and Its Applications - 8th International Workshop, WRLA 2010, Held as a Satellite Event of ETAPS 2010, Paphos, Cyprus, March 20–21, 2010, Revised Selected Papers, Ölveczky, P. C., Ed. Lecture Notes in Computer Science, vol. 6381. Springer, 208225.Google Scholar
Bae, K. and Meseguer, J. 2012. A rewriting-based model checker for the linear temporal logic of rewriting. Electronic Notes in Theoretical Computer Science 290, 1936.10.1016/j.entcs.2012.11.009CrossRefGoogle Scholar
Bae, K. and Meseguer, J. 2015. Model checking linear temporal logic of rewriting formulas under localized fairness. Science of Computer Programming 99, 193234.CrossRefGoogle Scholar
Basu, A., Bozga, M. and Sifakis, J. 2008. Modeling heterogeneous real-time components in BIP. In Perspectives Workshop: Model Engineering of Complex Systems (MECS), August 10–13, 2008, Aßmann, U., Bézivin, J., Paige, R. F., Rumpe, B. and Schmidt, D. C., Eds. Dagstuhl Seminar Proceedings, vol. 08331. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, Germany.Google Scholar
Boudol, G. and Castellani, I. 1988. A non-interleaving semantics for CCS based on proved transitions. Fundamenta Informaticae 11, 433452.Google Scholar
Bruni, R., Melgratti, H. C., Montanari, U. and Sobociński, P. 2013. Connector algebras for C/E and P/T nets’ interactions. Logical Methods in Computer Science 9, 3.CrossRefGoogle Scholar
Bruni, R., Meseguer, J. and Montanari, U. 2002. Tiling transactions in rewriting logic. Electronic Notes on Theoretical Computer Science 71, 90109.CrossRefGoogle Scholar
Bruns, G. and Godefroid, P. 1999. Model checking partial state spaces with 3-valued temporal logics. In Computer Aided Verification: 11th International Conference, CAV ’99, Halbwachs, N. and Peled, D., Eds. Lecture Notes in Computer Science, vol. 1633. Springer-Verlag, Trento, Italy, 274287.Google Scholar
Bruns, G. and Godefroid, P. 2000. Generalized model checking: Reasoning about partial state spaces. In CONCUR 2000—Concurrency Theory: 11th International Conference, Palamidessi, C., Ed. Lecture Notes in Computer Science, vol. 1877. Springer, University Park, PA, USA, 168182.Google Scholar
Butler, M. and Leuschel, M. 2005. Combining CSP and B for specification and property verification. In FM 2005: Formal Methods, Fitzgerald, J., Hayes, I. J. and Tarlecki, A., Eds. Springer, Berlin, Heidelberg, 221236.Google Scholar
Chaki, S., Clarke, E. M., Ouaknine, J., Sharygina, N. and Sinha, N. 2004. State/event-based software model checking. In IFM, Boiten, E. A., Derrick, J., Smith, G., Eds. Lecture Notes in Computer Science, vol. 2999. Springer, 128147.Google Scholar
Clarke, E. M. J., Grumberg, O. and Peled, D. A. 1999. Model Checking. MIT Press, Cambridge, MA, USA.Google Scholar
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J. and Talcott, C. L. 2007. All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic. Lecture Notes in Computer Science, vol. 4350. Springer, Berlin, Heidelberg.Google Scholar
Clavel, M. and Meseguer, J. 1997. Internal strategies in a reflective logic. In Proceedings of the CADE-14 Workshop on Strategies in Automated Deduction, Gramlich, B. and Kirchner, H., Eds. Springer, Townsville, Australia, 112.Google Scholar
de Alfaro, L. and Henzinger, T. A. 2005. Interface-based design. In Engineering Theories of Software Intensive Systems, Broy, M., Grünbauer, J., Harel, D. and Hoare, T., Eds. Springer Netherlands, Dordrecht, 83104.Google Scholar
De Nicola, R., Fantechi, A., Gnesi, S. and Ristori, G. 1993. An action-based framework for verifying logical and behavioural properties of concurrent systems. Computer Networks and ISDN Systems 25, 7, 761778.10.1016/0169-7552(93)90047-8CrossRefGoogle Scholar
De Nicola, R., Latella, D., Lafuente, A. L., Loreti, M., Margheri, A., Massink, M., Morichetta, A., Pugliese, R., Tiezzi, F. and Vandin, A. 2015. The SCEL language: Design, implementation, verification. In Software Engineering for Collective Autonomic Systems: The ASCENS Approach, Wirsing, M., Hölzl, M., Koch, N. and Mayer, P., Eds. Springer International Publishing, Cham, 371.CrossRefGoogle Scholar
De Nicola, R. and Vaandrager, F. W. 1990. Action versus state based logics for transition systems. In Semantics of Systems of Concurrent Processes, Guessarian, I., Eds. Lecture Notes in Computer Science, vol. 469. Springer, 407419.CrossRefGoogle Scholar
De Nicola, R. and Vaandrager, F. 1995. Three logics for branching bisimulation. Journal of the Association for Computing Machinery 42, 2, 458487.CrossRefGoogle Scholar
Eker, S., Martí-Oliet, N., Meseguer, J. and Verdejo, A. 2007. Deduction, strategies, and rewriting. In Proceedings of the 6th International Workshop on Strategies in Automated Deduction (STRATEGIES 2006), Archer, M., de la Tour, T. B. and Muñoz, C., Eds. Electronic Notes in Theoretical Computer Science, vol. 174. Elsevier, Seattle, WA, USA, 325.Google Scholar
Gadducci, F. and Montanari, U. 2000. The tile model. In Proof, Language, and Interaction, Essays in Honour of Robin Milner, Plotkin, G. D., Stirling, C. and Tofte, M., Eds. The MIT Press, 133166.Google Scholar
Garavel, H., Lang, F. and Serwe, W. 2017. From LOTOS to LNT. In ModelEd, TestEd, TrustEd - Essays Dedicated to Ed Brinksma on the Occasion of His 60th Birthday, Katoen, J.-P. and Langerak, R., Eds. Lecture Notes in Computer Science, vol. 10500. Springer, 326. DOI: 10.1007/978-3-319-68270-9_1.CrossRefGoogle Scholar
Gianola, A., Kasangian, S. and Sabadini, N. 2017. Cospan/span(graph): An algebra for open, reconfigurable automata networks. In 7th Conference on Algebra and Coalgebra in Computer Science, CALCO 2017, June 12–16, 2017, Ljubljana, Slovenia, Bonchi, F. and König, B., Eds. LIPIcs, vol. 72. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2:12:17.Google Scholar
Godefroid, P. and Huth, M. 2005. Model checking vs. generalized model checking: Semantic minimizations for temporal logics. In Proceedings of 20th Annual IEEE Symposium on Logic in Computer Science (LICS ’05). IEEE, Chicago, IL, USA, 158167.Google Scholar
Harel, D., Marron, A. and Weiss, G. 2012. Behavioural Programming. Communications of the Association for Computing Machinery 55, 7, 90100.Google Scholar
Hennicker, R., Knapp, A. and Wirsing, M. 2014. Assembly theories for communication-safe component systems. In From Programs to Systems. The Systems perspective in Computing - ETAPS Workshop, FPS 2014, in Honor of Joseph Sifakis, Grenoble, France, April 6, 2014. Proceedings, Bensalem, S., Lakhnech, Y. and Legay, A., Eds. Lecture Notes in Computer Science, vol. 8415. Springer, 145160.Google Scholar
Hoare, C. A. R. 1978. Communicating sequential processes. Communications of the Association for Computing Machinery 21, 8, 666677.CrossRefGoogle Scholar
Hopcroft, J. E., Motwani, R. and Ullman, J. D. 2006. Introduction to Automata Theory, Languages, and Computation (3rd ed.). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.Google Scholar
Huth, M., Jagadeesan, R. and Schmidt, D. 2001. Modal transition systems: A foundation for three-valued program analysis. In Programming Languages and Systems: 10th European Symposium on Programming, ESOP 2001, Sands, D., Ed. Lecture Notes in Computer Science, vol. 2028. Springer, Genova, Italy, 155169.Google Scholar
Jensen, K. and Kristensen, L. M. 2009. Coloured Petri Nets. Springer, Berlin, Heidelberg.10.1007/b95112CrossRefGoogle Scholar
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M., Irwin, J. and Lopes, C. 1997. Aspect-oriented programming. In ECOOP ’97—Object-Oriented Programming. Lecture Notes in Computer Science, vol. 1241. Springer-Verlag, Jyväskylä, Finland, 220242.Google Scholar
Kindler, E. and Vesper, T. 1998. ESTL: A temporal logic for events and states. In Application and Theory of Petri Nets 1998: 19th International Conference, ICATPN ’98, Desel, J. and Silva, M., Eds. Lecture Notes in Computer Science, vol. 1420. Springer, Lisbon, Portugal, 365384.Google Scholar
Lescanne, P. 1989. Completion Procedures as Transition Rules + Control. In TAPSOFT ’89: Proceedings of the International Joint Conference on Theory and Practice of Software Development, Díaz, J. and Orejas, F., Eds. Lecture Notes in Computer Science, vol. 351. Springer, Berlin, Heidelberg, 2841.Google Scholar
Lynch, N. A. and Tuttle, M. R. 1989. An introduction to input/output automata. CWI Quarterly 2, 219246.Google Scholar
Magee, J. and Kramer, J. 2006. Concurrency - State Models and Java Programs (2nd ed.). Wiley.Google Scholar
Martí-Oliet, N., Meseguer, J. and Verdejo, A. 2004. Towards a strategy language for Maude. In Proceedings of the Fifth International Workshop on Rewriting Logic and Its Applications (WRLA 2004), Martí-Oliet, N., Ed. Electronic Notes in Theoretical Computer Science, vol. 117. Elsevier, Barcelona, Spain, 417441.Google Scholar
Martí-Oliet, N., Meseguer, J. and Verdejo, A. 2009. A rewriting semantics for Maude strategies. In Proceedings of the Seventh International Workshop on Rewriting Logic and its Applications (WRLA 2008), Rosu, G., Ed. Electronic Notes in Theoretical Computer Science, vol. 238. Elsevier, Budapest, Hungary, 227247.Google Scholar
Martn, Ó., Verdejo, A. and Martí-Oliet, N. 2014. Model checking TLR* guarantee formulas on infinite systems. In Specification, Algebra, and Software - Essays Dedicated to Kokichi Futatsugi, Iida, S., Meseguer, J. and Ogata, K., Eds. Lecture Notes in Computer Science, vol. 8373. Springer, 129150.Google Scholar
Martín, Ó., Verdejo, A. and Martí-Oliet, N. 2016a. Egalitarian state-transition systems. In Rewriting Logic and Its Applications: WRLA 2016, Lucanu, D., Ed. Lecture Notes in Computer Science, vol. 9942. Springer, Eindhoven, The Netherlands, 98117.Google Scholar
Martín, Ó., Verdejo, A. and Martí-Oliet, N. 2016b. Synchronous products of rewrite systems. In Automated Technology for Verification and Analysis: ATVA 2016, Artho, C., Legay, A. and Peled, D. A., Eds. Lecture Notes in Computer Science, vol. 9938. Springer, Cham, 141156.Google Scholar
Martn, Ó., Verdejo, A. and Mart-Oliet, N. 2018. Parameterized programming for compositional system specification. In Rewriting Logic and Its Applications: WRLA 2018, Rusu, V., Ed. Lecture Notes in Computer Science, vol. 11152. Springer.Google Scholar
Mazurkiewicz, A. 1988. Compositional semantics of pure place/transition systems. In Advances in Petri nets: APN 1987, Rozenberg, G., Ed. Lecture Notes in Computer Science, vol. 340. Springer, Oxford, UK, 307330.Google Scholar
Meseguer, J. 1992. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96, 1, 73155.10.1016/0304-3975(92)90182-FCrossRefGoogle Scholar
Meseguer, J. 2008. The temporal logic of rewriting: A gentle introduction. In Concurrency, Graphs and Models, Degano, P., Nicola, R. D. and Meseguer, J., Eds. Lecture Notes in Computer Science, vol. 5065. Springer, Berlin, Heidelberg, 354382.Google Scholar
Meseguer, J. and Montanari, U. 1997. Mapping tile logic into rewriting logic. In Recent Trends in Algebraic Development Techniques, 12th International Workshop, WADT ’97, Tarquinia, Italy, June 1997, Selected Papers. Lecture Notes in Computer Science, vol. 1376. Springer, 6291.Google Scholar
Meseguer, J. and Thati, P. 2007. Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols. Higher-Order and Symbolic Computation 20, 123160.Google Scholar
Milner, R. 1980. A Calculus of Communicating Systems. Lecture Notes in Computer Science, vol. 92. Springer-Verlag, Berlin, Heidelberg.CrossRefGoogle Scholar
Papadopoulos, G. A. and Arbab, F. 1998. Coordination models and languages. Advances in Computers 46, 329400.Google Scholar
Pnueli, A. 1985. In transition from global to modular temporal reasoning about programs. In Logics and Models of Concurrent Systems, Apt, K. R., Ed. Springer, Berlin, Heidelberg, 123144.10.1007/978-3-642-82453-1_5CrossRefGoogle Scholar
Reisig, W. 1985. Petri Nets: An Introduction. EATCS Monographs in Theoretical Computer Science. Springer, Berlin, Heidelberg.CrossRefGoogle Scholar
Reisig, W. 2013. Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies. Springer, Berlin, Heidelberg.Google Scholar
Sánchez, C. and Samborski-Forlese, J. 2012. Efficient regular linear temporal logic using dualization and stratification. In Proceedings - 2012 19th International Symposium on Temporal Representation and Reasoning, TIME 2012, 1320.Google Scholar
Sobociński, P. 2016. Compositional model checking of concurrent systems, with Petri nets. In Developments in Computational Models: DCM 2015 Proceedings, Muñoz, C. A. and Pérez, J. A., Eds. Electronics Proceedings in Theoretical Computer Science, vol. 204. Open Publishing Association, Cali, Colombia, 1930.Google Scholar
Verdejo, A. and Martí-Oliet, N. 2012. Basic completion strategies as another application of the Maude strategy language. In Workshop on Reduction Strategies in Rewriting and Programming (WRS2011), Escobar, S., Ed. Electronic Proceedings in Theoretical Computer Science, vol. 82. Open Publishing Association, Novi Sad, Serbia, 1736.Google Scholar
Welch, P. H. and Barnes, F. R. M. 2004. Communicating mobile processes. In Communicating Sequential Processes: The First 25 Years, Symposium on the Occasion of 25 Years of CSP, London, UK, July 7–8, 2004, Revised Invited Papers, Abdallah, A. E., Jones, C. B. and Sanders, J. W., Eds. Lecture Notes in Computer Science, vol. 3525. Springer, 175210.Google Scholar
Wells, G. 2005. New issues on coordination and adaptation techniques. In Proceedings of the Second International Workshop on Coordination and Adaptation Techniques for Software Entities WCAT’05, 25 Jul. 2005, Becker, S., Canal, C., Murillo, J. M., Poizat, P. and Tivoli, M., Eds. Glasgow, Scotland, 8789. Held in conjunction with ECOOP 2005, Technical Report TR ITI-05-07, Dpto. de Lenguajes y Ciencias de la Computación, Universidad de Málaga. URL: https://www.cs.cmu.edu/jcmoreno/files/WCAT05Proceedings.pdf [Accessed on September 26, 2019].Google Scholar