SlideShare a Scribd company logo
1 of 25
Download to read offline
Espressività di linguaggi
concorrenti Linda-like
Università degli studi di L’Aquila
Facoltà di Scienze mm.ff.nn.
Corso di Laurea in Scienze dell’Informazione
Paolo Diomede
2
Introduzione
P C
I linguaggi di coordinazione
forniscono un meccanismo di
comunicazione tra processi
mediante uno spazio dati
condiviso, che, a seconda del
linguaggio, prende il nome di:
• Tuple Space (Linda)
• Chemical Solution (Gamma)
• Blackboard (Shared Prolog)
3
Comunicazione generativa
•  Questo meccanismo di comunicazione è detto
"generativo" poiché un messaggio, generato da
un processo, ha una vita indipendente nello
spazio dati condiviso finché non viene prelevato
da qualche altro processo.
•  Dopo che un messaggio è stato inserito nello
spazio dati condiviso, diviene accessibile a tutti i
processi.
•  Un messaggio non è legato a nessun processo in
particolare.
4
Caratteristiche principali
•  Comunicazione asincrona
•  Operazione di lettura
•  Predicati input/read condizionali
•  Oggetti dati anonimi
•  Accesso associativo
5
Comunicazione asincrona
•  E’ realizzata mediante un mezzo di
comunicazione, chiamato Tuple Space (TS)
nel linguaggio Linda.
•  Il TS è sempre pronto a ricevere messaggi/
tuple dal mittente ed è sempre pronto a
distribuire messaggi ai destinatari.
•  Il mittente può depositare un generico
messaggio a nel TS mediante la primitiva
out(a).
6
Comunicazione asincrona
out (a) in (a)
Il destinatario può
leggere il generico
messaggio a mediante
la primitiva in(a) che
t r a l ' a l t r o c a u s a
l'eliminazione del
messaggio a dal TS.
7
Comunicazione asincrona
out (a)
a
in (a)
8
Il linguaggio L0
•  Consideriamo una versione asincrona di CCS,
chiamata L0.
•  L0 non possiede:
–  τ prefix
–  relabeling
–  alternative choice composition operator
•  L0 possiede:
–  out (a)
–  in (a)
–  | (operatore parallelo),  (restrizione), (recX.C) (ricorsione)
9
Obiettivi
•  A partire dal linguaggio L0, consideriamo tre
linguaggi, L1, L2 e L3, ottenuti estendendo L0
con gli operatori di negative-test.
•  Si vuol mostrare che esiste una gerarchia di
espressività tra i linguaggi, dove:
Li è più espressivo di Lj i > j
10
Operatori di test negativi
•  Chiamiamo operatori di test negativi quelle
primitive di coordinazione che consentono di
testare l’assenza dei dati nello spazio dati
condiviso.
•  L’obiettivo di questo lavoro è di investigare
sul potere espressivo della famiglia di questi
operatori.
11
Operatori di test negativi
•  Concentreremo il nostro lavoro su tre
possibili primitive che si differenziano
nell’abilità di produrre istantaneamente
nuovi dati dopo il test.
•  Vedremo in particolar modo le seguenti
primitive:
–  Test-for-absence tfa(a)
–  Test-and-emit t&e(a)
–  Test-and-produce t&p(a,b)
12
Le proprietà
i.  program distribution preservation
[ P | Q ] = [ P ] | [ Q ]
ii.  symmetry preservation
P >< Q ⇒ [ P ] >< [ Q ]
iii. deadlock preservation
P ⇓ m ⇔ [ P ] ⇓ m ∀ P, m
iv. divergence preservation
P ⇑ ⇔ [ P ] ⇑ ∀ P
13
Il linguaggio L1
•  L1 è un estensione del linguaggio L0 con il nuovo
prefisso tfa(a), pertanto L0 ⊆ L1.
•  Un processo tfa(a).P attiva P solo se nessuna istanza
del dato a è disponibile.
•  Questa primitiva incorpora l’abilità del predicato
inp di Linda di osservare l’assenza dei dati, infatti:
inp(a)?P_Q = in(a).P + tfa(a).Q
14
Espressività di L1
•  Vogliamo vedere che L1 ⊆ L0 mostrando che
la proprietà (iv) non è soddisfatta.
•  Sia P un agente di L1 tale che:
P = tfa(a).(recX.out(b).in(b).X)b
•  Questo comportamento si formalizza nel
seguente modo:
P ⇑ and P | 〈a〉 ⇑ (*)
15
Espressività di L1
Lemma: Q agente di L0 : Se Q ⇒ Q’ Allora Q|R ⇒ Q’|R
∀R
Corollario: Q agente di L0 : Se Q⇑ Allora Q|R ⇑ ∀R
Teorema: ∃ codifica di L1 in L0 che preserva la proprietà (iv)
Dim: (ABS) ∃ [ ] codifica
P è un programma di L1 definito come (*)
Allora P : [P] ⇑ and [P] | [〈a〉] ⇑ →←
( contraddice il corollario)
16
Il linguaggio L2
•  L2 è un estensione del linguaggio L0 con il
nuovo prefisso t&e(a).
•  Dopo aver testato l’assenza di un dato di tipo
a, questa primitiva produce istantaneamente
anche una nuova occorrenza del dato a.
•  In questo modo si realizza un test atomico
per l’assenza e per la conseguente emissione
di un’istanza del dato a.
17
Espressività di L2
Vogliamo vedere che L2 ⊆ L1 considerando il
problema dell’implementazione di un
meccanismo di mutua esclusione tra agenti
identici:
Q | Q
(composizione parallela di agenti identici)
18
Espressività di L2
•  Vogliamo vedere che L2 ⊆ L1 mostrando che le
proprietà (iii) e (iv) non sono soddisfatte.
•  Sia P un agente di L2 tale che:
P = t&e(a) | t&e(a)
•  Le proprietà di deadlock e di divergenza si
formalizzano nel seguente modo:
t&e(a) | t&e(a) ⇓ m ⇔ m = ⎨a⎬ and t&e(a) | t&e(a) ⇑
19
Espressività di L2
Corollario: Sia Q un programma di L1
Allora ∃ una computazione
Q | Q →2 Q1 | Q1 →2 … →2 Qn | Qn →2 …
tale che:
i ) la computazione diverge
oppure
ii ) ∃ m : Qm|Qm è in deadlock
20
Espressività di L2
Teorema: ∃ nessun programma che preserva la codifica di L2 in
L1 che conserva la proprietà di deadlock (iii) e di divergenza (iv).
Dim: (ABS) ∃ [ ] di L2 in L1 che preserva la (iii) e la (iv)
si ha che: [t&e(a) | t&e(a) ] = [t&e(a)] | [t&e(a)]
Q = [t&e(a)] Q|Q= [t&e(a) | t&e(a) ]
quindi: Q|Q ⇓ m ⇔ m = ⎨a⎬ and Q | Q ⇑
poiché Q è un programma di L1:
i) la computazione diverge →←
ii) la computazione termina in una configurazione di deadlock Q’| Q’ →←
21
Il linguaggio L3
•  L3 è un estensione del linguaggio L0 con il nuovo
prefisso t&p(a,b).
•  Questa primitiva si differenzia dalla precedente
per l’abilità di emettere di un generico dato b
potenzialmente differente da quello che è stato
testato.
•  La primitiva test-and-emit può essere simulata
nel seguente modo:
t&e(a).P = t&p(a,a).P
22
Espressività di L3
•  Vogliamo vedere che L3 ⊆ L2 mostrando che le
proprietà (iii) e (iv) non sono soddisfatte.
Def. Siano P, Q due agenti, allora P >< Q ⇔ ∃ σ : Obs → Obs
tale che σ(a) ≠ a ∀a con σ(P)=Q e σ-1 (Q) = P
Fact: P, Q agenti simmetrici : ∃ σ
Allora: P →α P’ ⇔ Q → σ (α) Q’
P’, Q’ ancora simmetrici and σ(α)
23
Espressività di L3
•  Sia P un agente di L3 tale che:
P = t&p(a,b) | t&p(b,a) a,b ∈ Obs
•  Le proprietà di deadlock e di divergenza si
formalizzano nel seguente modo:
t&p(a,b) | t&p(b,a) ⇓ m ⇔ m = ⎨a⎬ or m = ⎨b⎬
t&p(a,b) | t&e(b,a) ⇑
24
Espressività di L3
Corollario: Siano P, Q due agenti simmetrici di L2
Allora ∃ una computazione
P | Q →2 P1 | Q1 →2 … →2 Pn | Qn →2 …
tale che:
i ) la computazione diverge
oppure
ii ) ∃ m : Pm|Qm è in deadlock (dove Pm|Qm sono simmetrici)
25
Espressività di L3
Teorema: ∃ [ ] di L3 in L2 che preserva la proprietà (iii) e (iv)
Dim: (ABS) ∃ [ ] codifica
siano P = [t&p(a,b)] e Q = [t&p(b,a)]
si ha che [t&p(a,b) | t&p(b,a)] = P | Q e P >< Q
poiché P e Q sono programmi di L2:
i) la computazione diverge →←
ii) la computazione termina in una configurazione di deadlock Pm|Qm →←

