Correct transformation: From object-based graph grammars to PROMELA

  • Authors:
  • Leila Ribeiro;Osmar Marchi dos Santos;Fernando Luís Dotti;Luciana Foss

  • Affiliations:
  • Instituto de Informática, Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil;Department of Electronics and Computing, Universidade Federal de Santa Maria, Santa Maria, Brazil;Faculdade de Informática, Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre, Brazil;Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, Brazil

  • Venue:
  • Science of Computer Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Model transformation is an approach that, among other advantages, enables the reuse of existing analysis and implementation techniques, languages and tools. The area of formal verification makes wide use of model transformation because the cost of constructing efficient model checkers is extremely high. There are various examples of translations from specification and programming languages to the input languages of prominent model checking tools, like SPIN. However, this approach provides a safe analysis method only if there is a guarantee that the transformation process preserves the semantics of the original specification/program, that is, that the transformation is correct. Depending on the source and/or target languages, this notion of correctness is not easy to achieve. In this paper, we tackle this problem in the context of Object-Based Graph Grammars (OBGG). OBGG is a formal language suitable for the specification of distributed systems, with a variety of tools and techniques centered around the transformation of OBGG models. We describe in details the model transformation from OBGG models to PROMELA, the input language of the SPIN model checker. Amongst the contributions of this paper are: (a) the correctness proof of the transformation from OBGG models to PROMELA; (b) a generalization of this process in steps that may be used as a guide to prove the correctness of transformations from different specification/programming languages to PROMELA.