On challenges of model transformation from UML to Alloy

  • Kyriakos AnastasakisEmail author
  • Behzad Bordbar
  • Geri Georg
  • Indrakshi Ray
Special Section Paper


The Unified Modeling Language (UML) is the de facto language used in the industry for software specifications. Once an application has been specified, Model Driven Architecture (MDA) techniques can be applied to generate code from such specifications. Since implementing a system based on a faulty design requires additional cost and effort, it is important to analyse the UML models at earlier stages of the software development lifecycle. This paper focuses on utilizing MDA techniques to deal with the analysis of UML models and identify design faults within a specification. Specifically, we show how UML models can be automatically transformed into Alloy which, in turn, can be automatically analysed by the Alloy Analyzer. The proposed approach relies on MDA techniques to transform UML models to Alloy. This paper reports on the challenges of the model transformation from UML class diagrams and OCL to Alloy. Those issues are caused by fundamental differences in the design philosophy of UML and Alloy. To facilitate better the representation of Alloy concepts in the UML, the paper draws on the lessons learnt and presents a UML profile for Alloy.


Transformation Rule Class Diagram Alloy Analyzer Model Drive Architecture Multiple Inheritance 
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.


  1. 1.
    Abrial, J.-R.: The B-book: assigning programs to meanings. Cambridge University Press, New York, 1996. ISBN 0-521- 49619-5Google Scholar
  2. 2.
    Agrawal, A.: Graph rewriting and transformation (GReAT): a solution for the model integrated computing (MIC) Bottleneck. In: 18th IEEE International Conference on Automated Software Engineering (ASE 2003), Montreal, Canada, pp. 364–368. IEEE Computer Society, New York (2003).
  3. 3.
    Aho A.V., Sethi R., Ullman J.D.: Compilers: Principles, Techniques, and Tools. Addison Wesley, Reading (1986)Google Scholar
  4. 4.
    Akehurst D., Howells G., Mcdonald-Maier K.: Implementing associations: UML 2.0 to Java 5. Softw. Syst. Model. 6(1), 3–35 (2007). doi: 10.1007/s10270-006-0020-1 CrossRefGoogle Scholar
  5. 5.
    Akehurst, D.H., Bordbar, B., Evans, M.J., Howells, W.G.J., McDonald-Maier, K.D.: SiTra: Simple transformations in Java. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems, 9th International Conference, MoDELS 2006. Lecture Notes in Computer Science, vol. 4199, pp. 351–364, Genova, Italy, 2006. Springer, HeidelbergGoogle Scholar
  6. 6.
    Anastasakis, K., Bordbar, B.: Using Alloy for the Analysis of Model Transformations: A Case Study. Technical report, School of Computer Science, The University of Birmingham, UK, 2007. (In Preperation).
  7. 7.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A Challenging Model Transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems. LNCS, vol. 4735, pp. 436–450, Nashville, USA. Springer, Heidelberg (2007)Google Scholar
  8. 8.
    Artale A., Franconi E., Guarino N., Pazzi L.: Part-whole relations in object-centered systems: An overview. Data Knowl. Eng. 20(3), 347–383 (1996)zbMATHCrossRefGoogle Scholar
  9. 9.
    Babkin, E.: Transformation of ontologies: theoretical foundations and software platform for complex distributed systems. PhD thesis, Computer Science of INSA De Rouen, December 2007Google Scholar
  10. 10.
    Beckert, B., Hähnle, R., Schmitt, P.H.: Verification of Object-Oriented Software. The KeY Approach. Springer, New York, 2007. ISBN 354068977XGoogle Scholar
  11. 11.
    Bordbar, B., Anastasakis, K.: MDA and Analysis of web applications. In: Trends in Enterprise Application Architecture (TEAA) 2005. Lecture notes in Computer Science, vol. 3888, pp. 44–55, Trondheim, Norway (2005a)Google Scholar
  12. 12.
    Bordbar, B., Anastasakis, K.: UML2Alloy: A tool for lightweight modelling of Discrete Event Systems. In: Guimarães, N., Isaías, P. (eds.) IADIS International Conference in Applied Computing 2005, vol. 1, pp. 209–216, Algarve, Portugal, February 2005b. IADIS Press. ISBN 972-99353-6-XGoogle Scholar
  13. 13.
    Borgida, A., Mylopoulos, J., Reiter, R.: On the frame problem in procedure specifications. IEEE Trans. Softw. Eng. 21(10), 785–798. ISSN 0098-5589. doi: 10.1109/32.469460 (1995)Google Scholar
  14. 14.
    Brucker, A.D.: An Interactive Proof Environment for Object-oriented Specifications. PhD thesis, ETH Zurich, March 2007. ETH Dissertation No. 17097
  15. 15.
    Dennis, G., Seater, R., Rayside, D., Jackson, D.: Automating commutativity analysis at the design level. In: ISSTA ’04: Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, pp. 165–174. ACM Press, New York. ISBN 1-58113-820-2. doi: 10.1145/1007512.1007535 (2004)
  16. 16.
    Evans, A., France, R., Grant, E.: Towards Formal Reasoning with UML Models. In: Proceedings of the OOPSLA’99 Workshop on Behavioral Semantics (1999)Google Scholar
  17. 17.
    Fleurey, F., Steel, J., Baudry, B.: Validation in model-driven engineering: testing model transformations. In: First International Workshop on Model, Design and Validation, pp. 29– 40, 2004Google Scholar
  18. 18.
    Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language. Object Technology Series, 3rd edn. Addison Wesley, Reading. ISBN 0321193687 (2003)Google Scholar
  19. 19.
    Georg, G., Bieman, J., France, R.B.: Using Alloy and UML/OCL to Specify Run-Time Configuration Management: A Case Study. In: Evans, A., France, R., Moreira, A., Rumpe, B. (eds.) Practical UML-Based Rigorous Development Methods—Countering or Integrating the eXtremists., vol P-7 of LNI, pp. 128–141. German Informatics Society (2001)Google Scholar
  20. 20.
    Georg, G., Ray, I., Anastasakis, K., Bordbar, B., Toahchoodee, M., Houmb, S.H.: An Aspect-Oriented Methodology for Desinging Secure Applications. Information and Software Technology. Special Issue on Model Based Development for Secure Information Systems. doi: 10.1016/j.infsof.2008.05.004. (accepted)
  21. 21.
    Gogolla M., Bohling J., Richters M.: Validating UML and OCL Models in USE by Automatic Snapshot Generation. J. Softw. Syst. Model. 4(4), 386–398 (2005)CrossRefGoogle Scholar
  22. 22.
    Gogolla, M., Richters, M.: Transformation rules for UML class diagrams. In: “UML”: ’98: Selected papers from the First International Workshop on The Unified Modeling Language “UML”: ’98, pp. 92–106, London, UK. Springer, Heidelberg. ISBN 3-540-66252-9 (1999)Google Scholar
  23. 23.
    Gogolla, M., Richters, M.: Expressing UML class diagrams properties with OCL. In: Object Modeling with the OCL, The Rationale behind the Object Constraint Language, pp. 85–114, London, UK. Springer, Heidelberg. ISBN 3-540-43169-1 (2002)Google Scholar
  24. 24.
    Harel D., Kozen D., Tiuryn J.: Dynamic Logic. MIT Press, Cambridge (2000)zbMATHGoogle Scholar
  25. 25.
    He, Y.: Comparison of the modeling languages Alloy and UML. In: Arabnia, H.R., Reza, H. (eds.) Software Engineering Research and Practice, SERP 2006, vol. 2, pp. 671–677, Las Vegas, Nevada, USA (2006)Google Scholar
  26. 26.
    Henderson-Sellers, B., Barbier, F.: What is this thing called aggregation? In: TOOLS ’99: Proceedings of the Technology of Object-Oriented Languages and Systems, Washington, DC, USA, p. 236. IEEE Computer Society, New York. ISBN 0-7695-0275-X (1999)Google Scholar
  27. 27.
    Jackson, D.: Alloy Analyzer website.
  28. 28.
    Jackson, D.: A Comparison of Object Modelling Notations: Alloy, UML and Z. Available at:, August 1999
  29. 29.
    Jackson D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, London (2006)Google Scholar
  30. 30.
    Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Satellite Events at the MoDELS 2005 Conference. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006).
  31. 31.
    Kent Modelling Framework. School of Computing, University of Kent.
  32. 32.
    Kim, S.-K.: A Metamodel-based Approach to Integrate Object-Oriented Graphical and Formal Specification Techniques. PhD thesis, University of Queensland, Brisbane, Australia (2002)Google Scholar
  33. 33.
    Kleppe, A., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture–Practice and Promise. The Addison-Wesley Object Technology Series. Addison-Wesley, Reading. ISBN 032119442X (2003)Google Scholar
  34. 34.
    Küster, J.M., Abd-El-Razik, M.: Validation of model transformations—first experiences using a white box approach. In: Kühne, T. (ed.) MoDELS Workshops. Lecture Notes in Computer Science, vol. 4364, pp. 193–204. Springer, Heidelberg. ISBN 978-3-540-69488-5 (2006)Google Scholar
  35. 35.
    Lowe, G.: Breaking and fixing the Needham-Schröeder public-key protocol using FDR. In: TACAs ’96: Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems, pp. 147–166, London, UK. Springer, Heidelberg. ISBN 3-540-61042-1 (1996)Google Scholar
  36. 36.
    Marcano, R., Levy, N.: Using B formal specifications for analysis and verification of UML/OCL models. In: Kuzniarz, L., Reggio, G., Sourrouille, J.L., Huzar, Z. (eds.) Blekinge Institute of Technology, Research Report 2002:06., pp. 91–105. Department of Software Engineering and Computer Science, Blekinge Institute of Technology (2002)Google Scholar
  37. 37.
    Needham, R.M., Schroeder, M.D.: Using encryption for authentication in large networks of computers. Commun. ACM, 21(12), 993–999. ISSN 0001-0782. doi: 10.1145/359657.359659 (1978)
  38. 38.
    Nipkow T., Paulson L.C., Wenzel M.: Isabelle/HOL—A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)Google Scholar
  39. 39.
    Olsen, G.K., Oldevik, J.: Scenarios of traceability in model to text transformations. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) ECMDA-FA. Lecture Notes in Computer Science, vol. 4530, pp. 144–156. Springer, Heidelberg. ISBN 978-3-540-72900-6 (2007)Google Scholar
  40. 40.
    OMG. MOF Core v. 2.0, . Document Id: formal/06-01-01.
  41. 41.
    OMG. MOF Models to Text Transformation Language Final Adopted Specification, . Document: ptc/06-11-01.
  42. 42.
    OMG. OCL Version 2.0, . Document id: formal/06-05-01.
  43. 43.
    OMG. UML Infrastructure, . Document: formal/05-07-05.
  44. 44.
    OMG. UML Infrastructure, . Document: formal/2007-11-04.
  45. 45.
    OMG. UML: Superstructure. Version 2.0, . Document id: formal/05-07-04.
  46. 46.
    OMG. UML: Superstructure. Version 2.1.2, . Document id: formal/2007-11-02.
  47. 47.
    Pons, C., Garcia, D.: A lightweight approach for the semantic validation of model refinements. In: MBT 2008. Fourth Workshop on Model-Based Testing., 2008Google Scholar
  48. 48.
    Ramananandro, T.: Mondex, an electronic purse: specification and refinement checks with the alloy model-finding method. Form. Asp. Comput. 20(1):21–39. ISSN 0934-5043. doi: 10.1007/s00165-007-0058-z (2007)
  49. 49.
    Richters, M.: A Precise Approach to Validating UML Models and OCL Constraints. PhD thesis, Universitaet Bremen. Logos Verlag, Berlin, BISS Monographs, No. 14 (2002)Google Scholar
  50. 50.
    Rumbaugh J., Jacobson I., Booch G.: The Unified Modeling Language Reference Manual. The Addison-Wesley Object Technology Series. Addison-Wesley, Harlow (1999)Google Scholar
  51. 51.
    Shlyakhter, I., Seater, R., Jackson, D., Sridharan, M., Taghdiri, M.: Debugging overconstrained declarative models using unsatisfiable cores. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering, Montreal, Canada, pp. 94–105. IEEE Computer Society, New York (2003)Google Scholar
  52. 52.
    Taghdiri, M., Jackson, D.: A lightweight formal analysis of a multicast key management scheme. In: Formal Techniques for Networked and Distributed Systems—FORTE 2003. Lecture Notes in Computer Science, vol. 2767, pp. 240–256. Springer, Heidelberg (2003)Google Scholar
  53. 53.
    TLSWG. SSL 3.0 specification, 1996.
  54. 54.
    Torlak E., van Dijk M., Gassend B., Jackson D., Devadas S.: Knowledge flow analysis for security protocols. Technical Report MIT-CSAIL-TR-2005-066, Computer Science and Artificial Intelligence Laboratory. MIT, Cambridge (2005)Google Scholar
  55. 55.
    Vaziri, M., Jackson, D.: Some Shortcomings of OCL, the Object Constraint Language of UML. In: Technology of Object-Oriented Languages and Systems (TOOLS 34’00), pp. 555–562, Santa Barbara, California, USA (2000)Google Scholar
  56. 56.
    Wallace C.: Using Alloy in process modelling. Inf. Softw. Technol 45(15), 1031–1043 (2003)CrossRefGoogle Scholar
  57. 57.
    Wimmer, M., Kramler, G.: Bridging grammarware and modelware. In Bruel, J.-M. (ed) MoDELS Satellite Events. Lecture Notes in Computer Science, vol. 3844, pp. 159–168. Springer, Heidelberg. ISBN 3-540-31780-5 (2006)Google Scholar
  58. 58.
    Woodcock J., Davies J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, Upper Saddle River NJ, USA (1996)zbMATHGoogle Scholar
  59. 59.
    Zito, A., Dingel, J.: Modeling UML 2 package merge with Alloy. In Proceedings of the 1st Alloy Workshop (Alloy ’06), pp. 86–95, Portland, Oregon (2006)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • Kyriakos Anastasakis
    • 1
    Email author
  • Behzad Bordbar
    • 1
  • Geri Georg
    • 2
  • Indrakshi Ray
    • 2
  1. 1.School of Computer ScienceUniversity of BirminghamBirminghamUK
  2. 2.Computer Science DepartmentColorado State UniversityFort CollinsUSA

Personalised recommendations