(Dart, 1992) where five future challenges of
configuration management are defined. One of the
mentioned challenges introduces one of the first
attempt to define configuration management by
models. In a recent interview with a long-term
configuration management specialist
(CMCrossroads, 2014) was mentioned the year
1998, when there was an attempt to create a “super
tool” to deal with all the tasks at once in
configuration management process. In practice this
attempt failed, because it was too complicated to
use, and programmers were afraid of such a tool of
"majesty and mysticism." As the future trend the
configuration management specialist
(CMCrossroads, 2014) emphasizes the need to
enhance trust between configuration management
and programmers. Other configuration management
experts (Aiello, 2010), (Berczuk, 2003) note that it is
necessary to plan the process and only then apply
tools for implementation, otherwise solutions will be
ineffective and will require to invest a lot of
resources inefficiently. Finnaly, (Ragan, 2014) note
that solutions should be model-driven and not static
to increase its reuse.
Large part of existing researches related to
software configuration management uses ideas of
model-driven approach (Osis, 2010). The most
important task in configuration management is the
version control and a significant part of model-
driven researches is devoted to version control
(Yongchang, 2010), (de Almeida Monte-Mor, 2014),
(Toth, 2013). New approaches try to improve
version control, in order to better control changes in
the product code (Toth, 2013), as well as provide
abstract models that can be used in development of
new version control systems (Yongchang, 2010), (de
Almeida Monte-Mor, 2014). There are also solutions
offering an abstract model of configuration
management, based on quality standards or specific
characteristics of the software development
approach (Estublier, 2000), (Ruan, 2003), (Mingzhi,
2008). Usually the proposed approaches are not
supported by tools which could allow performing
experiments and making sure about benefits.
The following solutions (Pindhofer, 2009),
(Calhau, 2012), (Giese, 2009) consider configuration
management process as a whole, not just a specific
part. Solution, described in (Pindhofer, 2009)
provides a definition of configuration management
model. The model devoted to support of
configuration identification and build management.
The solution is focused on projects based on model-
driven approach, but there are no recommendations
how this approach could be applied in projects with
classical development methodologies.
Configuration management principles for the
following approach (Giese, 2009) were taken from
the ITIL (Information Technology Infrastructure
Library) framework and later were created abstract
models, from which configuration management
process could be created and later the model could
be transformed into platform specific model.
Although that solution also includes an
implementation for proposed model-driven
configuration management, it is focused on a single
technology (JAVA) and implementation details are
not given.
Study (Calhau, 2012) focuses on mutual
integration of various configuration management
tools. In order to maintain a full configuration
management process, it is required a number of
tools: version control systems, bug tracking systems,
build servers, continuous integration servers and
other tools. As practical experience indicates, all
tools work separately from each other. The study
offers an ontology for configuration management
process. This ontology is used as a configuration
management model that shows how various
configuration management tools should be
integrated. The study does not have any specific
instructions how the ontology could be applied for
particular project. It is not clear what kind of
ontology editors are advised to use and how to
determine the moment when the changes have to be
made.
3 GENERAL APPROACH FOR
MODEL-DRIVEN
CONFIGURATION
MANAGEMENT
The article provides a new model-driven approach
for software configuration management. The
approach is based on model creation and gradual
transformation into the model with a lower level of
abstraction. Unlike other solutions, a new approach
supports all configuration management tasks and
does not impose any specific tool. New approach
shows a way how to increase reuse of existing
solutions. New meta-models are developed to create
models with different levels of abstraction.
Additionally, transformation rules are designed to
transform one model to other.
New model-driven approach for configuration
management is based on assumption that generally
configuration management answers the question
MODELSWARD2015-3rdInternationalConferenceonModel-DrivenEngineeringandSoftwareDevelopment
178