SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Pipes & FiltersPipes & Filters
Ingeniería de Software (3304)Ingeniería de Software (3304)
Patrones ArquitecturalesPatrones Arquitecturales
Integrantes:Integrantes:
●● Bongiovanni, IgnacioBongiovanni, Ignacio
●● Bentolila, FernandoBentolila, Fernando
●● Dúcculi, LucasDúcculi, Lucas
2
Definición
“El patrón de arquitectura Pipes and Filter
provee una estructura para los sistemas que
procesan un flujo de datos. Cada paso de
procesamiento se encapsula en un componente
de filtro. Los datos pasan a través de tuberías
entre filtros adyacentes. Recombinar filtros
permite construir familias de filtros relacionados”.
[Buschmann]
3
Problema
Sistema:
Debe ser construido por varios desarrolladores.
Se descompone naturalmente en varias etapas independientes de
procesamiento.
Podría surgir cambios en sus requerimientos.
El diseño de los componentes y sus interconexiones debería
contemplar lo siguiente:
Flexibilidad por la posibilidad de reordenar las diferentes etapas de
procesamiento.
Pequeñas etapas de procesamiento facilitan su reusabilidad.
Si dos etapas no son adyacentes, entonces ellas no comparten
información.
La ejecución en paralelo de las etapas debería ser posible.
4
Solución
Dividir la tarea en una secuencia de etapas de procesamiento.
Cada etapa sera implementada por un programa filtro que
consume por su entrada y produce datos en su salida de
manera incremental.
Conectar la salida de una etapa (Filter) como la entrada de su
etapa sucesora por medio de una tuberia (Pipe).
Permitir que los filtros se ejecuten de manera concurrente.
Conectar la entrada de la secuencia a alguna fuente de datos
(Data Source), como un archivo.
Conectar la salida de la secuencia a algun sumidero de datos
(Data Sink), como un archivo o una pantalla.
5
Estructura
Pipes
Filters
Data
Source
Data Sink
Representación gráfica de los
componentes
6
Estructura
Filter
Unidades de procesamiento
Responsabilidades Características
● Recibir datos de entrada
● Ejecutar una función sobre dichos
datos
● Proporcionar datos de salida
● Enriquecen, refinan o transforman los
datos
● Pueden ser pasivos o activos
Colaboradores
● Pipe
Pipe
Conexiones entre dos componentes
Responsabilidades Colaboradores
● Transferir datos
● Almacena datos temporalmente
● Sincroniza los vecinos activos
● Filter
● Data Source
● Data Sink
7
Estructura
Data Source
Responsabilidades Colaboradores
● Proporciona los datos de entrada a la
linea de procesamiento
● Pipe
Variantes Ejemplos
-Pasivas (proveen datos al ser solicitados)
-Activas (constantemente entregan
información)
● Archivos de texto plano
● Sensores externos
● Entrada estándar (stdin)
Data Sink
Responsabilidades Colaboradores
● Almacenar los datos de salida de la
linea de procesamiento
● Pipe
Variantes
Pasivas y activas
8
Ejemplo
Compilador portable Mocha
Mocha (Modular Object
Computation with
Hypothetical Algorithms).
AuLait (Another
Universal Language for
Intermediate Translation)
corre en una máquina
virtual CUP (Concurent
Uniform Processor)
Intel SPARC IntérpreteMIPS
Análisis
Lexicográfico/
Scanner
Análisis
Sintáctico/Parser
Análisis
Semántico
Generación de
Código Intermedio
Optimización
texto ASCII (programa)
secuencia de tokens
árbol sintáctico abstracto
árbol sintáctico abstracto aumentado
programa AuLait
programa AuLait optimizado
9
Scanner
token yylex()
Parser
bool yyparse()
Analizador
Semántico
Generador
de Código
writeCodeByte()
tubo UNIX
read
write
Intérprete
AuLait
int getchar()
call getchar
call yylex call semantic check
call codgen
write pipe
read pipe
Input
int getchar()
10
Los sucesivos filtros comparten
un cierto estado: la tabla de
símbolos.
No es una arquitectura Tubos y
Filtros estricta.
La implementación es un único
programa.
Analizador
Lexicográfico/Scanner
Analizador
Sintáctico/Parser
Analizador
Semántico
Generador de
Código Intermedio
TabladeSímbolos

