IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
iState: A Statechart Translator
«UML» '01 Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools
Towards Efficient Code Synthesis from Statecharts
Workshop of the pUML-Group held together with the «UML»2001 on Practical UML-Based Rigorous Development Methods - Countering or Integrating the eXtremists
Introducing Dynamic Constraints in B
B '98 Proceedings of the Second International B Conference on Recent Advances in the Development and Use of the B Method
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
Contributions for Modelling UML State-Charts in B
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
VDM '91 Proceedings of the 4th International Symposium of VDM Europe on Formal Software Development-Volume 2: Tutorials
A language for multiple models of computation
Proceedings of the tenth international symposium on Hardware/software codesign
Hi-index | 0.00 |
The B method is one of the few formal methods with commerciallly available tool support. It has been succesfully applied in the development of several industrial applications. In this paper we present an application of the B-Method to a new domain, namely language development. We have developed an approach for translating a language with a structural operational semantics into B specifications. The language semantics is specified in separate B machines, that act as an interpreter for programs in the language. The programs, represented as abstract syntax trees, can then automatically be translated into B specifications. We have used the approach in the context of Rialto, a language for multiple models of computation. We show how Rialto programs are translated into B machines, and how the different scheduling policies that are used to interpret concurrency can be also be represented as B machines. We also discuss some shortcomings of the approach and the B-Tools that we have available.