Arquitecturas Software y Variabilidad

URI permanente para esta colección:

Artículos en la categoría Arquitecturas Software y Variabilidad publicados en las Actas de las XX Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2015).
Notificar un error en esta colección

Examinar

Envíos recientes

Mostrando 1 - 3 de 3
  • Artículo
    Desarrollo de una Línea de Productos Software utilizando las clases parciales C#: el patrón Slicer
    Pérez Ruiz, Alejandro; Sánchez Barreiro, Pablo. Actas de las XX Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2015), 2015-09-15.
    Las clases parciales de C# permiten dividir el comportamiento global de una clase en diversos fragmentos. Estos fragmentos pueden luego combinarse de diversas formas, produciendo clases completas con comportamientos similares pero ligeramente diferentes, en función de nuestras necesidades. La semejanza de este mecanismo con la programación orientada a características ha hecho que algunos autores hayan considerado las clases parciales de C# como un mecanismo apropiado para el desarrollo de líneas de productos de software. Sin embargo, un reciente estudio ha demostrado que las clases parciales de C# por sí solas no son suficientes para tal propósito, ya que presentan problemas a la hora de extender comportamientos preexistente. Para solventar dicha deficiencia, este artículo presenta un patrón, denominado Slicer Pattern, mediante el cual es posible implementar de forma completa diseños orientados a características en C# mediante clases parciales. La principal ventaja de dicho patrón es que permite utilizar el lenguaje C# como lenguaje orientado a características, sin necesidad de extender dicho lenguaje.
  • Artículo
    Exploring the Synergies between Join Point Interfaces and Feature-Oriented Programming
    Vidal Silva, Cristian; Benavides Cuevas, David Felipe; Galindo, José Angel; Leger, Paul. Actas de las XX Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2015), 2015-09-15.
    Feature-oriented programming FOP, and aspect-oriented programming AOP have been used to develop modular software product lines SPL. Both approaches focus on modularizing classes behavior and crosscutting concerns CC. Therefore, the symbiosis of FOP and AOP would permit reaching pros and cons of both software development approaches. Concretely, FOP permits a modular refinement of classes collaboration for software product lines SPL -an adequate structural representation of heterogeneous CC, but FOP does not well represent homogeneous CC. On the other hand, traditional AOP structurally well modularizes homogeneous CC, but aspects are not adequate to represent collaboration of classes for software evolution. In addition, AOP solutions present implicit dependencies and strong coupling between classes and aspects. Since Join Point Interface JPI solves mentioned AOP issues, this paper present JPI Feature Modules to represent and modularize the structure of FOP and JPI SPL instances, i.e., classes and join point interfaces for a transparent implementation in a FOP and JPI context. This paper, highlights benefits of a FOP and JPI symbiosis for the modular software conception using a case study to exemplify its use.
  • Artículo
    Propuesta para un acceso homogéneo a servicios PaaS en la Nube
    Barrientos, Miguel; Carrasco, Jose; Cubo, Javier; Pimentel Sánchez, Ernesto. Actas de las XX Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2015), 2015-09-15.
    En el ámbito del Cloud Computing existen multitud de proveedores ofreciendo plataformas como un servicio, que proporcionan un conjunto de funcionalidades para apoyar el ciclo de vida completo de una aplicación, desde su desarrollo hasta el despliegue en la nube (incluso abordando la monitorización en ocasiones). Aunque la existencia de un número elevado de proveedores aumenta y enriquece la potencia de este tipo de servicios, el inconveniente surge cuando cada uno de ellos define servicios distintos, dando lugar a la problemática de la dependencia del vendedor o vendor lock-in. Esta variabilidad complica la selección y uso de los distintos proveedores, ya que cada uno de ellos especifica sus propios conceptos para el modelado de las aplicaciones y de los servicios requeridos durante el despliegue y ejecución de las mismas. En este trabajo, proponemos las bases para la descripción, tanto de las plataformas cloud como de las aplicaciones a desplegar, con el fin de generar una capa de homogeneización capaz de abstraer la interfaz de los servicios ofertados por las distintas plataformas, haciendo uso de una API unificada. Esto facilitará el manejo y selección de los servicios de los distintos proveedores. Para ilustrar la idea, se presenta un escenario de aplicación de chat usando servicios de plataformas cloud.