EMF Components - Filling the Gap between Models and UI

Lorenzo Bettini

Abstract

The Eclipse Modeling Framework (EMF) provides code generation facilities for building tools and applications based on structured data models. Most of the Eclipse projects which somehow have to deal with modeling data are based on EMF since it simplifies the development of complex software applications with its modeling mechanisms. However, we argue that from the user interface point of view, the development of applications based on EMF could be made simpler, with more code reuse, and without having to deal with too many internal details. For this reason, in this paper, we propose Emf Components, a lightweight framework that allows easy and quick development of applications based on EMF and it can be configured to use all kinds of EMF persistence implementations (e.g., XMI, Teneo, CDO). It aims at providing a set of reusable components like trees, tables and detail forms that manage the model with the introspective EMF capabilities. The framework provides basic UI implementations which are customizable in a declarative way and with dependency injection mechanisms.

References

  1. Beck, K. (2003). Test Driven Development: By Example. Addison-Wesley.
  2. Bettini, L., Capecchi, S., and Venneri, B. (2009). Featherweight Java with Dynamic and Static Overloading. Science of Computer Programming, 74(5-6):261-278.
  3. Castagna, G. (1997). Object-Oriented Programming: A Unified Foundation. Progress in Theoretical Computer Science. Birkhauser.
  4. Clayberg, E. and Rubel, D. (2008). Eclipse Plug-ins. Addison-Wesley, 3rd edition.
  5. Eclipse Modeling Framework Technology (2012). Eclipse Modeling Framework Technology (EMFT). http://www.eclipse.org/modeling/emft/.
  6. EMF Client Platform (2012). EMF Client Platform. http://www.eclipse.org/emfclient.
  7. EMF.Edit (2004). EMF.Edit. http://help.eclipse.org/galileo/index.jsp?topic=/org.ec lipse.emf.doc/references/overview/EMF.Edit.html.
  8. Fowler, M. (2004). Inversion of Control Containers and the Dependency Injection pattern. http://www.martinfowler.com/articles/injection.html.
  9. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  10. Google (2012). Google Guice. http://code.google.com/p/google-guice.
  11. Itemis (2012). Xtext. http://www.eclipse.org/Xtext.
  12. Martin, R. (2003). Agile Software Development: Principles, Patterns, and Practices. Prentice Hall.
  13. Schindl, T. (2009). EMF Databinding. http://www.eclipse.org/resources/resource.php?id=511.
  14. Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2008). EMF: Eclipse Modeling Framework. Addison-Wesley, 2nd edition.
  15. Sun Microsystems, Inc. (2007). JSR 308: Annotations on java types. http://jcp.org/en/jsr/detail?id=308).
  16. Vlissides, J. (1996). Generation Gap [software design pattern]. C++ Report, 8(10):12, 14-18.
Download


Paper Citation


in Harvard Style

Bettini L. (2012). EMF Components - Filling the Gap between Models and UI . In Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT, ISBN 978-989-8565-19-8, pages 34-43. DOI: 10.5220/0004027100340043


in Bibtex Style

@conference{icsoft12,
author={Lorenzo Bettini},
title={EMF Components - Filling the Gap between Models and UI},
booktitle={Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,},
year={2012},
pages={34-43},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004027100340043},
isbn={978-989-8565-19-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Software Paradigm Trends - Volume 1: ICSOFT,
TI - EMF Components - Filling the Gap between Models and UI
SN - 978-989-8565-19-8
AU - Bettini L.
PY - 2012
SP - 34
EP - 43
DO - 10.5220/0004027100340043