Frage

Was sind die vollständigen Spezifikationen, die dokumentiert werden müssen, um die korrekte Ausführung eines bestimmten Programms in Java zu gewährleisten? Wenn man beispielsweise ein Programm zur langfristigen Erhaltung archivieren und keine Tests oder Portierung durchgeführt würden.

Ich muss in der Lage sein, das Java -Programm zu kompilieren und auszuführen. Dadurch wird der Byte -Code beibehalten oder das Ganze als VMware -Image erfasst. Das JVM könnte jedoch als VMware -Image gespeichert werden, und kompilierte Bibliotheken, die mit dem kompilierten Code verknüpft sind, sind auch in Ordnung. Wenn jedoch Abhängigkeiten vom Betriebssystem, die Architektur der Maschine der JVM, die Netzwerkumgebung, externe Bibliotheken, Spezifikation der verwendeten Java -Version usw. usw. vorhanden sind, müssen alle aufgeführt werden. Einige Technologieführer in Dig Pres behaupten, dass jedes in Java verfasste Programm "für immer" ausführte. Wie es geht?

War es hilfreich?

Lösung

Hoeven et al. untersuchte das Problem der digitalen Erhaltung durch Emulation:

... Digitale Konservierung endet nicht mit der sorgfältigen Speicherung digitaler Objekte. Um diese Objekte zugänglich zu machen, ist eine kontinuierliche Anstrengung zur Entwicklung von Strategien für den dauerhaften Zugang erforderlich ....

Am Ende hatten sie ein modulares Emulationsmodell und die Notwendigkeit einer universellen virtuellen Maschine (UVM):

... Die Grundlage des modularen Emulationsmodells basiert auf der universellen virtuellen Maschine (UVM). Das UVM ist eine plattform- und zeitunabhängige Ebene über der zugrunde liegenden zukünftigen Hostplattform. Infolgedessen funktionieren Programme, die für die UVM entwickelt werden, auch dann weiter, wenn sich die Hostplattform ändert. Es besteht nicht nur aus einem Allzweckprozessor und Speicher, sondern bietet auch zusätzliche Funktionen für die Eingabe- und Ausgangskommunikation (E/A) mit peripheren Geräten (wie Tastatur, Speicher, Grafik, Netzwerk) zwischen Host und Zielplattform. Dies wird durch die Schnittstellenschicht bereitgestellt.

.. und begann das "Dioscuri -Projekt": Ein modularer Emulator für die digitale Erhaltung. Es überrascht nicht, dass sie Java ausgewählt haben, um es umzusetzen:

... Java wurde als Programmiersprache ausgewählt. Der Hauptgrund ist die Möglichkeit, Java -Code auf einer Vielzahl von Computerplattformen mithilfe der Java Virtual Machine (JVM) auszuführen, ohne den Quellcode neu zu kompilieren. Die Neukompilierung ist ein Risikofaktor, da der Programmcode an eine bestimmte zugrunde liegende Computerplattform angepasst ist. Obwohl die heutigen Compiler sehr fortgeschritten sind, kann dies dennoch zu unterschiedlichen Funktionen desselben Emulators führen, das für verschiedene Plattformen zusammengestellt wurde. Durch die Vermeidung dieses Schritts ist der Emulator stabiler und tragbarer. Die Verwendung des JVM liefert stattdessen ähnliche Ergebnisse bei der Verwendung eines UVM, wie oben erläutert ....

Die Papiere:

BEARBEITEN: Der letzte Changelog des Dioscuri -Projekts ist datiert: 19 -Jan -2011 ... also - vielleicht - vielleicht sollte ein neues Projekt/eine neue Forschung gestartet werden: "Wie bewahren Sie die digitalen Konservierungstools?" :-D :-D

Bearbeiten 2: Nur meine persönliche Meinung: Wenn das Java-Programm nützliche Dinge tut, wird die Menschheit es bewahren, ohne die Anstrengungen des Autors zu benötigen :-)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top