Skip to main content
Log in

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

  • Published:
Computing and Visualization in Science

Abstract

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.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. Groovy is a dynamic language for the Java platform (see: [3]).

  2. This is not necessarily the shortest possible implementation.

  3. Annotations are meta-data that can be added to source code without affecting its functionality. See http://download.oracle.com/javase/1.5.0/docs/guide/language/annotations.html for detailed explanations.

References

  1. Jeuclid. http://jeuclid.sourceforge.net (2010)

  2. ProSTEP iViP Association, D.G.: Integration of simulation and computation in a pdm environment, white paper. (2008).

  3. Codehaus Foundation: Groovy 1.7. http://groovy.codehaus.org (2009)

  4. Eclipse Foundation: Eclipse 3.6.1. http://www.eclipse.org (2010)

  5. Gamma, Erich, Helm, Richard, Johnson, Ralph, Vlissides, John: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)

    Google Scholar 

  6. Halloway, S.D.: Component Development for the Java Platform. Addison-Wesley, Boston (2002)

    Google Scholar 

  7. Hoffer, M.: Methoden zur visuellen programmierung. Master’s thesis, Heidelberg, Univ., Diplomarb. (2009).

  8. IBM: Visualization Data Explorer. http://www.opendx.org (1991)

  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). http://www.cs.kent.ac.uk/pubs/2003/2190

  10. Lang, S., Wittum, G.: Large-scale density-driven flow simulations using parallel unstructured grid adaptation and local multigrid methods. Concurrency - Practice and Experience.

  11. Loy, M., Eckstein, R., Wood, D., Elliot, J., Cole, B.: Java Swing, 2nd edn. O’Reilly, California (2002)

    Google Scholar 

  12. Nokia, Qt Development Frameworks: Qt 4.6. http://qt.nokia.com (2009)

  13. Oracle, formally Sun Microsystems: Java. http://www.oracle.com/us/technologies/java/index.html (1996)

  14. Oracle, formally Sun Microsystems: Javafx 1.3. http://javafx.com (2010)

  15. Oracle, formally Sun Microsystems: Netbeans ide 6.9.1. http://www.netbeans.com (2010)

  16. World Wide Web Consortium: MathML. http://www.w3.org/1999/07/REC-MathML-19990707 (1999)

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Hoffer.

Additional information

Communicated by: Randolph E. Bank.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hoffer, M., Poliwoda, C. & Wittum, G. Visual reflection library: a framework for declarative GUI programming on the Java platform. Comput. Visual Sci. 16, 181–192 (2013). https://doi.org/10.1007/s00791-014-0230-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00791-014-0230-y

Keywords

Navigation