Combining Techniques to Verify Service-based Components

Pascal André, Christian Attiogbé, Jean-Marie Mottu

2017

Abstract

Early verification is essential in system development because late error detection involves a costly correction and approval process. Modelling real life systems covers three aspects of a system (structure, dynamics and functions) and one verification technique is not sufficient to check the properties related to these aspects. Considering Service-based Component Models, we propose a unifying schema called multi-level contracts that enables a combination of verification techniques (model checking, theorem proving and model testing) to cover the model V&V. This proposal is experimented using the Kmelia language and its COSTO tool.

References

  1. Acciai, L., Boreale, M., and Zavattaro, G. (2013). Behavioural contracts with request-response operations. Sci. Comput. Program., 78(2):248-267.
  2. André, P., Ardourel, G., Attiogbé, C., and Lanoix, A. (2010). Using assertions to enhance the correctness of kmelia components and their assemblies. ENTCS, 263:5 - 30. Proceedings of FACS 2009.
  3. André, P., Ardourel, G., and Messabihi, M. (2010). Component Service Promotion: Contracts, Mechanisms and Safety. In 7th International Workshop on Formal Aspects of Component Software(FACS 2010), LNCS. to be published.
  4. André, P., Mottu, J.-M., and Ardourel, G. (2013). Building test harness from service-based component models. In proceedings of the Workshop MoDeVVa (Models2013), pages 11-20, Miami, USA.
  5. Artho, C., Barringer, H., Goldberg, A., Havelund, K., Khurshid, S., Lowry, M., Pasareanu, C., Rosu, G., Sen, K., Visser, W., and Washington, R. (2005). Combining test case generation and runtime verification. Theor. Comput. Sci., 336(2-3):209-234.
  6. Attie, P. and Lorenz, D. H. (2003). Correctness of Modelbased Component Composition without State Explosion. In ECOOP 2003 Workshop on Correctness of Model-based Software Composition.
  7. Attiogbé, C., André, P., and Ardourel, G. (2006). Checking Component Composability. In 5th International Symposium on Software Composition, SC'06, volume 4089 of LNCS. Springer.
  8. Beckert, B., Hähnle, R., and Schmitt, P. H., editors (2007). Verification of Object-Oriented Software: The KeY Approach. LNCS 4334. Springer-Verlag.
  9. Beek, M., Bucchiarone, A., and Gnesi, S. (2006). A survey on service composition approaches: From industrial standards to formal methods. In In Technical Report 2006TR-15, Istituto, pages 15-20. IEEE CS Press.
  10. Beugnard, A., Jézéquel, J.-M., Plouzeau, N., and Watkins, D. (1999). Making components contract aware. Computer, 32(7):38-45.
  11. Bhadra, J., Abadir, M. S., Wang, L.-C., and Ray, S. (2007). A survey of hybrid techniques for functional verification. IEEE Des. Test, 24(2):112-122.
  12. Bousse, E. (2013). Combining verification and validation techniques. In Doctoral Symposium of ECMFA, ECOOP and ECSA 2013, page 10, Montpellier, France.
  13. Bousse, E., Mentr'e, D., Combemale, B., Baudry, B., and Takaya, K. (2012). Aligning sysml with the b method to provide v&v for systems engineering. In ModelDriven Engineering, Verification, and Validation 2012 (MoDeVVa 2012), Innsbruck, Austria.
  14. Bracciali, A., Brogi, A., and Canal, C. (2005). A formal approach to component adaptation. Journal of Systems and Software, 74(1):45-54.
  15. Brogi, A. (2010). On the Potential Advantages of Exploiting Behavioural Information for Contract-based Service Discovery and Composition. Journal of Logic and Algebraic Programming.
  16. Constant, C., Jéron, T., Rusu, V., and Marchand, H. (2007). Integrating formal verification and conformance testing for reactive systems. IEEE Transactions on Software Engineering, 33(8):558-574.
  17. Crnkovic, I. and Larsson, M., editors (2002). Building Reliable Component-Based Software Systems. Artech House publisher.
  18. Ding, Z., Chen, Z., and Liu, J. (2008). A rigorous model of service component architecture. Electr. Notes Theor. Comput. Sci., 207:33-48.
  19. Dwyer, M. B. and Elbaum, S. (2010). Unifying verification and validation techniques: Relating behavior and properties through partial evidence. In Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, FoSER 7810, pages 93-98, New York, NY, USA. ACM.
  20. Dybjer, P., Haiyan, Q., and Takeyama, M. (2004). Verifying haskell programs by combining testing, model checking and interactive theorem proving. Information & Software Technology, 46(15):1011-1025.
  21. Falzon, K. and Pace, G. J. (2012). Combining testing and runtime verification techniques. In Machado, R. J., Maciel, R. S. P., Rubin, J., and Botterweck, G., editors, Model-Based Methodologies for Pervasive and Embedded Software, 8th International Workshop, MOMPES 2012, Essen, Germany, September 4, 2012. Revised Papers, volume 7706 of Lecture Notes in Computer Science, pages 38-57. Springer.
  22. Fenech, S., Pace, G. J., Okika, J. C., Ravn, A. P., and Schneider, G. (2009). On the specification of full contracts. Electr. Notes Theor. Comput. Sci., 253(1):39- 55.
  23. Herber, P., Friedemann, F., and Glesner, S. (2009). Combining Model Checking and Testing in a Continuous HW/SW Co-verification Process, pages 121-136. Springer Berlin Heidelberg, Berlin, Heidelberg.
  24. Le Traon, Y., Baudry, B., and Jézéquel, J.-M. (2006). Design by contract to improve software vigilance. IEEE Transactions on Software Engineering, 32(8):571- 586.
  25. Lei, B., Liu, Z., Morisset, C., and Li, X. (2010). State based robustness testing for components. Electr. Notes Theor. Comput. Sci., 260:173-188.
  26. Mazzara, M. and Lanese, I. (2006). Towards a unifying theory for web services composition. In Bravetti, M., Núñez, M., and Zavattaro, G., editors, WS-FM, volume 4184 of Lecture Notes in Computer Science, pages 257-272. Springer.
  27. Messabihi, M., André, P., and Attiogbé, C. (2010). Multilevel contracts for trusted components. In Cámara, J., Canal, C., and Salaün, G., editors, WCSI, volume 37 of EPTCS, pages 71-85.
  28. Meyer, B. (2003). The Grand Challenge of Trusted Components. In Proceedings of 25th International Conference on Software Engineering, pages 660-667. IEEE Computer Society.
  29. Milanovic, N. (2005). Contract-based web service composition framework with correctness guarantees. In Malek, M., Nett, E., and Suri, N., editors, ISAS, volume 3694 of Lecture Notes in Computer Science, pages 52-67. Springer.
  30. OSOA (2007). Service component architecture (sca): Sca assembly model v1.00 specifications. Specification Version 1.0, Open SOA Collaboration.
  31. Rausch, A., Reussner, R., Mirandola, R., and Plasil, F., editors (2008). The Common Component Modeling Example: Comparing Software Component Models, volume 5153 of LNCS. Springer, Heidelberg.
  32. Schätz, B. and Pfaller, C. (2010). Integrating component tests to system tests. Electr. Notes Theor. Comput. Sci., 260:225-241.
  33. Sharygina, N. and Peled, D. A. (2001). A combined testing and verification approach for software reliability. In Oliveira, J. N. and Zave, P., editors, FME 2001: Formal Methods for Increasing Software Productivity, International Symposium of Formal Methods Europe, Berlin, Germany, March 12-16, 2001, Proceedings, volume 2021 of Lecture Notes in Computer Science, pages 611-628. Springer.
  34. Spivey, J. M. (1992). Z Notation - a reference manual (2. ed.). Prentice Hall International Series in Computer Science. Prentice Hall.
  35. ter Beek, M., Bucchiarone, A., and Gnesi, S. (2007). Formal methods for service composition. Annals of Mathematics, Computing & Teleinformatics, 1(5):1-10.
  36. Yellin, D. and Strom, R. (1997). Protocol Specifications and Component Adaptors. ACM Transactions on Programming Languages and Systems, 19(2):292-333.
  37. Zaremski, A. M. and Wing, J. M. (1997). Specification matching of software components. ACM Transaction on Software Engeniering Methodolology, 6(4):333- 369.
Download


Paper Citation


in Harvard Style

André P., Attiogbé C. and Mottu J. (2017). Combining Techniques to Verify Service-based Components . In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-210-3, pages 645-656. DOI: 10.5220/0006212106450656


in Bibtex Style

@conference{modelsward17,
author={Pascal André and Christian Attiogbé and Jean-Marie Mottu},
title={Combining Techniques to Verify Service-based Components},
booktitle={Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2017},
pages={645-656},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006212106450656},
isbn={978-989-758-210-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Combining Techniques to Verify Service-based Components
SN - 978-989-758-210-3
AU - André P.
AU - Attiogbé C.
AU - Mottu J.
PY - 2017
SP - 645
EP - 656
DO - 10.5220/0006212106450656