The Conversion of a Set, a Sequence, and a Map in VDM to a Linked List in a Programming Language

VDM의 자료구조인 set, sequency, map의 프로그래밍 언어 자료구조인 linked list로의 변환

  • 유문성 (상지대학교 컴퓨터공학부)
  • Published : 2001.08.01

Abstract

A formal development method is used to develop software rigorously and systematically. In a formal development method, we specify system by a formal specification language and gradually develop the system more concretely until we can implement the system. VDM is one of formal specification languages. VDM uses mathematical data structures such as sets, sequences, and maps to specify the system, but most programming languages do not have such data structures. Therefore, these data structures should be converted. We can convert mathematical data structures in VDM to a linked list, a data structure in a programming language. In this article, we propose a method to convert a set, a sequence, and a map in VDM to a linked list in a programming language and prove the correctness of this conversion mathematically.

정형적 개발 방법론은 소프트웨어를 정확하고 체계적으로 개발하기 위하여 사용되며 시스템을 정형 명세 언어를 사용하여 맹세하고 이를 구현할 때까지 점진적으로 시스템을 구체화하는 방법으로 개발한다. VDM은 정형 명세 언어의 하나로서 set, sequence, map의 수학적 추상적 자료구조를 사용하여 시스템을 명세하는데 대부분의 프로그래밍 언어는 이런 자료구조를 가지고 있지 않다. 그러므로 이들 자료구조들의 변환이 필요하며 VDM의 수학적 자료구조들은 프로그래밍 언어의 자료구조인 연결 리스트로 변환 할 수 있다. 본 논문에서는 VDM의 set, sequence, map의 자료구조를 프로그래밍 언어의 자료구조인 연결 리스트로 변환하는 방법과 그 변환의 타당성을 수학적으로 증명하였다.

Keywords

References

  1. Pressman, R. S., 'Software Engineering : A Practitioner's Approach,' 5th edition, McGraw-Hill, 2000
  2. Hinchey, M. G. and Bowen, J. P., 'High-Integrity System Specification and Design,' FACIT series, Springer-Verlag, London, 1999
  3. Wing, J. M. 'A specifier's introduction to formal methods,' IEEE Computer, Sept. 1990 https://doi.org/10.1109/2.58215
  4. Moller, B., Partsch, H., and Schman, S.(eds.) 'Formal Pro-gram Development,' Springer-Verlag, 1993
  5. Andrews, D. J. and others, 'Information technology pro-gramming language-VDM-SL,' First Committee Draft Stan-dard : CD13817-1 Document ISO/IEC JTC1/SC22/WG19N-20, November, 1993
  6. Andews, D., and Ince, D. 'Practical formal method with VDM,' McGraw Hill, 1991
  7. Parkin, G. I. 'Vienna Development Method Specification Language (VDM-SL),' Computer Standard and Interfaces, 16 : pp.527-530, 1994 https://doi.org/10.1016/0920-5489(94)90035-3
  8. Pratt, T. W., Zelkowitz. M. V., 'Programming Languages : Design and Implementation,' 4th edition, Prentice Hall, 2001
  9. Jones, C. B. 'Software Development : A Rigorous approach,' Prentice Hall Int'l, 1980
  10. Jones, C. B. 'Systematic Software Development using VDM,' Prentice Hall Int'l, 2nd Ed., 1990
  11. Woodman, M. and Heal, B. 'Introduction to VDM,' Mc-Graw-Hill, 1993
  12. Sheppard, D. 'An introduction to formal specification with Z and VDM,' McGraw-Hill, 1995
  13. Spivey, J. 'Understanding Z : A Specification Language and its Formal Semantics,' Cambridge Univ. Press, 1988
  14. Woodcock, J. C. P. & Davies, J., 'Using Z : Specification, proof and refinement,' Prentice Hall International, 1996
  15. Wordsworth, J. B. 'Software Development with Z : A Practical Approach to Formal Methods in Software Engi-neering,' Addison-Wesley, 1992
  16. 유문성, '정형적 명세언어인 Z과 VDM의 비교연구', 평택대학교논문집 제10집 제2호, pp.247-256, 1998
  17. Clement, T. 'Comparing Approaches to Data Reification,' in 'FME'94 : Industrial Benefit of Formal Methods,' pp.118-133, Springer-Verlag, 1994 https://doi.org/10.1007/3-540-58555-9_92
  18. Jones, C. B. and Shaw, R., 'Case studies in Systematic System Development,' Prentice-Hall, 1990
  19. Andrews, D., and Ince, D., 'Transformational data refine-ment and VDM,' Information and Software Technology, 37(11), pp.637-651, 1995 https://doi.org/10.1016/0950-5849(95)98300-5
  20. Morgan, C. 'Programming From Specifications,' Prentice-Hall, 1990
  21. Morgan, C., Vickers, T. (eds.) 'On the refinement calculus,' Springer-Verlag, 1992
  22. Bicarregui, J. C. and others 'Proof in VDM; A practitioner's guide', Springer-Verlag, 1994