795 research outputs found
A Model-Based Approach to Impact Analysis Using Model Differencing
Impact analysis is concerned with the identification of consequences of
changes and is therefore an important activity for software evolution. In
modelbased software development, models are core artifacts, which are often
used to generate essential parts of a software system. Changes to a model can
thus substantially affect different artifacts of a software system. In this
paper, we propose a modelbased approach to impact analysis, in which explicit
impact rules can be specified in a domain specific language (DSL). These impact
rules define consequences of designated UML class diagram changes on software
artifacts and the need of dependent activities such as data evolution. The UML
class diagram changes are identified automatically using model differencing.
The advantage of using explicit impact rules is that they enable the
formalization of knowledge about a product. By explicitly defining this
knowledge, it is possible to create a checklist with hints about development
steps that are (potentially) necessary to manage the evolution. To validate the
feasibility of our approach, we provide results of a case study.Comment: 16 pages, 5 figures, In: Proceedings of the 8th International
Workshop on Software Quality and Maintainability (SQM), ECEASST Journal, vol.
65 201
Towards Product Lining Model-Driven Development Code Generators
A code generator systematically transforms compact models to detailed code.
Today, code generation is regarded as an integral part of model-driven
development (MDD). Despite its relevance, the development of code generators is
an inherently complex task and common methodologies and architectures are
lacking. Additionally, reuse and extension of existing code generators only
exist on individual parts. A systematic development and reuse based on a code
generator product line is still in its infancy. Thus, the aim of this paper is
to identify the mechanism necessary for a code generator product line by (a)
analyzing the common product line development approach and (b) mapping those to
a code generator specific infrastructure. As a first step towards realizing a
code generator product line infrastructure, we present a component-based
implementation approach based on ideas of variability-aware module systems and
point out further research challenges.Comment: 6 pages, 1 figure, Proceedings of the 3rd International Conference on
Model-Driven Engineering and Software Development, pp. 539-545, Angers,
France, SciTePress, 201
Scaling the Management of Extreme Programming Projects
XP is a code-oriented, light-weight software engineering methodology, suited
merely for small-sized teams who develop software that relies on vague or
rapidly changing requirements. Being very code-oriented, the discipline of
systems engineering knows it as approach of incremental system change. In this
contribution, we discuss the enhanced version of a concept on how to extend XP
on large scale projects with hundreds of software engineers and programmers,
respectively. Previous versions were already presented in [1] and [12]. The
basic idea is to apply the "hierarchical approach", a management principle of
reorganizing companies, as well as well-known moderation principles to XP
project organization. We show similarities between software engineering methods
and company reorganization processes and discuss how the elements of the
hierarchical approach can improve XP. We provide guidelines on how to scale up
XP to very large projects e.g. those common in telecommunication industry and
IT technology consultancy firms by using moderation techniques.Comment: 7 pages, 4 figure
- …