Modeling and Documenting Aspect-Oriented Mobile Product Lines

Author(s):  
Camila Nunes ◽  
Uirá Kulesza ◽  
Roberta Coelho ◽  
Carlos Lucena ◽  
Flávia Delicato ◽  
...  

Aspect-Oriented Software Development (AOSD) has evolved as a software development paradigm over the last decade. Recent research work has explored the use of Aspect-Oriented Programming (AOP) to modularize variations in product lines. This chapter presents a strategy for modeling and documenting aspect-oriented variations by integrating two existing approaches: (1) use cases are used to express the crosscutting nature of the variations of a mobile product line; and (2) crosscutting interfaces help the definition of the relevant variation join points that are raised by the mobile product line core and are extended by its respective variations. The synergy and benefits of the integration between these approaches are demonstrated by modeling and documenting MobileMedia, a software product line that provides support to manage different media (photo, music, and video) on mobile devices. Evolution scenarios of the MobileMedia are used to illustrate the benefits of the integrated usage of use cases and crosscutting interfaces in order to identify and analyze the change impact on the mobile product line.

2013 ◽  
Author(s):  
Luanna Lopes Lobato ◽  
Ivan do Carmo Machado ◽  
Paulo Anselmo da Mota Silveira Neto ◽  
Thiago Jabur Bittar ◽  
Eduardo Santana de Almeida ◽  
...  

Software Product Line (SPL) Engineering is a software development paradigm focused on systematic reuse, which provides companies with several benefits, such as improved quality of delivered products and reduced time to market. However, major investments and considerable risks are also inherent. In this context, managing the risks and providing strategies to avoid and mitigate them are mandatory tasks during software development. In this study, we present the results of an expert survey, carried out with the aim to figure out how the SPL experts have been worked with Risk Management (RM) in their projects. We observed that experts do not always address the RM activities during real world project development, what can be justified that RM is an open issue when related to SPL.


Author(s):  
Anissa Benlarabi ◽  
Amal Khtira ◽  
Bouchra El Asri

Software product line engineering is a development paradigm based on reuse. It builds a common platform from which a set of applications can be derived. Despite its advantage of enhancing time to market and costs, it presents some complications. Among them, the complexity of its evolution because all the components are shared between the derived products. For this reason, the change impact analysis and the evolution understanding in software product lines require greater focus than in single software. In this chapter, the authors present CASPL platform for co-evolution analysis in software product lines. The platform uses evolutionary trees that are mainly used in biology to analyze the co-evolution between applications. The major goal is to enhance the change understanding and to compare the history of changes in the applications of the family, at the aim of correcting divergences between them.


Reuse of requirements is crucial activity in software development especially across software product line engineering (SPLE), which involves two main processes known as domain engineering and application engineering. With these two processes SPLE enables systematic reuse of requirements through proper planning and development. This paper presents methodology and result of survey of experts for validating a proposed systematic requirement reuse approach named requirements pattern for software product families (RP-SPF) framework. During the survey, 14 experts in requirements engineering (RE), SPLE and software development responded and gave their opinions on RP-SPF framework. The result of the survey shows that RP-SPF approach is suitable and can effectively improve requirements engineering activities of SPLE.


Author(s):  
TEGEGNE MAREW ◽  
JUNGYOON KIM ◽  
DOO HWAN BAE

Systematic configuration management is important for successful software product lines. We can use aspect-oriented software development to decompose software product lines based on features that can ease configuration management. In this paper, we present a military maintenance product line that employs such strategy. In particular, we applied a specific approach, feature based modeling (FBM), in the construction of the system. We have extended FBM to address properties specific to product line. We will discuss the advantages of FBM when applied to product lines. Such gains include the functional decomposition of the system along user requirements (features) as aspects. Moreover, those features exhibit unidirectional dependency (i.e. among any two features, at most one depend on another) that enables developers to analyze the effect of any modification they may make on any feature. In addition, any variations can be captured as aspects which can also be incorporated easily into the core asset if such variation is deemed to be important enough to be included in the product line for further evolution.


Author(s):  
Sathya Ganeshan ◽  
Muthu Ramachandran

Software Product Lines have been in the scene of software development since the 1970s. Throughout this time, it has changed from a hot topic that was discussed in universities and seminar halls as future goal of companies, to an everyday reality. There are many crucial aspects that decide the success of a software product line. One among them is the identification, development and maintenance of core assets. This chapter aims at providing a brief introduction to this area of software product lines and ways to improve productivity through efficient core asset management.


