![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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.co/reader034/viewer/2022042908/5f38cc64fd194f499f5317e0/html5/thumbnails/28.jpg)
Gerardo M.Sarria M.
Modelos deConcurrencia
Calculos deProcesos
Lenguaje
SemanticaOperacional
SemanticaDenotacional Fin de la Presentacion