PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
Graphical development tools for network-based concurrent supercomputing
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Specification of mobile code system using graph grammars
Fourth International Conference on Formal methods for open object-based distributed systems IV
MPI: The Complete Reference
The Enterprise Model for Developing Distributed Applications
IEEE Parallel & Distributed Technology: Systems & Technology
Visual Programming and Debugging for Parallel Computing
IEEE Parallel & Distributed Technology: Systems & Technology
IEEE Transactions on Parallel and Distributed Systems
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
Using generative design patterns to generate parallel code for a distributed memory environment
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
Formal Aspects of Computing
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)
Correct transformation: From object-based graph grammars to PROMELA
Science of Computer Programming
Hi-index | 0.00 |
During the development of a parallel application, besides being able to analyze performance aspects, it is highly desirable to be able to assure functional properties as early as possible. Assuring functional properties about a model of the parallel applicationcan lead to important savings since it reduces the time spent in application development and debugging. In this direction, model-checking and automatic code generation can be used as complementary tools during the development, making possible to analyze the system behavior and allowing the fast generation of corresponding code. In this paper we propose the use of Object-Based Graph Grammars (OBGG) for the specification of parallel applications. OBGG is a formal, visual language suited for the description of concurrent systems based on asynchronous message passing. Models described using OBGG can be verified through model checking. Following this approach, a translation from OBGG models to C code using MPI (Message Passing Interface), which is suited for clusters, is presented. To illustrate the contribution, a sample parallel application is modelled in OBGG; functional properties of the model are proven by model-checking; the C/MPI corresponding model is presented and performance results of the translated model are discussed and compared with an analogous C/MPI application built by hand.