2015 ◽  
Vol 6 (3) ◽  
pp. 9-32 ◽  
Author(s):  
Anissa Benlarabi ◽  
Amal Khtira ◽  
Bouchra El Asri

In this rapidly changing world, business strategies continuously evolve to meet customers' wishes. Hence, the ability to cope with the frequent business changes is becoming important criteria of a leading development paradigm. Software product line engineering is a development paradigm based on reuse that builds a common platform from which a set of applications can be derived. Despite its advantage of enhancing time to market and costs, it is exposed to the risk of falling into the aging phenomenon because of the complexity of its evolution. In this paper the authors present a co-evolution based approach for protecting the software product lines from the aging phenomenon. The approach uses cladistics and trees reconciliation that are mainly used in biology to analyze the co-evolution between organisms. The authors' major goal is to find out changes of products that were not propagated to the common platform at the aim of reconsidering them in the platform and thus protecting it from being obsolete.


Author(s):  
Italo L. Araújo ◽  
Ismayle S. Santos ◽  
João B. Ferreira Filho ◽  
Rossana M. C. Andrade ◽  
Pedro Santos Neto

DYNA ◽  
2018 ◽  
Vol 85 (207) ◽  
pp. 74-83 ◽  
Author(s):  
Daniel Correa ◽  
Raúl Mazo ◽  
Gloria Lucia Giraldo Goméz

Software product lines facilitate the industrialization of software development. The main goal is to create a set of reusable software components for the rapid production of a software systems family. Many authors have proposed different approaches to design and implement the components of a product line. However, the construction and integration of these components continue to be a complex and time-consuming process. This paper introduces Fragment-oriented programming (FragOP), a framework to design and implement software product line domain components, and derive software products. FragOP is based on: (i) domain components, (ii) fragmentations points and (iii)fragments. FragOP was implemented in the VariaMos tool and using it we created a clothing stores software product line. We derivedfive different products, integrating automatically thousands of lines of code. On average, only three lines of code were manually modified;which provided preliminary evidence that using FragOP reduces manual intervention when integrating domain components.


2019 ◽  
Vol 12 (2) ◽  
pp. 138
Author(s):  
Zineb Mcharfi ◽  
Bouchra El Asri

Software Product Lines represent a solution for massive development with minimum costs, while assuring product high quality and interesting time to market. In fact, Software Product Lines systems are used for massive productions, and are based on systematic reuse of commun components, while offering the ability to add specific development, in order to satisfy particular users or market needs. However, to maintain such complex and large-scale systems, it is mandatory to adopt a suitable tracing policy that satisfies the system constraints, especially cost and complexity. Unfortunately, tracing is rearly applied in Software Product Lines as it presents several constraints, especially its cost. Through our research work, we tried to come up with elements that would help break this prejudice. Therefore, we worked on a cost and Return on Investment estimation model that helps identify the optimal conditions (phase and policy) for implementing a tracing solution. As a result of our work, we found that implementing specific trace links, in a targeted approach that meets business goals, and starting from the Domain Engineering phase, costs less and presents the most interesting Return on Investment. To conduct this study and reach those findings, we followed the Design Science Research Methodology. In this article, we detail the steps of our research according to this methodology’s phases.


Author(s):  
Elham Darmanaki Farahani ◽  
Jafar Habibi

The aim of the Software Product Line (SPL) approach is to improve the software development process by producing software products that match the stakeholders’ requirements. One of the important topics in SPLs is the feature model (FM) configuration process. The purpose of configuration here is to select and remove specific features from the FM in order to produce the required software product. At the same time, detection of differences between application’s requirements and the available capabilities of the implementation platform is a major concern of application requirements engineering. It is possible that the implementation of the selected features of FM needs certain software and hardware infrastructures such as database, operating system and hardware that cannot be made available by stakeholders. We address the FM configuration problem by proposing a method, which employs a two-layer FM comprising the application and infrastructure layers. We also show this method in the context of a case study in the SPL of a sample E-Shop website. The results demonstrate that this method can support both functional and non-functional requirements and can solve the problems arising from lack of attention to implementation requirements in SPL FM selection phase.


Sign in / Sign up

Export Citation Format

Share Document