More Related Content

Recently uploaded

XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 

Recently uploaded (6)

XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Espressività di linguaggi concorrenti linda like

  • 1. Espressività di linguaggi concorrenti Linda-like Università degli studi di L’Aquila Facoltà di Scienze mm.ff.nn. Corso di Laurea in Scienze dell’Informazione Paolo Diomede
  • 2. 2 Introduzione P C I linguaggi di coordinazione forniscono un meccanismo di comunicazione tra processi mediante uno spazio dati condiviso, che, a seconda del linguaggio, prende il nome di: • Tuple Space (Linda) • Chemical Solution (Gamma) • Blackboard (Shared Prolog)
  • 3. 3 Comunicazione generativa •  Questo meccanismo di comunicazione è detto "generativo" poiché un messaggio, generato da un processo, ha una vita indipendente nello spazio dati condiviso finché non viene prelevato da qualche altro processo. •  Dopo che un messaggio è stato inserito nello spazio dati condiviso, diviene accessibile a tutti i processi. •  Un messaggio non è legato a nessun processo in particolare.
  • 4. 4 Caratteristiche principali •  Comunicazione asincrona •  Operazione di lettura •  Predicati input/read condizionali •  Oggetti dati anonimi •  Accesso associativo
  • 5. 5 Comunicazione asincrona •  E’ realizzata mediante un mezzo di comunicazione, chiamato Tuple Space (TS) nel linguaggio Linda. •  Il TS è sempre pronto a ricevere messaggi/ tuple dal mittente ed è sempre pronto a distribuire messaggi ai destinatari. •  Il mittente può depositare un generico messaggio a nel TS mediante la primitiva out(a).
  • 6. 6 Comunicazione asincrona out (a) in (a) Il destinatario può leggere il generico messaggio a mediante la primitiva in(a) che t r a l ' a l t r o c a u s a l'eliminazione del messaggio a dal TS.
  • 8. 8 Il linguaggio L0 •  Consideriamo una versione asincrona di CCS, chiamata L0. •  L0 non possiede: –  τ prefix –  relabeling –  alternative choice composition operator •  L0 possiede: –  out (a) –  in (a) –  | (operatore parallelo), (restrizione), (recX.C) (ricorsione)
  • 9. 9 Obiettivi •  A partire dal linguaggio L0, consideriamo tre linguaggi, L1, L2 e L3, ottenuti estendendo L0 con gli operatori di negative-test. •  Si vuol mostrare che esiste una gerarchia di espressività tra i linguaggi, dove: Li è più espressivo di Lj i > j
  • 10. 10 Operatori di test negativi •  Chiamiamo operatori di test negativi quelle primitive di coordinazione che consentono di testare l’assenza dei dati nello spazio dati condiviso. •  L’obiettivo di questo lavoro è di investigare sul potere espressivo della famiglia di questi operatori.
  • 11. 11 Operatori di test negativi •  Concentreremo il nostro lavoro su tre possibili primitive che si differenziano nell’abilità di produrre istantaneamente nuovi dati dopo il test. •  Vedremo in particolar modo le seguenti primitive: –  Test-for-absence tfa(a) –  Test-and-emit t&e(a) –  Test-and-produce t&p(a,b)
  • 12. 12 Le proprietà i.  program distribution preservation [ P | Q ] = [ P ] | [ Q ] ii.  symmetry preservation P >< Q ⇒ [ P ] >< [ Q ] iii. deadlock preservation P ⇓ m ⇔ [ P ] ⇓ m ∀ P, m iv. divergence preservation P ⇑ ⇔ [ P ] ⇑ ∀ P
  • 13. 13 Il linguaggio L1 •  L1 è un estensione del linguaggio L0 con il nuovo prefisso tfa(a), pertanto L0 ⊆ L1. •  Un processo tfa(a).P attiva P solo se nessuna istanza del dato a è disponibile. •  Questa primitiva incorpora l’abilità del predicato inp di Linda di osservare l’assenza dei dati, infatti: inp(a)?P_Q = in(a).P + tfa(a).Q
  • 14. 14 Espressività di L1 •  Vogliamo vedere che L1 ⊆ L0 mostrando che la proprietà (iv) non è soddisfatta. •  Sia P un agente di L1 tale che: P = tfa(a).(recX.out(b).in(b).X)b •  Questo comportamento si formalizza nel seguente modo: P ⇑ and P | 〈a〉 ⇑ (*)
  • 15. 15 Espressività di L1 Lemma: Q agente di L0 : Se Q ⇒ Q’ Allora Q|R ⇒ Q’|R ∀R Corollario: Q agente di L0 : Se Q⇑ Allora Q|R ⇑ ∀R Teorema: ∃ codifica di L1 in L0 che preserva la proprietà (iv) Dim: (ABS) ∃ [ ] codifica P è un programma di L1 definito come (*) Allora P : [P] ⇑ and [P] | [〈a〉] ⇑ →← ( contraddice il corollario)
  • 16. 16 Il linguaggio L2 •  L2 è un estensione del linguaggio L0 con il nuovo prefisso t&e(a). •  Dopo aver testato l’assenza di un dato di tipo a, questa primitiva produce istantaneamente anche una nuova occorrenza del dato a. •  In questo modo si realizza un test atomico per l’assenza e per la conseguente emissione di un’istanza del dato a.
  • 17. 17 Espressività di L2 Vogliamo vedere che L2 ⊆ L1 considerando il problema dell’implementazione di un meccanismo di mutua esclusione tra agenti identici: Q | Q (composizione parallela di agenti identici)
  • 18. 18 Espressività di L2 •  Vogliamo vedere che L2 ⊆ L1 mostrando che le proprietà (iii) e (iv) non sono soddisfatte. •  Sia P un agente di L2 tale che: P = t&e(a) | t&e(a) •  Le proprietà di deadlock e di divergenza si formalizzano nel seguente modo: t&e(a) | t&e(a) ⇓ m ⇔ m = ⎨a⎬ and t&e(a) | t&e(a) ⇑
  • 19. 19 Espressività di L2 Corollario: Sia Q un programma di L1 Allora ∃ una computazione Q | Q →2 Q1 | Q1 →2 … →2 Qn | Qn →2 … tale che: i ) la computazione diverge oppure ii ) ∃ m : Qm|Qm è in deadlock
  • 20. 20 Espressività di L2 Teorema: ∃ nessun programma che preserva la codifica di L2 in L1 che conserva la proprietà di deadlock (iii) e di divergenza (iv). Dim: (ABS) ∃ [ ] di L2 in L1 che preserva la (iii) e la (iv) si ha che: [t&e(a) | t&e(a) ] = [t&e(a)] | [t&e(a)] Q = [t&e(a)] Q|Q= [t&e(a) | t&e(a) ] quindi: Q|Q ⇓ m ⇔ m = ⎨a⎬ and Q | Q ⇑ poiché Q è un programma di L1: i) la computazione diverge →← ii) la computazione termina in una configurazione di deadlock Q’| Q’ →←
  • 21. 21 Il linguaggio L3 •  L3 è un estensione del linguaggio L0 con il nuovo prefisso t&p(a,b). •  Questa primitiva si differenzia dalla precedente per l’abilità di emettere di un generico dato b potenzialmente differente da quello che è stato testato. •  La primitiva test-and-emit può essere simulata nel seguente modo: t&e(a).P = t&p(a,a).P
  • 22. 22 Espressività di L3 •  Vogliamo vedere che L3 ⊆ L2 mostrando che le proprietà (iii) e (iv) non sono soddisfatte. Def. Siano P, Q due agenti, allora P >< Q ⇔ ∃ σ : Obs → Obs tale che σ(a) ≠ a ∀a con σ(P)=Q e σ-1 (Q) = P Fact: P, Q agenti simmetrici : ∃ σ Allora: P →α P’ ⇔ Q → σ (α) Q’ P’, Q’ ancora simmetrici and σ(α)
  • 23. 23 Espressività di L3 •  Sia P un agente di L3 tale che: P = t&p(a,b) | t&p(b,a) a,b ∈ Obs •  Le proprietà di deadlock e di divergenza si formalizzano nel seguente modo: t&p(a,b) | t&p(b,a) ⇓ m ⇔ m = ⎨a⎬ or m = ⎨b⎬ t&p(a,b) | t&e(b,a) ⇑
  • 24. 24 Espressività di L3 Corollario: Siano P, Q due agenti simmetrici di L2 Allora ∃ una computazione P | Q →2 P1 | Q1 →2 … →2 Pn | Qn →2 … tale che: i ) la computazione diverge oppure ii ) ∃ m : Pm|Qm è in deadlock (dove Pm|Qm sono simmetrici)
  • 25. 25 Espressività di L3 Teorema: ∃ [ ] di L3 in L2 che preserva la proprietà (iii) e (iv) Dim: (ABS) ∃ [ ] codifica siano P = [t&p(a,b)] e Q = [t&p(b,a)] si ha che [t&p(a,b) | t&p(b,a)] = P | Q e P >< Q poiché P e Q sono programmi di L2: i) la computazione diverge →← ii) la computazione termina in una configurazione di deadlock Pm|Qm →←