14
Reusing FEFEM in form-based model editor generation. Adolfo Sánchez-Barbudo Herrera MoskittDay – 1 st December 2009

Reusing FEFEM in form-based model editor generation

Embed Size (px)

Citation preview

Page 1: Reusing FEFEM in form-based model editor generation

Reusing FEFEM in form-based model editor generation.

Adolfo Sánchez-Barbudo Herrera

MoskittDay – 1st December 2009

Page 2: Reusing FEFEM in form-based model editor generation

Overview.

Introduction.FEFEM: Features.FMF as a FEFEM extension.FMF as a form editors generator.Demo.Conclusions and future work.

Page 3: Reusing FEFEM in form-based model editor generation

Introduction. Open Canarias S.L. (Research Area)

Software tools developers (Model Driven Solutions).

TEMPO: Software processes engineering.

MCF: Components-based software system generation.

OC-Rosetta: Legacy systems modernization.

Contributes committers to official Eclipse's projects.::

MDT-OCL: Adolfo Sánchez-Barbudo Herrera.

CDO: Victor Roldán Betancort.

Participates in the revision process of OMG standard's:

OCL, QVT, and ADM.

Participates in national and international conferences:

JISBD, DSDM, ICMT, MoDeLS, Eclipse/OMG Symposium.

Page 4: Reusing FEFEM in form-based model editor generation

Introduction

Some ideas:

Models are first order artifacts in software development.

EMF as the base infrastructure to work with models.

We need GUI to manipulate the models' information.Some available tools:

EMF tree editors + properties sheet.

GMF graphical editors + properties sheet.

Some conclusions:

We need “user-friendly” editors.

They should be easy to design and implement.

Some solutions:

Form-based editors.

A generator to ease the development of editors.

Page 5: Reusing FEFEM in form-based model editor generation

FEFEM: Features

¿ What about FEFEM?

Forms Editors Framework for Ecore Models.

Facilitate the development of forms editors to manipulate models.

Page 6: Reusing FEFEM in form-based model editor generation

FEFEM: Features

FEFEM Features:

A wide set of Composites to manipulate models information.

Use of EMFDatabinding (Widgets “binded” to EObjects).

Live validation of the edited model.

Decoration of composites when the model doesn't conform to its metamodel.

Page 7: Reusing FEFEM in form-based model editor generation

FMF as FEFEM extension

¿ What about FMF ?

Forms Modeling Framework.

It's a FEFEM extension.

It's a form editor generator based on FMF.

Page 8: Reusing FEFEM in form-based model editor generation

FMF as FEFEM extension

New FMF features:

A new abstraction layer between FEFEM and client code.

Inclusión of new Composites.

Form-based editors for EObjects.

Reaction to Workspace resource changes.

ModelElementProvider: Allows editing different parts of the model inside the same page/section/group.

Page 9: Reusing FEFEM in form-based model editor generation

FMF as editors generator

Form-based editors generator:

DSL to design the editor.

Editor generator based on FMF:

Page 10: Reusing FEFEM in form-based model editor generation

FMF as editors generator

Designing the FMF editor::

DSL to design FormEditors and Composites based on FMF.

Enhanced EMF tree editor to aid the Editor Design.

Page 11: Reusing FEFEM in form-based model editor generation

FMF as editors generator

FMF-based editor generator:

Code generation using JET.

FMF-based generated code.

Extensive use of design patterns + protected areas.

Page 12: Reusing FEFEM in form-based model editor generation

Demo.

Page 13: Reusing FEFEM in form-based model editor generation

Conclusions and future work.

Conclusions:

Using FEFEM + FMF has been a success in our projects: improve productivity, quality and time to market.

Some improvements have been identified in both frameworks.

Future work:

To align FMF and FEFEM: Reusable functionality.

To correct some design/implementation errors in FEFEM and FMF.

To correct and Improve the generator:

It doesn't cover all the functionality which FMF provides.

There are dectected errors pending of fixing.

Generate externalized editor's plugins.

Page 14: Reusing FEFEM in form-based model editor generation

Thank you very much.

¿Questions?