Skip to main content
Log in

On challenges of model transformation from UML to Alloy

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abrial, J.-R.: The B-book: assigning programs to meanings. Cambridge University Press, New York, 1996. ISBN 0-521- 49619-5

  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). http://csdl.computer.org/comp/proceedings/ase/2003/2035/00/20350364abs.htm.

  3. Aho A.V., Sethi R., Ullman J.D.: Compilers: Principles, Techniques, and Tools. Addison Wesley, Reading (1986)

    Google Scholar 

  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

    Article  Google Scholar 

  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, Heidelberg

  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). http://www.cs.bham.ac.uk/kxa/files/analysis/techrep07.pdf

  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)

  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)

    Article  MATH  Google Scholar 

  9. Babkin, E.: Transformation of ontologies: theoretical foundations and software platform for complex distributed systems. PhD thesis, Computer Science of INSA De Rouen, December 2007

  10. Beckert, B., Hähnle, R., Schmitt, P.H.: Verification of Object-Oriented Software. The KeY Approach. Springer, New York, 2007. ISBN 354068977X

  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)

  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-X

  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. Brucker, A.D.: An Interactive Proof Environment for Object-oriented Specifications. PhD thesis, ETH Zurich, March 2007. http://www.brucker.ch/bibliography/abstract/brucker-interactive-2007. ETH Dissertation No. 17097

  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. Evans, A., France, R., Grant, E.: Towards Formal Reasoning with UML Models. In: Proceedings of the OOPSLA’99 Workshop on Behavioral Semantics (1999)

  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, 2004

  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)

  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)

  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. 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)

    Article  Google Scholar 

  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)

  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)

  24. Harel D., Kozen D., Tiuryn J.: Dynamic Logic. MIT Press, Cambridge (2000)

    MATH  Google Scholar 

  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)

  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)

  27. Jackson, D.: Alloy Analyzer website. http://alloy.mit.edu/

  28. Jackson, D.: A Comparison of Object Modelling Notations: Alloy, UML and Z. Available at: http://sdg.lcs.mit.edu/publications.html, August 1999

  29. Jackson D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, London (2006)

    Google Scholar 

  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). http://www.lina.sciences.univ-nantes.fr/Publications/2006/JK06a

  31. Kent Modelling Framework. http://www.cs.kent.ac.uk/projects/kmf. School of Computing, University of Kent.

  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)

  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)

  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)

  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)

  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)

  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. 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. 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)

  40. OMG. MOF Core v. 2.0, . Document Id: formal/06-01-01. http://www.omg.org

  41. OMG. MOF Models to Text Transformation Language Final Adopted Specification, . Document: ptc/06-11-01. http://www.omg.org

  42. OMG. OCL Version 2.0, . Document id: formal/06-05-01. http://www.omg.org

  43. OMG. UML Infrastructure, . Document: formal/05-07-05. http://www.omg.org

  44. OMG. UML Infrastructure, . Document: formal/2007-11-04. http://www.omg.org

  45. OMG. UML: Superstructure. Version 2.0, . Document id: formal/05-07-04. http://www.omg.org

  46. OMG. UML: Superstructure. Version 2.1.2, . Document id: formal/2007-11-02. http://www.omg.org

  47. Pons, C., Garcia, D.: A lightweight approach for the semantic validation of model refinements. In: MBT 2008. Fourth Workshop on Model-Based Testing., 2008

  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. Richters, M.: A Precise Approach to Validating UML Models and OCL Constraints. PhD thesis, Universitaet Bremen. Logos Verlag, Berlin, BISS Monographs, No. 14 (2002)

  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. 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)

  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)

  53. TLSWG. SSL 3.0 specification, 1996. http://wp.netscape.com/eng/ssl3

  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. 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)

  56. Wallace C.: Using Alloy in process modelling. Inf. Softw. Technol 45(15), 1031–1043 (2003)

    Article  Google Scholar 

  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)

  58. Woodcock J., Davies J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, Upper Saddle River NJ, USA (1996)

    MATH  Google Scholar 

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kyriakos Anastasakis.

Additional information

Communicated by Prof. Gregor Engels.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Anastasakis, K., Bordbar, B., Georg, G. et al. On challenges of model transformation from UML to Alloy. Softw Syst Model 9, 69–86 (2010). https://doi.org/10.1007/s10270-008-0110-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-008-0110-3

Keywords

Navigation