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. This collaboration 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, several main technical areas must be addressed:•Identify the common concepts and the difference between SPL and AOSD to combine the both approaches•Study the special activity of horizontal model transformation in the context of SPL and AOSD methodologies and to propose a transformation language to support them•Provide rigorous and generic means to guarantee the consistency between models through aspect weaving and product derivation•Build a generic AOM weaver with built-in variability mechanism to drive runtime adaptationThe problems inherent to this research project are in the heart of the software engineering problems such as model composition, model transformation, model evolution, model reusability, model consistency, etc.