Fernando Sérgio Barbosa
Polytechnic Institute of Castelo Branco
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Fernando Sérgio Barbosa.
aspect-oriented software development | 2013
Fernando Sérgio Barbosa; Ademar Aguiar
In object oriented languages the problem of crosscutting concerns, due to limitations in the composition mechanisms, is recurrent. In order to reduce this problem we propose to use roles as a way of composing classes that extends the Object Oriented approach and can be used to model crosscutting concerns. To support our approach we developed a role language that extends Java, while being compatible with existing virtual machines. As validation we conducted a case study using three open source systems. We identified crosscutting concerns in the systems and then modeled them using our role approach. Results show that roles are a viable option for modeling crosscutting concerns.
new trends in software methodologies, tools and techniques | 2013
Fernando Sérgio Barbosa; Ademar Aguiar
The existence of replicated code in a system makes that system harder to maintain and evolve. To remove replicated code the usual way is to use refactorings. However there are always clones that cannot be removed by refactorings alone. Some are due to lack of composition mechanisms in the underlying programming language. We propose the use of roles to remove such clones since roles provide a finer degree of composition. We sketch four role refactorings to remove code clones and apply them in a case study using the JHotDraw framework. Results show that roles have a positive impact in clone reduction as they were able to remove almost all clones traditional refactorings could not.
international conference on evaluation of novel approaches to software engineering | 2013
Fernando Sérgio Barbosa; Ademar Aguiar
The presence of code replication can be a consequence of a lack in the composition mechanisms where classes are insufficient to reuse the code that is replicated. To extend the reuse of pieces of code some proposals have been made that try to compose classes using those pieces of code. In this paper we compare two of those approaches: Traits and Roles. We compare their compositions mechanisms and how we can use them to reduce code replication. To study the extent to which they reduce code replication we conducted a case study using the JHotDraw framework where we detect and remove code replication using each technique. Results from the case study show that roles have an advantage over traits, as they are capable of removing more code replication.
international conference on evaluation of novel approaches to software engineering | 2012
Fernando Sérgio Barbosa; Ademar Aguiar
A single decomposition strategy cannot capture all aspects of a concept, so we need to extend Object Oriented Decomposition (today most used strategy). We propose roles as a way to compose classes that provides a modular way of capturing and reusing those concerns that fall outside a concept’s main purpose, while being a natural extension of the OO paradigm. Roles have been used successfully to model the different views a concept provides and we want to bring that experience to the programming level. We discuss how to make roles modular and reusable. We also show how to compose classes with roles using JavaStage, our role supporting language. To validate our approach we developed generic and reusable roles for the Gang of Four patterns. We developed reusable roles for 10 out of 23 patterns. We also were able to use some of these roles in JHotDraw framework.
Proceedings of the 18th Conference on Pattern Languages of Programs | 2011
Fernando Sérgio Barbosa; Ademar Aguiar
Although roles have been around for a long time they have not yet reached mainstream programming languages. The variety of existing role models may be a limiting factor. We believe that for roles to be widely accepted they must enhance code reuse. An outcome would be a library of roles. We present and discuss what we feel are the characteristics that a role model must have to enable reusable and player-independent roles. In this paper we present our role model and JavaStage, a role language that extends Java, with examples of reusable roles. Finally, we present our steps towards the building of a role library, by presenting the roles developed from the analysis of the GoF Design Patterns. The results obtained, we developed roles for 10 of the 23 GoF patterns, are promising.
new trends in software methodologies, tools and techniques | 2012
Fernando Sérgio Barbosa; Ademar Aguiar
international conference on evaluation of novel approaches to software engineering | 2012
Fernando Sérgio Barbosa; Ademar Aguiar
International Journal of Mobile Computing and Multimedia Communications | 2018
Fernando Ribeiro; Arlindo Silva; José Carlos Metrôlho; Ana Paula Silva; Fernando Sérgio Barbosa
Information Technology & Tourism | 2018
Fernando Ribeiro; Arlindo Silva; Fernando Sérgio Barbosa; Ana Paula Silva; José Carlos Metrôlho
iberian conference on information systems and technologies | 2017
José Carlos Metrôlho; Fernando Ribeiro; Ana Paula Silva; Arlindo Silva; Fernando Sérgio Barbosa