In recent years, modern techniques for advanced separation of concerns and Model-Driven Development (MDD) have provided new
means for improving the current methods of Software Product Line (SPL) Engineering. Mechanisms such as family polymorphism and mixin
composition can be used to improve the separation and composition of features of an SPL. Using MDD repetitive, laborious and time consum
ing tasks of SPL processes can be automated. Nevertheless, there is a general lack of SPL processes that integrate advanced mechanisms for
separation of concerns with MDD techniques. This paper presents an innovative process, called TENTE, which combines both technologies. The
result is a model-driven process that maintains the separation of features both at the architectural design and implementation stages, improving
separation of variants; at the same time repetitive, laborious and time consuming tasks are automated.

A cornerstone in the creation and development of a product line is the
analysis and specification of what elements are common and which elements
are variable within the set of similar products produced by the software
product line. To perform this task are often constructed the feature models. These models define a hierarchical decomposition, in tree form,
the characteristics of a number of similar products. Hydra is a tool for feature modelling provided
by a fully graphical editor and user friendly for the construction of feature
models, textual editor and a syntax for specifying own restrictions
between features; a graphical editor, assisted and user friendly for the
creation of configurations feature models and a validator that checks that
the configurations created satisfy the constraints defined for the feature
model.

Embedded systems are complex systems that can be composed of extremely diverse interacting hardware and software elements, often with critical resource limitations. The development of embedded software for many diverse and heterogeneous devices (e.g. mobile phones, PDAs, sensors, etc.) connected by a variety of communication technologies, may become very difficult considering each device has different resource limitations (e.g. memory, performance, battery, etc.). If each of the embedded applications has to deal with such diversity from scratch, this will seriously decrease the time-to-market and productivity of such systems. Middleware platforms could play a key role in hiding the complexity and heterogeneity of lightweight devices, by providing specific low level services (e.g. location, resource monitoring, etc.). Then embedded applications running on top of this middleware platform only have to carry out application specific tasks and use the services provided by the middleware.

&nbsp

In order to overcome these challenges, we propose a Software Product Line (SPL) approach, which will allow us to define a family of middleware platforms for embedded systems, expressing the variable requirements using feature models. Some examples of features models are: