The Graphical User Interface (GUI) is the visible part of the software. It really consists of the gate through which business features are made available and it reflects the application quality. Designing the visual composition and temporal behavior of GUI is an important part of software application programming.
Model-Driven Engineering is a modern, standard and industry software engineering. It refers to a range of development approaches that are based on the use of software modeling as a primary form of expression. The MDA approach defines system functionality using a platform-independent model (PIM) using an appropriate domain-specific language (DSL).
Obviously, MDE in GUI needs an appropriate framework to simplify the presentation generation. It is in fact a critical component in scalable enterprise data presentation applications such as ERP and BPMS in Manufacturing, Supply Chain, Financial, Customer Relationship Management (CRM), Human Resources, Warehouse Management and Decision Support System.
The purpose of PMF is to meet this requirement by providing the common functional concepts of user interaction in a PIM level UI modeling language and the infrastructure for code generation based on template engine.
The framework can be extended in two ways:
Each displaying technology such as XUL, e4, JSF, SWT, Swing, GWT, Ajax, Silverlight or others, can extend this framework to implement a specific generator for producing executable codes in Java or in declarative language.
PMF is already proposed as a subproject under Eclipse modeling http://www.eclipse.org/proposals/pmf/
Yves YANG, Eclipse committer, has over 17 years of experience working with OO software development and mainly worked on Eclipse and ODBMS: GemStone, Matisse and Versant. He was the chief architect of first Eclipse UML plugin from 2002 to early 2006. He is also the project leader of the eclipse project: SLDT
In Soyatec, he has developed two new products: eBPMN designer and eFace. His activities focus on the EMF/UML/BPMN/BPDM modeling, GUI/XAML/VE development and China OutSourcing.
Paul Elder is the lead of the Eclipse Model to Text (M2T) project and of the JET component. His current interest is in building tools to automate the implementation of design patterns. He has over 20 years experience in software development, consulting and instructing. He holds a BMath from the University of Waterloo, and an MBA from the University of Ottawa. He is currently a Senior Software Engineer with IBM Rational Software at the IBM Ottawa Lab.