Skip to main content

JUMP—From Java Annotations to UML Profiles

  • Conference paper
Model-Driven Engineering Languages and Systems (MODELS 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,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.

This work is co-funded by the European Commission under the ICT Policy Support Programme, grant no. 317859.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. Antkiewicz, M., Czarnecki, K., Stephan, M.: Engineering of Framework-Specific Modeling Languages. TSE 35(6), 795–824 (2009)

    Article  Google Scholar 

  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. 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. Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers (2012)

    Google Scholar 

  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)

    Article  Google Scholar 

  8. Brucker, A.D., Doser, J.: Metamodel-based UML Notations for Domain-specific Languages. In: Proc. ATEM, pp. 1–15 (2007)

    Google Scholar 

  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. Canfora, G., Di Penta, M., Cerulo, L.: Achievements and Challenges in Software Reverse Engineering. CACM 54(4), 142–151 (2011)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  12. Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal 45(3), 621–646 (2006)

    Article  Google Scholar 

  13. Drumond, L., Girardi, R.: A Survey of Ontology Learning Procedures. In: Proc. WONTO, pp. 1–12 (2008)

    Google Scholar 

  14. Eclipse Foundation: Eclipse Modeling Framework, EMF (2014), https://www.eclipse.org/modeling/emf

  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)

    Chapter  Google Scholar 

  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. France, R.B., Rumpe, B.: The Evolution of Modeling Research Challenges. SoSyM 12(2), 223–225 (2013)

    Google Scholar 

  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. Gasevic, D., Djuric, D., Devedzic, V.: Model Driven Engineering and Ontology Development, 2nd edn. Springer (2009)

    Google Scholar 

  20. Génova, G., del Castillo, C.R., Lloréns, J.: Mapping UML Associations into Java Code. JOT 2(5), 135–162 (2003)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  22. Graaf, B., van Deursen, A.: Visualisation of Domain-Specific Modelling Languages Using UML. In: Proc. ECBS, pp. 586–595 (2007)

    Google Scholar 

  23. Harrison, W., Barton, C., Raghavachari, M.: Mapping UML Designs to Java. In: Proc. OOPSLA, pp. 178–187 (2000)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. Klint, P., Lämmel, R., Verhoef, C.: Toward an Engineering Discipline for Grammarware. ACM Trans. Softw. Eng. Methodol. 14(3), 331–380 (2005)

    Article  Google Scholar 

  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. 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. Kurtev, I., Bézivin, J., Akşit, M.: Technological Spaces: An Initial Appraisal. In: Proc. CoopIS, pp. 1–6 (2002)

    Google Scholar 

  31. Langer, P., Wieland, K., Wimmer, M., Cabot, J.: EMF Profiles: A Lightweight Extension Approach for EMF Models. JOT 11(1), 1–29 (2012)

    Article  Google Scholar 

  32. Lee, A.: A Scientific Methodology for MIS Case Studies. MIS Quarterly pp. 33–50 (1989)

    Google Scholar 

  33. Nickel, U., Niere, J., Zündorf, A.: The FUJABA Environment. In: Proc. ICSE, pp. 742–745 (2000)

    Google Scholar 

  34. OMG: FUML (2011), http://www.omg.org/spec/FUML/1.0

  35. OMG: MOF (2011), http://www.omg.org/spec/MOF

  36. OMG: Catalog of UML Profile Specifications (2014), http://www.omg.org/spec

  37. Oracle: JLS7 (2013), http://docs.oracle.com/javase/specs

  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)

    Chapter  Google Scholar 

  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. Ratiu, D., Feilkas, M., Jurjens, J.: Extracting Domain Ontologies from Domain Specific APIs. In: Proc. CSMR, pp. 203–212 (2008)

    Google Scholar 

  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)

    Article  Google Scholar 

  42. Selic, B.: The Less Well Known UML: A Short User Guide. In: Proc. SFM, pp. 1–20 (2012)

    Google Scholar 

  43. UML-Profile-Store: Project Web Site (2014), http://code.google.com/a/eclipselabs.org/p/uml-profile-store

  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)

    Chapter  Google Scholar 

  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. 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. Wimmer, M.: A Semi-Automatic Approach for Bridging DSMLs with UML. IJWIS 5(3), 372–404 (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Bergmayr, A., Grossniklaus, M., Wimmer, M., Kappel, G. (2014). JUMP—From Java Annotations to UML Profiles. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds) Model-Driven Engineering Languages and Systems. MODELS 2014. Lecture Notes in Computer Science, vol 8767. Springer, Cham. https://doi.org/10.1007/978-3-319-11653-2_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11653-2_34

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11652-5

  • Online ISBN: 978-3-319-11653-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics