Skip to main content

Lessons Learned in a Journey Toward Correct-by-Construction Model-Based Development

  • Conference paper
  • First Online:
Reliable Software Technologies – Ada-Europe 2016 (Ada-Europe 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9695))

Included in the following conference series:

Abstract

This paper discusses lessons learned in the attempt to apply the long-known principles of correct-by-construction (CbyC) first promoted by Dijkstra, to modern model-based development practices. We recall the intent and scrutinize the outcomes of a string of research projects that focused explicitly on the pursuit of CbyC by means of model-driven methods and technologies. The lessons learned show that when CbyC extends from the algorithmic and functional dimension to extra-functional concerns, some of the strength of original CbyC concept and its pull dilute. One of the possible causes of that phenomenon, is that – in some situation – the assertive style of algorithm refinement gives way to more tentative exploration of an unknown solution space where the known truths are insufficient to steer the development.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Amey, P.: Correctness by Construction, Praxis High Integrity Systems Ltd., 05 December 2006. https://buildsecurityin.us-cert.gov/articles/knowledge/sdlc-process/correctness-by-construction. Accessed 22 Jan 2016

  2. Kourie, D.G., Watson, B.W.: The Correctness-by-Construction Approach to Programming. Springer, Heidelberg (2012)

    Book  MATH  Google Scholar 

  3. Sifakis, J.: Embedded systems - challenges and work directions. In: Higashino, T. (ed.) OPODIS 2004. LNCS, vol. 3544, pp. 184–185. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  4. Bordin, M., Vardanega, T.: Correctness by construction for high-integrity real-time systems: a metamodel-driven approach. In: Abdennadher, N., Kordon, F. (eds.) Ada-Europe 2007. LNCS, vol. 4498, pp. 114–127. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  5. Cancila, D., Passerone, R., Vardanega, T.: Composability for high-integrity real-time embedded systems. In. Proceedings of the First Workshop on Compositional Theory and Technology for Real-Time Embedded Systems (CRTS 2008), Barcelona, Spain. ACM/IEEE, 30 November 2008

    Google Scholar 

  6. Mazzini S., Puri S., Veran G., Vardanega T., Panunzio M., Santamaria C., Zovi A.: Model-driven and component-based engineering with the CHESS methodology. In: Proceedings of DASIA Conference, Malta, May 2011

    Google Scholar 

  7. Baracchi, L., Cimatti, A., Garcia, G., Mazzini, S., Puri, S., Tonetta, S.: Requirements refinement and component reuse: the FoReVer contract-based approach. In: Bagnato, A., Quadri, I.R., Rossi, M., Indrusiak, L.S. (eds.) Industry and Research Perspectives on Embedded System Design. IGI Global, Hershey (2014)

    Google Scholar 

  8. Benveniste, A., Caillaud, B., Nickovic, D., Passerone, R., Raclet, J.B., Reinkemeier, P., Sangiovanni-Vincentelli, A., Damm, W., Henzinger, T., Larsen, K.: Contracts for Systems Design

    Google Scholar 

  9. Chapman, R.: Correctness by construction: a manifesto for high integrity software. In: Proceedings of the 10th Australian Workshop on Safety Critical Systems and Software, vol. 55, Sydney, Australia

    Google Scholar 

  10. Panunzio, M., Vardanega, T.: A component-based process with separation of concerns for the development of embedded real-time software systems. J. Syst. Softw. 96, 105–121 (2014)

    Article  Google Scholar 

  11. Schmidt, D.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  12. Dijkstra, E.: On the role of scientific thought. In: Dijkstra, E. (ed.) Selected Writings on Computing: A personal Perspective. Texts and Monographs in Computer Science, pp. 60–66. Springer, New York (1982)

    Chapter  Google Scholar 

  13. Panunzio, M., Vardanega, T.: Ada ravenscar code archetypes for component-based development. In: Brorsson, M., Pinho, L.M. (eds.) Ada-Europe 2012. LNCS, vol. 7308, pp. 1–17. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  14. The Object Management Group: UML Profile for MARTE: Modeling and analysis of real-time embedded systems (2011). http://www.omg.org/spec/MARTE/1.1/. Accessed 22 Jan 2016

  15. Estivill-Castro, V., Hexel R.: Correctness by construction with logic-labeled finite-state machines – comparison with event-B. In: 2014 23rd Australian Software Engineering Conference (ASWEC), pp. 38–47, 7–10 April 2014

    Google Scholar 

  16. Anand, M., Fischmeister, S., Kim, J., Lee, I.: Generating sound and resource-aware code from hybrid systems models. In: Broy, M., Krüger, I.H., Meisinger, M. (eds.) ASWSD 2006. LNCS, vol. 4922, pp. 48–66. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  17. CONCERTO Project: Guaranteed component assembly with round trip analysis for energy efficient high-integrity multi-core systems. Artemis Call 2012 333053. http://www.concerto-project.org/. Accessed 22 Jan 2016

  18. CHESS Project: Composition with guarantees for high-integrity embedded software components assembly. http://www.chess-project.org/. Accessed 5 May 2015

  19. SafeCer Project: Safety certification of software-intensive systems with reusable components. http://safecer.eu/. Accessed 22 Jan 2016

  20. OCRA: A command-line tool for the verification of logic-based contract refinement for embedded systems. https://es-static.fbk.eu/tools/ocra/. 22 Jan 2016

  21. MAST: Modeling and analysis suite for real-time applications. http://mast.unican.es/. Accessed 22 Jan 2016

  22. Wallace, M.: Modular architectural representation and analysis of fault propagation and transformation. Electron. Notes Theoret. Comput. Sci. (ENTCS) 141(3), 53–71 (2005)

    Article  Google Scholar 

  23. Sljivo, I., Gallina, B., Carlson, J., Hansson, H., Puri, S.: A method to generate reusable safety case fragments from compositional safety analysis. In: Schaefer, I., Stamelos, I. (eds.) ICSR 2015. LNCS, vol. 8919, pp. 253–268. Springer, Heidelberg (2014)

    Google Scholar 

  24. AUTOSAR: Software architecture specification. http://www.autosar.org. Accessed 22 Jan 2016

  25. Crnkovic, I.: Component-based software engineering for embedded systems. In: ICSE 2005, pp. 712–713 (2005)

    Google Scholar 

  26. Cicchetti, A., Ciccozzi, F., Mazzini, S., Puri, S., Panunzio, M., Zovi, A., Vardanega, T.: CHESS: a model-driven engineering tool environment for aiding the development of complex industrial systems. In: ASE 2012, pp. 362–365 (2012)

    Google Scholar 

  27. Baker, T.P.: What to make of multicore processors for reliable real-time systems? In: Real, J., Vardanega, T. (eds.) Ada-Europe 2010. LNCS, vol. 6106, pp. 1–18. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  28. Srinivas, M., Patnaik, L.M.: Genetic algorithms: a survey. Computer 27(6), 17–26 (1994). doi:10.1109/2.294849

    Article  Google Scholar 

  29. Romanovsky, A., Thomas, M.: Industrial Deployment of System Engineering Methods. Springer, Heidelberg (2013). doi:10.1007/978-3-642-33170-1

    Book  Google Scholar 

Download references

Acknowledgements

This work has been partially supported by ARTEMIS-JU grants for the CONCERTO [17], CHESS [18] and SafeCer [19] projects. The considerations represented in this work are the authors’ only and do not engage the opinions of the other project members, whose contributions however we acknowledge.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Silvia Mazzini .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Baracchi, L., Mazzini, S., Puri, S., Vardanega, T. (2016). Lessons Learned in a Journey Toward Correct-by-Construction Model-Based Development. In: Bertogna, M., Pinho, L., Quiñones, E. (eds) Reliable Software Technologies – Ada-Europe 2016. Ada-Europe 2016. Lecture Notes in Computer Science(), vol 9695. Springer, Cham. https://doi.org/10.1007/978-3-319-39083-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-39083-3_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-39082-6

  • Online ISBN: 978-3-319-39083-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics