Advertisement

From Model Driven Engineering to Verification Driven Engineering

  • Fabrice Kordon
  • Jérôme Hugues
  • Xavier Renault
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5287)

Abstract

The definition and construction of complex computer-based systems require not just software engineering knowledge, but also many other domain-specific techniques to ensure many system’s functional and non-functional properties. Hence, there is a trend to move away from programming languages to models on which one can reason: model-driven engineering. Yet, this remains a complex task: one need to master many techniques. In this paper, we claim that MDE is incomplete: it is “just” an implementation framework to support advanced model-based techniques, verification of systems non-functional properties, code generation, etc. There is a conceptual gap to fill to know “what” to do with models. We propose to switch from MDE to VDE: Verification-Driven Engineering, so that the user knows how to model a system to analyze it. We sum up existing techniques and their relevant application domains.

Keywords

Formal Method Proof Obligation Model Drive Engineer Software Life Cycle Model Drive Engineer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    ISO/IEC 13568. Z formal specification notation — syntax, type system and semantics (2002)Google Scholar
  2. 2.
    SEI AADL. Osate: An extensible source aadl tool environment. Technical report, SEI (2004)Google Scholar
  3. 3.
    Abrial, J.-R.: The B book - Assigning Programs to meanings. Cambridge Univ. Press, Cambridge (1996)CrossRefzbMATHGoogle Scholar
  4. 4.
    Alur, R., Holzmann, G., Peled, D.: An analyser for mesage sequence charts. In: Margaria, T., Steffen, B. (eds.) TACAS 1996. LNCS, vol. 1055, pp. 35–48. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  5. 5.
    Atelier, B.: Atelier B, the industrial tool to efficiently deploy the B Method (2008), http://www.atelierb.eu/index_en.html
  6. 6.
    Behm, P., Benoit, P., Faivre, A., Meynadier, J.M.: Météor: A successful application of b in a large project. In: Wing, J.M., Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 369–387. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Bernardi, S., Donatelli, S., Merseguer, J.: From UML sequence diagrams and statecharts to analysable petrinet models. In: Workshop on Software and Performance, pp. 35–45 (2002)Google Scholar
  8. 8.
    Berthomieu, B., Vernadat, F.: The TINA home page (2008), http://www.laas.fr/tina/
  9. 9.
    Billington, J., Díaz, M., Rozenberg, G. (eds.): Application of Petri Nets to Communication Networks, Advances in Petri Nets. LNCS, vol. 1605. Springer, Heidelberg (1999)Google Scholar
  10. 10.
    Burch, J.R., Clarke, E.M., McMillan, K.L.: Symbolic model checking: 1020 states and beyond. Information and Computation (Special issue from LICS90) 98(2), 153–181 (1992)zbMATHGoogle Scholar
  11. 11.
    Chandra, S., Godefroid, P., Palm, C.: Software model checking in practice: an industrial case study. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE 2002), pp. 431–441 (May 2002)Google Scholar
  12. 12.
    Chiola, G., Dutheillet, C., Franceschinis, G., Haddad, S.: On well-formed coloured nets and their symbolic reachability graph. In: Jensen, K., Rozenberg, G. (eds.) Procedings of the 11th International Conference on Application and Theory of Petri Nets (ICATPN 1990). Reprinted in High-Level Petri Nets, Theory and Application. Springer, Heidelberg (1991)Google Scholar
  13. 13.
    Chiola, G., Dutheillet, C., Franceschinis, G., Haddad, S.: A symbolic reachability graph for coloured Petri nets. Theoretical Computer Science 176(1–2), 39–65 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  15. 15.
    Clarke, E., Wing, J.: Tools and partial analysis. ACM Comput. Surv. 28(4es), 116 (1996)CrossRefGoogle Scholar
  16. 16.
    CoQ Project at INRIA. The Coq proof assistant, http://coq.inria.fr/coq-eng.html
  17. 17.
    Couvreur, J.-M., Encrenaz, E., Paviot-Adet, E., Poitrenaud, D., Wacrenier, P.-A.: Data decision diagrams for Petri net analysis. In: Esparza, J., Lakos, C.A. (eds.) ICATPN 2002. LNCS, vol. 2360, pp. 101–120. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Couvreur, J.-M., Thierry-Mieg, Y.: Hierarchical Decision Diagrams to Exploit Model Structure. In: Wang, F. (ed.) FORTE 2005. LNCS, vol. 3731, pp. 443–457. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    CPN group, Univ. Aarhus. cpntools - Computer Tool for Coloured Petri Nets (2008), http://wiki.daimi.au.dk/cpntools
  20. 20.
    CS dept. Univ. Hambourg. Renew (2006), http://www.renew.de
  21. 21.
    CTR team. Modeling and Analysis Suite for Real-Time Applications, http://mast.unican.es/
  22. 22.
    Daws, C., Olivero, A., Tripakis, S., Yovine, S.: The tool Kronos (2002), http://www-verimag.imag.fr/TEMPORISE/kronos/
  23. 23.
    Ducass, M., Roz, L.: Proof obligations of the b formal method: Local proofs ensure global consistency. In: Bossi, A. (ed.) LOPSTR 1999. LNCS, vol. 1817, pp. 10–29. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  24. 24.
    Duret-Lutz, A., Poitrenaud, D.: SPOT, Spot Produces Our Traces, http://spot.lip6.fr/wiki/
  25. 25.
    Eiffel software. EiffelStudio - A Complete Integrated Development Environment (2008), http://www.eiffel.com
  26. 26.
    Esterel-technologies. SCADE Suite (2008), http://www.esterel-technologies.com/
  27. 27.
    Evangelista, S., Kaiser, C., Pajault, C., Pradat-Peyre, J.-F., Rousseau, P.: Dynamic tasks verification with quasar. In: Vardanega, T., Wellings, A.J. (eds.) Ada-Europe 2005. LNCS, vol. 3555, pp. 91–104. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  28. 28.
    Gilliers, F., Kordon, F., Velu, J.-P.: Generation of distributed programs in their target execution environment. In: Proceedings of the 15th International Workshop on Rapid System Prototyping, Geneva, Switzerland, pp. 127–134. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  29. 29.
    Gogen, J., Luqi.: Formal methods: Promises and problems. IEEE Software 14(1), 75–85 (1997)Google Scholar
  30. 30.
    GreatSPN group. GreatSPN home page, http://www.di.unito.it/~greatspn
  31. 31.
    Holzmann, G.: Logic Verification of ANSI-C Code with SPIN. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 131–147. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  32. 32.
    Holzmann, G.: On-the-fly, LTL Model Checking with SPIN (2007), http://spinroot.com/spin
  33. 33.
    Holzmann, G., Joshi, R.: Model-driven software verification. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 76–91. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  34. 34.
    Holzmann, G., Smith, M.: An Automated Verification Method for Distributed Systems Software Based on Model Extraction. IEEE Trans. Software Eng. 28(4), 364–377 (2002)CrossRefGoogle Scholar
  35. 35.
    Hugues, J., Pautet, L., Zalila, B., Dissaux, P., Perrotin, M.: Using AADL to build critical real-time systems: Experiments in the IST-ASSERT project. In: 4th European Congress ERTS, Toulouse, Paris (January 2008)Google Scholar
  36. 36.
    Hugues, J., Zalila, B., Pautet, L., Kordon, F.: From the Prototype to the Final Embedded System Using the Ocarina AADL Tool Suite. ACM Transactions in Embedded Computing Systems (TECS) (October 2008)Google Scholar
  37. 37.
    Kavimandan, A., Narayanan, A., Gokhale, A.S., Karsai, G.: Evaluating the Correctness and Effectiveness of a Middleware QoS Configuration Process in Distributed Real-Time and Embedded Systems. In: 11th International Symposium on Object-oriented Real-time distributed Computing (ISORC 2008), pp. 100–107. IEEE Computer Society, Los Alamitos (2008)CrossRefGoogle Scholar
  38. 38.
    Kordon, F.: Design methodologies for embedded systems: Where is the super-glue? In: 11th International Symposium on Object-oriented Real-time distributed Computing (ISORC 2008), Orlando, USA (page to be published, May 2008)Google Scholar
  39. 39.
    Kordon, F., Luqi.: An Introduction to Rapid System Prototyping. IEEE Transactions on Software Engineering 70(3), 817–821 (2002)CrossRefGoogle Scholar
  40. 40.
    Kordon, F., Petrucci, L.: Toward Formal-Methods Oecumenism? IEEE Distributed Systems Online 7(7) (July 2006)Google Scholar
  41. 41.
    Labri. FAST - Fast Acceleration of Symbolic Transition systems (2006), http://www.lsv.ens-cachan.fr/fast
  42. 42.
    LIP6/MoVe. The CPN-AMI home page, http://www.lip6.fr/cpn-ami/
  43. 43.
    Liu, C.L., Layland, J.W.: Scheduling algorithms for multi-programming in hard-real-time environment. Journal of the ACM (January 1973)Google Scholar
  44. 44.
    Spivey, M.: The fuzz type-checker for Z, http://spivey.oriel.ox.ac.uk/mike/fuzz/
  45. 45.
    Madhusudan, P. (ed.): Proceedings of the 9th International Workshop on Verification of Infinite-State Systems (INFINITY 2007), Lisboa, Portugal, September 2007. Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, Amsterdam (2007)Google Scholar
  46. 46.
    Mathwork. Simulink - Simulation and Model-Based Design (2008), http://www.mathworks.com/products/simulink/
  47. 47.
    McMillan, K.L.: The SMV System, http://www.cs.cmu.edu/~modelcheck/smv.html
  48. 48.
    Meisels, I., Saaltink, M.: The z/eves reference manual (for version 1.5)Google Scholar
  49. 49.
    OMG. A UML profile for MARTE, Beta 1. Technical Report ptc/07-08-04, OMG (2007)Google Scholar
  50. 50.
    OPERA Group, Univ. Cambridge. QPME Homepage (2007), http://www.dvs.tu-darmstadt.de/staff/skounev/QPME/
  51. 51.
    Praxis Hight Integrity Systems. SPARKAda (2008), http://www.praxis-his.com/sparkada/
  52. 52.
    PRISM Team. PRISM - Probabilistic Symbolic Model Checker (2008), http://www.prismmodelchecker.org/
  53. 53.
    SAE. Architecture Analysis & Design Language (AS5506). SAE (September 2004), http://www.sae.org
  54. 54.
    Schmidt, D.: Guest editor’s introduction: Model-driven engineering. IEEE Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  55. 55.
    Selic, B.: The pragmatics of model-driven development. IEEE Software 20(5), 19–25 (2003)CrossRefGoogle Scholar
  56. 56.
    Singhoff, F.: The Cheddar project: a free real time scheduling analyzer (2007), http://beru.univ-brest.fr/~singhoff/cheddar/
  57. 57.
    SRI/CSL. PVS Specification and Verification System (2008), http://pvs.csl.sri.com/index.shtml
  58. 58.
    Telelogic. Rhapsody (2008), http://www.telelogic.com/products/rhapsody/
  59. 59.
    Upenn, Dept of Computer Science. CHARON, http://rtg.cis.upenn.edu/mobies/charon/
  60. 60.
    UPPAAL Group. UPPAAL, http://www.uppaal.com/
  61. 61.
    VASY Project - INRIA. Construction and Analysis of Distributed Processes (2005), http://www.inrialpes.fr/vasy/cadp.html
  62. 62.
    VASY Project - INRIA. TRAIAN: A Compiler for E-LOTOS/LOTOS NT Specifications (2008), http://www.inrialpes.fr/vasy/pub/traian

Copyright information

© IFIP International Federation for Information Processing 2008

Authors and Affiliations

  • Fabrice Kordon
    • 1
  • Jérôme Hugues
    • 2
  • Xavier Renault
    • 1
  1. 1.Laboratoire d’Informatique de Paris 6/MoVeUniversité Pierre & Marie CurieParis CEDEX 05France
  2. 2.GET-Télécom Paris – LTCI-UMR 5141 CNRSParis CEDEX 13France

Personalised recommendations