About
161
Publications
15,150
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,218
Citations
Citations since 2017
Publications
Publications (161)
Building reusable software is always a challenge, even when well-established approaches are applied. Software Product Line (SPL) development is one these approaches, which allows domain modeling be a way of dealing with common and variable aspects of reality. However, domain engineering itself can be complex, many times depending on the domain scop...
Variety is a property related to data diversity in Big Data Systems (BDS) that comprises several cases, such as structural diversity (variety in data types), source diversity (variety in the way data are produced), etc. Recently, adding contextual information allows more complex analyses, which open the possibility of modeling variety thinking of r...
Software Product Line (SPL) developments include Variability Management (VA) as a core activity aiming at minimizing the inherent complexity in commonality and variability manipulation. Particularly, the (automated) analysis of variability models refers to the activities, methods and techniques involved in the definition, design, and instantiation...
Dealing with variability, during Software Product Line Engineering (SPLE), means trying to allow software engineers to develop a set of similar applications based on a manageable range of variable functionalities according to expert users’ needs. Particularly, variability management (VM) is an activity that allows flexibility and a high level of re...
Data analysis is a widely researched field, where innumerable applications allow to discover domain particularities that are specially useful. In this paper, we introduce the data analysis process that we applied to two different systems storing information about statements and testimonies of crimes against Humanity. We describe the activities, des...
Generally speaking, users who access Web sites do not necessarily have the same abilities in terms of cognitive, sensory and physical conditions. An accessibleWeb site is one whose content can be used by as many users as possible; and to improve accessibility, the use of
evaluation tools has been incorporated among other resources. However, from th...
Reusability is nowadays a highly valued attribute within the software engineering area. In particular, software product line (SPL) developments are focused on identifying similarities and variabilities within particular domains in order to be reused when new products are developed. It is also possible to reuse outside a domain, especially when the...
Analyzing model variability represents a rapidly evolving discipline with increasing applications in different fields. Several efforts have addressed the analysis of a particular variability model represented, for instance, as feature models (FM). However, due to the proliferation of interrelated models, a major challenge today is detecting inter-m...
Documenting the paleontological process includes data produced by different techniques and protocols, which are used by paleontologists to prospect and eventually find a new fossil. Nowadays, together with the aforementioned data, a great amount of information is also available in terms of georeferenced systems, including contextual as well as desc...
Service-Oriented Computing promotes building applications by consuming and reusing Web Services. However, the selection of adequate Web Services given a client application is still a major challenge. The effort of assessing and adapting candidate services could be overwhelming due to the “impedance” of Web Service interfaces expected by clients ver...
This article presents a case study exploring the use of software product lines and reference models as mechanisms of a reuse-based design process to build digital libraries. As a key component in a modern digital library, the reference architecture is responsible for helping define quality of the resulting repository. It is true that many efforts h...
Variability management includes a set of techniques and methods for defining, modeling, implementing and testing variabilities within the development of a Software Product Line (SPL). Within the testing activity, several approaches have proposed novel techniques for automatic analysis of variability models. However, in spite of the research communi...
The automatic analysis of variability models is an important research field included in variability management activities. In the context of software product lines, it includes a set of methods and techniques aimed at verifying the design of the variability models in order to avoid inconsistencies during variability definition, implementation, and...
An emerging problem in the Software Product Line Engineering (SPLE) is the need for integral management of planned reuse. In SPLE there are two instances where managing requirements gains relevance. The first one arises during the construction of SPLs based on legacy software or previously developed SPLs. The second one appears when instantiating p...
RESUMEN Los foros de discusión son utilizados por muchos técnicos informáticos para plantear dudas y pedir sugerencias para resolver algún problema particular. Para ello, formulan una pregunta a partir de la cual se abre un hilo de discusión (thread), en el que suelen participar varios usuarios que analizan el escenario y proponen una o más solucio...
Developing Software Product Lines (SPLs) is a paradigm oriented to reusing software within particular domains. Key aspects within this paradigm are the inherent particularities of these domains and the techniques applied to systematize the ways to maximize reuse. In this article, we describe a process for creating SPLs by reusing through domain hie...
In the last years, Web Services have become the technological choice to materialize the Service-Oriented Computing paradigm. However, a broad use of Web Services requires efficient approaches to allow service consumption from within applications. Currently, developers are compelled to search for suitable services mainly by manually exploring Web ca...
A Web Service has an interface described in a machine-processable format (specifically WSDL). Service providers expose their services by publishing their WSDL documents. Service consumers can learn about service capabilities and how to interact with services.
Service descriptions (WSDL documents) should be ideally understood easily by service stake...
En lás últimas décadas la disciplina Information Retrieval ha avanzado considerablemente. Esto se debe gran parte a que las organizaciones actuales hacen cada vez más esfuerzos para reutilizar el conocimiento, definiendo estrategias para tener catalogadas y reutilizar soluciones ya probadas.
Por el otro lado la evolución de la Web trajo consigo dis...
Software Product Line (SPL) development has traditionally included
Variability Management as a way of defining, modelling, implementing and testing variability. In this context, we have created a framework, SeVaTax, based on
extensions of the Orthogonal Variability Model (OVM), and aimed at analysing
properties of variability models and deriving pr...
In the last years, Web Services have become the technological choice to materialize the Service-Oriented Computing paradigm. However, a broad use of Web Services requires efficient approaches to allow service consumption from within applications. Currently, developers are compelled to search for suitable services mainly by manually exploring Web ca...
Web Services are influencing most IT-based industries as the basic building block of business infrastructures. A Web Service has an interface described in a machine-processable format (specifically WSDL). Service providers expose their services by publishing the corresponding WSDL documents. Service consumers can learn about service capability and...
Web Service discovery and selection deals with the retrieval of the most suitable Web Service, given a required functionality. Addressing an effective solution remains difficult when only functional descriptions of services are available. The Artificial Intelligence (AI) field have contributed significantly to support the Web Services lifecycle. In...
Resumen La comunidad informática en general suele utilizar herramientas disponibles en la Web de soporte grupal, tanto para solucionar problemas como para el aprendizaje de alguna tarea particular. Es por ello que este tipo de herramientas de soporte han tenido un gran auge en las últimas décadas, dentro de las cuales los foros de discusión se han...
Web Service discovery and selection deal with the retrieval of the most suitable Web Service, given a required functionality. Addressing an effective solution remains difficult when only functional descriptions of services are available. In this paper, we propose a solution by applying Case-based Reasoning, in which the resemblance between a pair o...
Software Product Lines and Component-based systems can be combined to maximize reuse in a predictable and opportunistic manner. When a product line is built for a certain subdomain within a more generic domain, future needs from a closely subdomain may be fulfilled by mining the line's internal components to build a new product line. In this work,...
Resumen La información que generan las consultas realizadas en foros especializados puede ser de gran utilidad para otros usuarios que tengan problemas similares. Nuestra propuesta es capturar, mantener y analizar hilos de discusión existentes en foros técnicos para, dado un problema particular, sugerir un conjunto de soluciones exitosas en menos i...
Actualmente, existe un creciente número de herramientas que permiten a los desarrolladores Web evaluar la accesibilidad de sus páginas y sitios Web. Aunque este tipo de herramientas pueden resultar útiles en la identificación de problemas de accesibilidad, muchos de ellos son de carácter subjetivo y no pueden evaluarse sin una inspección manual. Nu...
Web Service composition is becoming the most promising way for business-to-business systems integration. However, current mechanisms for service composition entail a trade-off on multiple and complex factors. Thereby, existing solutions based on business Web Services, semantic Web Services, or the recent RESTful services, lack of a standardized ado...
This work improves a novel Service Selection Method for the development of Service-Oriented Applications in the context of the Service-Oriented Computing (SOC) paradigm. We have defined a Semantic-Structural Scheme to assess Web Services on Interface Compatibility exploring the available information from WSDL documents. The structural information i...
Currently, there are a growing number of tools that allow web developers to evaluate the accessibility of their web pages and sites. Many tools also prompt the developer to make specific repairs; and some tools automatically follow links to evaluate multiple pages within a site or within an entire domain. Although tools such as these can be very us...
Service-oriented computing promotes building applications by consuming reusable services. However, facing the selection of adequate services for a specific application still is a major challenge. Even with a reduced set of candidate services, the effort of assessing candidates could be overwhelming. We have defined an approach to assist developers...
Reuse-oriented software methodologies have emerged to provide a set of rules or guides for development and evolution of software systems by reusing existing domain engineering artefacts such as requirements, architecture, components, test cases, etc. Domain engineering methods, such as software product lines engineering, aim at reducing development...
Service-Oriented Computing allows building applications by reusing web-accessible services. However, current approaches still involve a large effort both at discovery of services and their successful integration. This paper presents a novel approach to assist developers at discovery, selection and integration of services. In particular, the paper f...
The issues concerning judicial statements focus on the frequency with which they are issued and the manner in which people are -- or are not -- notified. Nowadays, technology offers the justice-media relationship many opportunities; and electronic notification rises as a common media for communication. However establishing a trustable procedure is...
There are a number of tools and proposals to help developers assess Accessibility of Web applications; however looking from the designer perspec- tive, there is no such a similar situation. In this paper, we present a supporting tool that helps users model Web Accessibility by moving from abstract to con- crete architectural views using aspect-orie...
Nowadays, the proliferation of geographic information systems has caused great interest in integration. However, an integration process is not as simple as joining several systems, since any effort at information sharing runs into the problem of semantic heterogeneity, which requires the identification and representation of all semantics useful in...
Usually, a huge number of tools and proposals help developers assess Accessibility of Web applications; however, looking from the designer perspective, there is no such a similar situation. It seems that creating accessible Web sites is more expensive and complicated than creating Web sites and then assessing/modifying them. Although this feeling m...
Global Software Development (GSD) projects became a common way to develop software during the last decade. However, despite
the economic benefits that globalization may introduce, GSD faces a series of factors that affect communication and challenge
its success. In order to improve communication in such environments, we focus on techniques from the...
The development of accessible Web software is complicated for several reasons. Though some of them are technological, the
majority are related with the need to compose different and, many times, unrelated design concerns which may be functional
as in the case of most of the specific application’s requirements, or non-functional such as Accessibilit...
Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the
commonality within a portfolio of similar products. This may benefit the development of applications in several domains, and
particularly in geographic information systems (GIS). Reusing services for GIS challenges developers t...
Software product families provide an efficient means of reuse between a set of related products. Feature models have been
widely adopted in domain requirements capturing and specifying. However, there are still few cases applying software product
families to develop geographic services for citizens. This paper presents a framework that uses standar...
So far, one of the key non-solved aspects of component-based developments is identifying and recovering existing components in effective way. On these lines, we all agree on the needs of organizing and cataloging candidate components to speed up search and identification. Particularly, domain-oriented catalogues have emerged as promissory tools, al...
Prioritizing requirements includes negotiation as an important issue, which becomes extremely difficult, as clients often do not know exactly what they need. To overcome this situation, aiming at improving stakeholder's negotiation, we propose reducing the gap of misunderstanding between them by the use of cognitive science. In this paper, we explo...
Although Accessibility has not yet gained much recognition as a crucial non-functional requirement like security, performance, accuracy and usability, it is a vital attribute for people with disabilities. Developing accessible Web applications is usually hard for several reasons. Firstly, there is a significant knowledge gap between developers and...
Service-Oriented Computing allows building applications by reusing web-accessible services. However, current approaches still involve a large effort both at discovery of services and their successful integration. This paper presents a novel approach to help developers to easily deal with discovery, selection and integration of services, and it is b...
Prioritizing software requirements includes negotiation among people involved in the process as well as an acceptance of the prioritization criteria. The analysis includes negotiation as an important issue, which becomes extremely difficult, as clients often do not know exactly what they need. To overcome this situation, aiming at improving stakeho...
Nowadays, Web interface Accessibility is a core issue that affects thousand of people all over the world. Although there are many proposals to assist Web Accessibility assessment, there are no such a similar efforts to design Web applications that consider Accessibility guidelines as early issues. In this work, we propose an approach to design and...
In software development, the elicitation process and particularly the acquisition of software requirements are critical success factors. Elicitation is about learning the needs of users, and communicating those needs to system builders. Prioritizing requirements includes negotiation as an important issue, which becomes extremely difficult, as clien...
The combination of the use of advanced Information and Communication Technology, especially the Internet, to enable new ways
of working, with the enhanced provision of information and interactive services accessible over different channels, is the
foundation of a new family of information systems. Particularly, this information explosion on the Web...
New software requirements have emerged because of innovation in technology, specially involving network aspects. The possibility enterprises, institutions and even common users can improve their connectivity allowing them to work as they are at the same time, generates an explosion in this area. Besides, nowadays it is very common to hear that larg...
The task of eliciting requirements has became extremely difficult because stakeholders have different perspectives on an expectation on a system. Besides, the time to obtain the final product is limited. To overcome this situation, a requirements ranking may help in planning releases by indicating which functions are critical and which ones can be...
Web Accessibility is a basic attribute of quality in use and a player to a successful Web application. The principles of design called for all or universal design, are aimed at product design and user-friendly environments for as many people as possible, without the need to adapt or redesign it so specially. There are different tools and approaches...
Global software development faces a series of problems related to various aspects of communication; for example, that people
feel comfortable with the technology they use. In previous papers we have analyzed strategies to choose the most suitable
technology for a group of stakeholders, taking advantages of information concerning stakeholders’ cogni...
Integrating different information sources is a growing research area within different application domains. This is particularly true for the geographic information domain which is facing new challenges because newer and better technologies are capturing large amounts of information about the Earth. This trend can be combined with increases in the d...
Nowadays, information about the Earth is growing and expanding all over the world affecting different public and private entities, which are compelled to develop new mechanisms to store and manage the huge amount of information generated every day. Making this information available to ordinary citizens is not trivial. Interoperability and citizen s...
The real value of electronic signatures is not in their application to software products but in the level of security and trust they provide in a process. They should be able to provide identification of a sender and at the same time, they should be easy to use, and meet all legal and regulatory requirements as indicated by the legislation. It is o...
Failures during the elicitation process have been usually attributed to the difficulty of the development team in working on a cooperative basis (Togneri, Falbo, & de Menezes, 2002), but today there are other points that have to be considered. In order to save costs, modern software organizations tend to have their software development team geograp...
Failures during the elicitation process have been usually attributed to the difficulty of the development team in working on a cooperative basis (Togneri, Falbo, & de Menezes, 2002), but today there are other points that have to be considered. In order to save costs, modern software organizations tend to have their software development team geograp...
Since 90's, several new approaches providing solutions to integrated or federated systems have been defined. In particular, with respect to geographic information systems, proposals of integration did not take long time to appear. However, applicability of many of those approaches is still unlikely. In this context, we introduce an ontology-based a...
The different communication technologies that appeared in the last decades made Global Software Development (GSD) projects a common way to develop software. However, the difficulties distance between sites causes in communication and information management are the main disadvantages of this kind of projects and therefore, an interesting field of re...
Architectural solutions to information integration have extensively appeared during the last years, mostly from the federated
system research field. Some of these solutions were created to deal with geographic information, whose inherent features make
the integration process particularly complex. Among others, the use of ontologies has been propose...
Many challenges arise in global software development projects, most of which are related to the lack of face-to-face communication and people's need to feel comfortable with the technology that they use. In this paper we introduce a methodology to detect the problems which may occur during the global requirement elicitation process and propose solu...