Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de...

28
Gerardo M. Sarria M. Modelos de Concurrencia alculos de Procesos Lenguaje Sem´ antica Operacional Sem´ antica Denotacional Bases Formales de la Computaci´on Gerardo M. Sarria M. Pontificia Universidad Javeriana 12 de septiembre de 2008

Transcript of Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de...

Page 1: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Bases Formales de la Computacion

Gerardo M. Sarria M.

Pontificia Universidad Javeriana

12 de septiembre de 2008

Page 2: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

CALCULOS DE PROCESOS

Page 3: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Contenido

1 Modelos de Concurrencia

2 Calculos de ProcesosLenguajeSemantica OperacionalSemantica Denotacional

Page 4: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Sistemas Concurrentes

Multiples agentes (procesos) que interactuan entre ellos.

Algunos sistemas concurrentes fundamentales:

Sistemas Reactivos

Sistemas de Comunicacion Sıncronos

Sistemas Moviles

Los sistemas concurrentes se pueden combinar:

Example

Internet (bien complejo)

Page 5: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Modelos de Concurrencia

Modelos formales para describir y analizar sistemasconcurrentes

Como en otros modelos, estos deben

ser simples

ser expresivos

ser formales

proveer tecnicas de razonamiento

Como el calculo λ en la computacion secuencial.

Page 6: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Modelos de Concurrencia

En la teorıa de la concurrencia:

Cada modelo se enfoca en un fenomeno fundamental. E.g.sincronıa y movilidad

Pero no existe un “modelo canonico”

Lo anterior debido (probablemente) a que la concurrencia es unarea muy joven y muy amplia.

Page 7: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Modelos de Concurrencia

Modelos de Concurrencia:

Redes de Petri

Estructuras de Eventos

Espacios de Chu

Calculos de Procesos:

CCS, CSP, ACPCalculo πCCP, NTCC, RTCC

Page 8: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Calculos de Procesos

Tratan procesos de manera parecida como el calculo λ trata lasfunciones computables.

La definicion de un calculo de procesos contiene un lenguajecon operadores basicos, cada uno con un rolo distinto yfundamental.

Page 9: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Lenguaje

Proceso nulo para denotar inactividad.

Composicion secuencial para organizar procesos.

Composicion paralela para simultaneidad e independencia.

Comunicacion para la interaccion entre procesos.

Sumatoria para expresar cursos alternativos decomputacion.

Restriccion (o localidad) para delimitar la interaccion deprocesos.

Recursion y/o replicacion que permite descripciones finitasde comportamientos infinitos.

Page 10: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Lenguaje

El lenguaje de procesos es, a menudo, dado en una formainductiva.

Ejemplo:CCS: Calculus of Communicating Systems

P,Q, . . . ∶∶= K Proceso Constante∣ α.P Accion∣ ∑i∈I Pi Sumatoria∣ P ∣ Q Composicion Paralela∣ P[f ] Renombrado∣ P / L Restriccion

Page 11: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Lenguaje

P,Q, . . . son terminos del lenguaje de procesos tambienllamados procesos, agentes o expresiones.

El proceso constante 0 se coloca para una suma vacıa deprocesos, i.e. 0 = ∑i∈∅ Pi , y P1 + P2 se coloca para una sumade dos procesos, i.e. P1 + P2 = ∑i∈{1,2} Pi .

Page 12: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

La semantica operacional fue introducida para definir losestados en los cuales los programas pueden estar durante laejecucion.

Es dinamica: Sistema = secuencia de operaciones.

Cada ocurrencia de una operacion es llamada una transicion.

Page 13: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

Un sistema de transicion es una estructura ⟨Γ,Ð→⟩, donde Γ esun conjunto de configuraciones γ, y Ð→ ⊆ Γ × Γ es unarelacion de transicion.

La notacion γ Ð→ γ′ define la transicion desde la configuracionγ hasta la configuracion γ′.

Las transiciones a menudo estan divididas en internas yexternas, dependiendo del comportamiento del sistema.

Page 14: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

Un sistema de transiciones etiquetadas es una estructura⟨Γ,A,Ð→⟩ donde Γ es un conjunto de configuraciones, A es unconjunto de operaciones etiquetadas y Ð→ ⊆ Γ ×A × Γ es unarelacion de transicion.

Se escribe la transicion γaÐ→ γ′ donde γ y γ′ son

configuraciones y a es una accion.

Esta accion provee informacion sobre el comportamiento de latransicion (acciones internas) o sobre la interaccion entre elsistema y su ambiente (acciones externas).

Page 15: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

Las relacionesaÐ→ estan definidas para ser la menor relacion que

