EASy-Producer - Flexible Generation of Software Product Lines

EASy-Producer is a prototypical tool for the development of Software Product Lines (SPL) and variant-rich software ecosystems. EASy stands for Engineering Adaptive Systems and describes the easy development, management and combination of SPLs with this tool. For this purpose, EASy-Producer integrates efficient techniques for the reduction of complexity with support for the composition and partial instantiation of products. The Software Systems Engineering (SSE) group further develops these techniques continuously. The focus is, in particular, on the support for the development of large-scale and complex SPLs.

EASy-Producer supports the following approaches:

  • Multi-staged product configuration
  • Multi-dimensional variability modeling 
  • Multi-Software Product Lines

These principles are the state-of-the-art for large-scale and complex SPLs. Further, EASy-Producer is based on the following principles:

  • Extensibility for product-specific requirements
  • Products as configurable product lines
  • Conceptual simplicity

Based on a decision modeling approach, the current prototype supports the description of the common and variable parts of a product line. The decisions towards a configuration of partial product lines or complete products are the basis for the automated instantiation of the corresponding software artifacts on the implementation level.

EASy-Producer is available as Eclipse-plug-in. Each SPL is managed in an individual product line project (PLP). The prototype distinguishes between a new, a partially, or a completely configured SPL which corresponds to a complete product. Figure 1 illustrates that each PLP can be part of a derivation chain. We can distinguish between three basic scenarios:

  • A generic PLP can be (partially) instantiated by a more specific PLP. In Figure 1, the specific PLP PL_Picture is derived from the generic PLP PL_Graphics.
  • Products can be directly derived from a PLP including open decisions. An example for this is Pd_1 in Figure 1.
  • Multiple PLPs can be combined as a basis for an infrastructure or a product. Examples for this are PL_Picture and Pd_3 in Figure 1.

        

                                            Figure 1: Example project structure

 

The decisions of a PLP made in the configuration step result in the instantiation of the corresponding artifacts of the PLP in the derivation step. In case of the PLP PL_Picture (cf. Figure 1), this means that all video-related artifacts are deleted while all functionalities for pictures are present. Each PLP stores the information about its predecessors and successors. However, it is not required to have all related projects locally available. Thus, EASy-Producer also supports collaborative work. Further, it is possible to use arbitrary, existing systems for configuration management.

Essential properties of EASy-Producer

  • Flexible modeling of Software Product Lines
    • Textual variability modeling using the INDENICA Variability Modeling Language (IVML)
    • Integrated variability instantiation through Variability Instantiation Language (VIL)
  • Expert and non-expert views, e.g., simplified views for configuration and expert view for modeling variability or product line instantiation
  • Support for Multi-Software Product Lines
    • Homogeneous variability modeling
    • Support of heterogeneous implementation techniques
  • Partial instantiation
    • No differentiation between product lines and products (Products are product lines in which all variability is resolved)

 

News

EASy-Producer Release 1.2.0 of 05.06.2018 is available via Eclipse Update Site. Central EASy-Producer components are now also available via Maven Central.

Further links

Duration: 2007 – 

Contact: MSc Sascha El-Sharkawy

Publications