Mais conteúdo relacionado

Mais procurados

Ejemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdenciesEjemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdenciesMICProductivity
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaJulio Pari
 
Requerimientos de un sistema y desarrollo del prototipo
Requerimientos de un sistema y desarrollo del prototipoRequerimientos de un sistema y desarrollo del prototipo
Requerimientos de un sistema y desarrollo del prototipoAlva_Ruiz
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De SoftwareJimmy Campo
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwaresergio
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)UTN
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónYaskelly Yedra
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Joan Manuel Zabala
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Caso de uso de biblioteca
Caso de uso de bibliotecaCaso de uso de biblioteca
Caso de uso de bibliotecapersye
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de usoJulio Pari
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientosCarlos Alonso
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosFranklin Parrales Bravo
 

Mais procurados (20)

Ingenieria requerimientos
Ingenieria requerimientosIngenieria requerimientos
Ingenieria requerimientos
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Ejemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdenciesEjemplos práctios de calidad en el software tecdencies
Ejemplos práctios de calidad en el software tecdencies
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
Patron de Arquitectura Broker
Patron de Arquitectura BrokerPatron de Arquitectura Broker
Patron de Arquitectura Broker
 
Requerimientos de un sistema y desarrollo del prototipo
Requerimientos de un sistema y desarrollo del prototipoRequerimientos de un sistema y desarrollo del prototipo
Requerimientos de un sistema y desarrollo del prototipo
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)
 
Diccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de informaciónDiccionario de datos en los sistemas de información
Diccionario de datos en los sistemas de información
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Caso de uso de biblioteca
Caso de uso de bibliotecaCaso de uso de biblioteca
Caso de uso de biblioteca
 
Tm03 modelo de casos de uso
Tm03 modelo de casos de usoTm03 modelo de casos de uso
Tm03 modelo de casos de uso
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientos
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
 

Destaque

Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patronesGustavo De la Cruz Tovar
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layersMatias Yima
 
Conférence Silicon Salad : "Back office : la face cachée du e-commerce "
Conférence Silicon Salad : "Back office : la face cachée du e-commerce "Conférence Silicon Salad : "Back office : la face cachée du e-commerce "
Conférence Silicon Salad : "Back office : la face cachée du e-commerce "Silicon Salad
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitecturaFatima Cham
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaDemián Gutierrez
 
Clase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploClase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploDemián Gutierrez
 
Clase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaClase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaDemián Gutierrez
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosDemián Gutierrez
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseñolandeta_p
 
Patrones para Arquitectura de Información y ejemplos
Patrones para Arquitectura de Información y ejemplosPatrones para Arquitectura de Información y ejemplos
Patrones para Arquitectura de Información y ejemplosMauricio Angulo
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Marta Silvia Tabares
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de softwareIker Canarias
 

Destaque (18)

Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layers
 
Guia arquitectura v.2
Guia arquitectura v.2Guia arquitectura v.2
Guia arquitectura v.2
 
Clase ii patrones de diseño
Clase ii patrones de diseñoClase ii patrones de diseño
Clase ii patrones de diseño
 
Conférence Silicon Salad : "Back office : la face cachée du e-commerce "
Conférence Silicon Salad : "Back office : la face cachée du e-commerce "Conférence Silicon Salad : "Back office : la face cachée du e-commerce "
Conférence Silicon Salad : "Back office : la face cachée du e-commerce "
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitectura
 
Arquitectura pizarra
Arquitectura pizarraArquitectura pizarra
Arquitectura pizarra
 
Clase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cledaClase 08b ejemplo_capas_cleda
Clase 08b ejemplo_capas_cleda
 
Clase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemploClase 07b patrones_diseno_ejemplo
Clase 07b patrones_diseno_ejemplo
 
Clase 06 diseno_arquitectura
Clase 06 diseno_arquitecturaClase 06 diseno_arquitectura
Clase 06 diseno_arquitectura
 
