Raising family is a good practice

The need for adaptiveness of business applications is on the rise with continued increase in business dynamics. Code-centric techniques show unacceptable responsiveness in this dynamic context as business applications are subjected to changes along multiple dimensions that continue to evolve simultaneously. Recent literature suggests the use of product line architectures to increase adaptiveness by capturing commonality and variability to suitably configure the application. Use of model driven techniques for developing business applications is argued as a preferable option because platform independent specification can be retargeted to technology platform of choice through a code generation process. Business applications can be visualized to vary along five dimensions, namely, Functionality (F), Business process (P), Design decisions (D), Architecture (A) and Technology platform (T). Use of models is largely limited to F and P dimensions in commonly used model-driven development techniques thus limiting the benefits of product line concept to these two dimensions. We argue this is not sufficient to achieve the desired adaptiveness, and it is critical to extend the product line concept to D, A and T dimensions also. To address adaptation needs of business applications, this paper presents a model-driven generative approach that further builds on the ideas of separation of concerns, variability management and feature modeling. Early experience and lessons learnt are discussed, and future work outlined.

[1]  Vinay Kulkarni,et al.  Business process families using model-driven techniques , 2011, Int. J. Bus. Process. Integr. Manag..

[2]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[3]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[4]  Vinay Kulkarni,et al.  An abstraction for reusable MDD components: model-based generation of model-based code generators , 2008, GPCE '08.

[5]  Alexander Nyßen,et al.  Are Aspects useful for Managing Variability in Software Product Lines ? A Case Study , 2005 .

[6]  Vinay Kulkarni,et al.  Developing configurable extensible code generators for model-driven development approach , 2010, SEKE.

[7]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[8]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[9]  Vinay Kulkarni,et al.  Introducing MDA in a large IT consultancy organization , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[10]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[11]  Vinay Kulkarni,et al.  Generating Enterprise Applications from Models , 2002, OOIS Workshops.

[12]  Felix Bachmann,et al.  A Meta-model for Representing Variability in Product Family Development , 2003, PFE.

[13]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[14]  Vinay Kulkarni,et al.  Model-Driven Development of Enterprise Applications , 2004, UML Satellite Activities.

[15]  Hassan Gomaa,et al.  Modeling adaptive and evolvable software product lines using the variation point model , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[16]  Vinay Kulkarni,et al.  Business Process Families Using Model-Driven Techniques , 2010, Business Process Management Workshops.

[17]  M. Clauß,et al.  Modeling variability with UML , 2001 .