Advertisement

Combining VDM-SL specifications with C++ code

  • Brigitte Fröhlich
  • Peter Gorm Larsen
Session 3b: VDM
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1051)

Abstract

Experience shows that it is not economically feasible to formally specify all parts of a system in an industrial application. Either one already has a number of existing components which are trusted and therefore desirable for reuse, or components are so simple that there is no gain in formally specifying their behavior. In both cases it may be felt that it is not worth spending time on developing a detailed formal specification of the entire system. This raises the question what tools should be provided for the analysis of the entire system in which actual code is combined with specifications. In this paper we propose an approach which enables integration of code into a formal specification for prototyping facilities. The integration of code is supported by an extension to the IFAD VDM-SL Toolbox such that heterogeneous models can be interpreted.

Keywords

Specification Language Trigonometric Function Interpreter Process Code Unit Abstract Syntax 
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.
    Silberschatz A., Peterson J., and Galvin P. Operating System Concepts. Addison Wesley, 1991.Google Scholar
  2. 2.
    D.J. Andrews, H. Bruun, B.S. Hansen, P.G. Larsen, N. Plat, et al. Information Technology — Programming Languages, their Environments and System Software Interfaces — Vienna Development Method-Specification Language Part 1: Base language. ISO, 1995.Google Scholar
  3. 3.
    E. Astesiano and M. Cerioli. Multiparadigm Specification Languages: A First Attempt at Foundations. In J.F.Groote D.J.Ãndrews and C.A. Middelburg, editors, Semantics of Specification Languages, pages 168–185, 25–27 October 1993, Utrecht Springer-Verlag 1994.Google Scholar
  4. 4.
    D. Bjøner and C.B. Jones, editors. Formal Specification and Software Development. Prentice-Hall International, 1982.Google Scholar
  5. 5.
    S. Kapplan C. Choopy. Mixing abstract and concret Modules: Specification, Development and Prototyping. In 12th IEEE-ACM International Conference on Software Engineering, Nice 1990, pages 173–184, 1990.Google Scholar
  6. 6.
    Christine Choppy. Formal Specifications, Prototyping and Integrations Tests. In D. Simpson H.K. Nichols, editor, ESEC'87 1.st European Software Engineering Conference, Strasbourg, 1987, Lecture Notes in Computer Science 289, pages 172–179. Springer Verlag, September 1987.Google Scholar
  7. 7.
    John Dawes. The VDM-SL Reference Guide. Pitman, 1991.Google Scholar
  8. 8.
    Kees de Bruin. Towards an Interpreter for Full VDM-SL. Master's thesis, Delft University, June 1993.Google Scholar
  9. 9.
    Margaret A. Ellis and Bjarne Stroustrup. The Annotated C++ Reference Manual. Addison-Wesley Publishing Company, 1990.Google Scholar
  10. 10.
    René Elmstrøm, Peter Gorm Larsen, and Poul Bøgh Lassen. The IFAD VDM-SL Toolbox: A Practical Approach to Formal Specifications. ACM Sigplan Notices, 29(9):77–80, September 1994.Google Scholar
  11. 11.
    B. Fischer, M. Kievernagel, and W. Struckmann. VCR: A VDM-based Software Component Retrieval Tool. Technical Report 94–08, Technische Universität Braunsweig, November 1994.Google Scholar
  12. 12.
    The VDM-SL Tool Group. The IFAD VDM-SL Language. Technical report, IFAD, December 1994.Google Scholar
  13. 13.
    The VDM-SL Tool Group. The VDM C++ Library. Technical report, IFAD, October 1995.Google Scholar
  14. 14.
    Michael G. Hinchey and Jonathan P. Bowen, editors. Applications of Formal Methods. Prentice Hall, 1995.Google Scholar
  15. 15.
    Iain Houston and Steve King. CICS Project Report: Experiences and Results from the Use of Z in IBM. In S. Prehn and W.J. Toetenel, editors, VDM'91 — Formal Software Development Methods, pages 588–696. Springer-Verlag, October 1991.Google Scholar
  16. 16.
    Cliff B. Jones. Systematic Software Development Using VDM. Prentice-Hall International, Englewood Cliffs, New Jersey, second edition, 1990.Google Scholar
  17. 17.
    J.J. Horning J.V. Guttag and J.M. Wing. Larch in Five Easy Pieces. Technical report, Digital Systems Research Center, July 1985.Google Scholar
  18. 18.
    Peter Gorm Larsen, John Fitzgerald, and Tom Brookes. Lessons Learned from Applying Formal Specification in Industry. Submitted to IEEE Software, August 1995.Google Scholar
  19. 19.
    Peter Gorm Larsen and Poul Bøgh Lassen. An Executable Subset of Meta-IV with Loose Specification. In VDM '91: Formal Software Development Methods. VDM Europe, Springer-Verlag, March 1991.Google Scholar
  20. 20.
    Yves Ledru. Proof-Based Development of Specifications with KIDS/VDM. In M. Bertran M. Naftalin, T. Denvir, editor, FME'94: Industrial Benefit of Formal Methods, pages 214–232. Springer-Verlag, October 1994.Google Scholar
  21. 21.
    Paul Mukherjee. Computer-aided Validation of Formal Specifications. Software Engineering Journal, pages 133–140, July 1995.Google Scholar
  22. 22.
    B. Stroustrup. The C++ Programming Language, 2nd edition. Addison Wesley Publishing Company, 1991.Google Scholar
  23. 23.
    SUN-OS. Programmer's Overview Utilities & Libraries. Technical report, Sun Microsystems, Inc., 27 March 1990.Google Scholar
  24. 24.
    Larry Wall and Randal L. Schwartz. Programming Perl. O'Reilly and Associates, Inc, 1992.Google Scholar
  25. 25.
    M.-H. Liégeois Y. Ledru. Integrating REFINE prototypes in a VDM development framework. In Constructing Programs from Specifications, pages 236–258, 1991.Google Scholar
  26. 26.
    Nabil Zakhama. Run-Time Adaptation System — Target Code Procedures Activate (RTAS-TCPACT) — User's Guide. Technical report, Télésystèmes, March 1993. IPTES Doc.id.: IPTES-TS-53-V2.1.Google Scholar
  27. 27.
    Pamela Zave. A Compositional Approach to Multiparadigm Programming. IEEE Software, pages 15–25, September 1989.Google Scholar
  28. 28.
    Pamela Zave and Michael Jackson. Conjunction as Composition. ACM Transactions on Software Engineering and Methology, 2(4):379–411, October 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Brigitte Fröhlich
    • 1
  • Peter Gorm Larsen
    • 2
  1. 1.University of Technology GrazGrazAustria
  2. 2.The Institute of Applied Computer ScienceIFADOdense MDenmark

Personalised recommendations