Resumen y ensayo del libro proceso de la comunicacion, escrito por David K. BerloDescripción completa
Algoritmos de Busqueda secuencialDescripción completa
Descripción: practica pweb
Descripción completa
Descripción completa
Mando secuencialDescripción completa
Descripción: GUÍA PARA ESTRATIGRAFÍA DE SECUENCIAS CHEVRON OIL FIELD RESEARCH COMPANY (COFRC), 1991 Sequence Stratigraphy Team TRADUCCIÓN POR BIOL. ISAURO DOMÍNGUEZ BERRONES* BERRONES* BOCA DEL RÍO, VERACRUZ...
Descripción completa
Algoritmos de Busqueda secuencialDescripción completa
practica pweb
COROS INFANTILESDescripción completa
Full description
mapa secuencialDescripción completa
Descripción: estratigrafia secuencial
Descripción completa
Descripción completa
guiaDescripción completa
UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS ESCUELA DE INFORMATICA CURSO CURSO
: ESPECI ESPECIFIC FICACI ACION ON FORMAL FORMAL DE SISTEMAS
DOCENTE: CRUZ FLORIAN, IRIS AUREA ALUMNOS
: o o o o o
CICLO
AVALOS ANAY ANAYA, ANGELIC ANGE LICA A CAPA SIXE, JORDAN GAVIDIA MEZA ALEXIS GUZMAN CHUMAN, JOSE PEREDA PURIZAGA, JANN : VIII
MTODOS CONCURRENTES: PROCESO DE COMUNICACI!N SECUENCIAL 1" INTRODUCCION" Existen varios aspectos en nuestro mundo inherentemente distribuido ue hacen necesaria !a pro"ramaci#n concurrente. En primera instancia es m$s %$ci! mode!ar de una manera concurrente un sistema de! mismo tipo& ue hacer!o enca'ar dentro de! paradi"ma secuencia! ue de nin"una manera esuemati(a e! comportamiento de ese sistema. )a *.C. permite ue !os sistemas sean m$s %$ci!mente esca!ab!es debido a !a modu!aridad de su desarro!!o + ue tambi,n estos pueden ser mucho m$s e-cientes debido a ue permiten !a e'ecuci#n en para!e!o de m!tip!es instrucciones. )a *.C. es usada para mode!ar + simu!ar sistemas %/sicos& inc!usive si esos sistemas no est$n contro!ados directamente por un computador. )a *.C. brinda una %orma natura! de asi"nar se"mentos de! pro"rama para representar ob'etos %/sicos + por eso a+uda mucho a representar simu!aciones. Concurrencia: 0#pico avan(ado mucho m$s di%/ci! ue !a
pro"ramaci#n seria!. a Es !a propiedad de !os sistemas en !a cua! varios c$!cu!os se e'ecutan simu!t$neamente& e interactan entre e!!os. b 2e han desarro!!ado diversos mode!os matem$ticos para !os c$!cu!os concurrentes inc!u+endo edes de *etri& C$!cu!o de procesos& e! mode!o de auina de acceso a!eatorio& ode!o 6ctor& etc. c Es !a simu!taneidad en !a e'ecuci#n de m!tip!es tareas interactivas. Estas tareas pueden ser un con'unto de procesos o hi!os de e'ecuci#n creados por un nico pro"rama.
2" COMUNICACI!N SECUENCIAL DE PROCESOS #CSP$ ue descrito por primera ve( en un documento presentado por oare en !a d,cada de !os 7.
En ciencias de !a computaci#n& C2* es un !en"ua'e %orma! para describir patrones de interacci#n en sistemas concurrentes.
2"1" H%&'()%* *ub!icado en 1985& C2* es un !en"ua'e desarro!!ado por oare ue !!eva a cuestas de su propio sistema de !#"ica exp!/citamente para su uso en sistemas con muchos procesos activos en un nico sistema o sistemas m!tip!es ue interactan entre s/. En ma+o de :5& e! !ibro de oare sobre e! tema se"u/a siendo !a tercera m$s citada re%erencia en ciencias de !a computaci#n de todos !os tiempos. )a versi#n te#rica de C2* se present# en e! !ibro Comunicaci#n de procesos secuencia!es& ue oare pub!ic# en 1985. )a 0eor/a sido a!"unos menores !ibro
de !a C2* ha ob'eto de cambios desde !a pub!icaci#n de! oare.
de
)a estos motivados !as
ma+or/a de cambios %ueron por !a !!e"ada de herramientas automati(adas an$!isis de C2* + veri-caci#n.
para e! procesos
Ilustración 1. Tony Hoare
2"2" C*)*+')-&'%+*& En%ocado a desarro!!ar sistemas para!e!os. Comunicaci#n por medio de paso de mensa'es mediante memoria compartida. 2intaxis + sem$ntica en%ocada a desarro!!ar sistemas para!e!os con natura!idad. 2incroni(aci#n entre procesos& comunicaci#n s/ncrona. aci!idad para imp!ementar pro"ramas con m!tip!es entradas + sa!idas. 2e especi-can c!aramente e! nmero de procesos concurrentes& variab!es& etc. 2e dice ue m$s ue un !en"ua'e& es una -!oso%/a de pro"ramaci#n. En C2*& !os procesos + eventos son !as nociones centra!es 0odos !os procesos en C2* son secuencia!es a pesar de ue e! !en"ua'e %ue dise;ado para estudiar e! prob!ema de !a concurrencia. Es di%/ci! decir si C2* es un !en"ua'e tipado o no.
2"." A/%+*+%(&
2 09. Es ap!icado en !a veri-caci#n de protoco!os de se"uridad + comunicaciones. 2e ap!ica en !a veri-caci#n + especi-caci#n en un sistema de comercio e!ectr#nico.
2"" P)%3%'%4*&
a Eventos ?stos representan comunicaciones o interacciones. 2e asume ue son indivisib!es e instant$neos. *ueden ser Nombres at#micos @por e'emp!o on& oA Nombres compuestos @va!ve.open& va!ve.c!ose Eventos de entradaBsa!ida @por e'emp!o mouse x+& screenbitmap. b *rocesos primitivos ?stos representan comportamientos %undamenta!es. 20>* E! proceso ue no comunica nada& tambi,n !!amado DE6D)>C. 2I* E! cua! representa terminaci#n exitosa. • • •
•
•
2"5" O/)*+%(& A6)*%+*& a *re-'o Este operador combina un evento + un proceso para producir un nuevo proceso.
a→P b E!ecci#n Externa Este operador permite ue un proceso sea de-nido como una e!ecci#n entre dos procesos componentes + permite a! entorno reso!ver esta e!ecci#n& comunicando un evento inicia! para uno de !os procesos. (a → P ) □ (b → Q)
c E!ecci#n Interna Este operador permite ue un proceso sea de-nido como una e!ecci#n entre dos procesos componentes& pero no permite a su entorno e!e"ir u, proceso. *or e'emp!o& ( a → P ) ⊓( b → Q)
d Interca!ado Este operador representa concurrentes comp!etamente independientes.
actividades
P∨¿∨Q
e Inter%a( *ara!e!a Este operador representa actividades concurrentes ue reuieren sincroni(aci#n entre !os procesos componentes. Cua!uier evento en e! con'unto inter%a( so!o puede ocurrir cuando todos !os procesos componentes son capaces de !!amar a ese evento.
|[ { a } ]|Q
P
% >cu!tamiento Este operador provee una %orma de abstraer procesos& haciendo ue a!"unos eventos sean inobservab!es. ¿
( a → P ) { a}
2"7" V'*8*& I. II. III.
*osee una sem$ntica senci!!a + por ende su %aci!idad de ap!icar. 2u Ferne! es !iviano me'orando as/ e! rendimiento de !as m$uinas. E! en%oue de sincroni(aci#n ue uti!i(a C2* es e! de rende Gue(& ue no permite ue un proceso escriba si a! mismo tiempo e! otro proceso est$ haciendo un !eer + viceversa.
." OCCAM #A CONCURRENT PROGRAMMING LANGUAGE$ ."1" I')(9++%; *roviene de! nombre de -!#so%o Hui!!ermo de >cFham& In"!aterra + su !e+ @m$s tarde !!amado !a nava'a de >ccam E! procesamiento se rea!i(a a trav,s de !a comunicaci#n en serie @b+te por b+te de decodi-caci#n
."2" H%&'()%* o David a+ %ue e! aruitecto principa! traba'ando con un euipo de IN>2 o o o
In%orm$tico 0raba'# en risto! como 6ruitecto de! IN>2 0ransputer Inspirado + motivado por 0on+ @C.6.. oare
Ilustración 2. David May
."." U&( < =>+%(& >ccam es un !en"ua'e procedimenta! imprescindib!e. )o ue si"ni-ca ue est$ estructurado para tomar dec!araciones secuencia!mente @uno tras otro + tambi,n tiene !a capacidad de a!macenar procedimientos @o %unciones ue pueden ser !!amados en cua!uier momento. Gisto como e! !en"ua'e ensamb!ador para e! 0ransputer.
@C Enviar = env/a va!or de expresi#n en un cana!
•
•
•
2I* = No hacer nada + poner -n a !a dec!araci#n @sin operaci#n 20>* = No hacer nada + nunca terminar !a dec!araci#n @nunca !!e"ar a !a si"uiente dec!araci#n E! KK L KK 2/mbo!os vienen directamente de !a notaci#n uti!i(ada en C2* de oare
PRIMITIIVA assignment
SINTAXIS
EJEMPLO
:=
receive
?
send
!
x := y + 1
Ch ? x Ch ! y + 1
SK
SK
SK
S"#
S"#
S"#
Ilustración 3. Lenguaje OCCM
3.4.2. Precedencia
En >ccam& no ha+ precedencia de operadores. )os *ar,ntesis deben ser uti!i(ados para especi-car e! orden de operaci#n. x J : M + 1
== incorrecto
x J @: M + 1
== correcta ap!icaci#n
3.4.3. Declaración de Variables
)as dec!araciones est$n en !a %orma OtipoP Ouno o m$s identi-cadoresP )os tipos de variab!es disponib!es son • • • • • •
IN0 = para !os nmeros enteros >>) = para oo!eanos L0E = de car$cter E6)3: = para rea!es de 3: bits E6)Q4 = para rea!es de Q4 bits C6N para !os cana!es
E'emp!os IN0 x& + C6N )a nica estructura ue dispone de datos en >ccam son matrices G6) n I2 1 == dec!arando n como una constante RnSRnS IN0 a == arra+ TaU de : dimensiones 3.4.4. Constructores y !"
En >ccam& !os constructores son un con'unto de pa!abras c!ave se ap!ica a un con'unto de estados& de %orma simi!ar a !as pa!abras c!ave be"in=end uti!i(ados en *asca!. 2EV es un constructor ue e'ecuta un con'unto de instrucciones en un orden secuencia!.
SEQ
a := 3 b := a + 5
Ilustración !. Constructor
3.4.#.PA$
*6& abreviatura de %orma para!e!a& se uti!i(a para e'ecutar varias sentencias o procesos a! mismo tiempo. $% &" x: ch1 ? x
'' recibir de canal ch1
&" y: ch( ? y
'' recibir de canal ch(
3.4.%. &' y ()ile
WI)E i O 1 i J i 1
3.4.*. AL+
6)0& abreviatura de a!ternativa& es !a imp!ementaci#n de >ccam de comandos de "uardia de Di'Fstra. ALT ch1 ? x A[1] := x ch2 ? x A[2] := x
6!eatoriamente se!ecciona una verdadera "uardia + e'ecuta su dec!araci#n. 2i no ha+ "uardias ue son verdaderas& entonces se espera a ue uno sea verdadero. 3.4.,. P$OC
*>C& cortos de proceso& !os nombres de proceso + uno permite ue !as variab!es ue se deben pasar por va!or o por re%erencia. No se permite !a recursividad.
%#C b)**C,$& #- ./"0 in o)t2 3,40 "%50 ./"0 x: S06 in ? x o)t ! x :
>ccam a+ud# a innovar + ser pioneros de !a ap!icaci#n de !a pro"ramaci#n concurrente. *roporciona un en%oue %undamenta! + simp!e de procesamiento para!e!o. Estructura simp!e @inspirado en !en"ua'es de pro"ramaci#n anteriores a+ud# a hacer ue sea %$ci! de entender.