19-03-2012, 02:22 PM
A Simple Software Production Line for End User Development
04724546.pdf (Size: 395 KB / Downloads: 29)
Introduction
Model-driven engineering (MDE) and product line engineering
(PLE) are active fields of research that bear the
potential for significant synergies [10]. MDE uses models
as the primary engineering artifacts and provides means to
represent different aspects of a system abstractly [15, 37, 1].
PLE focuses on application domains, rather than individual
systems, and allows individual systems to be built automatically
(or at least systematically) from reusable assets
[8, 41, 32]. To achieve this automation, PLE leverages
the commonalities of systems within a given domain
and manages the variabilities systematically, based on
the realization that most systems are members of a family
[30, 8, 11].
Concepts, Processes, and Requirements
Product line engineering (PLE), as opposed to singlesystem
engineering methods, addresses multi-system scope
development. PLE incorporates domain engineering for the
development of a generic system from which concrete systems
and/or components to be reused in different systems
can be instantiated. Building concrete systems based on the
results of domain engineering is referred to as application
engineering [11]. See Figure 1 for application development
based on PLE and refer to Table 1 for the three main components
of domain engineering. Typically, there are at least
three roles involved in application development based on
PLE: the domain engineer that defines and builds processes
and tools, the application engineer that creates applications
based on the work of the domain engineer, and the application
end user that uses the resulting application [7].
SimPL – A Simple Production Line
SimPL is a collection of production line tools that enables
domain engineers to easily set up environments for
end users to instantiate product line members. Domain engineers
describe the DSML using the provided metamodel
and include this description in the product line specification,
which specifies the entire generative domain model
(see Figure 3). The key point of SimPL is that domain engineers
only have to write this specification to set up a product
line member instantiation environment, since graphical
editor and code generator are provided. End users use the
graphical editor to model concrete products, i.e. product
line members. The resulting member specification is transformed
by the code generator into the corresponding software
(see Figure 2). Following, a more detailed description
of the single elements is given.