FOMDD
Model Driven Development (MDD) is an emerging paradigm for software construction that uses models to specify programs, and model transformations to synthesize executables.

Feature Oriented Programming (FOP) is a paradigm for software product lines where programs are synthesized by composing features.

Feature Oriented Model Driven Development (FOMDD) is a blend of FOP and MDD that shows how programs in a software product line can be synthesized in an MDD way by composing models from features, and then transforming these models into executables. 

 
This document contains sections on the following topics:
Problem Statement
MDD promotes models to play a pivotal role in software development. However, product-line techniques (e.g., FOP) focus on code artifacts.
 
Contribution
FOMDD combines FOP and MDD together where a new synthesis design space appears. This space shows interesting commuting properties that allow (i) to check the validity of the approach, and (ii) to optimize program synthesis. Our working case for Portlets is used to illustrate these findings.
 
Introduction
Model Driven Development (MDD) is an emerging paradigm for software construction that uses models to specify programs, and exogenous model transformations to synthesize executables. Feature Oriented Programming (FOP) is a paradigm for software product lines where programs are synthesized by composing features using endogenous transformations. Feature Oriented Model Driven Development (FOMDD) is a blend of FOP and MDD that shows how programs in a software product line can be synthesized in an MDD way by composing models from features, and then transforming these models into executables. We present a case study of FOMDD on a product line of portlets, which are components of web portals. We reveal mathematical properties (i.e., commuting diagrams) of portlet synthesis that helped us to validate the correctness of our abstractions, tools, and specifications, as well as optimize portlet synthesis.
 
Publications
Feature Oriented Model Driven Development: A Case Study for Portlets. download ICSE 2007 paper
Salvador Trujillo, Don Batory, Oscar Diaz.
In 29th International Conference on Software Engineering (ICSE). Minneapolis, MN, USA. 2007. Acceptance Rate: 15 % (50/334).

Program Refactorings, Program Synthesis, and Model-Driven Design. download ICSE 2007 paper
D. Batory
Invited Presentation, European Joint Conferences on Theory and Practice of Software (ETAPS) Compiler Construction Conference (April 2007).

From Implementation to Theory in Product Synthesis.
Don Batory: 
Keynote at 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2007). Nice, France. 2007.

 
Download
Under request, we may provide you the examples we used in this work. Please request to Salva Trujillo.
 
Further References
[1] O. Diaz, S. Trujillo, S. Perez. Turning Portlets into Services: Introducing the Organization Profile. In 16th International World Wide Web Conference (WWW 2007). Banff, Canada. 2007.

[2]  O. Diaz, S. Trujillo, and F. I. Anfurrutia. Supporting production strategies as refinements of the production process. Sofware Product Line Conference (SPLC 2005), Rennes, France, 2005. SPLC.

[3]  D. Batory, J.N. Sarvela, and A. Rauschmayer, “Scaling Step-Wise Refinement”. IEEE TSE, June 2004.

[4]  O. Diaz, S. Trujillo, and F. I. Anfurrutia. Xml Refinements. Draft, 2006


Onekin | struji.com

Copyright © Onekin Research Group. All rights reserved.
Revised: Jan 26th, 2007.

Report questions/problems: Salva Trujillo