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 条
  • [41] Converting Specifications in a Subset of Object-Z to Skeletal Spec# Code for both Static and Dynamic Analysis
    Ni, Xiufeng
    Zhang, Cui
    JOURNAL OF OBJECT TECHNOLOGY, 2008, 7 (08): : 165 - 185
  • [42] Extending Database Task Schedulers for Multi-threaded Application Code
    Wolf, Florian
    Psaroudakis, Iraklis
    May, Norman
    Ailamaki, Anastasia
    Sattler, Kai-Uwe
    PROCEEDINGS OF THE 27TH INTERNATIONAL CONFERENCE ON SCIENTIFIC AND STATISTICAL DATABASE MANAGEMENT, 2015,
  • [43] APPLICATION OF ANSI-ANS-5.1-1979-HEAT-5 CODE TO LOFT TECHNICAL SPECIFICATIONS
    HANSON, GH
    TASAKA, K
    ATKINSON, SA
    TRANSACTIONS OF THE AMERICAN NUCLEAR SOCIETY, 1980, 35 (NOV): : 337 - 338
  • [44] A systematic approach to generate B preconditions: application to the database domain
    Amel Mammar
    Software & Systems Modeling, 2009, 8 : 385 - 401
  • [45] A comparison of head transducers and transfer for a limited domain translation application
    Alshawi, H
    Buchsbaum, AL
    Xia, F
    35TH ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS AND THE 8TH CONFERENCE OF THE EUROPEAN CHAPTER OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS, PROCEEDINGS OF THE CONFERENCE, 1997, : 360 - 365
  • [46] A systematic approach to generate B preconditions: application to the database domain
    Mammar, Amel
    SOFTWARE AND SYSTEMS MODELING, 2009, 8 (03): : 385 - 401
  • [47] Static detection of application backdoorsDetecting both malicious software behavior and malicious indicators from the static analysis of executable code
    Chris Wysopal
    Chris Eng
    Tyler Shields
    Datenschutz und Datensicherheit - DuD, 2010, 34 (3) : 149 - 155
  • [48] EITH - A unifying representation for database schema and application code in enterprise knowledge extraction
    Schmalz, MS
    Hammer, J
    Wu, MX
    Topsakal, O
    CONCEPTUAL MODELING - ER 2003, PROCEEDINGS, 2003, 2813 : 461 - 475
  • [49] Directional binary code with application to PolyU near-infrared face database
    Zhang, Baochang
    Zhang, Lei
    Zhang, David
    Shen, Linlin
    PATTERN RECOGNITION LETTERS, 2010, 31 (14) : 2337 - 2344
  • [50] Design of cyclic code to BCD code conversion and its performance analysis in Z-domain using optical microring resonator
    Parimal
    Mandal, Sanjoy
    OPTICAL ENGINEERING, 2018, 57 (11)