6 CONCLUSIONS
We propose a generic solution which goes further
in the combination of MDA and SPLE that consider
MDA models as configurable core assets of a product
line. The proposal improves productivity regarding
existing MDA and SPLE combinations by enhancing
reuse of platform-specific assets and fully managing
platform-specific variability.
Firstly, we provide a definition of platform-
specific variability by identifying platform-specific
variation points in different aspects of the software
design. These aspects are defined accordingly to the
”4+1” view model which is a well-known catego-
rization of a system concerns. We also show that
platform-specific variability has a not negligible im-
pact on the reuse capabilities of the product line.
Then we propose a new PSM structure based on a
composition of two sub-models. On the one hand, the
Cross-Cutting Model (CCM) is obtained by transfor-
mation of the PIM which defines the application con-
ception. On the other hand, the Application Structure
Model (ASM) is obtained by reuse of variable models
of the same nature defined in domain engineering.
Platform-specific variability is represented on
ASMs with two mechanisms: asset variants which
permit to replace an ASM with one of its variants and
model attributes which permit to configure the assets
to reuse. In this way, domain engineering ASMs are
generic configurable assets organized by their com-
monalities and variabilities.
We experimented our proposal to produce two
concrete applications. The obtained results confirmed
that fully handling platform-specific variability sig-
nificantly increases the productivity of a product line.
In fact, the generated code could vary according to
cross-domain, platform-specific variation points.
Finally, the capabilities of existing approaches ad-
dressing the problem of managing platform-specific
variability are analyzed. Results showed that
platform-specific variability is either ignored, only
partially managed or fully managed but implying
shortcomings in terms of maintainability of the prod-
uct line.
The presented work involved only the PSM ab-
straction level. We expect that the proposed PSM
definition could impact the CIM and PIM contents.
Our future works will address impacts on higher ab-
straction levels to integrate the proposal in a full ap-
proach involving all MDA abstraction levels. We plan
to work on two main axis.
Firstly, further works will be required to under-
stand how the selection of CIM and PIM abstraction
level assets can impact the selection of PSM abstrac-
tion level ones. We expect that the selection of ASMs
will be motivated by two criteria: the non-functional
requirements expressed by the client represented in
the CIM and the software architecture design of the
PIM.
Then, the proposal core assets organization is
managed by a feature model. This model purpose is
to represent coarse-grained features. However, PSM
reusable assets can be fine-grained models. Integrat-
ing Common Variability Language (Haugen et al.,
2013) is a promising solution that might help us or-
ganize more fine-grained assets.
ACKNOWLEDGEMENTS
We would like to thank the National Association of
Research and Technology (ANRT in French) for its
contribution to this research.
REFERENCES
Brambilla, M., Cabot, J., and Wimmer, M. (2017). Model-
driven software engineering in practice, second edi-
tion. Synthesis Lectures on Software Engineering.
Clements, P. and Northrop, L. (2001). Software Product
Lines: Practices and Patterns. Addison-Wesley Pro-
fessional.
Czarnecki, K. and Helsen, S. (2003). Classification of
model transformation approaches. In Proceedings of
the 2nd OOPSLA Workshop on Generative Techniques
in the Context of the Model Driven Architecture, pages
1–17.
Czarnecki, K., Helsen, S., and Eisenecker, U. (2004).
Staged Configuration Using Feature Models, pages
266–283. Springer Berlin Heidelberg.
Dagef
¨
orde, J. C., Reischmann, T., Majchrzak, T. A., and
Ernsting, J. (2016). Generating app product lines in
a model-driven cross-platform development approach.
In 49th Hawaii International Conference on System
Sciences (HICSS).
Deelstra, S., Sinnema, M., van Gurp, J., and Bosch, J.
(2003). Model driven architecture as approach to man-
age variability in software product families. Research-
Gate.
Group, O. M. (2011). Business Process Model and Nota-
tion. Version 2.0.
Hamed, A. and Colomb, R. M. (2014). End to end devel-
opment engineering. Journal of Software Engineering
and Applications, pages 195–216.
Haugen, O., Wasowski, A., and Czarnecki, K. (2013). Cvl:
Common variability language. In Proceedings of the
17th International Software Product Line Conference,
SPLC ’13, pages 277–277. ACM.
Reusing Platform-specific Models in Model-Driven Architecture for Software Product Lines
115