JUMP—From Java Annotations to UML Profiles

  • Alexander Bergmayr
  • Michael Grossniklaus
  • Manuel Wimmer
  • Gerti Kappel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8767)

Abstract

The capability of UML profiles to serve as annotation mechanism has been recognized in both industry and research. Today’s modeling tools offer profiles specific to platforms, such as Java, as they facilitate model-based engineering approaches. However, the set of available profiles is considerably smaller compared to the number of existing Java libraries using annotations. This is because an effective mapping between Java and UML to generate profiles from annotation-based libraries is missing. In this paper, we present JUMP to overcome this limitation, thereby continuing existing mapping efforts by emphasizing on annotations and profiles. We demonstrate the practical value of JUMP by contributing profiles that facilitate reverse-engineering and forward-engineering scenarios for the Java platform. The evaluation of JUMP shows that profiles can be automatically generated from Java libraries exhibiting equal or even improved quality compared to profiles currently used in practice.

Keywords

Java Annotations UML Profiles Model-Based Engineering Forward Engineering Reverse Engineering 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abouzahra, A., Bézivin, J., Fabro, M.D.D., Jouault, F.: A Practical Approach to Bridging Domain Specific Languages with UML profiles. In: Proc. Workshop on Best Practices for Model Driven Software Development, pp. 1–8 (2005)Google Scholar
  2. 2.
    Akehurst, D.H., Howells, W.G.J., McDonald-Maier, K.D.: Implementing Associations: UML 2.0 to Java 5. SoSyM 6(1), 3–35 (2007)Google Scholar
  3. 3.
    Antkiewicz, M., Czarnecki, K., Stephan, M.: Engineering of Framework-Specific Modeling Languages. TSE 35(6), 795–824 (2009)CrossRefGoogle Scholar
  4. 4.
    Bergmayr, A., Bruneliere, H., Cánovas, J., Gorroñogoitia, J., Kousiouris, G., Kyriazis, D., Langer, P., Menychtas, A., Orue-Echevarria, L., Pezuela, C., Wimmer, M.: Migrating Legacy Software to the Cloud with ARTIST. In: Proc. CSMR, pp. 465–468 (2013)Google Scholar
  5. 5.
    Bergmayr, A., Wimmer, M.: Generating Metamodels from Grammars by Chaining Translational and By-Example Techniques. In: Proc. MDEBE, pp. 22–31 (2013)Google Scholar
  6. 6.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers (2012)Google Scholar
  7. 7.
    Briand, L.C., Labiche, Y., Leduc, J.: Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software. TSE 32(9), 642–663 (2006)CrossRefGoogle Scholar
  8. 8.
    Brucker, A.D., Doser, J.: Metamodel-based UML Notations for Domain-specific Languages. In: Proc. ATEM, pp. 1–15 (2007)Google Scholar
  9. 9.
    Bruneliere, H., Cabot, J., Jouault, F., Madiot, F.: MoDisco: A Generic and Extensible Framework for Model Driven Reverse Engineering. In: Proc. ASE, pp. 173–174 (2010)Google Scholar
  10. 10.
    Canfora, G., Di Penta, M., Cerulo, L.: Achievements and Challenges in Software Reverse Engineering. CACM 54(4), 142–151 (2011)CrossRefGoogle Scholar
  11. 11.
    Cánovas, J., Jouault, F., Cabot, J., Molina, J.G.: API2MoL: Automating the Building of Bridges between APIs and Model-Driven Engineering. Information & Software Technology 54(3), 257–273 (2012)CrossRefGoogle Scholar
  12. 12.
    Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–646 (2006)CrossRefGoogle Scholar
  13. 13.
    Drumond, L., Girardi, R.: A Survey of Ontology Learning Procedures. In: Proc. WONTO, pp. 1–12 (2008)Google Scholar
  14. 14.
    Eclipse Foundation: Eclipse Modeling Framework, EMF (2014), https://www.eclipse.org/modeling/emf
  15. 15.
    Engels, G., Hücking, R., Sauer, S., Wagner, A.: UML Collaboration Diagrams and their Transformation to Java. In: France, R.B. (ed.) UML 1999. LNCS, vol. 1723, pp. 473–488. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  16. 16.
    France, R.B., Bieman, J., Cheng, B.H.C.: Repository for Model Driven Development (ReMoDD). In: Kühne, T. (ed.) MoDELS 2006 Workshops. LNCS, vol. 4364, pp. 311–317. Springer, Heidelberg (2007)Google Scholar
  17. 17.
    France, R.B., Rumpe, B.: The Evolution of Modeling Research Challenges. SoSyM 12(2), 223–225 (2013)Google Scholar
  18. 18.
    Fuentes-Fernández, L., Vallecillo, A.: An Introduction to UML Profiles. Europ. Journal for the Informatics Professional 5(2), 5–13 (2004)Google Scholar
  19. 19.
    Gasevic, D., Djuric, D., Devedzic, V.: Model Driven Engineering and Ontology Development, 2nd edn. Springer (2009)Google Scholar
  20. 20.
    Génova, G., del Castillo, C.R., Lloréns, J.: Mapping UML Associations into Java Code. JOT 2(5), 135–162 (2003)CrossRefGoogle Scholar
  21. 21.
    Gessenharter, D.: Mapping the UML2 Semantics of Associations to a Java Code Generation Model. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 813–827. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  22. 22.
    Graaf, B., van Deursen, A.: Visualisation of Domain-Specific Modelling Languages Using UML. In: Proc. ECBS, pp. 586–595 (2007)Google Scholar
  23. 23.
    Harrison, W., Barton, C., Raghavachari, M.: Mapping UML Designs to Java. In: Proc. OOPSLA, pp. 178–187 (2000)Google Scholar
  24. 24.
    Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: Closing the Gap between Modelling and Java. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 374–383. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  25. 25.
    Jézéquel, J.M., Combemale, B., Derrien, S., Guy, C., Rajopadhye, S.: Bridging the Chasm between MDE and the World of Compilation. SoSym 11(4), 581–597 (2012)Google Scholar
  26. 26.
    Kazman, R., Woods, S.G., Carrière, S.J.: Requirements for Integrating Software Architecture and Reengineering Models: CORUM II. In: Proc. WCRE, pp. 154–163 (1998)Google Scholar
  27. 27.
    Klint, P., Lämmel, R., Verhoef, C.: Toward an Engineering Discipline for Grammarware. ACM Trans. Softw. Eng. Methodol. 14(3), 331–380 (2005)CrossRefGoogle Scholar
  28. 28.
    Kollman, R., Selonen, P., Stroulia, E., Systä, T., Zündorf, A.: A Study on the Current State of the Art in Tool-Supported UML-Based Static Reverse Engineering. In: Proc. WCRE, pp. 22–32 (2002)Google Scholar
  29. 29.
    Kolovos, D., Di Ruscio, D., Pierantonio, A., Paige, R.: Different Models for Model Matching: An Analysis of Approaches to Support Model Differencing. In: Proc. CVSM, pp. 1–6 (2009)Google Scholar
  30. 30.
    Kurtev, I., Bézivin, J., Akşit, M.: Technological Spaces: An Initial Appraisal. In: Proc. CoopIS, pp. 1–6 (2002)Google Scholar
  31. 31.
    Langer, P., Wieland, K., Wimmer, M., Cabot, J.: EMF Profiles: A Lightweight Extension Approach for EMF Models. JOT 11(1), 1–29 (2012)CrossRefGoogle Scholar
  32. 32.
    Lee, A.: A Scientific Methodology for MIS Case Studies. MIS Quarterly pp. 33–50 (1989)Google Scholar
  33. 33.
    Nickel, U., Niere, J., Zündorf, A.: The FUJABA Environment. In: Proc. ICSE, pp. 742–745 (2000)Google Scholar
  34. 34.
  35. 35.
    OMG: MOF (2011), http://www.omg.org/spec/MOF
  36. 36.
    OMG: Catalog of UML Profile Specifications (2014), http://www.omg.org/spec
  37. 37.
  38. 38.
    Pardillo, J.: A Systematic Review on the Definition of UML Profiles. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 407–422. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  39. 39.
    Parnin, C., Bird, C., Murphy-Hill, E.: Adoption and Use of Java Generics. Empirical Software Engineering 18(6), 1–43 (2012)Google Scholar
  40. 40.
    Ratiu, D., Feilkas, M., Jurjens, J.: Extracting Domain Ontologies from Domain Specific APIs. In: Proc. CSMR, pp. 203–212 (2008)Google Scholar
  41. 41.
    Runeson, P., Höst, M.: Guidelines for Conducting and Reporting Case Study Research in Software Engineering. Empirical Software Engineering 14(2), 131–164 (2009)CrossRefGoogle Scholar
  42. 42.
    Selic, B.: The Less Well Known UML: A Short User Guide. In: Proc. SFM, pp. 1–20 (2012)Google Scholar
  43. 43.
    UML-Profile-Store: Project Web Site (2014), http://code.google.com/a/eclipselabs.org/p/uml-profile-store
  44. 44.
    Wada, H., Suzuki, J.: Modeling Turnpike Frontend System: A Model-Driven Development Framework Leveraging UML Metamodeling and Attribute-Oriented Programming. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 584–600. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  45. 45.
    Weisemöller, I., Schürr, A.: A Comparison of Standard Compliant Ways to Define Domain Specific Languages. In: Giese, H. (ed.) MODELS 2008 Workshops. LNCS, vol. 5002, pp. 47–58. Springer, Heidelberg (2008)Google Scholar
  46. 46.
    Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schoenboeck, J., Schwinger, W.: Towards an Expressivity Benchmark for Mappings based on a Systematic Classification of Heterogeneities. In: Proc. MDI, pp. 32–41 (2010)Google Scholar
  47. 47.
    Wimmer, M.: A Semi-Automatic Approach for Bridging DSMLs with UML. IJWIS 5(3), 372–404 (2009)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Alexander Bergmayr
    • 1
  • Michael Grossniklaus
    • 2
  • Manuel Wimmer
    • 1
  • Gerti Kappel
    • 1
  1. 1.Vienna University of TechnologyAustria
  2. 2.University of KonstanzGermany

Personalised recommendations