metodología y framework para el desarrollo de aplicaciones ... · pdf fileframework de...

46
Introducción Objetivos principales Ingeniería de Requisitos Metodología de composición Framework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web J.Corral-García, D.Cortés-Polo, C.Gómez-Martín, J.L.González-Sánchez CénitS (Centro Extremeño de iNvestigación, Innovación Tecnológica y Supercomputación) Fundación COMPUTAEX 6th Euro American Conference on Telematics and Information Systems, EATIS 2012 - VALENCIA Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Upload: lamthuan

Post on 12-Feb-2018

226 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología y Framework para el Desarrollode Aplicaciones Científicas con Computación

de Alto Rendimiento a través de Servicios Web

J.Corral-García, D.Cortés-Polo, C.Gómez-Martín,J.L.González-Sánchez

CénitS (Centro Extremeño de iNvestigación, Innovación Tecnológica ySupercomputación)

Fundación COMPUTAEX

6th Euro American Conference on Telematics andInformation Systems, EATIS 2012 - VALENCIA

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 2: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Índice I1 Introducción

Motivaciones y objetivosTrabajos relacionados

2 Objetivos principalesMetodología de composiciónFramework de composición de componentes y dependencias

3 Ingeniería de RequisitosDesarrollo software basado en ComponentesProgramación Orientada a Aspectos

4 Metodología de composición

5 Framework de composiciónRepositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

6 Conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 3: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

1 IntroducciónMotivaciones y objetivosTrabajos relacionados

2 Objetivos principalesMetodología de composiciónFramework de composición de componentes y dependencias

3 Ingeniería de RequisitosDesarrollo software basado en ComponentesProgramación Orientada a Aspectos

4 Metodología de composición

5 Framework de composiciónRepositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

6 Conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 4: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Retos IS y HPC

Reto de I.S.: Desarrollar sistemas cada vez más complejos, en menortiempo y con requisitos mínimos de calidad.

Una tendencia: Reutilizar y construir sistemas mediante la composiciónde componentes ya desarrollados y probados.

Reto de Computación de Altas Prestaciones: creación de software dealto rendimiento con alta escalabilidad y seguridad.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 5: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Requisitos no funcionales

Complicaciones al tener en cuenta requisitos no funcionales de Calidadde Servicio:

Balance de carga...Uso eficiente de recursos.Tolerancia a fallos.etc..

El código requerido para cumplirlos acaba mezclándose con el códigofuncional.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 6: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Código enmarañado y disperso

Los mecanismos tradicionales de control de ejecución paralela noproporcionan una separación de intereses (concerns) sencilla.

Código enmarañado: un mismo módulo implementa múltiplescomportamientos o aspectos del sistema de forma simultánea.

Código disperso: existen líneas de código distribuidas por toda ogran parte de la aplicación para definir la lógica de cierta propiedad ocomportamiento del sistema.

Dificultades de mantenimiento y desarrollo.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 7: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Programación Basada en Componentes

Cada vez se aproxima más a la computación paralela de altorendimiento.

OMG CCM, DCOM o Sun/Interprise Java Beans, presentan deficienciasdebido a la falta de abstracción necesaria y a un pobre rendimiento.

Dificultades en los mecanismos de encapsulación en componentes deaplicaciones científicas ya existentes.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 8: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Programación Orientada a Aspectos

En POA los intereses transversales son modularizados como aspectosque no se descomponen en unidades funcionales.

Eficiencia, menor tiempo y menor esfuerzo.

Patentes mejoras en búsquedas, análisis de rendimiento, trazas deejecución.

Mejoras en el tiempo paralelo final ayudando a compaginaradecuadamente comunicaciones y capacidad de cómputo.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 9: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Definición de una metodología para la construcción de aplicacionesparalelas para computadoras de alto rendimiento a partir decomponentes funcionales y sus dedependencias a través de un servicioweb.

Propuesta de herramientas que provean de mecanismos concretos paramodelar y componer un repositorio de componentes y dependencias,facilitando además la búsqueda de los elementos a reutilizar.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 10: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Metodología de composición

Definir y desarrollar una nueva Metodología para el desarrollo integralde software de altas prestaciones, para su ejecución en HPC.

Principios del DSBC y DSOA.

Definición de nuevos pasos y etapas en el desarrollo de algoritmosparalelizados orientados a supercomputación.

Promoviendo la reutilización de componentes ya desarrollados.

Centrando esfuerzos en la definición de dependencias entrecomponentes.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 11: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Metodología de composición

Mejorar la producción de software de calidad reduciendo tiempo,esfuerzo y costes de desarrollo.

Los componentes estarían suficientemente probados y tendríanasegurada su fiabilidad.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 12: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Framework de composición

