Translation of Z specifications to executable code: Application to the database domain

被引:3
|
作者
Khalafinejad, Saeed [1 ]
Mirian-Hosseinabadi, Seyed-Hassan [2 ]
机构
[1] Sharif Univ Technol, Sch Sci & Engn, Kish Isl, Iran
[2] Sharif Univ Technol, Dept Comp Engn, Tehran, Iran
关键词
Prototyping; Database; Formal methods; Software development; Graphical user interface; FORMAL METHODS; MODEL;
D O I
10.1016/j.infsof.2012.12.007
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: It is well-known that the use of formal methods in the software development process results in high-quality software products. Having specified the software requirements in a formal notation, the question is how they can be transformed into an implementation. There is typically a mismatch between the specification and the implementation, known as the specification-implementation gap. Objective: This paper introduces a set of translation functions to fill the specification-implementation gap in the domain of database applications. We only present the formal definition, not the implementation, of the translation functions. Method: We chose Z, SQL and Delphi languages to illustrate our methodology. Because the mathematical foundation of Z has many properties in common with SQL, the translation functions from Z to SQL are derived easily. For the translation of Z to Delphi, we extend Delphi libraries to support Z mathematical structures such as sets and tuples. Then, based on these libraries, we derive the translation functions from Z to Delphi. Therefore, we establish a formal relationship between Z specifications and Delphi/SQL code. To prove the soundness of the translation from a Z abstract schema to the Delphi/SQL code, we define a Z design-level schema. We investigate the consistency of the Z abstract schema with the Z design-level schema by using Z refinement rules. Then, by the use of the laws of Morgan refinement calculus, we prove that the Delphi/SQL code refines the Z design-level schema. Results: The proposed approach can be used to build the correct prototype of a database application from its specification. This prototype can be evolved, or may be used to validate the software requirements specification against user requirements. Conclusion: Therefore, the work presented in this paper reduces the overall cost of the development of database applications because early validation reveals requirement errors sooner in the software development cycle. (C) 2013 Elsevier B.V. All rights reserved.
引用
收藏
页码:1017 / 1044
页数:28
相关论文
共 50 条
  • [1] From a B formal specification to an executable code: application to the relational database domain
    Mammar, A
    Laleau, R
    INFORMATION AND SOFTWARE TECHNOLOGY, 2006, 48 (04) : 253 - 279
  • [2] From visual specifications to executable code
    Tyugu, E
    OBJECT-ORIENTED TECHNOLOGY: ECOOP'98 WORKSHOP READER, 1998, 1543 : 499 - 501
  • [3] Database-Driven Tool Support for DisCo Executable Specifications
    Nummenmaa, Jyrki
    Nummenmaa, Timo
    12TH SYMPOSIUM ON PROGRAMMING LANGUAGES AND SOFTWARE TOOLS, SPLST' 11, 2011, : 44 - 54
  • [4] eFLINT: A Domain-Specific Language for Executable Norm Specifications
    van Binsbergen, L. Thomas
    Liu, Lu-Chi
    van Doesburg, Robert
    van Engers, Tom
    GPCE '2020: PROCEEDINGS OF THE 19TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES, 2020, : 124 - 136
  • [5] Requirements Analysis: Concept Extraction and Translation of Textual Specifications to Executable Models
    Kof, Leonid
    NATURAL LANGUAGE PROCESSING AND INFORMATION SYSTEMS, 2010, 5723 : 79 - 90
  • [6] Key considerations in the translation of legacy embedded control software to model based executable specifications
    Baloh, Michael
    Raghav, Gopal
    Sivashankar, Shiva
    PROCEEDINGS OF THE 2006 IEEE INTERNATIONAL CONFERENCE ON CONTROL APPLICATIONS, VOLS 1-4, 2006, : 268 - +
  • [7] VeriCode: Correct Translation of Abstract Specifications to C Code
    Schellhorn, Gerhard
    Bodenmueller, Stefan
    Reif, Wolfgang
    INTEGRATED FORMAL METHODS, IFM 2024, 2025, 15234 : 53 - 74
  • [8] Rapid Realization of Executable Domain Models via Automatic Code Generation
    Wang, Bo
    Rosenberg, Doug
    Boehm, Barry W.
    2017 IEEE 28TH ANNUAL SOFTWARE TECHNOLOGY CONFERENCE (STC), 2017,
  • [9] Synthesizing Executable PLC Code for Robots from Scenario-Based GR(1) Specifications
    Gritzner, Daniel
    Greenyer, Joel
    SOFTWARE TECHNOLOGIES: APPLICATIONS AND FOUNDATIONS, STAF 2017, 2018, 10748 : 247 - 262
  • [10] A DEVELOPMENT MODEL - APPLICATION TO Z-SPECIFICATIONS
    DARIMONT, R
    SOUQUIERES, J
    INFORMATION SYSTEM DEVELOPMENT PROCESS, 1993, 30 : 247 - 264