Representation of Variability in Software Product Line Using Aspect-
Oriented Programming
Seung-hyun Heo, Eun Man Choi
Dept.of Computer Engineering
Dongguk University, Seoul, KOREA
[email protected]
,
[email protected]
Abstract
Software development methodology has been being
developed for the goal of improvement in productivity
and reduction in time-to-market through the reuse of
component asset, and software product line is designed
for the effective management and use of the asset
through the separation of commonality and variability.
The existing methods that implement software product
line interfere massively with the core asset, which
require high cost in assembling level reducing the
effectiveness. This paper introduces Aspect-Oriented
Programming
(AOP)
as
the
method
for
the
improvement of the assembling process in software
product line. The method that assembles core asset and
variabilities is described by grammar elements such as
Join point, pointcut and advice without code-change.
We analyze the requirements of the mini-system as an
example adapting AOP and show its practicality by the
implementation of Aspect-Oriented language, AspectJ
1. Introduction
Reuse and version management are the key to
achieve improvement of productivity. The reuse
reduces time-to-market that is some of the most
important and critical problem in software development.
Software product line is a paradigm that combines
them. If software product line is to be effective,
requirements should be divided to commonalities and
variabilities at the beginning of the development and
then designed and implemented.
Studies for software product line have been dealing
with problems coming from design and development of
product family to management tool for product line,
representation and implementation of commonalities
and variablities. Representation and implementation of
variabilities are very important issue among them. The
studies
have
been
suggested
that
try
to adapt
AOP(Aspect-Oriented Programming) for requirements
analysis of product line[1], and that is about design
method by the extended UML[2,12].
In the implementation stage, there were research for
method that can be used to implement variabilities[9].
But the real comparison was impossible because the
standard was not clear for classified methods such as
dynamic link, inheritance, conditional compile and
AOP, and also it could not prove the availability of
AOP at the code level.
After that, there were attempts
to manage component library asset and to develop
products in a family[3,10] but it needs second language
to create and manage the asset such as XML.
Productivity of product line is affected quiet a bit by
the
efficiency
of
the
assembly
process
of
commonalities
and
variabilities.
Therefore,
development of product line costs to manage assets
separately so that users are different from developer for
components.
Legacy
methods
that
require
understanding the assets for management and assembly
reduce benefits are caused by the importation of
product line.
This
preview
has intentionally blurred sections.
Sign up to view the full version.

This is the end of the preview.
Sign up
to
access the rest of the document.
- Spring '09
- Software engineering, product line, Aspect-oriented software development, Aspect-oriented programming, Software Engineering research, Software Product Line
-
Click to edit the document details