Uma abordagem para modularização de frameworks de múltiplos domínios em linha de produtos de frameworks
Abstract
Frameworks are tools for software reuse that contribute for reducing costs and increased productivity in application development. Nowadays they are widely used and they tend to provide a satisfactory set of variabilities of a given domain. In general, a common trend in the evolution of these frameworks is the addition of new variabilities in attempting to address demands of a growing set of users. However, when such evolutions are not well designed and managed, the original architecture of the framework ends deviating from what had been previously planned, resulting in a complex and inflexible architecture. In addition, the new variabilities may belong to domains that were not originally planned for the framework, and become what we call Multiple Domains Frameworks (MDF). A problem of this kind of framework is that some variabilities may be useless for certain applications supported by the framework. Thus, MDF have problems for the Application Engineers (AE) and for Framework Engineers (FE). In the first case, the learning curve and the productivity are compromised, because AE will need to live together with a vast set of variabilities that may be unnecessary. For FE, the inflexibility of architecture complicates maintenance and composition/decomposition of smaller and more restrict versions of the framework. In this context, as an alternative to the aforementioned problems, we present an approach for modularization of MDFs into Framework Product Lines (FPL). An FPL is a product line in which the generated members are frameworks instead of applications. The main idea is that flexibility of this new architecture allows the generation of smaller and directed frameworks to the requirements of a domain/subdomain, avoiding the presence of features/variabilities that will never be used. One of the key points of this approach is to determine the Usage Scenario that the FPL must satisfy. Thus, an MDF can be decomposed in features with appropriate levels of granularity, a factor that directly impacts in the quality of an FPL. For the design of this approach, we conducted a case study in which the application framework GRENJ was modularized into an FPL. Two kinds of evaluation were performed. The first was an experiment to compare the effort to modularize a FMD in FPL using Aspect-Oriented Programming and Model-Driven Development. The second was a comparative study among applications developed with support of original framework and applications developed from the resulting FPL. The results show advantages in the reduction of efforts and increased productivity.
Collections
Related items
Showing items related by title, author, creator and subject.
-
Modularização com orientação a aspectos de frameworks desenvolvidos com linguagens de padrões de análise
Oliveira, André Luiz de (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, , 17/09/2010)GRN (Gestão de Recursos de Negócio Business Resource Management) pattern language provides a set of patterns in analysis level to support the development of applications which deal with rental, purchase, sale and maintenance ... -
Reúso de frameworks transversais com apoio de modelos
Gottardi, Thiago (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, , 04/07/2012)Aspect-Oriented programming was created to modularize the so-called crosscutting concerns . Crosscutting concerns have some properties that cannot be fully modularized with the object-oriented paradigm. After that, ... -
Distributed d-fuzzstream: agrupamento fuzzy não supervisionado distribuído em fluxo de dados
Schick, Leonardo (Universidade Federal de São Carlos, UFSCar, Programa de Pós-Graduação em Ciência da Computação - PPGCC, Câmpus São Carlos, 26/02/2019)In the last decade, the interest in managing unlimited sequences of data produced at high rates, known as data stream (DS), has grown. Applications of DSs include sensor networks, weather analysis, stock market analysis, ...