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

Post on 10-Jul-2020

3 views 0 download

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

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