Catalogación de componentes funcionales independientes para facilitarsu futura reutilización.

Catalogación de componentes que permitan establecer lasdependencias entre ellos:

Aspectos a añadir a componentes funcionales (determinandosincronización o coordinación).Añadiendo alguna modificación.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 13: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Motivaciones y objetivosTrabajos relacionados

Trabajos relacionados

Ausencia de aproximaciones que definan metodologías concretas parael desarrollo de software HPC.

Frameworks POA y PBC orientados a supercomputación, pero centrosen diseño e implementación. Ninguno se basa en la reutilización decomponentes desde las primeras fases del desarrollo.

Los paradigmas modernos de la IS raramente son aplicados a lacomputación de alto rendimiento.

La aplicación de técnicas orientadas a aspectos al modelado decomponentes sí ha sido explorada en diversos trabajos.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 14: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composiciónFramework de composición de componentes y dependencias

1 IntroducciónMotivaciones y objetivosTrabajos relacionados

2 Objetivos principalesMetodología de composiciónFramework de composición de componentes y dependencias

3 Ingeniería de RequisitosDesarrollo software basado en ComponentesProgramación Orientada a Aspectos

4 Metodología de composición

5 Framework de composiciónRepositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

6 Conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 15: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composiciónFramework de composición de componentes y dependencias

Objetivos principales

Metodología para la construcción de aplicaciones paralelas paracomputadores de alto rendimiento a partir de

Componentes funcionales.Definición de dependencias existentes entre ellos.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 16: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composiciónFramework de composición de componentes y dependencias

Objetivos principales

Framework que, mediante esta metodología, permita

Proveer de mecanismos concretos para modelar y componercomponentes y dependencias.Facilitar el desarrollo de aplicaciones científicas de altorendimiento.Creación, catalogación, validación y reutilización de cadaaplicación y sus componentes.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 17: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composiciónFramework de composición de componentes y dependencias

Metodología de composición

Permitir y facilitar la traza de los requisitos del sistema.

Identificar todos los componentes software que permiten el desarrollode cada requisito durante el ciclo de vida.

Controlar cambios en los requisitos sin que afecte colateralmente a otroscomponentes del desarrollo.

Validación del comportamiento del sistema en sus distintas fases.

Gestión adecuada cuando las dependencias cambien, se amplie elsistema, se añadan nuevas dependencias, se modifiquen o sustituyancomponentes funcionales existentes.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 18: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composiciónFramework de composición de componentes y dependencias

Framework de composición

Facilitar el desarrollo de sistemas siguiendo la metodología propuesta.

Uso de funciones y herramientas que permitan

Definir los requisitos del sistema.Identificar y reutilizar los componentes.Definir nuevos componentes a incorporar al sistema.

Facilitar mecanismos de traza y validación mediante simulación delcomportamiento.

Servir de banco de pruebas de la metodología propuesta.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 19: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

1 IntroducciónMotivaciones y objetivosTrabajos relacionados

2 Objetivos principalesMetodología de composiciónFramework de composición de componentes y dependencias

3 Ingeniería de RequisitosDesarrollo software basado en ComponentesProgramación Orientada a Aspectos

4 Metodología de composición

5 Framework de composiciónRepositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

6 Conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 20: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

Ingeniería de requisitos

Grado en que un software cumple los objetivos para los que estádestinado –> Principal medida del éxito de un sistema.

Ing. de Requisitos es el proceso de descubrir dichos objetivos,mediante la identificaión de las partes interesadas en el proyecto, susnecesidades y su documentación.

La definición de requisitos tiene un gran impacto en la calidad finaldel producto software, constituyendo la base para la construcción delsistema.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 21: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

Requisito

Condición o capacidad necesaria del usuario para resolver un problemao mejorar un objetivo.

Condición o capacidad que debe ser conseguida o poseída por elsistema o componente del mismo.

Representación documentada de una condición o capacidad.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 22: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

Procesos de la IR

Elicitación (captura, descubrimiento y adquisición) de requisitos.

Análisis y especificación de requisitos.

Validación de requisitos.

Gestión de requisitos software.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 23: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

DSBC

Enfoque de desarrollo basado en la reutilización.

Reutilizar NO significa usarlo más de una vez. Implica la capacidad deser utilizado en contextos distintos a aquellos para los que fue diseñadoinicialmente.

Componente es un unidad de composición de aplicaciones que poseeun conjunto de interfaces y requisitos, que ha de poder ser desarrollado,adquirido e incorporado al sistema de forma independiente en tiempo yespacio.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 24: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

DSBC

La reutilización permite:

