Skip to main content

Closing the Gap between Modelling and Java

  • Conference paper
Software Language Engineering (SLE 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5969))

Included in the following conference series:

Abstract

Model-Driven Software Development is based on standardised models that are refined, transformed and eventually translated into executable code using code generators. However, creating plain text from well-structured models creates a gap that implies several drawbacks: Developers cannot continue to use their model-based tool machinery, relations between model elements and code fragments are hard to track and there is no easy way to rebuild models from their respective code.

This paper presents an approach to bridge this gap for the Java programming language. It defines a full metamodel and text syntax specification for Java, from which a parser and a printer are generated. Through this, Java code can be handled like any other model. The implementation is validated with large test sets, example applications are shown, and future directions of research are discussed.

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. Ritsko, J.J., Seidman, D.I.: Preface. IBM Systems Journal – Special Issue on Model-Driven Software Development 45(3) (2006)

    Google Scholar 

  2. Völter, M., Stahl, T.: Model-Driven Software Development. Wiley & Sons, Chichester (2006)

    Google Scholar 

  3. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse Modeling Framework, 2nd edn. Pearson Education, London (2008)

    Google Scholar 

  4. Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: JaMoPP: The Java Model Parser and Printer. Technical Report TUD-FI09-10 August 2009, Technische Universität Dresden (2009)

    Google Scholar 

  5. Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and Refinement of Textual Syntax for Models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  6. Gosling, J., Joy, B., Steele, G., Bracha, G.: Java(TM) Language Specification, 3rd edn. Java Series. Addison-Wesley Professional, Reading (2005)

    Google Scholar 

  7. Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego/XT 0.17. A language and toolset for program transformation. Science of Computer Programming 72(1-2), 52–70 (2008); Special issue on experimental software and toolkits

    Article  MathSciNet  Google Scholar 

  8. Object Management Group: Metamodel and UML Profile for Java and EJB Specification Version 1.0. formal/2004-02-02 (2004)

    Google Scholar 

  9. Pawlak, R.: Spoon: Compile-time Annotation Processing for Middleware. IEEE Distributed Systems Online 7(11) (2006)

    Google Scholar 

  10. Mernik, M., Heering, J., Sloane, A.M.: When and How to Develop Domain-Specific Languages. ACM Computing Surveys (CSUR) 37(4), 316–344 (2005)

    Article  Google Scholar 

  11. Heidenreich, F., Johannes, J., Seifert, M., Wende, C., Böhme, M.: Generating Safe Template Languages. In: Proc. of the 8th Int’l Conf. on Generative Programming and Component Engineering (GPCE 2009). ACM, New York (2009)

    Google Scholar 

  12. Seifert, M., Samlaus, R.: Static Source Code Analysis using OCL. In: Cabot, J., Van Gorp, P. (eds.) Proc. of the MoDELS 2008 Workshop on OCL Tools: From Implementation to Evaluation and Comparison, OCL 2008 (2008)

    Google Scholar 

  13. Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering. Foundations, Principles, and Techniques. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  14. Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: Mapping Features to Models. In: Comp. Proc. of the 30th Int’l Conf. on Software Engineering (ICSE 2008), pp. 943–944. ACM, New York (2008)

    Google Scholar 

  15. Diehl, S.: Software Visualization. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  16. Ehrig, K., Ermel, C., Hänsgen, S., Taentzer, G.: Towards Graph Transformation based Generation of Visual Editors using Eclipse. In: Proc. of the Workshop: Visual Languages and Formal Methods, VLFM (2004)

    Google Scholar 

  17. GMF Team: Graphical Modeling Framework, http://www.eclipse.org/gmf/

  18. Bravenboer, M.: Exercises in Free Syntax. Syntax Definition, Parsing, and Assimilation of Language Conglomerates. PhD thesis, Utrecht University, Utrecht, The Netherlands (2008)

    Google Scholar 

  19. Goldschmidt, T., Becker, S., Uhl, A.: Classification of Concrete Textual Syntax Mapping Approaches. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 169–184. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  20. Angyal, L., Lengyel, L., Charaf, H.: A Synchronizing Technique for Syntactic Model-Code Round-Trip Engineering. In: 15th IEEE Int’l Conf. on Engineering of Computer Based Systems (ECBS 2008), pp. 463–472. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Heidenreich, F., Johannes, J., Seifert, M., Wende, C. (2010). Closing the Gap between Modelling and Java. In: van den Brand, M., Gašević, D., Gray, J. (eds) Software Language Engineering. SLE 2009. Lecture Notes in Computer Science, vol 5969. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12107-4_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-12107-4_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-12106-7

  • Online ISBN: 978-3-642-12107-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics