SlideShare uma empresa Scribd logo
1 de 22
Tipología de la Comunicación Basada en

         Mensajes
              &
        Cita con Ada
           Belén Albeza González
    Programación Concurrente 2008-2009
1. Mensajes
Memoria     Mensajes
compartida
Modalidades de paso de
       mensajes




  Asíncrono   Síncrono
Paso asíncrono
    Enviar




             Recibir
Paso síncrono
           Enviar




 Recibir

                     Cita
  Enviar




           Recibir
2. Cita en Ada
ACCEPT
• Sirven para definir las citas (son el RECEIVE)
• Están contenidas dentro de una tarea (task)
• Al invocarlas desde otra tarea, se produce el
  envío del mensaje (SEND)
• Cuando una tarea ha ejecutado un ACCEPT
  y otra lo ha llamado, se produce el rendez-
  vous
ACCEPT nombre_cita(args) DO
 --cuerpo
END nombre_cita;
Consideraciones sobre
      ACCEPT
• Garantiza la exclusión mutua (una tarea sólo
  puede aceptar las citas de una en una)
• Evita interbloqueos (se sigue orden FIFO)
• Espera simétrica (tanto emisor como
  receptor se esperan hasta la cita)
SELECT

• Muy similar a un SWITCH en C
• Sólo se ejecuta un caso si se cumple la
  condición y si hay una tarea esperando a
  dicha cita
• Si hay varios casos en los que se cumplen
  ambas, se ejecuta sólo uno
SELECT
 WHEN condicion1 =>
 ACCEPT cita1(args) DO
  --cuerpo1
 END cita1;
 --otras sentencias1
OR
WHEN condicion2 =>
--otra cita
END SELECT;
3. Ejemplo en Ada
Productor-Consumidor
Tareas


• Productor
• Consumidor
• Buffer
Tarea Buffer (I)

• K: integer = 10
• items: array[0..K-1]
• inicio, fin: integer = 0
• cantidad: integer = 0
Tarea Buffer (II)
while TRUE loop
 select
 when cantidad < K =>
  --producir
 or
 when cantidad > 0 =>
  --consumir
 end select;
end loop;
Tarea Buffer (III)

when cantidad < K =>
 accept Producir(x: in INTEGER) do
  items(fin) := x;
 end Producir;
 cantidad := cantidad +1;
 fin := (fin + 1) mod K;
Tarea Buffer (IV)

when cantidad > 0 =>
 accept Consumir(x: out INTEGER) do
   x := items(inicio);
 end Producir;
 cantidad := cantidad -1;
 inicio := (inicio + 1) mod K;
Tarea Consumidor

  while TRUE loop
   Buer.Consumir(n);
   Put(n);
  end loop;
Tarea Productor

 n := 0;
 while TRUE loop
  Buer.Producir(n);
  n := n + 1;
 end loop;
Preguntas (1)

• ¿Cuál es la diferencia entre el paso de
  mensajes síncrono y el asíncrono?
• ¿Qué pasa cuando una tarea llama a una cita
  pero la otra tarea no ha ejecutado un
  ACCEPT?
Preguntas (II)

• En un SELECT, ¿Qué otra condición, aparte
  de la del WHEN a de cumplirse para que se
  ejecute el ACCEPT de un caso determinado?
• ¿Qué pasa si en un SELECT varios casos
  cumplen las condiciones?

Mais conteúdo relacionado

Destaque

Tics y ejemplos
Tics y ejemplosTics y ejemplos
Tics y ejemplos15efren
 
CARACTERISTICAS DE LA WEB 2.0
CARACTERISTICAS DE LA WEB 2.0CARACTERISTICAS DE LA WEB 2.0
CARACTERISTICAS DE LA WEB 2.0SaraGuillenCampos
 
Web 1.0 2.0 3.0 características, definiciones, ejemplos.
Web 1.0 2.0 3.0 características, definiciones, ejemplos.Web 1.0 2.0 3.0 características, definiciones, ejemplos.
Web 1.0 2.0 3.0 características, definiciones, ejemplos.SantiagoDiazSalamanca
 
Definición,características y herramientas de la web 2.0
Definición,características y herramientas de la web 2.0Definición,características y herramientas de la web 2.0
Definición,características y herramientas de la web 2.0manuel022
 
HERRAMIENTAS MAS UTILIZADAS DE LA WEB 2.0
HERRAMIENTAS  MAS UTILIZADAS DE LA WEB 2.0HERRAMIENTAS  MAS UTILIZADAS DE LA WEB 2.0
HERRAMIENTAS MAS UTILIZADAS DE LA WEB 2.0Sergio Florez Alvarez
 
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0Jimmy Lopez
 

Destaque (9)