Reducir costes.Disminuir tiempos de desarrollo.Facilitar la adaptación a las nuevas tecnologías.

La reutilización presenta riesgos y retos:

Falta de información para poder realizar búsquedas eficientes yde calidad que facilite la selección y evaluación de componentes.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 25: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

POO versus POA

POO es una de las técnicas de modularización más potentes. Sinembargo, existen intereses (concerns) que no consiguen modularizarsede forma efectiva.

Cuando una clase necesita una funcionalidad y no la tiene, en POO esposible definirla en otra clase.

En POA no se quiere utilizar funcionalidades definidas en otras clases,sino aplicar ciertos aspectos a a ciertas clases, de forma que la claseoriginal tenga la nueva funcionalidad que se le ha definido.

Con este pequeño cambio se proporciona mayor flexibilidad yreutilización al código.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 26: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

POA

Un concern es todo aquello que sea importante para alguno de losinteresados (stakeholders), ya sea un usuario final, el promotor de unproyecto, incluso un desarrollador o cualquier interés que afecte a másde una clase.

Tiranía de la descomposición dominante: las técnicas tradicionalesproveen la posibilidad de descomponer el problema de acuerdo auna única dimensión, permitiendo una modularización efectiva delos intereses de dicha dimensión a costa de sacrificar una buenamodularización en las demás dimensiones.

Consecuencia: los intereses de las dimensiones no dominantesadquieren una naturaleza transversal (intereses transversales).

Problemas: acoplamiento, dificultad de mantenimiento, menor claridaddel código, etc..

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 27: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Desarrollo software basado en ComponentesProgramación Orientada a Aspectos

POA

La POA permite encapsular los conceptos que componen una aplicaciónen entidades bien definidas, eliminando las dependencias entre cadauno de los módulos.

Ventajas: se razona mejor sobre los conceptos, se elimina la dispersióndel código y las implementaciones resultan más comprensibles,adaptables y reusables.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 28: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

1 IntroducciónMotivaciones y objetivosTrabajos relacionados

2 Objetivos principalesMetodología de composiciónFramework de composición de componentes y dependencias

3 Ingeniería de RequisitosDesarrollo software basado en ComponentesProgramación Orientada a Aspectos

4 Metodología de composición

5 Framework de composiciónRepositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

6 Conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 29: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composición

La metodología determina las actividades a realizar en cada fase deldesarrollo:

Elección de mecanismos de recogida y especificación de losrequisitos.Funcionalidad y dependencias a partir de los mismos.Selección de componentes funcionales y dependencias quepueden ser reutilizados.Identificación y determinación de la especificación y desarrollo denuevos componentes y dependencias que se incorporarán alrepositorio una vez finalizado el proyecto.Descripción en cada fase de los objetivos, elementos deconfiguración del sistema e información necesaria.Determinación de los flujos de información entre fases.Definición de los mecanismos de validación para cada fase.Identificación de técnicas y herramientas necesarias para realizarcada una de las actividades especificadas.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 30: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composición

La metodología debe definir la información del repositorio necesariapara cada componente funcional y cada dependencia.

Identificar elementos de configuración afectados cuando se modifiquealgún requisito del sistema. Se definirán procesos que permitan unseguimiento de la evolución de los elementos de configuración desoftware a partir de sus relaciones y de la línea de base de los requisitosde la que formen parte.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 31: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composición

Búsqueda y reutilización de componentes: tarea complicada. Grancolección de componentes y poca documentación acerca de la formaen que pueden y deben utilizarse.

Para facilitar esta labor, la metodología contempla el uso de diversastécnicas:

Caracterización de alto nivel de sus capacidades (en lugar detener en cuenta nombres, especificaciones formales,comentarios...)Utilización en la recuperación del contexto en el cual elcomponente es reutilizado (para orientar la formulación de laconsulta).Gestión de funciones automáticas de configuración y validaciónde componentes.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 32: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Metodología de composición

Nuestro sistema pretende integrar componentes procedentes dediferentes modelos y dominios.

Cada tipo de aspecto tendrá una serie de propiedades cuyos valoresserán especificados y limitados, describiendo información detallada.

Se almacena información de alto nivel que pueda ser utilizada porusuarios finales en las aplicaciones.

Se usará la información no solo para conocer los aspectos que requierey provee cada componente, sino también para obtener reglas quevaliden la configuración de los mismos.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 33: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorio

En el repositorio serán definidos

ComponentesAspectosDetalles sore aspectos suministrados y recibidosPropiedades de detalle con valoresRestricciones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 34: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

1 IntroducciónMotivaciones y objetivosTrabajos relacionados

2 Objetivos principalesMetodología de composiciónFramework de composición de componentes y dependencias

