Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Pipes & FiltersPipes & Filters
Ingeniería de Software (3304)Ingeniería de Software (3304)
Patrones ArquitecturalesPatrones...
2
Definición
“El patrón de arquitectura Pipes and Filter
provee una estructura para los sistemas que
procesan un flujo de ...
3
Problema
Sistema:
Debe ser construido por varios desarrolladores.
Se descompone naturalmente en varias etapas independie...
4
Solución
Dividir la tarea en una secuencia de etapas de procesamiento.
Cada etapa sera implementada por un programa filt...
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 ...
7
Estructura
Data Source
Responsabilidades Colaboradores
● Proporciona los datos de entrada a la
linea de procesamiento
● ...
8
Ejemplo
Compilador portable Mocha
Mocha (Modular Object
Computation with
Hypothetical Algorithms).
AuLait (Another
Unive...
9
Scanner
token yylex()
Parser
bool yyparse()
Analizador
Semántico
Generador
de Código
writeCodeByte()
tubo UNIX
read
writ...
10
Los sucesivos filtros comparten
un cierto estado: la tabla de
símbolos.
No es una arquitectura Tubos y
Filtros estricta...
Prochain SlideShare
Chargement dans…5
×

0

Partager

Télécharger pour lire hors ligne

Patrones Arquitecturales: Pipes & Filters

Télécharger pour lire hors ligne

Presentación sobre el patrón arquitectural de software "Pipes & Filters" realizado para la materia Ingeniería de Software de la Universidad Nacional de Rio Cuarto, Cordoba, Argentina (Año 2015)

Livres associés

Gratuit avec un essai de 30 jours de Scribd

Tout voir
  • Soyez le premier à aimer ceci

Patrones Arquitecturales: Pipes & Filters

  1. 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. 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. 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. 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. 5. 5 Estructura Pipes Filters Data Source Data Sink Representación gráfica de los componentes
  6. 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. 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. 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. 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. 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

Presentación sobre el patrón arquitectural de software "Pipes & Filters" realizado para la materia Ingeniería de Software de la Universidad Nacional de Rio Cuarto, Cordoba, Argentina (Año 2015)

Vues

Nombre de vues

3 138

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

2

Actions

Téléchargements

23

Partages

0

Commentaires

0

Mentions J'aime

0

×