Navegación

Búsqueda

Búsqueda avanzada

El autor Aurora Ramírez ha publicado 12 artículo(s):

1 - Interactividad en el descubrimiento evolutivo de arquitecturas

Resolver tareas propias del dise˜no arquitectónico de manera automática es un reto complejo, puesto que los arquitectos cuentan con habilidades que difícilmente pueden simularse y son capaces, además, de mantener una visión global de la actividad que realizan. Por su parte, la ingeniería del software basada en búsqueda está demostrando que las técnicas metaheurísticas son útiles cuando se desea prestar apoyo al ingeniero, especialmente cuando éste puede intervenir activamente en el proceso. Este trabajo analiza los retos que plantea esta colaboración a la hora de desarrollar modelos metaheurísticos para resolver tareas en una fase temprana del software como es el dise˜no arquitectónico. Se estudian aspectos como el papel del ingeniero y los criterios que van a guiar su intervención durante la búsqueda, sirviendo como paso previo para la propuesta de un modelo inicial con el que abordar el descubrimiento de arquitecturas software mediante un algoritmo evolutivo interactivo.

Autores: Aurora Ramírez / José Raúl Romero / Sebastián Ventura / 
Palabras Clave: algoritmos evolutivos - Dise˜no arquitectónico - ingeniería del software basada en búsqueda - interactividad

2 - Análisis de la aplicabilidad de medidas software para el diseño semi-automático de arquitecturas

Dar soporte semi-automático al ingeniero software durante la fase de diseño arquitectónico es una tarea compleja, pues se deben manejar múltiples alternativas de diseño que satisfagan criterios de calidad de interés para el ingeniero. Cuando en el contexto de los sistemas de soporte a la decisíon se emplean técnicas metaheurísticas, estos criterios deben ser trasladados a medidas precisas que sean computacionalmente evaluables sobre las soluciones generadas automáticamente. Este trabajo analiza la problemática asociada a la utilizacíon de medidas software en el ámbito del diseño de arquitecturas basadas en componentes mediante técnicas de optimizacíon y búsqueda. Para ello se han analizado medidas relacionadas con los dos atributos de calidad más relevantes para este tipo de arquitecturas: la adecuacíon funcional y la mantenibilidad. El estudio realizado muestra que, si bien existe una gran variedad de medidas software, aún quedan diferentes aspectos que pueden limitar su aplicabilidad en el diseño semi-automático de arquitecturas.

Autores: Aurora Ramírez / José Raúl Romero / Sebastían Ventura / 
Palabras Clave: Diseño arquitectónico - ingeniería del software basada en búsqueda - medidas software

3 - Identificacíon de Componentes en Arquitecturas Software Mediante Programacíon Evolutiva

El análisis arquitectónico constituye una tarea indispensable en los grandes sistemas software, pues dedica su esfuerzo a encontrar soluciones de diseño de alto nivel que cumplan requisitos de desempeño, acoplamiento, cohesíon o reutilizacíon, entre otros. Sin embargo, aspectos como la experiencia del arquitecto software o la complejidad del sistema repercuten en el resultado. La Inteligencia Artificial (IA) aporta un marco novedoso para el desarrollo de herramientas semi-automáticas en este dominio. En general, el área de SBSE (Search-Based Software Engineering) plantea considerar los retos de la Ingeniería del Software como problemas de optimizacíon y búsqueda. Este trabajo presenta una nueva propuesta para la identificación de arquitecturas basadas en componentes a partir de representaciones cercanas al experto y haciendo uso de la metaheurística de Programacíon Evolutiva (EP). Además, discute los principales retos a los que se enfrenta este tipo de soluciones y desarrolla un estudio experimental que aporta resultados prometedores.

Autores: Aurora Ramírez / José Raúl Romero / Sebastían Ventura / 
Palabras Clave: Arquitecturas basadas en componentes - Programacíon Evolutiva - SBSE

5 - Descubrimiento de patrones de diseño basado en buenas prácticas: modelo y discusión

La complejidad de los sistemas actuales obliga a los ingenieros software a aprender de las buenas prácticas empleadas en proyectos previos como, por ejemplo, el uso de patrones de diseño. Dichos patrones tienen una gran importancia durante la fase de diseño y su posterior implementación genera varias ventajas. En este contexto, se propone el uso de técnicas de minería de datos que ayuden a comprender como otros ingenieros software han implementado dichos patrones. Con la representación adecuada, este conocimiento se podrá utilizar para identificar fragmentos de código susceptibles de ser convertidos en un determinado patrón. Además del modelo, se discuten ventajas y retos asociados.

