Inleiding
Met Met het emulatie project streeft de KB ernaar om een nieuwe bewaarstrategie te ontwikkelen die geschikt is voor de lange termijn. Het doel is een emulator voor digitale duurzaamheid te ontwikkelen die uiteindelijk de huidige Reference Workstation (RWS, een standaard computeromgeving met besturingssysteem MS Windows 2000 dat als referentie voor de te emuleren omgeving dient) kan vervangen (zie figuur 1). Op deze manier blijven bijvoorbeeld multimedia programma’s, databases en PDF documenten ook op de lange termijn toegankelijk.
Het emulatie project is een gezamenlijk project van de KB en het Nationaal Archief. Het project startte in april 2005 en zal eindigen in juli 2007 .
|
| Figuur 1: vervanging van Reference Workstation (RWS) door emulator |
Ontwerp
Randvoorwaarden zijn dat deze emulator duurzaam en flexibel is. Duurzaamheid is een vereiste om de emulator ook over de lange termijn nog goed te laten werken. Flexibiliteit is gewenst zodat meerdere computeromgevingen kunnen worden nagebootst met een minimum aan extra inspanning. Op basis van een uniek ontwerp dat tot stand is gekomen in samenwerking met ‘emulator-goeroe’ Jeff Rothenberg, wordt er gewerkt aan de ontwikkeling van de ‘modular emulator’, een zeer flexibel (modulair) ingerichte emulator. In figuur 2 is een schematische weergave te zien van het ontwerp voor de emulator en alle benodigde componenten.
|
Figuur 2: ontwerp modular emulation en ondersteunende componenten
In het schema is een aantal blokken te onderscheiden:
- Modular emulator
- Universal Virtual Machine (UVM)
- Controller
- Module library
- Emulator specification document (ESD)
Modular emulator
De emulator vormt de kern van het schema. Met de emulator is het mogelijk het bovenliggende computerplatform te draaien op het huidige/toekomstige computerplatform. De benaming ‘modular’ komt voort uit de opbouw van deze emulator. Elk computercomponent (processor, geheugen, toetsenbord, etc.) vormt een aparte module. Deze module bootst de originele functionaliteit van het werkelijke component na. Door al deze modules aan elkaar te koppelen, ontstaat een emulator die een compleet computerplatform kan imiteren.
Universal Virtual Machine (UVM)
Door deze laag tussen het huidige plaform en de emulator te plaatsen, wordt de emulator losgekoppeld van het onderliggende systeem. Met andere woorden, veranderingen aan de computer waarop de emulator draait hebben geen effect meer op de emulator zelf. Hierdoor wordt de emulator veel stabieler en behoeft veel minder onderhoud.
Controller, module library en ESD
De controller zorgt voor het configureren en uitvoeren van het emulatie proces. Het Emulator Specification Document (ESD) beschrijft welke modules er in de emulator nodig zijn om het gewenste platform te kunnen imiteren. Op basis van het ESD haalt de controller de benodigde modules uit de module library en configureert deze waar nodig.
Gedurende dit emulatie project zal de nadruk liggen op het ontwikkelen van de modulaire emulator. De andere componenten zullen deels worden uitgewerkt (module library, controller, ESD). De UVM zal echter niet door de KB worden ontwikkeld. Verschillende oplossingen hiervoor zijn al in de maak door andere partijen.
Ontwikkeling
De ontwikkeling van de modulaire emulator wordt uitgevoerd door softwarebedrijf Tessella Support Services plc. bij het Nationaal Archief in huis. Hoewel gestreefd wordt naar een volledige 32-bits emulator voor Windows, zal het uiteindelijke resultaat iets minder geavanceerd zijn: een emulator die een 16-bits computeromgeving kan nabootsen en in staat zal zijn MS DOS te draaien. Verder zal er ondersteuning aanwezig zijn voor het gebruiken van diskettes en een harde schijf, invoerapparatuur zoals toetsenbord en muis, schermuitvoer, en de mogelijkheid de emulator te configureren naar de gebruikerswensen.
Als ontwikkeltaal is gekozen voor Java. De reden hiervoor is dat Java de mogelijkheid biedt software op een groot aantal verschillende computersystemen te draaien zonder dat hierbij de broncode opnieuw moet worden vertaald. Dit opnieuw vertalen (hercompileren) brengt risico’s met zich mee omdat het sterk platform-gebonden is. Het vermijden van deze stap zorgt voor een grotere stabiliteit en portabiliteit en zal dus de duurzaamheid ten goede komen. Door gebruik te maken van de Java Virtuele Machine (JVM) krijgt bovendien de UVM-laag uit het hiervoor besproken model een invulling.
Naast de emulator wordt ook gewerkt aan het bundelen van belangrijke documentatie rondom de hedendaagse computerarchitectuur en apparatuur. Door dit eenduidig vast te leggen en goed te bewaren kan in de toekomst worden teruggegrepen naar deze beschrijving wanneer de software onverwacht niet meer werkt.
In juli 2007 is de eerste echte emulator voor digitale duurzaamheid gereed gekomen, geheel gratis en open source.
Download Dioscuri en ervaar zelf wat de mogelijkheden zijn:
Dioscuri website – modular emulator for digital preservation.
Achtergrond
Tussen oktober 2004 en maart 2005 is een vooronderzoek uitgevoerd naar de mogelijkheden van emulatie voor digitale duurzaamheid, waarbij gekeken is naar de huidige technologische stand van zaken, de bestaande oplossingen en de beschikbare kennis. Parallel hieraan is toen gewerkt aan het hiervoor genoemde ontwerp voor de nieuwe emulator.
Bij aanvang van het emulatieproject is ook een serie experimenten uitgevoerd. Verschillende digitale objecten, zoals PDF documenten, MS Access databases en multimedia applicaties, zijn getest op enkele geëmuleerde omgevingen. De uitkomsten van deze experimenten heeft geleid tot een beter inzicht in de werking van emulatie en de mogelijkheden tot dan toe. De resultaten van het vooronderzoek alsmede van de uitgevoerde experimenten kunt u vinden op de pagina ‘documentatie en referenties’.
Planning
Het project is uitgevoerd in de periode van april 2005 tot juli 2007. Momenteel wordt Dioscuri verder ontwikkeld als onderdeel van het Europese project Planets..
Documentatie en referenties
Meer informatie over dit project? Klik hier.
Contact
Voor meer informatie, vragen of suggesties kunt u contact opnemen met Jeffrey van der Hoeven.