Clase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicosClase 08a estilos_arquitectonicos
Clase 08a estilos_arquitectonicos
 
Clase 04 diseno_ui
Clase 04 diseno_uiClase 04 diseno_ui
Clase 04 diseno_ui
 
1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño1 3 ingenieria software y patrones de diseño
1 3 ingenieria software y patrones de diseño
 
Patrones para Arquitectura de Información y ejemplos
Patrones para Arquitectura de Información y ejemplosPatrones para Arquitectura de Información y ejemplos
Patrones para Arquitectura de Información y ejemplos
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
Patrones de diseño de software
Patrones de diseño de softwarePatrones de diseño de software
Patrones de diseño de software
 

Semelhante a Patrones Arquitecturales: Pipes & Filters

BD - Semana 1
BD - Semana 1BD - Semana 1
BD - Semana 1kamui002
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosAngel Morocho
 
Proyecto piper filter
Proyecto piper filterProyecto piper filter
Proyecto piper filterDeiby Pereyra
 
Diseño orientado al flujo de datos.pptx
Diseño orientado al flujo de datos.pptxDiseño orientado al flujo de datos.pptx
Diseño orientado al flujo de datos.pptxMarioColmenarez1
 
Ciclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionCiclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionSergio, Chávez
 
Metodologia Estructurada
Metodologia EstructuradaMetodologia Estructurada
Metodologia EstructuradaSusana Daldin
 
archivodiapositiva_202261218025.pptx
archivodiapositiva_202261218025.pptxarchivodiapositiva_202261218025.pptx
archivodiapositiva_202261218025.pptxStevenTusabes
 
Diagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDiagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDaniel Jose
 
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-IntroducciónLuis Fernando Aguas Bucheli
 
Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0Victor Martinez
 
Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.Agustín Sabater
 
20131018101042
2013101810104220131018101042
20131018101042beth116
 
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptxZekiEvaristo
 

Semelhante a Patrones Arquitecturales: Pipes & Filters (20)

BD - Semana 1
BD - Semana 1BD - Semana 1
BD - Semana 1
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Proyecto piper filter
Proyecto piper filterProyecto piper filter
Proyecto piper filter
 
Arquitecturas de sw
Arquitecturas de swArquitecturas de sw
Arquitecturas de sw
 
Diseño orientado al flujo de datos.pptx
Diseño orientado al flujo de datos.pptxDiseño orientado al flujo de datos.pptx
Diseño orientado al flujo de datos.pptx
 
Ciclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacionCiclo de vida de un sistema de informacion
Ciclo de vida de un sistema de informacion
 
Clases 30 05
Clases 30 05Clases 30 05
Clases 30 05
 
Metodologia Estructurada
Metodologia EstructuradaMetodologia Estructurada
Metodologia Estructurada
 
archivodiapositiva_202261218025.pptx
archivodiapositiva_202261218025.pptxarchivodiapositiva_202261218025.pptx
archivodiapositiva_202261218025.pptx
 
Bases de Datos II: El entorno
Bases de Datos II: El entornoBases de Datos II: El entorno
Bases de Datos II: El entorno
 
Reporting Services
Reporting ServicesReporting Services
Reporting Services
 
Diagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDiagrama de-flujo-de-datos
Diagrama de-flujo-de-datos
 
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
1-Unidad 1: Arquitectura de Diseño-1.1 MVC-Introducción
 
Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0Apache nifi_introduccion_v1.0
Apache nifi_introduccion_v1.0
 
Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.Adaptación de JMeter para la minería de datos de estructuras de páginas web.
Adaptación de JMeter para la minería de datos de estructuras de páginas web.
 
20131018101042
2013101810104220131018101042
20131018101042
 
Tema1
Tema1Tema1
Tema1
 
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx2.7. Servicio de la Arquitectura.Expo Mazó  listo.pptx
2.7. Servicio de la Arquitectura.Expo Mazó listo.pptx
 
20 ago-15
20 ago-1520 ago-15
20 ago-15
 
introduccion bases de datos
introduccion bases de datosintroduccion bases de datos
introduccion bases de datos
 

Último

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnnlitzyleovaldivieso
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOPsicoterapia Holística
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 

