View
1
Download
0
Category
Preview:
Citation preview
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
Gerardo M.Sarria M.
Modelos deConcurrencia
Calculos deProcesos
Lenguaje
SemanticaOperacional
SemanticaDenotacional
CALCULOS DE PROCESOS
Gerardo M.Sarria M.
Modelos deConcurrencia
Calculos deProcesos
Lenguaje
SemanticaOperacional
SemanticaDenotacional
Contenido
1 Modelos de Concurrencia
2 Calculos de ProcesosLenguajeSemantica OperacionalSemantica 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)
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.
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.
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
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.
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.
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
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 .
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.
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.
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).
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.
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 α.
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α.
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.
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.
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.
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.
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 ′.
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.
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.
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.
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.
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.
Gerardo M.Sarria M.
Modelos deConcurrencia
Calculos deProcesos
Lenguaje
SemanticaOperacional
SemanticaDenotacional Fin de la Presentacion
Recommended