Treffer: Generating Python Code from Object-Z Specifications

Title:
Generating Python Code from Object-Z Specifications
Publisher Information:
Zenodo
Publication Year:
2021
Collection:
Zenodo
Subject Terms:
Document Type:
Fachzeitschrift article in journal/newspaper
Language:
unknown
DOI:
10.5281/zenodo.5410795
Rights:
Creative Commons Attribution 4.0 International ; cc-by-4.0 ; https://creativecommons.org/licenses/by/4.0/legalcode
Accession Number:
edsbas.209A1D57
Database:
BASE

Weitere Informationen

Object-Z is an object-oriented specification language which extends the Z language with classes, objects, inheritance and polymorphism that can be used to represent the specification of a complex system as collections of objects. There are a number of existing works that mapped Object-Z to C++ and Java programming languages. Since Python and Object-Z share many similarities, both are object-oriented paradigm, support set theory and predicate calculus moreover, Python is a functional programming language which is naturally closer to formal specifications, we propose a mapping from Object-Z specifications to Python code that covers some Object-Z constructs and express its specifications in Python to validate these specifications. The validations are used in the mapping covered preconditions, post-conditions, and invariants that are built using lambda function and Python's decorator. This work has found Python is an excellent language for developing libraries to map Object-Z specifications to Python.