Investigating Issues of Human-Computer Interaction for Systems-of-Systems

On the Use of Feature-Oriented Programming for Evolving Software Product Lines - A Comparative Study

Valdemar Vicente Graciano NetoLina GarcésClodis BoscarioliElisa Yumi Nakagawa

Gabriel Coutinho Sousa FerreiraFelipe Nunes GaiaEduardo FigueiredoMarcelo de Almeida Maia

Systems-of-Systems (SoS) are an emerging class of systems. Such systemsreceive stimulus from humans and from the environment to trigger the accomplishment of complex missions. Interaction among the SoS, humans, andwith the environment must be investigated in order to adapt current interaction engineering methods, establishing advancements to encompass a suitable SoS Interaction. This paper presents first insights on interaction engineering for SoS. We outline the topic and briefly discuss how the SoS's inherent characteristics impact on the interaction design for SoS. Feature-oriented programming (FOP) is a programming technique based on composition mechanisms, called refinements. It is often assumed that the use of feature-oriented programming is better than other variability mechanisms for implementing Software Product Lines (SPLs). However, there is no empirical evidence to support this claim. In fact, recent research work found out that some composition mechanisms may degenerate the SPL modularity and stability. However, there is no study investigating these properties focusing on the FOP composition mechanisms. This paper presents quantitative and qualitative analysis of how feature modularity and change propagation behave in the context of an evolving SPL. The quantitative data is collected from an SPL developed using three different variability mechanisms: FOP refinements, conditional compilation, and object-oriented design patterns. Our results suggest that FOP requires fewer changes in source code, yet a higher number of added modules, than the other techniques. It provides better support for non-intrusive insertions. Therefore, it adheres closer to the Open-Closed principle. Additionally, FOP seems to be more effective tackling modularity degeneration, by avoiding feature tangling and scattering in source code, than conditional compilation and design patterns.

Caso o link acima esteja inválido, faça uma busca pelo texto completo na Web: Buscar na Web

Biblioteca Digital Brasileira de Computação - Contato:
     Mantida por: