Combine Software Product Line and Aspect-Oriented Software Development - SPLIT
Coordinating Institution:
Université du Luxembourg
Contracting Partner(s):
CRP Gabriel Lippmann
Other Partner(s):
Mc Gill University, Montreal (Canada)
From: 01/10/2009
To: 30/09/2012
Budget: 436,346.00€
Contact(s):
Biri Nicolas
,
Guelfi Nicolas
,
Jézéquel Jean-Marc
Summary
Software engineering proposes practical solutions, founded on scientific knowledge, to produce and maintain software with constraints on costs, quality and deadlines. The complexity of software increases dramatically with its size. A challenging trade-off for software engineering exists in a reality where the amount of software in existence is on average multiplied by ten every ten years, as against the economic pressure to reduce development time and increase the rate at which modifications are made.
To face these problems, many of today's mainstream approaches are built on the concepts of Model-Driven Engineering (MDE), Software Product Line (SPL) or Aspect-Oriented Software Development (AOSD) to foster software reuse. In an emerging MDE context, SPL and AOSD share the common objectives to reduce the cost and the risk of adapting software systems to wide ranges of new contexts. On the one hand, SPL techniques allow the modeling of product variability and commonalities. A SPL development approach strongly depend on a composition mechanism supporting product derivation from the SPL definition at any level of abstraction (analysis, design, implementation, …).
On the other hand, AOSD proposes new techniques to compose and weave separate concerns which can represent features, but AOSD does not propose mechanism to manage the variability of software. Thus, both approaches complement each other, and the combination of SPL and AOSD paradigms provides an exciting challenge allowing the use of efficient product lines through the whole software development lifecycle. The SPLIT project aims at investigating further the complementarities between SPL and AOSD approaches in a MDE context. This should make it possible to discover entirely new ways of formally decomposing and recomposing software systems, at a much higher level of abstraction than anything that is available today (notion of modularity based on classes and components).
In order to do so, the SPLIT project brings together three different groups of researchers: LASSY from the University of Luxembourg, ISC from the CRP- Gabriel Lippmann, and the Triskell Team from the CNRS/ INRIA/ University of Rennes 1. During the first months of project, we obtained exciting preliminary results. Firstly, to more efficiently reconfigure an adaptive system, we proposed a new way to unweave an aspect previously woven in a base model. Secondly, we proposed an innovative method to compute a small set of products or test cases of a software product line satisfying T-wise criteria.
Refereed Scientific Publications
- Gilles Perrouin, Sagar Sen, Jacques Klein, Benoit Baudry and Yves Le Traon. Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines, In Third International Conference on Software Testing, Verification and Validation (ICST 2010), Paris, France, April 6-10, 2010, To appear, (acceptance rate: 26.5%, 41/154)
- Jacques Klein, Jörg Kienzle, Brice Morin, Jean-Marc Jézéquel, Aspect Model Unweaving, In 12th International Conference on Model Driven Engineering Languages and Systems (MODELS 2009), LNCS 5795, p 514-530, Denver, Colorado, USA, October 2009 (acceptance rate: 16%, 34/211)