Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAmélia de Vieira Ximenes Alterado mais de 9 anos atrás
1
Formalismos para Concorrência Por Paulo Maciel Centro de Informática Universidade Federal de Pernambuco
2
Objetivo n Apresentar alguns formalismos para a modelagem de sistemas concorrentes. n Descrever as principais características destes modelos. n Modelagem de Problemas. n Ressaltar as pontencialidades destes modelos.
3
Apresentacão n Máquinas de Estados Finitos (Finite State Machines) (Finite State Machines) n LTS – Sistema de Transição Rotulado (Labeled Transitions Systems) n CSP – Communicating Sequential Process n Estruturas Traces n Redes de Petri
4
Máquinas de Estados Finitos (Finite State Machines)
5
Finite State Machine Modelo Mealy n FSM= (S,I,O,f,h) –S – Conjunto de Estados –s 0 S– Estado inicial –I – Alfabeto de entrada –O – Alfabeto de saída –f : S I S – Função de próximo estado –h: S I O – Função de saída a
6
Máquinas de Estados Finitos Modelo Mealy n FSM= (S,I,O,f,h) –Impossibilidade da modelagem direta da concorrência. a
7
CONSISTE DE UM CONJUNTO DE ESTADOS, UM CONJUNTO DE TRANSIÇÕES ENTRE OS ESTADOS E UM CONJUNTO DE AÇÕES OU EVENTOS ASSOCIADOS COM ESSES ESTADOS OU TRANSIÇÕES FORMALMENTE: ONDE S É UM CONJUNTO DE ESTADOS, I É UM CONJUNTO DE ENTRADAS E O É UM CONJUNTO DE SAÍDAS f É UMA FUNÇÃO DE PRÓXIMO ESTADO E h É UMA FUNÇÃO DE SAÍDA,CUJO VALOR DEPENDE DOS ESTADOS E DOS VALORES DE ENTRADA Máquinas de Estados Finitos Modelo Mealy
8
I={a1,a2,a3} O={d2,d1,n,s1,s2} ANDAR DESEJADO a2/s1 a1/d1 a3/s1 a2/d1 a1/d2 a3/s2 a1/p a2/p a3/p S1 S2 S3 DIREÇÃO E NÚMERO DE ANDARES Máquinas de Estados Finitos Modelo Mealy
9
Máquinas de Estados Finitos Modelo Moore n FSM= (S,I,O,f,h) –S – Conjunto de Estados –s 0 S– Estado inicial –I – Alfabeto de entrada –O – Alfabeto de saída –f : S I S – Função de próximo estado –h: S O – Função de saída a
10
CONSISTE DE UM CONJUNTO DE ESTADOS, UM CONJUNTO DE TRANSIÇÕES ENTRE OS ESTADOS E UM CONJUNTO DE AÇÕES OU EVENTOS ASSOCIADOS COM ESSES ESTADOS OU TRANSIÇÕES FORMALMENTE: ONDE S É UM CONJUNTO DE ESTADOS, I É UM CONJUNTO DE ENTRADAS E O É UM CONJUNTO DE SAÍDAS f É UMA FUNÇÃO DE PRÓXIMO ESTADO E h É UMA FUNÇÃO DE SAÍDA,CUJO VALOR DEPENDE APENAS DOS ESTADOS Máquinas de Estados Finitos Modelo Moore
11
a3 S 11 /d2 S 12 /d1 S 13 /p S 21 /d1S 31 /p S 32 /s1S 22 /p S 23 /s1S 33 /s2 a1 a2 a3 a2a3 a2 a1 a3 a1 a2 a1 a2 a1 a3 Máquinas de Estados Finitos Modelo Moore
12
CSP Communicating Sequential Process
13
CSP n É uma linguagem para a especificação de sistemas concorrentes. n Proposta por C. A. Hoare no começo dos anos 80.
14
CSP n Alfabeto (P) = {a 0,…. a m } é o conjunto de eventos de P n P::= STOP SKIP a P P | Q P[]Q P || A Q P[b/a] P[\b]
15
CSP n STOP – um processo que não faz nada é escrito como STOP. n VendingMachine = STOP
16
CSP n Ação Prefixo - a P n VM 1 =moeda STOP n VM 2 =moeda chocolate STOP
17
Recursão n Muitas vezes estamos interessados em processos que são executados sempre. Podemos, em CSP, especificar este comportamento pela recursão. n VM 3 =moeda chocolate VM 3
18
Sistema de Transição Rotulado (Labeled Transition System)
19
Sistema de Transição Rotulado n TS = (S,s 0,L,tran) –S – Conjunto de Estados –s 0 – Estado inicial –L – Conjunto de rótulos –tran S L S, normalmente indicada por s s’ a
20
Sistema de Transição Rotulado n Sejam dois processos concorrentes A e B n Processo A{Processo B { Enquanto C=T {e4 e1e5 e2} }e3e5}
21
Sistema de Transição Rotulado n Se A e B são dois processos, então n Se A e B são dois processos, então (A||B) representa a execução concorrente de A e B. Processo A =Processo B = (e1 e2 Process A)(e4 e5 Process B) (e1 -> e2 -> Process A)(e4 -> e5 - Process B) Process C = ((Process A || Process B) Process C ) Process C = ((Process A || Process B) -> Process C )
22
Sistema de Transição Rotulado e3 e1 e2 e4 e1 e2 e4 e3 e4 e5 s0 s5s1 s4 s3 s6 s7
23
Composição Paralela Interleaving de Ações think talk scratch think scratch talk scratch think talk Possible traces as a result of action interleaving. Se P e Q são dois processos, então (P||Q) representa a execução concorrente de P e Q. O operador || é o operador de composição paralela. ITCH = (scratch->STOP). CONVERSE = (think->talk->STOP). ||CONVERSE_ITCH = (ITCH || CONVERSE).
24
Composição Paralela Interleaving de Ações (0,0 ) (0,1 ) (0,2 ) (1,2 ) (1,1)(1,0 ) de CONVERSE de ITCH 3 estados 2 x 3 estados 2 estados ITCH scratch 01
25
Modelando Interações Ações Compartilhadas MAKER = (make->ready->MAKER). USER = (ready->use->USER). ||MAKER_USER = (MAKER || USER). MAKER sincroniza-se com USER quando ready. Se processoes em uma composição têm ações em comum, estas ações são ditas compartilhadas. Ações compartilhadas modelam as interações entre processos. Enquanto ações não compartilhadas podem ser arbitrariamente interleaved, ações compartilhadas devem ser executadas ao mesmo tempo por todos os processos.
26
MAKERv2 = (make->ready->used->MAKERv2). USERv2 = (ready->use->used ->USERv2). ||MAKER_USERv2 = (MAKERv2 || USERv2). Modelando Interações Ações Compartilhadas Interação restringe o comportamento global 3 estados 3 x 3 estados? 4 estados
27
Modelando Interações Múltiplos Processos MAKE_A = (makeA->ready->used->MAKE_A). MAKE_B = (makeB->ready->used->MAKE_B). ASSEMBLE = (ready->assemble->used->ASSEMBLE). ||FACTORY = (MAKE_A || MAKE_B || ASSEMBLE).
28
modeling interaction - multiple processes MAKE_A = (makeA->ready->used->MAKE_A). MAKE_B = (makeB->ready->used->MAKE_B). ASSEMBLE = (ready->assemble->used- >ASSEMBLE). ||FACTORY = (MAKE_A || MAKE_B || ASSEMBLE). Multi-party synchronization:
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.