obedece reglas de la forma:

CondicionesConclusion

Una regla afirma que siempre que las condiciones han sidoobtenidas en el curso de alguna derivacion, la conclusionespecificada se debe tomar como obtenida tambien.

Page 16: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

PαÐ→ P ′

KαÐ→ P ′

Kdef= P

Regla de la Constante

Si K es definido como el nombre constante del proceso P yeste proceso evoluciona al proceso P ′ realizando α, entoncespodemos decir que K evoluciona a P ′ realizando α.

Page 17: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

α.PαÐ→ P

Regla de la Accion

Un proceso accion α.P simplemente evoluciona a P realizandoα.

Page 18: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

PjαÐ→ P ′j

∑i∈I

PiαÐ→ P ′j

j ∈ I

Regla de la Sumatoria

Un proceso sumatoria escoge no-determinısticamente unproceso para su evolucion (de aquellos que tienen la capacidadde hacerlo) y previene la ejecucion de los otros.

Page 19: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

PαÐ→ P ′

P ∣ QαÐ→ P ′ ∣ Q

QαÐ→ Q ′

P ∣ QαÐ→ P ∣ Q ′

PaÐ→ P ′ Q

aÐ→ Q ′

P ∣ QτÐ→ P ′ ∣ Q ′

Regla de la Composicion Paralela

La primera y segunda: Interpretacion concurrente de ambosprocesos P y Q separadamente.La tercera regla: Comunicacion entre dos procesos actuando enparalelo en la cual el estado de transicon no es observable.

Page 20: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

PαÐ→ P ′

P[f ]f (α)ÐÐ→ P ′[f ]

PαÐ→ P ′

P / LαÐ→ P ′ / L

α,α′ ∉ L

Reglas de Renombrado y Restriccion

En una transicion la funciones de renombrado y las variableslocales se mantienen.

Page 21: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

Las reglas en un sistema de transicion definen las transicionesvalidas en el sistema que se esta modelando.

Tambien permiten el estudio de relaciones entre elementos delsistema como la bisimulacion.

Page 22: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Operacional

La bisimulacion es a menudo esencial para la semantica delenguajes y puede ser definida en pocas palabras como:

Una equivalencia semantica de sistemas donde un sistemasimula el otro y viceversa.

Un termino P simula a un termino Q si para cada termino P ′ y

accion a tal que PaÐ→ P ′, entonces existe un termino Q ′ tal que

QaÐ→ Q ′ y P ′ simula a Q ′.

Page 23: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Denotacional

A diferencia de la semantica operacional la cual enfatiza encomo el proceso es evaluado, la semantica denotacional seenfoca en el significado de los procesos.

Esta semantica esta basada en la estructura estatica delproceso y no en el cambio dinamico de la configuracion.

Page 24: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Denotacional

Una semantica denotacional determina el significado de unproceso de una manera composicional.

Esto permite razonar sobre las denotaciones separandolas enpartes simples y conocidas.

Tambien hace mucho mas facil probar cosas sobre la semanticaya que puede ser usada la induccion estructural.

Page 25: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Denotacional

Un proceso ahora es visto como una funcion matematica ⟦ ⟧

que asocia su sintaxis en el algebra de procesos a un objetoabstracto (su denotacion o significado).

Cada objeto abstracto denota un proceso bajo la funcionmatematica.

Page 26: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Denotacional

Ejemplo:Lenguaje para obtener los numeros naturales.

La sintaxis del lenguaje es

Exp ∶∶= 0 ∣ succ Exp

En este lenguaje el valor de cualquier expresion es larepresentacion abstracta de un numero natural (similar a losnumeros de Church), sin embargo su significado es mascomplejo ya que el valor podrıa depender del estado.

Page 27: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional

Semantica Denotacional

El significado de una expresion es una funcion que aplicada alestado actual, da el valor de la expresion relativo a ese estadoparticular:

⟦0⟧ = 0

⟦succ Exp⟧ = ⟦Exp⟧ + 1

Note la diferencia entre el sımbolo 0 (que es parte dellenguaje), y el concepto matematico de cero 0 escogido paradenotar el objeto abstracto en el lenguaje.

Page 28: Bases Formales de la Computacióncic.puj.edu.co/wiki/lib/exe/fetch.php?media=... · Modelos de Concurrencia C alculos de Procesos Lenguaje Sem antica Operacional Sem antica Denotacional

Gerardo M.Sarria M.

Modelos deConcurrencia

Calculos deProcesos

Lenguaje

SemanticaOperacional

SemanticaDenotacional Fin de la Presentacion