Automatic Generation of CSP || B Skeletons from xUML Models

  • Edward Turner
  • Helen Treharne
  • Steve Schneider
  • Neil Evans
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5160)


CSP ∥ B is a formal approach to specification that combines CSP and B. In this paper we present our tool that automatically translates a subset of executable UML (xUML) models into CSP ∥ B, for the purpose of verification and increased validation at the early stages of a software engineering development lifecycle. The tool is being developed for our industrial collaborators, AWE plc, in order to strengthen their software engineering process which uses xUML. As part of this process, AWE and Kennedy Carter Ltd. have built an xUML to SPARK Ada code generator, which is also employed to contribute a higher level of safety assurance at the latter stages of the lifecycle. Our tool is based on a model-text transformation strategy that uses the xUML meta-model to map to CSP and B constructs. The tool generates machine readable CSP and B; we present a simple example to demonstrate the transformation strategy, and the analysis of the resulting specification.


Transformation Rule Class Diagram Automatic Generation Active Object State Chart 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Schneider, S., Treharne, H.: CSP theorems for communicating B machines. Formal Asp. Comput. 17(4), 390–422 (2005)zbMATHCrossRefGoogle Scholar
  2. 2.
    Mellor, S.J., Balcer, M.J.: Executable UML, A Foundation for Model-Driven Architecture. Addison-Wesley, Reading (2002)Google Scholar
  3. 3.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Epsilon development tools for Eclipse. In: Eclipse Summit (2006)Google Scholar
  4. 4.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  5. 5.
    Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)zbMATHGoogle Scholar
  6. 6.
    Schneider, S.A., Treharne, H., Evans, N.: Chunks: Component verification in CSP ∥ B. In: Romijn, J.M.T., Smith, G.P., van de Pol, J. (eds.) IFM 2005. LNCS, vol. 3771, pp. 89–108. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Snook, C., Butler, M.: UML-B: Formal modeling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15(1), 92–122 (2006)CrossRefGoogle Scholar
  8. 8.
    Group, T.V.T.: The Rose-VDM++ link. Technical report, CSK Systems (2008)Google Scholar
  9. 9.
    Wilkie, I., King, A., Clarke, M., Weaver, C., Raistrick, C., Francis, P.: UML ASL Reference Guide (ASL language level 2.5). Kennedy Carter Ltd (2003)Google Scholar
  10. 10.
    Object Management Group: UML 2.0 OCL Specification (2003)Google Scholar
  11. 11.
    Formal Systems Oxford: FDR 2.83 manual (2007)Google Scholar
  12. 12.
    Leuschel, M., Butler, M.: ProB: A Model Checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003)Google Scholar
  13. 13.
    Schneider, S.: Concurrent and Real-Time Systems: the CSP Approach. Wiley, Chichester (1999)Google Scholar
  14. 14.
    Roscoe, A.W.: The theory and practice of concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  15. 15.
    Evans, N., Treharne, H., Laleau, R., Frappier, M.: Applying CSP ∥ B to information systems. Software and System Modeling 7(1), 85–102 (2008)CrossRefGoogle Scholar
  16. 16.
    Treharne, H., Schneider, S., Grant, N., Evans, N., Ifill, W.: A step towards merging xUML and cspb. In: Dagstuhl workshop on Rigorous Methods for Software Construction and Analysis (to appear)Google Scholar
  17. 17.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A challenging model transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Edward Turner
    • 1
  • Helen Treharne
    • 1
  • Steve Schneider
    • 1
  • Neil Evans
    • 2
  1. 1.Department of ComputingUniversity of Surrey 
  2. 2.AWE plc Aldermaston 

Personalised recommendations