Vladimir Karadzic, Staffan Thörngren:
Modeling Dependencies in Dynamic Software Configurations,
summary, report, March 2007.
Abstract:
Software producers are often forced to develop multiple
variants of complex software at a high release rate. These circumstances
put special requirements on the producers throughout the entire
development process, ranging from the design and architecture stage,
to the build of the delivered executables. One area that needs special
attention when developing a large number of variants, are the
dependencies between entities of the software. These dependencies
quickly becomes complex. Therefore, considerable efforts often need to
be put on acquiring a survey of the dependencies between software
components. This is required for the continued development at a constant
high rate.
When the software configuration are specified by configuration files that select software components through definition of variables, an overview of the dependencies can be acquired by analyzing these files. A tool is described in this project that can be used to model and analyze the dependencies, setting out from the configuration files. Since the existing build tool already analyzes the dependencies of the software that are built, the tool should be implemented very tightly with it. The tool should model the parse flow of the build tool which is the starting point of the procedure to discovering dependencies between different parts of the software. This master thesis discusses why such a tool is needed and how it can simplify the software development process. A proof-of-concept prototype was also developed to verify the proposed design.