Formal Transformation of Platform Independent Models into Platform Specific Models

  • Pontus Boström
  • Mats Neovius
  • Ian Oliver
  • Marina Waldén
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4355)


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.


Proof Obligation State Exit Formal Transformation Model Drive Architecture Model Fragment 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1998)Google Scholar
  2. 2.
    Abrial, J.R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  3. 3.
    Abrial, J.R., Cansell, D., Méry, D.: Refinement and Reachability in Event B. In: Treharne, H., King, S., C. Henson, M., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 222–241. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Atkinson, C., Kuhne, T.: A Generalised Notion of Platforms for Model-Driven Development. In: Beydeda, S., Book, M., Gruhn, V. (eds.) Model-Driven Software Development, pp. 119–136. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Back, R.J.R., Kurki-Suonio, R.: Decentralization of process nets with centralized control. In: Proceedings of the 2nd ACM SIGACT-SIGOPS Symposium of Principles of Distributed Computing, pp. 131–142 (1983)Google Scholar
  6. 6.
    Banach, R., Poppleton, M.: Retrenchment: an Engineering Variation on Refinement. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999. LNCS, vol. 1709, Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Harel, D.: Statecharts: A Visual Formalism for Complex Systems. In: Science of Computer Programming, vol. 8, pp. 231–274. Elsevier Science Publishers, Amsterdam (1987)Google Scholar
  8. 8.
    Koo, R., Toueg, S.: Checkpointing and rollback-recovery for distributed systems, pp. 1150–1158. IEEE Computer Society Press, Los Alamitos (1986)Google Scholar
  9. 9.
    Laibinis, L., Troubitsyna, E.: Fault Tolerance in a Layered Architecture: A General Specification Pattern in B. In: Proceedings of SEFM 2004, IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  10. 10.
    Laibinis, L., Troubitsyna, E.: Refinement of Fault Tolerant Control Systems in B. In: Heisel, M., Liggesmeyer, P., Wittmann, S. (eds.) SAFECOMP 2004. LNCS, vol. 3219, pp. 254–268. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Margaria, T., Steffen, B.: Aggressive Model-Driven Development: Synthesising Systems from Models viewed as Constraints. In: The Monterey Workshop Series 2003 Theme: Workshop on Software Engineering for Embedded Systems: From Requirements to Implementation, Chicago, Illinois (September 2003)Google Scholar
  12. 12.
    Métayer, C., Abrial, J.-R., Voisin, L.: Event-B Language. Rodin Deliverable D7. RODIN project, IST-511599 (2005) (accessed 29.09.2006),
  13. 13.
    Oliver, I.: Model Based Testing and Refinement in MDA Based Development. In: Boulet, P. (ed.) Advances in Design and Specification Languages for SoCs. The ChDL Series, Springer, Heidelberg (2005) 0-387-26149-4Google Scholar
  14. 14.
    Sekerinski, E., Zurob, R.: Translating Statecharts to B. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, Springer, Heidelberg (2002)Google Scholar
  15. 15.
    Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modelling. John Wiley & Sons, Chichester (1994)Google Scholar
  16. 16.
    Sere, K., Waldén, M.: Data Refinement of Remote Procedures. Formal Aspects of Computing 12, 278–297 (2000)MATHCrossRefGoogle Scholar
  17. 17.
    Snook, C., Waldén, M.: Refinement of Statemachines using Hierarchical States, Choice Points and Joins. In: Proceedings of the EPSRC RefineNet Workshop, UK (2005) (accessed 29.09.2006),
  18. 18.
    Storey, N.: Safety-Critical Computer Systems. Addison-Wesley, Reading (1996)Google Scholar
  19. 19.
    Waldén, M., Sere, K.: Reasoning About Action Systems Using the B-Method. Formal Methods in Systems Design 13, 5–35 (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Pontus Boström
    • 1
  • Mats Neovius
    • 1
  • Ian Oliver
    • 2
  • Marina Waldén
    • 1
  1. 1.Department of Information Technologies, Turku Centre for Computer Science (TUCS)Åbo Akademi UniversityTurkuFinland
  2. 2.Nokia Research CenterHelsinkiFinland

Personalised recommendations