Verification of Concurrent Design Patterns with Data

  • Simon Bliudze
  • Ludovic Henrio
  • Eric MadelaineEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11533)


We provide a solution for the design of safe concurrent systems by compositional application of verified design patterns—called architectures—to a small set of functional components. To this end, we extend the theory of architectures developed previously for the BIP framework with the elements necessary for handling data: definition and operations on data domains, syntax and semantics of composition operators involving data transfer. We provide a set of conditions under which composition of architectures preserves their characteristic safety properties. To verify that individual architectures do enforce their associated properties, we provide an encoding into open pNets, an intermediate model that supports SMT-based verification. The approach is illustrated by a case study based on a previously developed BIP model of a nanosatellite on-board software.


Symbolic verification Composition Safety Interaction models 


  1. 1.
    Alberti, F., Ghilardi, S., Pagani, E., Ranise, S., Rossi, G.P.: Universal guards, relativization of quantifiers, and failure models in model checking modulo theories. JSAT 8(1/2), 29–61 (2012). Scholar
  2. 2.
    Ameur-Boulifa, R., Henrio, L., Kulankhina, O., Madelaine, E., Savu, A.: Behavioural semantics for asynchronous components. J. Log. Algebr. Methods Program. 89, 1–40 (2017)., Scholar
  3. 3.
    Arnold, A.: Synchronised behaviours of processes and rational relations. Acta Inform. 17, 21–29 (1982)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Aştefănoaei, L., Ben Rayana, S., Bensalem, S., Bozga, M., Combaz, J.: Compositional verification of parameterised timed systems. In: Havelund, K., Holzmann, G., Joshi, R. (eds.) NFM 2015. LNCS, vol. 9058, pp. 66–81. Springer, Cham (2015). Scholar
  5. 5.
    Attie, P., Baranov, E., Bliudze, S., Jaber, M., Sifakis, J.: A general framework for architecture composability. Form. Asp. Comput. 18(2), 207–231 (2016)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Baranov, E.: A semantic framework for architecture modelling. Ph.D. thesis, EPFL (2017)Google Scholar
  7. 7.
    Basu, A., et al.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011). Scholar
  8. 8.
    Beckert, B., Hähnle, R., Schmitt, P.H.: Verification of Object-Oriented Software: The KeY Approach. Springer, Heidelberg (2007). Scholar
  9. 9.
    Bensalem, S., Bozga, M., Nguyen, T.H., Sifakis, J.: D-finder: a tool for compositional deadlock detection and verification. In: CAV, pp. 614–619 (2009). Scholar
  10. 10.
    Bensalem, S., Griesmayer, A., Legay, A., Nguyen, T.-H., Sifakis, J., Yan, R.: D-Finder 2: towards efficient correctness of incremental design. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 453–458. Springer, Heidelberg (2011). Scholar
  11. 11.
    Bliudze, S., et al.: Formal verification of infinite-state BIP models. In: Finkbeiner, B., Pu, G., Zhang, L. (eds.) ATVA 2015. LNCS, vol. 9364, pp. 326–343. Springer, Cham (2015). Scholar
  12. 12.
    Bliudze, S., Henrio, L., Madelaine, E.: Verification of concurrent design patterns with data. Technical report, Inria (2019, to appear)Google Scholar
  13. 13.
    Bliudze, S., Sifakis, J.: The algebra of connectors–structuring interaction in BIP. In: Proceedings of the 7th ACM & IEEE International Conference on Embedded Software, EMSOFT 2007, pp. 11–20. ACM SigBED, Salzburg, October 2007.
  14. 14.
    Bliudze, S., Sifakis, J.: The algebra of connectors–structuring interaction in BIP. IEEE Trans. Comput. 57(10), 1315–1330 (2008). Scholar
  15. 15.
    Bliudze, S., Sifakis, J.: Causal semantics for the algebra of connectors. Form. Methods Syst. Des. 36(2), 167–194 (2010). Scholar
  16. 16.
    Bruni, R., de Frutos-Escrig, D., Martí-Oliet, N., Montanari, U.: Bisimilarity congruences for open terms and term graphs via tile logic. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 259–274. Springer, Heidelberg (2000). Scholar
  17. 17.
    Buisson, J., Calvacante, E., Dagnat, F., Leroux, E., Martinez, S.: Coqcots & Pycots: non-stopping components for safe dynamic reconfiguration. In: CBSE 2014: proceedings of the 17th International ACM SIGSOFT Symposium on Component-Based Software Engineering, Lille, France, p. 1, June 2014.,
  18. 18.
    Calvanese, D., Ghilardi, S., Gianola, A., Montali, M., Rivkin, A.: Verification of data-aware processes via array-based systems (extended version). CoRR abs/1806.11459 (2018).
  19. 19.
    Cansado, A., Madelaine, E.: Specification and verification for grid component-based applications: from models to tools. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) FMCO 2008. LNCS, vol. 5751, pp. 180–203. Springer, Heidelberg (2009). Scholar
  20. 20.
    Cavada, R., et al.: The nuXmv symbolic model checker. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 334–342. Springer, Cham (2014). Scholar
  21. 21.
    Champion, A., Mebsout, A., Sticksel, C., Tinelli, C.: The Kind 2 model checker. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9780, pp. 510–517. Springer, Cham (2016). Scholar
  22. 22.
    Cimatti, A., Griggio, A., Mover, S., Tonetta, S.: IC3 modulo theories via implicit predicate abstraction. CoRR abs/1310.6847 (2013).
  23. 23.
    Din, C.C., Dovland, J., Johnsen, E.B., Owe, O.: Observable behavior of distributed systems: component reasoning for concurrent objects. J. Log. Algebr. Program. 81(3), 227–256 (2012). The 22nd Nordic Workshop on Programming Theory (NWPT 2010)MathSciNetCrossRefGoogle Scholar
  24. 24.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston (1994)zbMATHGoogle Scholar
  25. 25.
    Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Towards SMT model checking of array-based systems. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 67–82. Springer, Heidelberg (2008). Scholar
  26. 26.
    Hennessy, M., Lin, H.: Symbolic bisimulations. Theor. Comput. Sci. 138(2), 353–389 (1995)MathSciNetCrossRefGoogle Scholar
  27. 27.
    Henrio, L., Madelaine, E., Zhang, M.: pNets: an expressive model for parameterised networks of processes. In: 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP 2015). IEEE (2015)Google Scholar
  28. 28.
    Henrio, L., Kulankhina, O., Li, S., Madelaine, E.: Integrated environment for verifying and running distributed components. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 66–83. Springer, Heidelberg (2016). Scholar
  29. 29.
    Henrio, L., Madelaine, E., Zhang, M.: A theory for the composition of concurrent processes. In: Albert, E., Lanese, I. (eds.) FORTE 2016. LNCS, vol. 9688, pp. 175–194. Springer, Cham (2016). Scholar
  30. 30.
    Lin, H.: Symbolic transition graph with assignment. In: Montanari, U., Sassone, V. (eds.) CONCUR 1996. LNCS, vol. 1119, pp. 50–65. Springer, Heidelberg (1996). Scholar
  31. 31.
    Lin, H.: Model checking value-passing processes. In: 8th Asia-Pacific Software Engineering Conference (APSEC 2001). Macau, December 2001Google Scholar
  32. 32.
    Marmsoler, D.: Towards a theory of architectural styles. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pp. 823–825. ACM, New York (2014).
  33. 33.
    Marmsoler, D.: Hierarchical specification and verification of architectural design patterns. In: Russo, A., Schürr, A. (eds.) FASE 2018. LNCS, vol. 10802, pp. 149–168. Springer, Cham (2018). Scholar
  34. 34.
    Mavridou, A., Stachtiari, E., Bliudze, S., Ivanov, A., Katsaros, P., Sifakis, J.: Architecture-based design: A satellite on-board software case study. In: 13th International Conference on Formal Aspects of Component Software (FACS 2016) (2016)Google Scholar
  35. 35.
    Milner, R.: Calculi for synchrony and asynchrony. TCS 25(3), 267–310 (1983). Scholar
  36. 36.
    Qin, X., Bliudze, S., Madelaine, E., Zhang, M.: Using SMT engine to generate symbolic automata. In: 18th International Workshop on Automated Verification of Critical Systems (AVOCS 2018). Electronic Communications of the EASST (2018)Google Scholar
  37. 37.
    Qiang, W., Bliudze, S.: Verification of component-based systems via predicate abstraction and simultaneous set reduction. In: Ganty, P., Loreti, M. (eds.) TGC 2015. LNCS, vol. 9533, pp. 147–162. Springer, Cham (2016). Scholar

Copyright information

© IFIP International Federation for Information Processing 2019

Authors and Affiliations

  1. 1.Inria Lille – Nord EuropeVilleneuve d’AscqFrance
  2. 2.Univ Lyon, EnsL, UCBL, CNRS, Inria, LIPLyon Cedex 07France
  3. 3.Université Côte d’Azur, Inria, CNRS, I3SSophia-AntipolisFrance

Personalised recommendations