Autores: Rafael Barbudo / Aurora Ramírez / José Raúl Romero / Sebastián Ventura / 
Palabras Clave: buenas prácticas - Minería de repositorios software - patrones de diseño - programación genética gramatical

6 - Búsqueda coevolutiva interactiva aplicada al diseño de software

La resolución de tareas de diseño software mediante técnicas de búsqueda plantea dificultades como la exploración efectiva de un gran conjunto de alternativas, cuya calidad no puede ser evaluada sólo en base a medidas software. Con el fin de solventarlas, es necesario considerar técnicas más avanzadas que se aproximen más a cómo los ingenieros diseñan en la realidad. Los modelos coevolutivos permiten descomponer el problema original en varias partes diferenciadas que se resuelven simultáneamente, mientras que la optimización interactiva permite incorporar el conocimiento del ingeniero. Este trabajo propone un modelo que combina ambas técnicas y plantea los retos que conlleva su desarrollo.

Autores: Aurora Ramírez / José Raúl Romero / Sebastián Ventura / 
Palabras Clave: algoritmos coevolutivos - diseño software - ingeniería del software basada en búsqueda - optimización interactiva

7 - Evolutionary composition of QoS-aware web services: A many-objective perspective

Web service based applications often invoke services provided by third-parties in their workflow. The Quality of Service (QoS) provided by the invoked supplier can be expressed in terms of the Service Level Agreement specifying the values contracted for particular aspects like cost or throughput, among others. In this scenario, intelligent systems can support the engineer to scrutinise the service market in order to select those candidates that best fit with the expected composition focusing on different QoS aspects. This search problem, also known as QoS-aware web service composition, is characterised by the presence of many diverse QoS properties to be simultaneously optimised from a multi-objective perspective. Nevertheless, as the number of QoS properties considered during the design phase increases and a larger number of decision factors come into play, it becomes more difficult to find the most suitable candidate solutions, so more sophisticated techniques are required to explore and return diverse, competitive alternatives. With this aim, this paper explores the suitability of many objective evolutionary algorithms for addressing the binding problem of web services on the basis of a real-world benchmark with 9 QoS properties. A complete comparative study demonstrates that these techniques, never before applied to this problem, can achieve a better trade-off between all the QoS properties, or even promote specific QoS properties while keeping high values for the rest. In addition, this search process can be performed within a reasonable computational cost, enabling its adoption by intelligent and decision-support systems in the field of service oriented computation.Publicado en: Expert Systems with Applications, vol. 72, pp.357-370. 2017. DOI: http://dx.doi.org/10.1016/j.eswa.2016.10.047.IF(2016): 3,928 [18/133 Artificial Intelligence] (Q1).

Autores: Aurora Ramírez / José Antonio Parejo / José Raúl Romero / Sergio Segura / Antonio Ruiz-Cortés / 
Palabras Clave: many-objective evolutionary algorithms - multi-objective optimization - QoS-aware web service composition

8 - API para el desarrollo de algoritmos interactivos en ingeniería del software basada en búsqueda

La experiencia y la intuición son factores clave a la hora de dar solución a los complejos problemas que plantea la ingeniería del software. Sin embargo, este tipo de criterios no suelen ser considerados cuando su resolución se aborda por medio de técnicas de búsqueda automática. La ingeniería del software basada en búsqueda (SBSE) no puede ni debe obviar la opinión del ingeniero, razón por la que cada vez es más frecuente encontrar propuestas que le invitan a participar en el proceso. Diseñar e implementar un mecanismo de interacción efectivo, a la par que atractivo para el ingeniero, puede resultar complejo. Por ello, este trabajo presenta una API para dar soporte al desarrollo de algoritmos interactivos en SBSE. En base a los enfoques interactivos actuales en SBSE, esta API expone cuáles son los requisitos propios de la interactividad que deben programarse como, por ejemplo, la forma de evaluar las soluciones y las acciones que el ingeniero puede realizar sobre ellas.

Autores: Aurora Ramírez / José Raúl Romero / Sebastián Ventura / 
Palabras Clave: Application Programming Interface - ingeniería del software basada en búsqueda - interactividad

9 - Preprocesado de flujos de datos para aprendizaje automático mediante reglas CEP

El procesamiento de flujos de información constituye un área de gran relevancia dentro de la gestión de datos, pues sus métodos deben ser ágiles y eficientes para soportar el volumen y la velocidad con la que los datos se generan actualmente. Las técnicas de minería de datos han necesitado adaptarse a estas circunstancias, que no solo afectan al modo en el que se aprende de los datos, sino también a la preparación de los mismos. En este contexto, los sistemas de procesamiento de eventos complejos (CEP) pueden facilitar el tratamiento de los datos en tiempo real. Este trabajo propone abordar el preprocesamiento de flujos de datos mediante CEP. El estudio experimental revela que los datos, convenientemente transformados y enriquecidos con información temporal, mejoran la predicción de los algoritmos de aprendizaje automático.

