models. The main contribution of this paper is a semi-
automatic algorithm for differencing structural UML
models and upgrading the relational schema, as well
as a tool that has been evaluated in a large-scale e-
government human resources management system.
6 CONCLUSIONS
In the eTe project, we laid our focus on an impor-
tant but widely unstudied problem: database evolu-
tion in SPLs. SPLs decouple the development of the
components from the actual deployment of products.
The developer of a component specifies its local data
model. According to a customer’s requirements, such
components are composed to a product. The global
database schema of such a product is derived by com-
posing the local schemas of all components.
Since evolution is inevitable, the customer’s prod-
uct will evolve, including the addition, removal, or
update of components. The customer relies on a con-
sistent database, which has to be evolved accordingly.
Consequently, the database evolution during deploy-
ment requires to derive the specific global evolution
script from given local definitions within the compo-
nents. Creating a correct (logical) and efficient (phys-
ical) evolution script is called the weaving problem.
Obviously, this is a general problem, which is not
restricted to the eTe scenario. To achieve a valuable
general solution, we first discussed the general prob-
lem of (database) evolution in SPLs and formulated
general challenges. We presented DAVE, a database
evolution toolkit for the eTe SPL. It weaves the local
evolution scripts to a global evolution script by group-
ing the single database operations into groups, which
are then executed sequentially. Within each group,
the operations follow the topological order according
to defined dependenciesbetween components. Within
each component, the original order is kept.
DAVE solves the weaving problem on the logical
level. We successfully tested DAVE on realistic evo-
lution scenarios based on the detailed experience of
the industry partners. It emerged as being capable of
realizing database evolution for eTe. DAVE retains
a lean runtime architecture, since DAVE does not in-
troduce any additional layer at runtime for database
evolution. Developers can rely on commonly known
tools and technologies, which was an important re-
quirement of the eTe project.
The concepts of DAVE are universal and applica-
ble to SPLs in general. SPLs and their evolution are
promising trends in software and database technology
and we consider DAVE as an important contribution
particularly because of its practical background.
ACKNOWLEDGEMENTS
We thank our partners of the eTe project. This re-
search has been co-funded by the European Regional
Development Fund in the project #100135681/2804.
REFERENCES
Abo Zaid, L. and De Troyer, O. (2011). Towards Modeling
Data Variability in Software Product Lines. In En-
terprise, Business-Process and Information Systems
Modeling, volume 81 of Lecture Notes in Business In-
formation Processing. Springer Berlin Heidelberg.
Abo Zaid, L., F., K., and De Troyer, O. (2010). Feature As-
sembly Modelling: A New Technique for Modelling
Variable Software. In 5th International Conference
on Software and Data Technologies Proceedings, vol-
ume 1, pages 29 – 35. SciTePress.
Ambler, S. W. and Sadalage, P. J. (2006). Refactoring
Databases: Evolutionary Database Design. Addison-
Wesley Professional.
Batory, D. (2005). Feature Models, Grammars, and Propo-
sitional Formulas. In Obbink, H. and Pohl, K., ed-
itors, Software Product Lines, volume 3714 of Lec-
ture Notes in Computer Science, pages 7–20. Springer
Berlin Heidelberg.
Chen, K., Zhang, W., Zhao, H., and Mei, H. (2005). An
approach to constructing feature models based on re-
quirements clustering. In Requirements Engineering,
2005. Proceedings. 13th IEEE International Confer-
ence on, pages 31–40.
Czarnecki, K. and Eisenecker, U. W. (2000). Genera-
tive Programming: Methods, Tools, and Applica-
tions. ACM Press/Addison-Wesley Publishing Co.,
New York, NY, USA.
DevBoost (2013). HEDL - Hibernate Entity Definition Lan-
guage (Hibernate DSL - User Guide).
Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and
Peterson, A. S. (1990). Feature-oriented domain anal-
ysis (FODA) feasibility study. Technical report, DTIC
Document.
Khedri, N. and Khosravi, R. (2013). Handling Database
Schema Variability in Software Product Lines. In Soft-
ware Engineering Conference (20th APSEC.
Lehman, M. M. (1980). Programs, life cycles, and laws of
software evolution. Proceedings of the IEEE.
Milovanovic, V. and Milicev, D. (2013). An interactive tool
for UML class model evolution in database applica-
tions. Software & Systems Modeling, pages 1–23.
Murer, S., Bonati, B., and Furrer, F. J. (2010). Managed
Evolution: A Strategy for Very Large Information Sys-
tems. Springer Berlin/Heidelberg.
Pohl, K., Böckle, G., and Van Der Linden, F. (2005). Soft-
ware Product Line Engineering - Foundations, Prin-
ciples and Techniques. Springer Berlin/Heidelberg.
Roddick, J. F. (1995). A survey of schema versioning is-
sues for database systems. Information & Software
Technology, 37(7):383–393.
DATA2015-4thInternationalConferenceonDataManagementTechnologiesandApplications
132