3 Ingeniería de RequisitosDesarrollo software basado en ComponentesProgramación Orientada a Aspectos

4 Metodología de composición

5 Framework de composiciónRepositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

6 Conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 35: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

Framework de composición

Framework para facilitar el desarrollo de sistemas en computadores dealto rendimiento. Con funciones que permitan:

Obtener e introducir componentes y dependencias en elrepositorio, junto con su información asociada, para cada fase.Definir y especificar los requisitos.Identificar componentes funcionales y dependencias.Componer el sistema a partir de componentes y dependencias.Generar los elementos de configuración y actualizarlos.Realizar la traza de los requisitos del sistema y gestionar laconfiguración del proyecto.Generar documentación, diagramas y especificaciones asociadasa cada una de las fases de la metodología.Validar las especificaciones del sistema mediante simulación delcomportamiento.Generar el sistema ejecutable.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 36: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

Framework de composición

La programación paralela será desarrollada a través de la libreríaMPI de paso de mensajes, utilizando para ello el SupercomputadorLUSITANIA.

Los mecanismos de traza serán facilitados mediante herramientas parala validación mediante simulación de comportamiento.

Parámetros funcionales de cada componente y las dependecias entreellos –> mediante ficheros basados en XML.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 37: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

Repositorios

Generados a partir de la información definida en la metodología,estructurada según las fases del desarrollo, con la información de cadacomponente.

Elementos de configuración implicados.

Representación de las relaciones entre los distintos elementos y laslíneas de base de cada uno de los requisitos iniciales del sistema.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 38: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

Desarrollo

Definición y especificación de requisitos del sistema.

Identificación y selección de componentes y dependencias.

Definición de nuevos componentes y dependencias.

Generación de la estructura arquitectónica del sistema.

Generación de la especificación detallada de los nuevos componentes ydependencias.

Generación de código ejecutable.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 39: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

Validación y simulación

Validación de las especificaciones iniciales y del diseño arquitectónicocon respecto a los requisitios del sistema.

Plugins para trabajar con entornos de simulación.

Uso de herramientas de validación según las fases concretas deldesarrollo.

Mecanismos de visualización de los resultados.

Mecanismos de comparación con los resultados esperados.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 40: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Repositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

Traza

Definición de los mecanismos y procesos para realizar la traza yseguimiento de los requisitos.

Realización de la traza para el seguimiento de los elementos deconfiguración del sistema.

Acceso y actualización de elementos de configuración del proyecto.

Generación de informes y avisos a los desarrolladores involucarados alproducirse cambios en los requisitos.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 41: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

1 IntroducciónMotivaciones y objetivosTrabajos relacionados

2 Objetivos principalesMetodología de composiciónFramework de composición de componentes y dependencias

3 Ingeniería de RequisitosDesarrollo software basado en ComponentesProgramación Orientada a Aspectos

4 Metodología de composición

5 Framework de composiciónRepositorios del proyecto y de componentes y dependenciasHerramienta para el desarrollo basada en la composición de componentes y dependenciasHerramienta de validación y simulación del comportamientoHerramienta de traza

6 Conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 42: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Conclusiones

Gran parte de las aplicaciones científicas y matemáticas necesitan altacapacidad de cómputo.

En muchas implementaciones de algoritmos paralelizados acabanapareciendo dificultades de desarrollo y mantenimiento.

Necesidad de entornos de programación que permitan el desarrollo decódigo de forma eficiente.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 43: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Conclusiones

Enfoque orientado a aspectos y componentes, para el desarrollo deapliaciones paralelas complejas con computación de alto rendimiento,a partir de componentes funcionales ya existentes y de la definición denuevos componentes y dependencias.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 44: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

Conclusiones

Metodología basada en la reutilización de componentes desde lasprimeras fases del desarrollo.

Desarrollo de sistemas software con mayor confianza en su funcionaliday reduciendo tiempo, esfuerzo y coste en desarrollo y mantenimiento.

Orientada a computación de altas prestaciones.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 45: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

conclusiones

Framework para el desarrollo de sistemas software siguiendo lametodología.

Creación, catalogación y reutilización de componentes funcionalesindependientes y de dependencia entre ellos.

Mecanismos de traza y herramientas de validación de los sistemas.

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez

Page 46: Metodología y Framework para el Desarrollo de Aplicaciones ... · PDF fileFramework de composición Conclusiones Metodología y Framework para el Desarrollo de Aplicaciones Científicas

IntroducciónObjetivos principales

Ingeniería de RequisitosMetodología de composición

Framework de composiciónConclusiones

conclusiones

Javier Corral-García, D.Cortés-Polo, J.L.González-Sánchez