Statecharts: A visual formalism for complex systems
Science of Computer Programming
Real-time object-oriented modeling
Real-time object-oriented modeling
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Reasoning about Action Systems using the B-Method
Formal Methods in System Design
Checkpointing and rollback-recovery for distributed systems
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Safety Critical Computer Systems
Safety Critical Computer Systems
A Theory of Objects
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Fault Tolerance in a Layered Architecture: A General Specification Pattern in B
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
Refinement and reachability in event_b
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Hi-index | 0.00 |
This paper introduces a method for formal transformation of platform independent models (PIM) to platform specific models (PSM) in a model driven architecture (MDA) context. The models are constructed using state-machines in the Unified Modeling Language (UML). As a formal framework for reasoning about the models we use Event B. In this paper we illustrate our method by introducing fault tolerance to the PSM. Fault tolerance is not considered in the PIM in order to make the models reusable for different platforms. On the other hand, the PSM often has to consider platform specific faults. However, fault tolerance mechanisms cannot usually be introduced as a refinement in the PSM. We present a model transformation of the PIM in order to preserve refinement properties in the construction of the PSM. Design patterns are used for guiding the development. Our method can be beneficial for developing reliable applications in many different areas, since both UML and B are used for practical applications.