Loading...
Component Based Translation of Z Specifications to Executable Code
Khalafinejad, Saeed | 2010
611
Viewed
- Type of Document: M.Sc. Thesis
- Language: English
- Document No: 40623 (52)
- University: Sharif University of Technology, International Campus, Kish Island
- Department: Science and Engineering
- Advisor(s): Mirian-Hosseinabadi, Hassan
- Abstract:
- Automatic translation of a high-level specification language to an executable implementation would be highly useful in maximizing the benefits of formal methods. We will introduce a set of translation functions to fill the specification-implementation gap in the domain of database applications. We chose Z, SQL and Delphi languages to illustrate our methodology. We extend Delphi libraries to support mathematical objects exist in Z. Then, based on the extended libraries, we extract the translation functions from Z to Delphi. The translation functions from Z to SQL are more easily extracted, because the mathematical foundation of Z has many properties in common with SQL. Based on the extracted translation functions, we introduce two algorithms; one for the generation of a database, and the other one for the generation of a Delphi project, including the imperative statements and the Graphical User Interface. To evaluate the soundness of the translation, we use Morgan refinement calculus and the Z data refinement rules. First, we derive the Z data refinement rules for the case that the retrieve schemas from the concrete to abstract state space are functional. Afterwards, we investigate the translation correctness in two steps. In the first step, we prove the correctness of data refinement, and in the second step, we prove the correctness of operation refinement. The proposed methodology results in reducing the expenses and duration of the software development, and also, prevents the errors originated from the manual translation of specifications to code.
- Keywords:
- Formal Methods ; Database ; Refining ; Z-Notation ; User Interface ; Code Generation ; Z Specification Language
- محتواي پايان نامه
- view