Generic Implementation of Product Line Components
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Proceedings of the 5th international conference on Generative programming and component engineering
Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
Aspect-oriented software development
Aspect-oriented software development
Refactoring middleware with aspects
IEEE Transactions on Parallel and Distributed Systems
PL-AspectualACME: an aspect-oriented architectural description language for software product lines
ECSA'11 Proceedings of the 5th European conference on Software architecture
Reuse in implementations of middleware for digital TV
Proceedings of the 18th Brazilian symposium on Multimedia and the web
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
A lightweight language for software product lines architecture description
ECSA'13 Proceedings of the 7th European conference on Software Architecture
Hi-index | 0.00 |
In this paper, we present the experience of refactoring the architecture of Ginga, the Brazilian Terrestrial Digital TV System (SBTVD) middleware. The main goal of the Ginga refactoring was to increase its configurability, through the automatic management of its variabilities. The resultant middleware, named GingaForAll, is based on a software product line (SPL) architecture, which encompasses both the middleware commonalities and its specific functionalities. Aspect-oriented techniques were used to improve the modularization of crosscutting mandatory and variable features from the Ginga SPL architecture. A model-driven based process was developed to allow the automatic management of the common and variable features in a high abstraction level that supports the management of code assets in terms of configurable models. The integration of such software engineering techniques have contributed to provide a flexible and configurable Ginga architecture, which allows the automatic generation of middleware customizations driven by the devices constraints and applications needs.