• 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 unio‎n 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