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)
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.
- Overview on Textual Variability Modeling Languages
- Topological Configuration
- EASy-Producer Source @ github
- EASy-Producer Eclipse update page
- EASy-Producer Eclipse nightly update page
Duration: 2007 –
Contact: MSc Sascha El-Sharkawy
|12.||Klaus Schmid (2017): EASy-Producer - An Open Toolset for Lightweight Product Line Engineering In: Proceedings of Embedded World|
|11.||Holger Eichelberger, Cui Qin and Klaus Schmid (2017): From Resource Monitoring to Requirements-based Adaptation: An Integrated Approach In: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion (ICPE '17) pp. 91-96. ACM.|
|10.||Klaus Schmid and Holger Eichelberger (2017): Variability Modeling with EASy-Producer In: Proceedings of the 21st International Systems and Software Product Line Conference vol. A. pp. 251-251. ACM.|
|9.||Holger Eichelberger, Cui Qin, Roman Sizonenko and Klaus Schmid (2016): Using IVML to Model the Topology of Big Data Processing Pipelines In: Proceedings of the 20th International Systems and Software Product Line Conference pp. 204 - 208. ACM.|
|8.||Klaus Schmid and Holger Eichelberger (2016): EASy-Producer: From Product Lines to Variability-rich Software Ecosystems In: Proceedings of the 20th International Systems and Software Product Line Conference pp. 309-309. ACM.|
|7.||Sascha El-Sharkawy, Christian Kröher, Holger Eichelberger and Klaus Schmid (2015): Experience from Implementing a Complex Eclipse Extension for Software Product Line Engineering In: Proceedings of the Eclipse Technology eXchange (ETX '15)|
|6.||Holger Eichelberger and Klaus Schmid (2015): IVML: A DSL for Configuration in Variability-rich Software Ecosystems In: Proceedings of the 19th International Conference on Software Product Line pp. 365-369. ACM.|
|5.||Klaus Schmid and Holger Eichelberger (2015): EASy-Producer: From Product Lines to Variability-rich Software Ecosystems In: Proceedings of the 19th International Conference on Software Product Line pp. 390-391. ACM.|
|4.||Holger Eichelberger and Klaus Schmid (2015): Software konfigurieren statt programmieren mit EASy-Producer In: Eclipse Magazin (1.16): 89-94.|
|3.||Holger Eichelberger, Sascha El-Sharkawy, Christian Kröher and Klaus Schmid (2014): EASy-Producer: Product Line Development for Variant-rich Ecosystems In: Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools vol. 2. pp. 133-137. ACM.|
|2.||Sascha El-Sharkawy, Christian Kröher and Klaus Schmid (2011): Support for Complex Product Line Populations In: Ina Schaefer and Isabel John and Klaus Schmid (ed.): Demonstration and Tools at the 15th International Software Product Line Conference (SPLC '11) vol. 2. ACM.|
|1.||Sascha El-Sharkawy, Christian Kröher and Klaus Schmid (2011): Supporting Heterogeneous Compositional Multi Software Product Lines In: Ina Schaefer and Isabel John and Klaus Schmid (ed.): Proceedings of the Joint Workshop of the 3rd International Workshop on Model-driven Approaches in Software Product Line Engineering and the 3rd Workshop on Scalable Modeling Techniques for Software Product Lines (MAPLE/SCALE 2011) at the 15th Internationa vol. 2. ACM.|