Title of article
From Object-Z specification to Groovy implementation
Author/Authors
Zaker, F Faculty of Computer Science and Engineering - Shahid Beheshti University G.C. - Tehran, Iran , Haghighi, H Faculty of Computer Science and Engineering - Shahid Beheshti University G.C. - Tehran, Iran , Nazemi, E Faculty of Computer Science and Engineering - Shahid Beheshti University G.C. - Tehran, Iran
Pages
27
From page
3415
To page
3441
Abstract
So far, valuable research studies have been conducted on mapping notations
of object-oriented specification, such as Object-Z, in different object-oriented programming
languages, such as C++. However, the results of selecting JVM-based programming
languages for mapping have not covered most of basic Object-Z structures. In this paper,
the Groovy language, as a dynamic JVM-based language, is selected to overcome some of
the existing limitations. As the main contribution, the rules required for mapping Object-Z
specifications to execute Groovy code are introduced. The proposed rules cover notions
such as multiple inheritance, inverse specification of functions, functions dened on generic
denitions, and free-type constructors. Previous methods have not covered these notions
for the formal development of program from object-oriented specifications, regardless of
the selected formal specification language and target programming language. In addition,
in this paper, the parallel composition construct is mapped to a parallel, executable code
to improve the faithfulness of the final code to the initial specification. A mapping rule
for the class union construct is introduced, which has not yet been provided for any JVMbased
language. Unlike previous works, instead of presenting the mapping rules in terms
of natural languages, they are presented in terms of some formal mapping rules.
Keywords
Formal program development , Object oriented programming , Animation , Object-Z , Groovy , JVM
Journal title
Scientia Iranica(Transactions D: Computer Science and Electrical Engineering)
Serial Year
2018
Record number
2673182
Link To Document