Developing User Interfaces with EMF Parsley

Lorenzo Bettini

Abstract

In this paper we describe the main features of EMF Parsley, a new Eclipse project for implementing applications based on the Eclipse Modeling Framework (EMF). EMF Parsley aims at complementing the EMF reflective mechanisms with respect to rapidly creating user interfaces based on models, without having to deal with internal details and setup code. In particular, EMF Parsley uses injection mechanisms to easily customize all the aspects of such applications. Moreover, it provides a set of reusable user interface components like trees, tables and detail forms that manage the model with the introspective EMF capabilities, together with reusable views, editors and dialogs. Besides project wizards, to easily create projects based on EMF Parsley, the main developing tool is a DSL, implemented with Xtext/Xbase, that provides a rapid customization mechanism.

References

  1. Bettini, L. (2012). EMF Components - Filling the Gap between Models and UI. In ICSOFT, pages 34-43. SciTePress.
  2. Bettini, L. (2013a). Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing.
  3. Bettini, L. (2013b). Rapidly Implementing EMF Applications with EMF Components. In Software and Data Technologies, Communications in Computer and Information Science. Springer.
  4. Bettini, L., Capecchi, S., and Venneri, B. (2009). Featherweight Java with Dynamic and Static Overloading. Science of Computer Programming, 74(5-6):261-278.
  5. Castagna, G. (1997). Object-Oriented Programming: A Unified Foundation. Progress in Theoretical Computer Science. Birkhauser.
  6. Eclipse Foundation (2014). RAP, Remote Application Platform. http://eclipse.org/rap.
  7. Eclipse Modeling Framework Technology (2012). Eclipse Modeling Framework Technology (EMFT). http:// www.eclipse.org/modeling/emft/.
  8. Efftinge, S., Eysholdt, M., Köhnlein, J., Zarnekow, S., von Massow, R., Hasselbring, W., and Hanus, M. (2012). Xbase: Implementing Domain-Specific Languages for Java. In GPCE, pages 112-121. ACM.
  9. EMF Client Platform (2014). EMF Client Platform. http: //www.eclipse.org/ecp.
  10. Eysholdt, M. and Behrens, H. (2010). Xtext: implement your language faster than the quick and dirty way. In SPLASH/OOPSLA Companion, pages 307- 309. ACM.
  11. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  12. Itemis (2014). Xtext. http://www.eclipse.org/Xtext.
  13. Mugridge, W., Hamer, J., and Hosking, J. (1991). MultiMethods in a Statically-Typed Programming Language. In ECOOP, volume 512 of LNCS, pages 307- 324. Springer.
  14. Renggli, L., Ducasse, S., and Kuhn, A. (2007). Magritte A Meta-driven Approach to Empower Developers and End Users. In Model Driven Engineering Languages and Systems, volume 4735 of LNCS, pages 106-120. Springer.
  15. Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E. (2008). EMF: Eclipse Modeling Framework. Addison-Wesley, 2nd edition.
  16. Vlissides, J. (1996). Generation Gap [software design pattern]. C++ Report, 8(10):12, 14-18.
Download


Paper Citation


in Harvard Style

Bettini L. (2014). Developing User Interfaces with EMF Parsley . In Proceedings of the 9th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2014) ISBN 978-989-758-037-6, pages 58-66. DOI: 10.5220/0004990800580066


in Bibtex Style

@conference{icsoft-pt14,
author={Lorenzo Bettini},
title={Developing User Interfaces with EMF Parsley},
booktitle={Proceedings of the 9th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2014)},
year={2014},
pages={58-66},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004990800580066},
isbn={978-989-758-037-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 9th International Conference on Software Paradigm Trends - Volume 1: ICSOFT-PT, (ICSOFT 2014)
TI - Developing User Interfaces with EMF Parsley
SN - 978-989-758-037-6
AU - Bettini L.
PY - 2014
SP - 58
EP - 66
DO - 10.5220/0004990800580066