Communicating sequential processes
Communicating sequential processes
Stochastic Automata Network of Modeling Parallel Systems
IEEE Transactions on Software Engineering
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Communication and concurrency
Fundamenta Informaticae - Special issue on graph transformations
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Handbook of graph grammars and computing by graph transformation: volume I. foundations
Handbook of graph grammars and computing by graph transformation: volume I. foundations
Handbook of graph grammars and computing by graph transformation
Property specification patterns for finite-state verification
FMSP '98 Proceedings of the second workshop on Formal methods in software practice
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution
Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Specification of mobile code system using graph grammars
Fourth International Conference on Formal methods for open object-based distributed systems IV
An optimal algorithm for mutual exclusion in computer networks
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Correctness-preserving program transformations
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
MPI: The Complete Reference
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
Consensus in Asynchronous Distributed Systems: A Concise Guided Tour
Advances in Distributed Systems, Advanced Distributed Computing: From Algorithms to Systems
FM-Trends 98 Proceedings of the International Workshop on Current Trends in Applied Formal Method: Applied Formal Methods
Introduction to the Algebraic Theory of Graph Grammars (A Survey)
Proceedings of the International Workshop on Graph-Grammars and Their Application to Computer Science and Biology
Model Checking Object-Z Using ASM
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
vUML: A Tool for Verifying UML Models
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
A complete axiomatic system for proving deductions about recursive programs
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
An algebraic description of programs with assertions, verification and simulation
Proceedings of ACM conference on Proving assertions about programs
Abstract State Machines: A Method for High-Level System Design and Analysis
Abstract State Machines: A Method for High-Level System Design and Analysis
An Environment for Formal Modeling and Simulation of Control Systems
SS '00 Proceedings of the 33rd Annual Simulation Symposium
v-Promela: A Visual, Object-Oriented Language for SPIN
ISORC '99 Proceedings of the 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
The Early Search for Tractable Ways of Reasoning about Programs
IEEE Annals of the History of Computing
An algebraic definition of simulation between programs
An algebraic definition of simulation between programs
Modeling and Verification of Reactive Systems using Rebeca
Fundamenta Informaticae
Stochastic Object-Based Graph Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
Code Generation for Parallel Applications Modelled with Object-Based Graph Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
ReUML: a UML Profile for Modeling and Verification of Reactive Systems
ICSEA '07 Proceedings of the International Conference on Software Engineering Advances
A framework for the verification of infinite-state graph transformation systems
Information and Computation
Formal Verification of Graph Grammars using Mathematical Induction
Electronic Notes in Theoretical Computer Science (ENTCS)
Verifying Object-Based Graph Grammars
Electronic Notes in Theoretical Computer Science (ENTCS)
An Environment for the Development of Concurrent Object-Based Applications
Electronic Notes in Theoretical Computer Science (ENTCS)
A formal framework for the development of concurrent object-based systems
Formal Methods in Software and Systems Modeling
Verifying fault-tolerant distributed systems using object-based graph grammars
LADC'05 Proceedings of the Second Latin-American conference on Dependable Computing
Model checking dynamic states in GROOVE
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Hi-index | 0.00 |
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.