Modeling and Aspect Weaving for Product-lines
Jean-Marc
Jezequel, IRISA (INRIA & Univ.
A model is a simplified representation of an aspect of the world for a specific purpose. Complex systems typically give rise to more than one model because many aspects are to be handled. For software systems, the design process can be characterized as a weaving of these aspects into a detailed design model. The real challenge in a product-line context is that the engineer wants to be able to change her mind on which version of which variant of any particular aspect she wants in the system. And she wants to do it cheaply, quickly and safely. For that, redoing by hand the tedious weaving of every aspect is not an option. We do not propose to solve this problem upfront, but just to mechanize and reproduce the process experienced designers follow by hand. The idea is that when a new product has to be derived from the product-line, we can automatically replay most this design process, just changing a few things here and there. We present an example of such a weaving process for behavioral models represented as scenarios.