Autores: Aurora Ramírez / Nathalie Moreno / Manuel F. Bertoa / Antonio Vallecillo / 
Palabras Clave: Aprendizaje automático - Flujos de datos - preprocesado - procesamiento de eventos complejos

10 - Looking for novelty in SBSE problems

Search-based software engineering (SBSE) was conceived to support engineers searching for innovative ideas to solve recurrent software engineering problems along the software project lifecycle. However, current approaches require the engineer to formulate and quantify their search objectives, which may be challenging. As SBSE consolidates as a discipline, problems become more demanding, and consequently the definition of the search problem and the characteristics of the search space remain oversimplified. Thus the evaluation of problem solutions by means of a fitness function could be failing to address essential aspects that can cause disappointment for the engineer after reaching final results. This position paper launches the idea that novelty search opens up a new scenario, as it rewards solution novelty, a concept mapping to problem characteristics other than fitness and whose definition might be more intuitive to the engineer. We explore its applicability to SBSE and discuss some preliminary findings of interest to the SBSE community.

Autores: José Raúl Romero / Aurora Ramírez / Christopher L. Simons / 
Palabras Clave: next release problem - novelty search - Search-Based Software Engineering

11 - Estado y evolución de la comunidad SBSE en España: un análisis bibliométrico

Dada la creciente complejidad de los sistemas software, disponer de métodos y técnicas eficientes para apoyar la realización de las diferentes actividades que se llevan a cabo en el ciclo de vida de un proyecto software ha despertado un gran interés. Así, el concepto de Ingeniería del Software basada en búsqueda (SBSE, search-based software engineering) ha permitido a ingenieros del software la aplicación de técnicas de optimización para automatizar tareas relativas a la gestión e implementación de un proyecto software. La comunidad científica en España no ha sido ajena a estos avances, contribuyendo desde la aparición de la disciplina en 2001. Este trabajo representa el primer estudio bibliométrico que resume y analiza el esfuerzo investigador realizado por la comunidad SBSE en España, así como su evolución en los últimos 18 años. Tras efectuar un riguroso proceso de búsqueda donde se han considerado más de 3700 artículos, se han identificado 232 publicaciones relevantes, donde participan hasta 145 autores de 19 instituciones diferentes. Entre los resultados más relevantes cabe destacar que casi la mitad de publicaciones se han llevado a cabo entre investigadores de distintas instituciones, la mayoría de ellas internacionales. No obstante, el nacimiento en 2015 del track sobre ingeniería del software guiada por búsqueda en las jornadas SISTEDES ha fomentado el contacto entre investigadores de instituciones españolas, mejorando el ratio de colaboraciones nacionales, así como la financiación dedicada a este campo en España.

Autores: Aurora Ramírez / Pedro Delgado-Pérez / Javier Ferrer / José Raúl Romero / Inmaculada Medina-Bulo / Francisco Chicano / 
Palabras Clave: Análisis bibliométrico - Comunidad española - ingeniería del software basada en búsqueda

12 - Interactive multi-objective evolutionary optimization of software architectures

While working on a software specification, designers usually need to evaluate different architectural alternatives to be sure that quality criteria are met. Even when these quality aspects could be expressed in terms of multiple software metrics, other qualitative factors cannot be numerically measured, but they are extracted from the engineers know-how and prior experiences. In fact, detecting not only strong but also weak points in the different solutions seems to fit better with the way humans make their decisions. Putting the human in the loop brings new challenges to the search-based software engineering field, especially for those human-centered activities within the early analysis phase. This paper explores how the interactive evolutionary computation can serve as a basis for integrating the humans judgment into the search process. An interactive approach is proposed to discover software architectures, in which both quantitative and qualitative criteria are applied to guide a multi-objective evolutionary algorithm. The obtained feedback is incorporated into the fitness function using architectural preferences allowing the algorithm to discern between promising and poor solutions. Experimentation with real users has revealed that the proposed interaction mechanism can effectively guide the search towards those regions of the search space that are of real interest to the expert.Publicado en: Information Sciences, vol. 463-464, pp. 92-109. 2018. DOI: https://doi.org/10.1016/j.ins.2018.06.034. IF(2017): 4.305 [12/148, Information Systems (Q1)]

Autores: Aurora Ramírez / José Raúl Romero / Sebastián Ventura / 
Palabras Clave: interactive evolutionary computation - multi-objective optimization - search-based software design - software architecture discovery