Component and Aspect Oriented Software Development Group

Home Page
Software Agents
Virtual Office
Sw Product Lines
xADL Extensions
Involved Projects
Contact Info.

Software Product Lines

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.
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:




Home Page | AO-ADL | CAM/DAOP | Software Agents | MultiTEL | Virtual Office | Pópulo | Sw Product Lines | xADL Extensions | Involved Projects | Publications | Members | Contact Info.

© UMA CBSD & AOSD Group, 2005.
Last Update: 13 feb 2009