Advertisement

Parameterized Programming for Compositional System Specification

  • Óscar MartínEmail author
  • Alberto Verdejo
  • Narciso Martí-Oliet
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11152)

Abstract

Our overall goal is compositional specification and verification in rewriting logic. In previous work, we described a way to compose system specifications using the operation we call synchronous composition. In this paper, we propose the use of parameterized programming to encapsulate and handle specifications: theories represent interfaces; modules parameterized by such theories instruct on how to assemble the parameter systems using the synchronous composition operation; the implementation of the whole system is then obtained by instantiating the parameters with implementations for the components. We show, and illustrate with examples, how this setting facilitates compositionality.

Notes

Acknowledgements

We thank the anonymous referees for their careful and clever remarks that helped us to improve this paper.

References

  1. 1.
    de Alfaro, L., Henzinger, T.A.: Interface-based design. In: Broy, M., Grünbauer, J., Harel, D., Hoare, T. (eds.) Engineering Theories of Software Intensive Systems, pp. 83–104. Springer, Dordrecht (2005).  https://doi.org/10.1007/1-4020-3532-2_3CrossRefGoogle Scholar
  2. 2.
    Burstall, R.M., Goguen, J.A.: The semantics of CLEAR, a specification language. In: Bjøorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 292–332. Springer, Heidelberg (1980).  https://doi.org/10.1007/3-540-10007-5_41CrossRefGoogle Scholar
  3. 3.
    Cavada, R.: The nuXmv symbolic model checker. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 334–342. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-08867-9_22CrossRefGoogle Scholar
  4. 4.
    Clavel, M., et al.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-71999-1CrossRefzbMATHGoogle Scholar
  5. 5.
    Diaconescu, R., Futatsugi, K., Iida, S.: Component-based algebraic specification and verification in CafeOBJ. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM 1999. LNCS, vol. 1709, pp. 1644–1663. Springer, Heidelberg (1999).  https://doi.org/10.1007/3-540-48118-4_37CrossRefGoogle Scholar
  6. 6.
    Durán, F., Meseguer, J.: Parameterized theories and views in Full Maude 2.0. In: Futatsugi, K. (ed.) WRLA 2000. Electronic Notes in Theoretical Computer Science, pp. 316–338. Elsevier, Amsterdam (2000).  https://doi.org/10.1016/S1571-0661(05)80136-7CrossRefGoogle Scholar
  7. 7.
    Gianola, A., Kasangian, S., Sabadini, N.: Cospan/Span(Graph): an algebra for open, reconfigurable automata networks. In: CALCO. LIPIcs, vol. 72, pp. 2:1–2:17. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2017).  https://doi.org/10.4230/LIPIcs.CALCO.2017.2
  8. 8.
    Kindler, E., Vesper, T.: ESTL: a temporal logic for events and states. In: Desel, J., Silva, M. (eds.) ICATPN 1998. LNCS, vol. 1420, pp. 365–384. Springer, Heidelberg (1998).  https://doi.org/10.1007/3-540-69108-1_20CrossRefGoogle Scholar
  9. 9.
    Kupferman, O., Vardi, M.Y.: An automata-theoretic approach to modular model checking. ACM Trans. Program. Lang. Syst. 22(1), 87–128 (2000).  https://doi.org/10.1145/345099.345104CrossRefzbMATHGoogle Scholar
  10. 10.
    Martín, Ó., Verdejo, A., Martí-Oliet, N.: Modular specification in rewriting logic (extended version). Technical report 04/17, Departamento de Sistemas Informáticos y Computación, Facultad de Informática, Universidad Complutense de Madrid (2017). http://eprints.ucm.es/45264/
  11. 11.
    Martín, Ó., Verdejo, A., Martí-Oliet, N.: Alternating bit protocol as an example of compositional system specification. Technical report 01/18, Departamento de Sistemas Informáticos y Computación, Facultad de Informática, Universidad Complutense de Madrid (2018). http://eprints.ucm.es/46243/
  12. 12.
    Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theor. Comput. Sci. 96(1), 73–155 (1992).  https://doi.org/10.1016/0304-3975(92)90182-FMathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Meseguer, J.: The temporal logic of rewriting: a gentle introduction. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 354–382. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-68679-8_22CrossRefGoogle Scholar
  14. 14.
    Owre, S., Shankar, N.: Theory Interpretations in PVS. Techical report, SRI International, April 2001 (2001). http://pvs.csl.sri.com/doc/interpretations.pdf
  15. 15.
    Papadopoulos, G.A., Arbab, F.: Coordination models and languages. Adv. Comput. 46, 329–400 (1998).  https://doi.org/10.1016/S0065-2458(08)60208-9CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Óscar Martín
    • 1
    Email author
  • Alberto Verdejo
    • 1
  • Narciso Martí-Oliet
    • 1
  1. 1.Facultad de InformáticaUniversidad Complutense de MadridMadridSpain

Personalised recommendations