diff options
| author | Paul Buetow <paul@buetow.org> | 2008-08-12 14:10:58 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-08-12 14:10:58 +0000 |
| commit | c0a2391840885656af87123db19fa0d57d63466f (patch) | |
| tree | e3fa4fb19cda4ed7ebd1f4caeed751ea3ea1647a | |
| parent | 4ed9bae9222f3c071cdd1814d53b159c4f35b0de (diff) | |
open and close now in working dir
| -rw-r--r-- | LaTeX/revision.tex | 2 | ||||
| -rw-r--r-- | docs/brainstorm.txt | 120 | ||||
| -rw-r--r-- | sources/serialize/VSSerialize.java | 6 |
3 files changed, 5 insertions, 123 deletions
diff --git a/LaTeX/revision.tex b/LaTeX/revision.tex index 9a26b94..2596e4a 100644 --- a/LaTeX/revision.tex +++ b/LaTeX/revision.tex @@ -1 +1 @@ -518 +520 diff --git a/docs/brainstorm.txt b/docs/brainstorm.txt deleted file mode 100644 index 5c33338..0000000 --- a/docs/brainstorm.txt +++ /dev/null @@ -1,120 +0,0 @@ -pstricks - -"Himmelobjekt" - -1.12 Methoden zur Synchronisation: - 2.12.1 Interne Synchronisation in einem synchronen System - t_min und t_max, sowie t_max - t_min = "Die Unsicherheit" - t_2 = t + 1/2(t_max + t_min) -> Synchronisationsfehler < U/2 - 2.12.2 Christians Methode zur externen Synchronisation - Nutzt die Roundtrip-Time - -Features: - Lokale Zeit - Globale Zeit - Software Uhr vs. Hardware Uhr - Abweichungsgeschwindigkeit der Uhren - Externe Synchronisierung von Uhren - Interne Synchronisierung von Uhren - - -=== Szenario Konfiguration === in [] bedeutet, wird spaeter implementiert - -Anzahl der Prozesse - 1 - n (z.b. 3, wenn ein Prozess der Zeitserver, und 2 Prozesse Clients darstellen sollen) -Szenario - Interne Synchronisation der Zeit - t_min -> Einstellen - t_max -> Einstellen - Externe Synchronisation der Zeit nach Christians Methode -Voreingestellte Prozessausfallwahrscheinlichkeit (z.B. Prozessabsturz) - 0% - 100% -Voreingestellte Prozessverzoegerungswahrscheinlichkeit (z.B. wg. Scheduling des Betriebssystems) - 0% - 100% -Voreingestellte Nachrichtenausfallwahrscheinlichkeit (z.B. Paket geht im Netzwerk verloren) - 0% - 100% -Voreingestellte Nachrichtenverzoegerungswahrscheinlichkeit (z.B. wg. Netzwerkstau) - 0% - 100% -Voreingestellte Gangabweichungsgeschwindigkeit der Hardwareuhr (Keine Hardwareuhr geht 100% richtig) - 0 - n - -=== Main classes === - -class Process - processNumber (einzigartig, num@ipnummer) - time (lokale Hardwareuhr) - - outageProbability (wahrscheinlichkeit, dass der prozess abstuerzt) - delayProbability (wahrscheinlichkeit, dass der prozess sich verzoegert) - programmingVector (gibt an, wann [welche zeit] der prozess eine anfrage startet) - -=== Message classes === - -class Message (Wird als Javaobjekt an die anderen Prozesse uebergeben) - receivers (all [standard] oder liste aller prozesse [nummern]) - isRequest (true = request, false = answer) - sendTime (zeit vom sender) - recvTime (zeit vom empfaenger) - messageComment (irgendein string) - messageType (von welchem typ, evtl weglassen und instanceof operator nutzen) - internSync - externSync - etc.. - outageProbability (wahscheinlichkeit, dass das nachrichtenpaket verloren geht) - delayProbability (wahrscheinlichkeit, dass der nachrichtenversand sich verzoegert) - -class InternalSynchronizationMessage extends Message - time - -class ExternalSynchronizationMessage extends Message /* Christians Methode */ - time - requestTime - - -=== Implementation classes === - -abstract class Implementation - abstract sendRequestMessage(...) - - receivedMessage(Message message) - if (!isForMe(message.receivers)) - return - if (message.isRequest) - receivedRequestMessage(message) - else - receivedResponseMessage(message) - - abstract receivedRequestMessage(Message message) - - abstract receivedResponseMessage(Message message) - - -class InternalSynchronizationImplementation extends Implementation - sendRequestMessage - message.isRequest = true - sendOverNetwork(message) - - receivedRequestMessage - process.time = message.time - sendOverNetwork(message) - - receivedResponseMessage(Message message) - message.time = process.time + 1/2 * (t_max + t_min) - -class ExternalSynchronizationImplementation extends Implementation - sendRequestMessage - message.isRequest = true - message.requestTime = process.time - sendOverNetwork(message) - - receivedRequestMessage - message.time = time - sendOverNetwork(message) - - receivedResponseMessage(Message message) - rtt = process.time - message.requestTime - process.time = message.time + rtt / 2 - - - - diff --git a/sources/serialize/VSSerialize.java b/sources/serialize/VSSerialize.java index 6fdee68..e1e1bb3 100644 --- a/sources/serialize/VSSerialize.java +++ b/sources/serialize/VSSerialize.java @@ -196,7 +196,8 @@ public final class VSSerialize { VSSimulatorFrame simulatorFrame = simulator.getSimulatorFrame(); String saveText = prefs.getString("lang.save"); - JFileChooser fileChooser = new JFileChooser(); + JFileChooser fileChooser = new JFileChooser( + new File(".").getPath()); fileChooser.setMultiSelectionEnabled(false); fileChooser.addChoosableFileFilter(createFileFilter(prefs)); fileChooser.setApproveButtonText(saveText); @@ -259,7 +260,8 @@ public final class VSSerialize { VSPrefs prefs = simulatorFrame.getPrefs(); String openText = prefs.getString("lang.open"); - JFileChooser fileChooser = new JFileChooser(); + JFileChooser fileChooser = new JFileChooser( + new File(".").getPath()); fileChooser.setMultiSelectionEnabled(false); fileChooser.addChoosableFileFilter(createFileFilter(prefs)); fileChooser.setApproveButtonText(openText); |
