• Keine Ergebnisse gefunden

Aufgabe 9.1 (RGSep Soundness) Zeigen Sie, dass Regel ( c o m ) sound ist:

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe 9.1 (RGSep Soundness) Zeigen Sie, dass Regel ( c o m ) sound ist:"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

WS 2020 / 2021 01.02.2021 Übungen zur Vorlesung

Modern Concurrency Theory Blatt 9

Prof. Dr. Roland Meyer

Sebastian Wolff Abgabe bis 08.02.2021 um 10:00 Uhr

Aufgabe 9.1 (RGSep Soundness) Zeigen Sie, dass Regel ( c o m ) sound ist:

| = SL { A } com { B } modifies(com ) ∩ free (R, G) = ∅ com : (A, R, G, B)

wobei es sich bei A, B um Formeln der Separation Logic handeln, d.h. insbesondere keine boxed Assertions enthalten sind.

Aufgabe 9.2 (RGSep Lock-Coupling)

Vervollständigen Sie, ähnlich zur Vorlesung, die folgende Beweisskizze der Methode add der Lock-Coupling-List:

v o i d add (int e ){

n ∃A. ls(g_head, A, nil) ∗ sort(A) ∧ −∞ < e o

N o d e * x , y , z ; int t ;

( x , z ) = l o c a t e ( e );

a t o m i c { t = z - > v a l u e } if( t != e ){

y = c o n s ( e , c _ u n l o c k , z );

a t o m i c { x - > n e x t = y ; } }

u n l o c k ( x );

n ∃A. ls(g_head, A, nil) ∗ sort(A) ∧ −∞ < e o }

Es genügt, wenn Sie sich informell über die Stabilität der Assertions vergewissern. Für den Methodenaufruf von locate verwenden Sie die in der Vorlesung bewiesene Spezifikation:

( N o d e * , N o d e *) l o c a t e ( int e ){

n

∃A. ls(g_head, A, nil) ∗ sort(A) ∧ −∞ < e o ...

n ∃u, v. ∃A, B, z. ls(g_head, A, p) ∗ L(p, u, c) ∗ N

_

(c, v, z) ∗ ls(z, B, nil) ∗ sort(A.u.v.B) ∧ u < e ∧ e ≤ v o r e t u r n p , c ;

}

(2)

Aufgabe 9.3 (Linearisierbarkeit)

Zeigen Sie, dass folgendes Programm nicht-linearisierbare Histories erzeugt:

s t r u c t N o d e { int d a t a ; N o d e * n e x t ; } c l a s s T r e i b e r s S t a c k {

N o d e * ToS = N U L L ; ( bool , int ) pop () {

w h i l e ( t r u e ) {

v o i d p u s h ( int x ) { N o d e * top = ToS ;

N o d e * n o d e = new N o d e (); if ( top == N U L L ) {

node - > d a t a = x ; r e t u r n false , 0;

w h i l e ( t r u e ) { }

N o d e * top = ToS ; n e x t = top - > n e x t ;

node - > n e x t = top ; if ( CAS( ToS , top , n e x t )) {

if ( CAS ( ToS , top , n o d e )) { int val = top - > d a t a ;

r e t u r n; d e l e t e( top );

} } } r e t u r n true , val ;

} } } }

Als sequentielle Spezifikation können Sie das Programm selbst verwenden. Begründen Sie, warum bzw. wie die nicht-linearisierbaren Histories entstehen.

Abgabe bis 08.02.2021 um 10:00 Uhr per Mail an sebastian.wolff@tu-bs.de.

Referenzen

ÄHNLICHE DOKUMENTE

Wir m¨ ussen jetzt nur noch zeigen, dass dies auch die kleinste obere Schranke ist, dass also kein Γ &lt; α −1 obere Schranke von

Montag bis Donnerstag von 08:00 bis 17:00 Uhr Freitag von 08:00 bis 16:00 Uhr Samstag von 08:00 bis 12:00 Uhr..

Lehrstuhl Theoretische Informatik Markus Lohrey. Komplexit¨ atstheorie

Auch aus Worten, die keine Nomen sind (Adjektive und Verben), lassen sich Nomen machen. Klingt komplizierter, als es ist, macht

Zunächst erstmal ist das die Wortart für alle Gegenstände, Lebewesen und Namen, zum Beispiel Haus oder Kühlschrank oder Waschbär oder Sabine oder Berlin?. Aber auch Zustände

Auch aus Worten, die keine Nomen sind (Adjektive und Verben), lassen sich Nomen machen. Klingt komplizierter, als es ist, macht

Beweisen Sie, dass Φ genau dann maximal konsi- stent ist, wenn Φ eine vollständige Theorie ist. Hinweis: Benutzen Sie

Mathematische Grundlagen der Informatik RWTH