next up previous contents
Nächste Seite: Zusammenfassung und Bewertung Aufwärts: Erfüllung der Erwartungen eines Vorherige Seite: Erfüllung der Erwartungen eines   Inhalt

Substitution des Servers

Es stellt sich die Frage, ob auch ein Subtyp eines Servers, der die Erwartungen eines Clients erfüllt, dieses garantiert. Es zeigt sich, dass dies im allgemeinen nur für sequentielle Clients (diese haben die Eigenschaft: $ (s,R)\in offers(c)\Rightarrow \left\vert R\right\vert \leq 1 $) gilt. Ein Beispiel für einen nichtsequentiellen Client ist das folgende System aus einem Produzenten und einem Konsumenten.

\resizebox*{!}{3cm}{\includegraphics{ProdCons.eps}}

Diese beiden Objekte sollen über ein Objekt vom Typ $ Buf $ miteinander kommunizieren. Sie lassen sich gegenüber $ Buf $ zu einem Client $ Prod\&Cons $ zusammenfassen.

\resizebox*{!}{3cm}{\includegraphics{ProdConsDel.eps}}

Es lässt sich nun leicht nachprüfen, dass $ Buf\models Prod\&Cons $ gilt. Fügt man dem Client $ Prod\&Cons $ ein weiteres Objekt $ Del $ hinzu, das das Ziel hat, den Zwischenspeicher zu löschen, gilt auch noch $ Buf\models Prod\&Cons\&Del $. Kommt jedoch der Subtyp $ DelBuf $ von $ Buf $ als Server zum Einsatz, wird der Client $ Prod\&Cons\&Del $ durch das erweiterte Verhalten des Servers überrascht.

\resizebox*{!}{3cm}{\includegraphics{DelBuf.eps}}

Falls $ DelBuf $ eine $ del $-Anfrage von $ Prod\&Cons\&Del $ annimmt, werden anschließend alle weiteren Anfragen blockiert und die Erwartungen des Clients werden nicht erfüllt. Dies lässt sich verhindern indem man das Verhalten des Subtyps auf das des Supertyps beschränkt. Die möglichen Anfragen an den Subtyp werden hierbei auf die Anfragen beschränkt, die auch der Supertyp akzeptiert. Im obigen Beispiel bedeutet dies, dass eine $ del $-Anfrage von $ Prod\&Cons\&Del $ durch $ DelBuf $ nicht mehr angenommen wird, da $ Buf $ eine solche Anfrage nicht akzeptiert.


next up previous contents
Nächste Seite: Zusammenfassung und Bewertung Aufwärts: Erfüllung der Erwartungen eines Vorherige Seite: Erfüllung der Erwartungen eines   Inhalt
Jörg Haeger 2001-04-26