Tics y ejemplos
Tics y ejemplosTics y ejemplos
Tics y ejemplos
 
CARACTERISTICAS DE LA WEB 2.0
CARACTERISTICAS DE LA WEB 2.0CARACTERISTICAS DE LA WEB 2.0
CARACTERISTICAS DE LA WEB 2.0
 
Web 1.0 2.0 3.0 características, definiciones, ejemplos.
Web 1.0 2.0 3.0 características, definiciones, ejemplos.Web 1.0 2.0 3.0 características, definiciones, ejemplos.
Web 1.0 2.0 3.0 características, definiciones, ejemplos.
 
Qué son las tics
Qué son las ticsQué son las tics
Qué son las tics
 
Definición,características y herramientas de la web 2.0
Definición,características y herramientas de la web 2.0Definición,características y herramientas de la web 2.0
Definición,características y herramientas de la web 2.0
 
TIC's
TIC'sTIC's
TIC's
 
HERRAMIENTAS MAS UTILIZADAS DE LA WEB 2.0
HERRAMIENTAS  MAS UTILIZADAS DE LA WEB 2.0HERRAMIENTAS  MAS UTILIZADAS DE LA WEB 2.0
HERRAMIENTAS MAS UTILIZADAS DE LA WEB 2.0
 
Aplicaciones Web 2.0
Aplicaciones Web 2.0Aplicaciones Web 2.0
Aplicaciones Web 2.0
 
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
Definicion y Caracteristicas de WEB 1.0, 2.0,3.0
 

Último

ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOBRIGIDATELLOLEONARDO
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
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
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 

Último (20)

ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
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
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 

La Cita en Ada

  • 1. Tipología de la Comunicación Basada en Mensajes & Cita con Ada Belén Albeza González Programación Concurrente 2008-2009
  • 3. Memoria Mensajes compartida
  • 4. Modalidades de paso de mensajes Asíncrono Síncrono
  • 5. Paso asíncrono Enviar Recibir
  • 6. Paso síncrono Enviar Recibir Cita Enviar Recibir
  • 8. ACCEPT • Sirven para definir las citas (son el RECEIVE) • Están contenidas dentro de una tarea (task) • Al invocarlas desde otra tarea, se produce el envío del mensaje (SEND) • Cuando una tarea ha ejecutado un ACCEPT y otra lo ha llamado, se produce el rendez- vous
  • 9. ACCEPT nombre_cita(args) DO --cuerpo END nombre_cita;
  • 10. Consideraciones sobre ACCEPT • Garantiza la exclusión mutua (una tarea sólo puede aceptar las citas de una en una) • Evita interbloqueos (se sigue orden FIFO) • Espera simétrica (tanto emisor como receptor se esperan hasta la cita)
  • 11. SELECT • Muy similar a un SWITCH en C • Sólo se ejecuta un caso si se cumple la condición y si hay una tarea esperando a dicha cita • Si hay varios casos en los que se cumplen ambas, se ejecuta sólo uno
  • 12. SELECT WHEN condicion1 => ACCEPT cita1(args) DO --cuerpo1 END cita1; --otras sentencias1 OR WHEN condicion2 => --otra cita END SELECT;
  • 13. 3. Ejemplo en Ada Productor-Consumidor
  • 15. Tarea Buffer (I) • K: integer = 10 • items: array[0..K-1] • inicio, fin: integer = 0 • cantidad: integer = 0
  • 16. Tarea Buffer (II) while TRUE loop select when cantidad < K => --producir or when cantidad > 0 => --consumir end select; end loop;
  • 17. Tarea Buffer (III) when cantidad < K => accept Producir(x: in INTEGER) do items(fin) := x; end Producir; cantidad := cantidad +1; fin := (fin + 1) mod K;
  • 18. Tarea Buffer (IV) when cantidad > 0 => accept Consumir(x: out INTEGER) do x := items(inicio); end Producir; cantidad := cantidad -1; inicio := (inicio + 1) mod K;
  • 19. Tarea Consumidor while TRUE loop Buer.Consumir(n); Put(n); end loop;
  • 20. Tarea Productor n := 0; while TRUE loop Buer.Producir(n); n := n + 1; end loop;
  • 21. Preguntas (1) • ¿Cuál es la diferencia entre el paso de mensajes síncrono y el asíncrono? • ¿Qué pasa cuando una tarea llama a una cita pero la otra tarea no ha ejecutado un ACCEPT?
  • 22. Preguntas (II) • En un SELECT, ¿Qué otra condición, aparte de la del WHEN a de cumplirse para que se ejecute el ACCEPT de un caso determinado? • ¿Qué pasa si en un SELECT varios casos cumplen las condiciones?

Notas do Editor