Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Reusing FEFEM in form-based model editor generation.


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Reusing FEFEM in form-based model editor generation.

  1. 1. Reusing FEFEM in form-based model editor generation. Adolfo Sánchez-Barbudo Herrera MoskittDay – 1 st December 2009
  2. 2. Overview. <ul><li>Introduction.
  3. 3. FEFEM: Features.
  4. 4. FMF as a FEFEM extension.
  5. 5. FMF as a form editors generator.
  6. 6. Demo.
  7. 7. Conclusions and future work. </li></ul>
  8. 8. Introduction. <ul>Open Canarias S.L. (Research Area) <li>Software tools developers (Model Driven Solutions). </li><ul><li>TEMPO: Software processes engineering.
  9. 9. MCF: Components-based software system generation.
  10. 10. OC-Rosetta: Legacy systems modernization. </li></ul><li>Contributes committers to official Eclipse's projects.:: </li><ul><li>MDT-OCL: Adolfo Sánchez-Barbudo Herrera.
  11. 11. CDO: Victor Roldán Betancort. </li></ul><li>Participates in the revision process of OMG standard's: </li><ul><li>OCL, QVT, and ADM. </li></ul><li>Participates in national and international conferences: </li><ul><li>JISBD, DSDM, ICMT, MoDeLS, Eclipse/OMG Symposium. </li></ul></ul>
  12. 12. Introduction <ul><li>Some ideas: </li><ul><li>Models are first order artifacts in software development.
  13. 13. EMF as the base infrastructure to work with models.
  14. 14. We need GUI to manipulate the models' information. </li></ul><li>Some available tools: </li><ul><li>EMF tree editors + properties sheet.
  15. 15. GMF graphical editors + properties sheet. </li></ul><li>Some conclusions: </li><ul><li>We need “user-friendly” editors.
  16. 16. They should be easy to design and implement. </li></ul><li>Some solutions: </li><ul><li>Form-based editors.
  17. 17. A generator to ease the development of editors. </li></ul></ul>
  18. 18. FEFEM: Features <ul><li>¿ What about FEFEM? </li><ul><li>Forms Editors Framework for Ecore Models.
  19. 19. Facilitate the development of forms editors to manipulate models. </li></ul></ul>
  20. 20. FEFEM: Features <ul><li>FEFEM Features: </li><ul><li>A wide set of Composites to manipulate models information.
  21. 21. Use of EMFDatabinding (Widgets “binded” to EObjects).
  22. 22. Live validation of the edited model.
  23. 23. Decoration of composites when the model doesn't conform to its metamodel. </li></ul></ul>
  24. 24. FMF as FEFEM extension <ul><li>¿ What about FMF ? </li><ul><li>Forms Modeling Framework.
  25. 25. It's a FEFEM extension.
  26. 26. It's a form editor generator based on FMF. </li></ul></ul>
  27. 27. FMF as FEFEM extension <ul><li>New FMF features: </li><ul><li>A new abstraction layer between FEFEM and client code.
  28. 28. Inclusión of new Composites.
  29. 29. Form-based editors for EObjects.
  30. 30. Reaction to Workspace resource changes.
  31. 31. ModelElementProvider: Allows editing different parts of the model inside the same page/section/group. </li></ul></ul>
  32. 32. FMF as editors generator <ul><li>Form-based editors generator: </li><ul><li>DSL to design the editor.
  33. 33. Editor generator based on FMF: </li></ul></ul>
  34. 34. FMF as editors generator <ul><li>Designing the FMF editor:: </li><ul><li>DSL to design FormEditors and Composites based on FMF.
  35. 35. Enhanced EMF tree editor to aid the Editor Design. </li></ul></ul>
  36. 36. FMF as editors generator <ul><li>FMF-based editor generator: </li><ul><li>Code generation using JET.
  37. 37. FMF-based generated code.
  38. 38. Extensive use of design patterns + protected areas. </li></ul></ul>
  39. 39. Demo.
  40. 40. Conclusions and future work. <ul><li>Conclusions: </li></ul><ul><ul><li>Using FEFEM + FMF has been a success in our projects: improve productivity, quality and time to market. </li></ul></ul><ul><ul><li>Some improvements have been identified in both frameworks. </li></ul><li>Future work: </li></ul><ul><ul><li>To align FMF and FEFEM: Reusable functionality.
  41. 41. To correct some design/implementation errors in FEFEM and FMF.
  42. 42. To correct and Improve the generator: </li><ul><li>It doesn't cover all the functionality which FMF provides.
  43. 43. There are dectected errors pending of fixing.
  44. 44. Generate externalized editor's plugins. </li></ul></ul></ul>
  45. 45. <ul>Thank you very much. ¿Questions? </ul>