Fenton`s Datenmarke-Maschine
Fenton stellte eine abstrakte Maschine her, die die Datenmarke-Maschine, um die Behandlung der impliziten Flüsse zur Ausführungszeit zu studieren genannt wurde. Jedes, das in dieser Maschine variabel ist, hatte eine verbundene Sicherheit Kategorie oder Umbau. Fenton schloß auch einen Umbau für den Programmkostenzähler mit ein (PC). Die Einbeziehung des PC ließ Fenton implizite Flüsse als ausdrückliche Flüsse behandeln, weil Niederlassungen bloß Anweisungen zum PC sind. Er definierte die Semantik der Datenmarke-Maschine. In der folgenden Diskussion Zeilensprung bedeutet, daß die Anweisung nicht, push(x durchgeführt wird, bedeutet x), das variable x und seine Sicherheit Kategorie x auf den Programmstapel und pop(x zu drücken, x) Mittel, den oberen Wert und die Sicherheit Kategorie weg vom Programmstapel zu knallen und sie x und x zuzuweisen, beziehungsweise. Fenton definierte fünf Anweisungen. Die Verhältnisse zwischen Durchführung der Anweisungen und den Kategorien der Variablen sind wie folgt.
Maschine Fentons faßt Störungen an, indem sie sie ignoriert. Nehmen Sie das, im Programm oben, y < = x an. Dann am fünften Schritt, fällt die Bescheinigungüberprüfung aus (weil PC = x). So wird die Anweisung und am Ende y = 0 unabhängig davon den Wert von x übersprungen. Aber, wenn die Maschine über Störungen berichtet, bedeutet die Fehlermeldung, die den Benutzer über den Ausfall der Bescheinigungüberprüfung informiert, daß das Programm versucht hat, Schritt 6 durchzuführen. Sie könnte tun so nur wenn sie die Niederlassung in Schritt 2 genommen hatte, das Bedeuten dieses z = 0. Wenn z = 0, dann die sonst Niederlassung von Aussage 1 nicht genommen worden sein könnte, die diese Bedeutung x = 0 zuerst. Um diese Art des Abzugs zu verhindern, fährt Maschine Fentons fort angesichts der Störungen durchzuführen, aber ignoriert die Aussage die die Verletzung verursachen würde. Dieses wird den Anforderungen gerecht. Der Abbruch des Programms oder das Verursachen einer Ausnahme, die zum Benutzer sichtbar ist, würden auch Informationen veranlassen, gegen Politik zu fließen. Das Problem mit dem Bericht von Störungen ist, daß ein Benutzer mit niedrigerem Abstand als die Informationen, welche die Störung verursachen, ableiten kann die Informationen vom Wissen, daß es eine Störung gegeben hat. Wenn die Störung geloggt wird, so daß die Eintragungen im Maschinenbordbuch und die Tätigkeit der Protokollierung, nur zu denen sichtbar sind, die ausreichenden Abstand haben, dann tritt keine Verletzung von Politik auf. Aber, wenn der Abstand des Benutzers genug hoch ist, dann der Benutzer kann die Störung ohne eine Verletzung von Politik sehen. So kann die Störung für den Systemverwalter (oder anderen passenden Benutzer) geloggt werden, selbst wenn sie nicht zum Benutzer angezeigt werden kann, der das Programm laufen läßt. Ähnliche Anmerkungen treffen auf jede mögliche Ausnahmetätigkeit, wie vorzeitige Beendigung zu. dieses ist ein Artikel, der von Fred Foster hinzugefügt
wird
|
|||
|