Último (20)

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 

Patrones Arquitecturales: Pipes & Filters

  • 1. Pipes & FiltersPipes & Filters Ingeniería de Software (3304)Ingeniería de Software (3304) Patrones ArquitecturalesPatrones Arquitecturales Integrantes:Integrantes: ●● Bongiovanni, IgnacioBongiovanni, Ignacio ●● Bentolila, FernandoBentolila, Fernando ●● Dúcculi, LucasDúcculi, Lucas
  • 2. 2 Definición “El patrón de arquitectura Pipes and Filter provee una estructura para los sistemas que procesan un flujo de datos. Cada paso de procesamiento se encapsula en un componente de filtro. Los datos pasan a través de tuberías entre filtros adyacentes. Recombinar filtros permite construir familias de filtros relacionados”. [Buschmann]
  • 3. 3 Problema Sistema: Debe ser construido por varios desarrolladores. Se descompone naturalmente en varias etapas independientes de procesamiento. Podría surgir cambios en sus requerimientos. El diseño de los componentes y sus interconexiones debería contemplar lo siguiente: Flexibilidad por la posibilidad de reordenar las diferentes etapas de procesamiento. Pequeñas etapas de procesamiento facilitan su reusabilidad. Si dos etapas no son adyacentes, entonces ellas no comparten información. La ejecución en paralelo de las etapas debería ser posible.
  • 4. 4 Solución Dividir la tarea en una secuencia de etapas de procesamiento. Cada etapa sera implementada por un programa filtro que consume por su entrada y produce datos en su salida de manera incremental. Conectar la salida de una etapa (Filter) como la entrada de su etapa sucesora por medio de una tuberia (Pipe). Permitir que los filtros se ejecuten de manera concurrente. Conectar la entrada de la secuencia a alguna fuente de datos (Data Source), como un archivo. Conectar la salida de la secuencia a algun sumidero de datos (Data Sink), como un archivo o una pantalla.
  • 6. 6 Estructura Filter Unidades de procesamiento Responsabilidades Características ● Recibir datos de entrada ● Ejecutar una función sobre dichos datos ● Proporcionar datos de salida ● Enriquecen, refinan o transforman los datos ● Pueden ser pasivos o activos Colaboradores ● Pipe Pipe Conexiones entre dos componentes Responsabilidades Colaboradores ● Transferir datos ● Almacena datos temporalmente ● Sincroniza los vecinos activos ● Filter ● Data Source ● Data Sink
  • 7. 7 Estructura Data Source Responsabilidades Colaboradores ● Proporciona los datos de entrada a la linea de procesamiento ● Pipe Variantes Ejemplos -Pasivas (proveen datos al ser solicitados) -Activas (constantemente entregan información) ● Archivos de texto plano ● Sensores externos ● Entrada estándar (stdin) Data Sink Responsabilidades Colaboradores ● Almacenar los datos de salida de la linea de procesamiento ● Pipe Variantes Pasivas y activas
  • 8. 8 Ejemplo Compilador portable Mocha Mocha (Modular Object Computation with Hypothetical Algorithms). AuLait (Another Universal Language for Intermediate Translation) corre en una máquina virtual CUP (Concurent Uniform Processor) Intel SPARC IntérpreteMIPS Análisis Lexicográfico/ Scanner Análisis Sintáctico/Parser Análisis Semántico Generación de Código Intermedio Optimización texto ASCII (programa) secuencia de tokens árbol sintáctico abstracto árbol sintáctico abstracto aumentado programa AuLait programa AuLait optimizado
  • 9. 9 Scanner token yylex() Parser bool yyparse() Analizador Semántico Generador de Código writeCodeByte() tubo UNIX read write Intérprete AuLait int getchar() call getchar call yylex call semantic check call codgen write pipe read pipe Input int getchar()
  • 10. 10 Los sucesivos filtros comparten un cierto estado: la tabla de símbolos. No es una arquitectura Tubos y Filtros estricta. La implementación es un único programa. Analizador Lexicográfico/Scanner Analizador Sintáctico/Parser Analizador Semántico Generador de Código Intermedio TabladeSímbolos