Computing and Visualization in Science

, Volume 16, Issue 4, pp 181–192 | Cite as

Visual reflection library: a framework for declarative GUI programming on the Java platform

  • Michael Hoffer
  • Christian Poliwoda
  • Gabriel Wittum


The automated mapping of program functionality to intuitive user interfaces is a highly challenging task. Nevertheless it is a promising way to significantly improve software quality by simplifying the development process. This paper describes a method for a declarative and fully automated creation of graphical user interfaces from Java objects, i.e. the information accessible via the Java Reflection API. For this purpose we created the Visual Reflection Library (VRL). VRL interfaces are able to represent complex workflows and allow for a certain degree of visual programming. We start by describing an application: the development of an interactive user interface for the simulation system UG. By shortly discussing the requirements for such an interface, we will explain the reasons for creating VRL and the benefits we gained from it. After that we give an overview of our methods and show several applications. We end by summarizing our results and giving a future outlook.


Type Representation Unstructured Grid Script Language Visual Programming Java Object 
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.



We would like to thank Alexander Heusel, Daniel Jungblut and Alfio Grillo for useful discussions during the preparation of this paper.


  1. 1.
  2. 2.
    ProSTEP iViP Association, D.G.: Integration of simulation and computation in a pdm environment, white paper. (2008).Google Scholar
  3. 3.
    Codehaus Foundation: Groovy 1.7. (2009)
  4. 4.
    Eclipse Foundation: Eclipse 3.6.1. (2010)
  5. 5.
    Gamma, Erich, Helm, Richard, Johnson, Ralph, Vlissides, John: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)Google Scholar
  6. 6.
    Halloway, S.D.: Component Development for the Java Platform. Addison-Wesley, Boston (2002)Google Scholar
  7. 7.
    Hoffer, M.: Methoden zur visuellen programmierung. Master’s thesis, Heidelberg, Univ., Diplomarb. (2009).Google Scholar
  8. 8.
    IBM: Visualization Data Explorer. (1991)
  9. 9.
    Kolling, M., Quig, B., Patterson, A., Rosenberg, J.: The BlueJ system and its pedagogy. Journal of Computer Science Education, Special issue on Learning and Teaching Object Technology 13(4), 249–268 (2003).
  10. 10.
    Lang, S., Wittum, G.: Large-scale density-driven flow simulations using parallel unstructured grid adaptation and local multigrid methods. Concurrency - Practice and Experience.Google Scholar
  11. 11.
    Loy, M., Eckstein, R., Wood, D., Elliot, J., Cole, B.: Java Swing, 2nd edn. O’Reilly, California (2002)Google Scholar
  12. 12.
    Nokia, Qt Development Frameworks: Qt 4.6. (2009)
  13. 13.
    Oracle, formally Sun Microsystems: Java. (1996)
  14. 14.
    Oracle, formally Sun Microsystems: Javafx 1.3. (2010)
  15. 15.
    Oracle, formally Sun Microsystems: Netbeans ide 6.9.1. (2010)
  16. 16.
    World Wide Web Consortium: MathML. (1999)

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Michael Hoffer
    • 1
  • Christian Poliwoda
    • 1
  • Gabriel Wittum
    • 1
  1. 1.Goethe-Center for Scientific Computing (G-CSC)Goethe Universität Frankfurt am MainFrankfurt am MainGermany

Personalised recommendations