Upload
others
View
36
Download
0
Embed Size (px)
Citation preview
Bachelorarbeit
Webbasierte 3D-Simulation
des Z1 Addierers von Konrad Zuse
Jan Kostulski
28 April, 2012
Betreuender Prüfer
Prof. Dr. Raúl Rojas
Freie Universität Berlin
Fachbereich Mathematik und Informatik
Institut für Informatik
Eigenständigkeitserklärung
Hiermit erkläre ich, dass ich die vorliegende Arbeit mit dem Thema �Webbasierte 3D-
Simulation des Z1 Addierers von Konrad Zuse� selbstständig und ohne unerlaubte fremde
Hilfe angefertigt habe. Es wurden von mir ausschlieÿlich die angegebenen Quellen und Hil-
fen in Anspruch genommen. Eine Arbeit über dieses Thema liegt noch nicht vor.
Berlin, 03. Juni 2012 - Jan Kostulski
Abstrakt
Die mechanische Recheneinheit Z1 von Konrad Zuse stellt einen Meilenstein in der Ge-
schichte der Informatik dar. Als einer der ersten frei programmierbaren Computer konnte
die Maschine mit mechanischen Schaltgliedern aussagenlogische Sätze beschreiben und da-
durch mathematische Probleme lösen. Im Gegensatz zu elektronischen Komponenten kön-
nen die Schaltzustände der Z1 ohne Messung mit dem bloÿem Auge betrachtet werden.
Dennoch hatte die plakative Eigenschaft der Mechanik auch eine Kehrseite, so verklemmte
die Maschine leicht und war sehr wartungsintensiv. Um die Anschaulichkeit der Z1 und
zusätzlich komfortable Bedienung und einfachen Zugang zu ermöglichen wurde im Rahmen
dieser Arbeit eine Simulation des Addierwerks des Z1 realisiert.
Der Schwerpunkt liegt dabei auf einer frei drehbaren, dreidimensionalen Simulation, die
mit Informationen didaktisch erweitert ist und anschauliche Betrachtung der Vorgänge der
binären Summenberechnung ermöglicht.
Die Simulation ist als eine Browserapplikation über eine Webseite ausführbar und nutzt
betriebssystemübergreifende Technologien, um auf möglichst vielen Systemen zur Verfü-
gung zu stehen.
Inhaltsverzeichnis
1. Einleitung 1
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Herangehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Grundlagen 3
2.1. Konrad Zuses Z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1. Mechanisches Schaltglied . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2. Das Additionswerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Technologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1. Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2. OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3. Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Analyse 9
3.1. Anforderungsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1. Funktionale Anforderungen . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2. Nichtfunktionale Anforderungen . . . . . . . . . . . . . . . . . . . . 10
3.2. Materialanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1. Patentschrift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3. Drittsoftware und Werkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.1. Simulationstechnologie . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3.2. Software für Bedieninterface . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.3. Werkzeuge zur Bauteilerfassung . . . . . . . . . . . . . . . . . . . . . 18
4. Design und Realisierung 20
4.1. Softwarekonzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.1. Simulationsumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.2. Bedieninterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.1. Simulationsumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.2. Gra�sches Bedieninterface . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.3. Speicherformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3. Qualitätssicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
i
4.4. Didaktischer Hintergrund . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5. Fazit 28
5.1. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2. Erweiterbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
A. Anhang 31
Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ii
Abbildungsverzeichnis
2.1. Mechanisches Schaltglied, (A) unbewegt . . . . . . . . . . . . . . . . . . . . 4
2.2. Mechanisches Schaltglied, (A) bewegt . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Ausschnitt aus einem Prinzipschaltbild, Farbmarkierungen nachträglich ein-
gefügt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4. Eine einfache binäre Addition mit Übertrag . . . . . . . . . . . . . . . . . . 7
3.1. Statistik: Internationale Browserstatistik (Partially Combined) mit Stat-
Counter März 20112/März 2012 . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Statistik: Weltweite Betriebsystemzugri�e auf Webseiten von mit StatCoun-
ter März 2011/März 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3. Konzeptzeichnung aus Patentplan mit Referenzbauteil, Bezugsstift (H), und
ein Ursprung eines Teils (U) . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4. Inkscape mit geö�neter XML-Ansicht . . . . . . . . . . . . . . . . . . . . . . 19
4.1. Vereinfachtes Objektmodell der Simulationselemente . . . . . . . . . . . . . 21
4.2. Zustandsignalisierung von Nachfolgekomponenten . . . . . . . . . . . . . . . 23
4.3. Simulation mit Bedieninterface als Webseite im Browser. (Markierungen
nachträglich eingefügt.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.4. Bedienelemente im Vollbildmodus mit eingeschalteten Transparenzmodus . 25
A.1. JQuery Verbreitung laut w3techs . . . . . . . . . . . . . . . . . . . . . . . . 31
A.2. Startdialog der Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
A.3. Interaktive Schritt für Schritt Anleitung, Übertragsberechnung . . . . . . . 32
A.4. Statistik:Nationale Browserstatistik von StatCounter 2011/2012 . . . . . . . 33
A.5. Statistik:Nationale Browserstatistik von StatCounter 2011/2012 . . . . . . . 33
A.6. Prinzipschaltung des Addierers . . . . . . . . . . . . . . . . . . . . . . . . . 34
A.7. Beispiel: Abgemessene Konzeptzeichnungen . . . . . . . . . . . . . . . . . . 35
A.8. Gesamtansicht des Addierers im SVG-Format . . . . . . . . . . . . . . . . . 36
iii
Listings
4.1. Auszug aus der XML-Datei zur Abschreibung der Addiererkomponenten . . 26
iv
1. Einleitung
Die Z1 von Konrad Zuse ist ein mechanischer Computer, der als einer der ersten im bi-
nären Zahlensystem arithmetische Probleme löste und voll programmierbar war, das heiÿt
Berechnungsanweisungen gleichzeitig mit der Eingabe annahm. Im Gegensatz zu heutigen
elektronischen Computern werden die Berechnungen durch mechanische Schaltungen voll-
zogen, die sich so mit dem bloÿen Auge beobachten lassen und daher Einblick in die Logik
geben. Die Z1 besteht aus beweglichen Metallplatten, die je nach eingenommener Position
0 oder 1 repräsentieren. Bei Bewegung verschieben diese weitere Platten nach bestimmten
Logikkonzepten und implementieren so arithmetische Operationen.
Aufgrund der leicht verständlichen Darstellung von Zuständen durch bewegliche Platten,
eignet sich die Z1 als didaktisches Mittel zur Veranschaulichung binärer Operationen.
Ein Bestandteil der arithmetischen Einheit der Z1, das Addierwerk, �ndet in dieser Arbeit
besondere Beachtung.
1.1. Motivation
Obwohl logisch voll funktionstüchtig, erwiesen sich die mechanischen Bauteile der Z1 als
sehr störanfällig, da sie schnell verklemmten. Daher erwies sich die Inbetriebnahme der
Z1 oft als schwierig. Die kompakte Bauweise und gesta�elte Anordnung der Schaltplatten
erschweren zudem das Studium der sonst so anschaulichen Schaltglieder, da Bauteile ein-
ander verdecken können.
Inhalt dieser Arbeit ist ein Lösungsansatz, der das Additionswerk als webbasierte Simula-
tion nachbildet und die angesprochenen Schwierigkeiten so umgehen kann. Die Simulation
gestattet es die Vorgänge der Z1 anhand des Beispiels des Additionswerks zu beobachten.
Zusätzlich ermöglicht die digitale Simulation Interaktionen, die an einer realen Maschine
nicht möglich sind: So lassen sich Bewegungen stoppen, wiederaufnehmen und wiederholt
abspielen. Sichbarkeitseinstellungen lassen Bauteile oder ganze Gruppen von Schaltelemen-
ten ausblenden oder durchsichtig werden, um die Übersichtlichkeit zu steigen.
Eingeblendete, interaktive Texte können zusätzlich Informationen mit Bezug zu Schaltvor-
gängen innerhalb des Addierwerks geben und dem Benutzer Erklärungen liefern, so dass
die Simulation in einer leicht verständlichen und intuitiven Weise bedienbar wird.
1
1.2. Herangehensweise
Diese Arbeit ist in mehrere Kapitel gegliedert, wobei jedes eine Phase des Projekts cha-
rakterisiert.
Das anschlieÿende Grundlagenkapitel (Kapitel 2) beschäftigt sich mit den Hinter-
gründen, auf dem die Simulation beruht. Hierzu wird die Z1 und der zu simulierende
Addierer von Konrad Zuse kurz umrissen. Im Anschluss werden die mechanischen
Bauteile der Z1, sowie deren theoretische Grundlage erläutert. Anschlieÿend werden
kurz die Technologien der Simulation vorgestellt.
Im Kapitel Analyse (Kapitel 3) werden Voraussetzungen und Anforderungen er-
hoben und deren Bedeutsamkeit für die Entwicklung der Simulation erklärt. Des
Weiteren wird ein Einblick in die Entscheidungskriterien der verwendete Software
und Werkzeuge gegeben. Darüber hinaus werden die verwendeten Arbeitsmateria-
len, die Patentschrift der Z1 und die darauf beruhende Transkription kurz erläutert,
sowie die daraus resultierenden Anforderungen an die Simulation geklärt.
Das Kapitel Design und Realisierung (Kapitel 4) erklärt das technische Kon-
zept, das der Simulation des Addierwerks zugrunde liegt. Zu diesem Zweck wird auf
Details der Implementation genauer eingegangen und zu Designentscheidungen Stel-
lung genommen. Anschlieÿend wird die vorgenommene Qualitätssicherung erörtert
und kurze didaktischen Konzepten erklärt.
Schlieÿlich fasst das Schlusskapitel (Kapitel 5) die Themen der Arbeit für ein kurzes
Resümee zusammen, um mit einem Ausblick auf Erweiterbarkeit zu schlieÿen.
2
2. Grundlagen
Dieses Kapitel gibt einen kurze Übersicht der Grundlagen auf denen diese Arbeit auf-
baut. Dabei wird im ersten Abschnitt ein Einblick in die Funktionsweise der mechanischen
Bauteile von Konrad Zuse und deren logischem Konzept gegeben. Der zweite Abschnitt
erklärt anschlieÿend grundlegende Technologien der Simulation.
2.1. Konrad Zuses Z1
Die Z1 von Konrad Zuse gilt als einer der ersten frei programmierbaren Computer im
Binärzahlensystem. Der Computer, der in den Jahren 1936 bis 1938 entstand, weist schon
viele moderne Architektureigenschaften heutiger Computer auf. Wie moderne Computer
trennte er bereits Speicher und arithmetische Einheiten und konnte über ein Eingabeme-
dium, auf Lochstreifen gestanzte Befehlsketten, Berechnungen durchführen. Diese Idee,
auf der auch aktuelle Computer basieren, ist heute als Von-Neumann-Architektur (www-
NeuMann, 2012) bekannt. Ein weiteres Merkmal moderner Computer, ist die gemeinsame
Eingabe von Daten und Steuerbefehlen, das der Z1 durch gemeinsame Eingabe von Zahlen
und Programmanweisungen besagten Lochstreifen realisierte.
Aufgrund seiner Konstruktion neigte die Z1 zu mechanischen Störungen, da die bewegli-
chen Komponenten leicht verklemmen konnten.
Die direkte Nachfolgemaschine Z2 wurde nicht über den Prototypstatus hinaus gefertigt
und diente hauptsächlich zum Erproben der Relais als Alternative zu den mechanischen
Schaltglieder. (Zuse, o.J.a) Das Nachfolgemodell, die Z3, übernahm die logische Struktur
der Z1, wurde ausschlieÿlich aus elektromagnetischen Relais, mit Ausnahme des Speichers,
der weiterhin mechanisch blieb, gefertigt und überwand so die Verklemmungsprobleme der
Vorgängerin.
Trotz mechanischer Probleme hat die Z1 aufgrund der Sichtbarkeit logischer Schaltzu-
stände durch Verschieben der mechanisches Bauteile einen didaktischen Vorteil gegenüber
ihrer Schwestermaschine der Z3. (Rojas, 1996) Die hier ausgeführte Arbeit beschäftigt sich
daher mit einer wichtigen Komponente der Z1, dem Additionswerk.
3
2.1.1. Mechanisches Schaltglied
Konrad Zuse verbaute in der Z1 sogenannte Schaltglieder: Metallplatten, die mit ver-
schiebbaren und feststehenden Führungsstiften aussagenlogische Zustände darstellen kön-
nen.
Die Abbildungen 2.1 und 2.2 zeigen ein Schaltglied in jeweils zwei Schaltzuständen.
Das abgebildete Schaltglied besteht aus vier Schaltplatten und einem Schaltstift. In seinem
Patentdokument für Schaltglieder (Zuse, 1936) unterscheidet Konrad Zuse Schaltplatten
nach ihrer Funktion:
Schaltstifte (a) übertragen Bewegungen Schaltplatten auf weitere Schaltplatten.
Festbleche (C) sind unbewegliche Metallplatten, die als Führungshilfen Schaltstifte in ih-
ren Bewegungsmöglichkeiten einschränken.
Bewegende Bleche (D) sind Schaltplatten, die über Schaltstifte Bewegungen weitergeben
können.
Bewegte Bleche (A) können von Schaltstiften bewegt werden.
Steuerbleche (B) können Schaltstifte schieben um sie in Position für Bewegende Bleche
zu bringen und übernehmen damit die Rolle von Schaltern.
Abbildung 2.1.: Mechanisches Schaltglied, (A) unbewegt
Phase 1 zeigt Schaltstift (a) durch Steuerblech (B) auÿerhalb Einkerbung von Blech
(D) positioniert, so dass bei Bewegung vom Bewegenden Blech (D) keine Transportation
von Blech (A) erfolgt.
4
Abbildung 2.2.: Mechanisches Schaltglied, (A) bewegt
In Abbildung 2.2 ist in Phase 1 der Schaltstift (a) in der Einkerbung von dem Bewe-
genden Blech (D) arretiert, das den Ausgabewert des Schaltglieds bestimmt. In Phase 2
wird gezeigt wie dieser Ausgabewert erhalten wird: Das Blech (D) wird so verschoben,
dass Bewegte Blech (A) mitgezogen wird.
Aussagenlogik
Die zuvor beschriebenen Vorgänge lassen sich aussagenlogisch ausdrücken und lassen sich
zu logischen Operationen zusammenfassen.
Im abgebildeten Fall wird einer gegebenen Eingabe durch das Bewegende Blech (D) und
das Steuerblech (B) eine Ausgabe durch Bewegtes Blech (A) zugeordnet.
Abb. 2.1 ¬B ∧D → ¬AAbb. 2.2 B ∧D → A
Die Rolle des Schaltstifts und der Festbleche kann ausgelassen werden, da diese nur
Hilfsmittel zur Bewegungsübertragung sind, beziehungsweise die Bewegungsführung steu-
ern. Die erfolgenden Bewegungen und daraus resultierenden logischen Verbindungen lassen
sich direkt den Schaltplatten zuordnen.
Diese logischen Konstrukte lassen so sich kombinieren, dass durch logische Verkettungen
arithmetische Funktionen entstehen und die Plattenpositionen am Ende der Bewegungen
ein arithmetisches Ergebnis ausdrücken, im Falle des Addierwerks eine Summe.
Die mathematische Grundlage ist dabei, dass sich mit verketteten, aussagenlogischen Ver-
knüpfungen Konjunktion (∧), Disjunktion (∨) und Negation (¬) arithmetische Operationenwie das Addieren binärer Zahlen ausdrücken lassen (Zuse, 1952, S. 1f.).
Die mechanischen Schaltglieder, die in Konrad Zuses Z1 Verwendung fanden, lassen
5
sich in die zuvor benannten Operationen logisch au�ösen und sequenziell anordnen, so dass
sie einen aussagenlogischen Satz formulieren.
Abbildung 2.3.: Ausschnitt aus einem Prinzipschaltbild, Farbmarkierungen nachträglicheingefügt
Quelle: (Zuse, 1952, S. 68f, abb. 48)
Die Schaltplatten a3, a2, a1, a0 und a3, b2, b1, b0 bilden paarweise logische Konjunktionen,
so dass sich di genau dann bewegt, wenn ai und bi bewegt werden (ai ∧ bi → d3).Auf ähnliche Weise lassen sich zu allen Schaltgliedern logische Verknüpfungen �nden.
2.1.2. Das Additionswerk
Das Additionswerk ist eine Rechenwerk der Z1, das zwei vierstellige Binärzahlen mitein-
ander summieren kann. Jeweils vier Schaltplatten nehmen die Eingabe der ersten und der
zweiten Zahl entgegen (Schaltplatten a3, a2, a1, a0 und Schaltplatten b3, b2, b1, b0). Die Ein-
gabe der ersten Zahl muss ablaufbedingt vor dem Setzen der zweiten Zahl erfolgen.
Der Addierer verschiebt die Schaltglieder in Takten, einer innerhalb der Z1 festgelegten
Schaltordnung. Die Taktgebung des Z1 wird durch einen künstlichen Simulationstakt nach-
empfunden, der immer nach Bewegung aller aktuellen Teile erfolgt und so den nächsten
Takt beginnt. Nach Vollendung des letzten Taktes kann das Ergebnis der Addition an den
Ergebnisplatten (Schaltplatten k3, k2, k1, k0) abgelesen werden.
6
Die Vorgänge des Additionswerkes lassen sich besonders intuitiv mit der aus der Schul-
mathematik bekannten Übertragsaddition nachvollziehen.
Abbildung 2.4.: Eine einfache binäre Addition mit Übertrag
Abbildung 2.4 zeigt die binäre Addition der Zahlen 0101 und 0001, die einen Übertrag
von 1 an der zweiten Stelle der Zi�er bilden, der zur Folgestelle übertragen wird und damit
das Ergebnis 0110 bildet.
Ein binärer Stellenübertrag kann 0 oder 1 sein und wird im Addierwerk durch eine
Serie von hintereinander liegenden Übertragsschaltplatten (Schaltplatten f4, f3, f2, f1, f0)
implementiert. Wird durch Übertrag eine Zi�er an die nächste Stelle übergeben, wird
die der Stelle zugehörige Übertragsschaltplatte verschoben. Ist an einer Folgestelle schon
eine 1, so wird der Stellenübertrag auch an die nächste Stelle weitergegeben, in dem die
nachfolgenden Übertragsschaltplatten ebenfalls mit verschoben werden.
7
2.2. Technologien
Dieser Abschnitt führt kurz die bei der Simulation verwendeten Technologien auf.
2.2.1. Java
Java ist eine objektorientierte Programmiersprache, die auf zahlreichen Computern mit
verschiedenster Hardware und Betriebssystemen lau�ähig ist. Anders als bei Hardware
nahen Programmiersprachen wird geschriebener Quellcode nicht direkt in Maschinencode
compiliert, sondern in einen Zwischencode, der dann auf dem ausführenden Computer
interpretiert wird. (Ullenboom, 2011)
Java Applet
Ein Java Applet ist ein Programm mit der Programmiersprache Java, das auf einer Web-
seite eingebettet werden kann. Das Applet lädt hierfür die auszuführenden Programm
Dateien temporär auf den Zielcomputer und führt den Javacode anschlieÿend in einem
dafür de�nierten Bereich im Browserfenster des Zielrechners aus.(wwwApplets, 2010)
2.2.2. OpenGL
OpenGL ist eine Gra�kkartenschnittstelle, mit der komplexe 3D-Szenen dargestellt wer-
den können. Dazu stehen Low-level -Befehle zur Verfügung, mit denen man der Gra�kkarte
Anweisungen zum Zeichnen von Gra�schen Primitiven 1 übergibt. OpenGl implementiert
jedoch keine höheren Befehle und Speicherstrukturen zur Objektspeicherung oder Mani-
pulation. (wwwOpenGl, 2012)
2.2.3. Javascript
Javascript ist eine Programmiersprache, die innerhalb eines Webbrowsers ausgeführt wird
und Teile der angezeigten Webseite manipuliert und eingeschränkt Browserfunktionen steu-
ern kann. Mit Javascript ist es möglich zum Beispiel eine neue Webseite laden lassen oder
interaktive Elemente, wie Schalt�ächen zu realisieren. (wwwAboutJs, 2007)
1Gra�sche oder Geometrische Primitive sind einfachste geometrische Gebilde: Punkte, Linien und Poly-gone
8
3. Analyse
Der folgende Abschnitt gibt einen Einblick in die Beweggründe und Designentscheidungen,
sowie welche Drittsoftware und Werkzeuge zur Fertigung der Simulation des Addierers
Verwendung fanden.
Die folgenden Abschnitte erläutern die zugrunde liegenden Konstruktionsbeschreibungen,
die zur Fertigung der Simulation beitragen. In weiteren Abschnitten wird die Auswahl der
zusätzlichen Software und deren Einsatz erörtert.
3.1. Anforderungsanalyse
Die nächsten Unterabschnitte erläutern die Anforderungen an die Simulation, sowie gege-
benen Rahmenbedingungen in denen die Simulation verwendet wird. Die Anforderungen
werden hierbei in zwei Kategorien unterteilt:
Funktionale Anforderungen beschreiben die Zielvorstellungen der Simulation und der sich
daraus ergebende Funktionen und den Umfang.
Nichtfunktionale Anforderungen klären die Umgebung und Laufzeitbedingungen in de-
nen die Simulation ausgeführt wird. Des Weiteren wird kurz auf optionale Ziele ein-
gegangen.
3.1.1. Funktionale Anforderungen
Der Benutzer soll über eine ö�entlich verfügbare Webseite ein frei bewegliches, drehbares
dreidimensionales Modell des Addierers von Konrad Zuses Z1 betrachten können. Durch
bereitgestellte Bedien- und Eingabeelemente soll der Benutzer in der Lage sein zwei Zahlen
einzugeben. Die Simulation bewegt die Bauelemente des Addierwerks Konrad Zuses in
vorgesehener Weise und verschiebt so virtuelle Schaltglieder. Nach Ablauf der Simulation
wird das Ergebnis durch Interpretation des Maschinenzustands ausgegeben wird.
Logische Komponenten
Die Simulationssoftware soll logische Schaltzustände von Schaltgliedern korrekt abbilden
und nach de�nierten Regeln verändern können. Die Schaltglieder des Addierers verhalten
sich hierbei realitätsnah wie von Konrad Zuse beschrieben. (Zuse, 1952)
9
Für die Simulation des Addierwerks müssen die Bauteile in logische Strukturen über-
führt werden. Die Komponenten des Additionswerks können nach zwei Arten von Teilen
charakterisiert werden:
Schaltplatten sind �ache Metallplatten, die Löcher und Aussparungen besitzen, in denen
sich Schaltstifte be�nden können. Eine Schaltplatte lässt sich durch zweidimensionale
Polygone und Tiefe beschreiben. Schaltplatten können horizontal oder vertikal ver-
schoben werden und dabei Schaltstifte mitverschieben sowie von diesen verschoben
werden.
Schaltstifte sind lange Zylinderobjekte unterschiedlicher Länge, die sich in Aussparungen
von Schaltplatten be�nden können und sich sowohl von diesen mitbewegen lassen,
wie auch diese selbst bewegen.
Bedieninterface
Dem Benutzer soll es möglich sein, Eingaben zu machen, die von der Simulation entge-
gengenommen und an Schaltglieder des Addierers übertragen werden. Zudem sollte sich
die Simulation jederzeit starten, stoppen und wieder zum Ausgangszustand zurück setzen
lassen. Der Benutzer soll jederzeit in der Lage sein das Modell des Additionswerks frei aus
jedem Winkel zu betrachten und vergröÿern zu können. Zur bestmöglichen Betrachtung
soll die Simulation in einem Vollbildmodus auf der gesamten Bildschirm�äche angezeigt
werden können.
Weiter ist gewünscht, zusätzlich zum dreidimensionalen Modell, auch Informationen über
die Zustände und Abläufe des Additionsvorgangs bereit zu stellen.
3.1.2. Nichtfunktionale Anforderungen
Eine signi�kante nichtfunktionale Anforderung ist ein einfach und intuitiv gehaltenes Be-
dienkonzept der Simulation. Zudem sollten bereitgestellte Informations�ächen den Addier-
vorgang verständlich begleiten.
Die Simulationssoftware sollte potentielle Erweiterung begünstigen und eine hohe Wart-
barkeit aufweisen.
Wichtigste Anforderung ist jedoch, dass die Simulation auf möglichst vielen Computern
lau�ähig ist. Daher sollten zeitbeständige Standards und Software verwendet, um eine hohe
Verfügbarkeit und Zugänglichkeit zu gewährleisten. In dem folgenden Abschnitt wird die
angestrebte Kompatibilität analysiert und diskutiert.
10
Kompatibilität
Heutzutage stehen Webapplikationen vor der Herausforderung auf diversen Betriebssyste-
men lau�ähig zu sein. Das Internet mit seinen zahlreichen Teilnehmern, unterschiedlichen
Browsertypen und -versionen stellt hohe Anforderungen an die Kompatibilität der Weban-
wendungen. Durch die voranschreitende Entwicklung von Webtechnologien wie Ajax 1 ,
Flash 2 und Html5 3 kann es dazu kommen, dass ältere Browser mit diesen nicht umge-
hen können. Um möglichst vielen Benutzern die Simulation zugänglich zu machen, muss
eine Kompromisslösung zwischen Innovation und Abwärtskompatibilität gefunden werden.
Zahlreiche Unternehmen beschäftigen sich mit der Fragestellung, welche Betriebssyste-
me und Browser den gröÿten Marktanteil haben, damit von Webseitenentwicklern ein an-
gemessener Kompromiss zwischen Kompatibilität und technologischer Fortschrittlichkeit
getro�en werden kann.
StatsCounter ist ein Dienstleister, der Statistiken zu Browserzugri�en auf vielen Webseiten
über eingebundene Scripte sammelt.
Abbildung 3.1.: Statistik: Internationale Browserstatistik (Partially Combined) mit Stat-Counter März 20112/März 2012
Quelle: (wwwStatBrowser, 2012)
Partially Combined steht für uusammenfassen vergleichbarer Browserverionen zur bes-
seren Übersicht.
1Asynchronous JavaScript and XML (Ajax) ist eine Konzept, die einem Webbrowser asynchrone Daten-übertragung ermöglicht, ohne die angeschaute Webseite komplett neu zu laden. (wwwAjax, 1999�2012)
2Flash ist ein Browserplugin zur Darstellung von Multimediainhalten auf Webseiten. (wwwFlash, 2012)3Html5 eine Weiterentwicklung der HyperText Markup Language (HTML). (wwwHtml5, 1999�2012)
11
Die internationale Browserstatistik vom März 2011 bis März 2012 zeigt deutliche höhere
Marktanteile bei Chrome und Firefox 5 und dem Internet Explorer 8 und 9 im Vergleich zu
anderen Browsern. Im nationalen Querschnitt 4 verschiebt sich der Marktanteil zugunsten
des Firefox 5 auf angenähert 45 Prozent.
Abbildung 3.2.: Statistik: Weltweite Betriebsystemzugri�e auf Webseiten von mit Stat-Counter März 2011/März 2012
Quelle: (wwwStatOs, 2012)
Der deutsche Querschnitt 5 zur gegebenen Zeitspanne zeigt Vergleichbares, mit Aus-
nahme von Windows XP, das international angenähert 10 Prozent seltener gemessen wurde.
Zusammenfassend lässt sich mit diesen Daten eine priorisierte Zielgruppe bilden:
Die Betriebssysteme Microsoft Windows ab XP, Mac OS X ab 10.4 werden am häu-
�gsten verwendet, so hat die Kompatibilität für diese Systeme Priorität. Darüber
hinaus wäre auch Lau�ähigkeit auf Linux erstrebenswert.
Die gängigen Browser Chrome, Firefox ab Version 4, Internet Explorer Versionen 8
und 9, Safari werden häu�g genutzt, daher wird die Kompatibilität in diesen Browsern
bevorzugt angestrebt.
4siehe Abbildung A.4 Statistik:Nationale Browserstatistik von StatCounter 2011/20125siehe Abbildung A.5 Statistik:Nationale Browserstatistik von StatCounter 2011/2012
12
3.2. Materialanalyse
Zum Verstehen der theoretischen Grundlagen der Z1 und um das Zusammenspiel der me-
chanischen Komponenten des Additionswerkes von Konrad Zuse nach vollziehen zu kön-
nen, erfolgte eine Analyse der Dokumente und Konzeptzeichnungen des Z1 -Patentdokuments.
(Zuse, 1952) Der folgende Abschnitt beschäftigt sich mit diesen Informationensquellen, die
zur Entwicklung und Konstruktion der Simulation notwendig waren.
3.2.1. Patentschrift
Die Simulation basiert hauptsächlich auf den Beschreibungen und Aufzeichnungen der Pa-
tentschrift �Rechenvorrichtungen aus mechanischen Schaltgliedern�. (Zuse, 1952) In diesem
Dokument beschreibt Konrad Zuse die Funktionsweisen und den Aufbau von Rechen-
vorrichtungen und die Verbindung von Schaltgliedern, die aussagenlogisch mathematische
Berechnungen vornehmen können. Die Rechenvorrichtungen werden in besagtem Doku-
ment wiederholt in drei Ausprägungen dargestellt:
So werden die Bauteile der Schaltglieder als Konzeptzeichnung abgebildet, um einen Ein-
blick in die Konstruktion zu bieten. Des Weiteren werden die Elemente in einem Schalt-
plan, der Prinzipschaltung, in ihrer Wirkungsweise zu einander erklärt. Ergänzend werden
Rechenvorrichtungen grob in Textform in ihrer Funktion beschrieben. Auÿerdem werden
mathematische Grundlagen und Besonderheiten dargestellt.
Unter den Rechenvorrichtungen führt Konrad Zuse auch zwei Beispiele für Additions-
werke auf, die jeweils die binäre Addition von zwei Vier-Bit-Zahlen zu einer Vier-Bit-Zahl
realisieren. Die gröÿte darstellbare Zahl ist dadurch 15. Die vorliegende Arbeit befasst
sich ausschlieÿlich mit dem ersten Addiererbeispiel der Patentschrift: �Additionswerk im
Dualsystem, Beispiel 1�. (Zuse, 1952, S. 26-30, Abb. 47-61)
Dieses Beispiel eines Addierwerks stellte sich gegenüber dem Anderen als didaktisch rele-
vanter heraus, da sich dem Betrachter die Schaltvorgänge nacheinander abfolgend zeigen.
Im Gegensatz dazu wurde die zweite Realisierung des Addierwerks in einer kompakteren
Bauweise konstruiert, so dass mehrere Schaltglieder simultan bewegt werden und sich so
die Vorgänge der Addition schwerer nachvollziehen lassen.
In nachfolgenden Abschnitten wird das Additionswerk nach Beispiel 1 auch verkürzt als
Addierer, Additionswerk oder Addierwerk referenziert.
13
Konzeptzeichnungen
In der Patentschrift werden die Baukomponenten des Additionswerkes in mehrseitigen Kon-
zeptzeichnungen abgebildet. Das Additionswerk ist in vier Grundschichten unterteilt. Jede
Schicht enthält bis zu sechs Metallplatten, sowie feste und bewegliche Schaltstifte.
Zum Überführen der Bauteile in die Simulation wurden die Bauelemente genau vermes-
sen und die Position der jeweiligen Teile durch den Abstand zu einem Referenzbauteil,
das in allen Konstruktionszeichnungen zu �nden ist, bestimmt. Alle geometrischen Koor-
dinaten wurden im Bezugsrahmen zu diesem Bauteil erfasst und in die Simulationsdaten
übernommen.
Für die Erfassung eines Bauelements wurden alle Teilstücke des Elements von einem lokal
gewählten Ursprung (U) relativ vermessen und in die Simulationsdaten aufgenommen. Der
gewählte relative Ursprung des Bauteils (U) wird in der Simulation nachträglich mit dem
absoluten Ursprung des Referenzteils (H) abgeglichen.
Abbildung 3.3.: Konzeptzeichnung aus Patentplan mit Referenzbauteil, Bezugsstift (H),und ein Ursprung eines Teils (U)
Quelle: (Zuse, 1952)
Die Erfassung von Schaltplatten erwies sich als kompliziert, da in einigen Konzeptzeich-
nungen Schaltplatten ausgelassen wurden oder falsch nummeriert wurden. Jedoch konnten
diese durch implizite Logik korrigiert werden. Des Weiteren ist nicht bei jedem Schaltstift
ersichtlich durch welche Ebenen des Addierers er verläuft, so mussten einige Schaltstifte in
zwei Teile geteilt werden, um die Funktion des Addierers zu erhalten, ohne das dieses in
der Konstruktion ersichtlich gemacht wurde.
14
Prinzipschaltung
Funktion und Wirkung der Bauelemente werden in Prinzipschaltungen erklärt, vergleich-
bar mit elektronischen Schaltplänen. Anders als bei diesen, werden jedoch statt Strom-
oder Signalübertragungen, mechanische Impulse übertragen, so dass sich Schaltplatten und
Schaltstifte bewegen und damit logische Zustände ändern.
Transkription
Durch kopierbedingten Qualitätsverlust ist die Patentschrift schwer lesbar. Daher wird zu-
sätzlich eine Transkription des Patentdokuments herangezogen.(Zuse, o.J.b) Dies war vor
allem bei jenen Textabschnitten, die sich mit den logischen Abläufen innerhalb des Addie-
rers auseinandersetzen, notwendig. Die Transkription enthält ausschlieÿlich Textpassagen
und Tabellen des Patentdokuments, ohne Zeichnungen des Orginaldokuments.
Durch Kombination der Logikerklärungen der Prinzipschaltung, der Abbildung der Schalt-
platten in den Konzeptzeichnungen und den Erklärungen der Transkription lassen sich die
mechanischen Bewegungen, wie auch Funktionen der Schaltplatten implizit herleiten, auch
wenn nicht alle Teile konkret erwähnt werden.
15
3.3. Drittsoftware und Werkzeuge
Um ein hohes Maÿ an Qualität zu erreichen, stützt sich die Simulation auf vorhandene
und erprobte Technologien, Formate und Werkzeuge. Diese werden in diesem Abschnitt
thematisiert und deren Funktion und Bedeutung für die Simulation erörtert.
3.3.1. Simulationstechnologie
Für die Simulation von Dreidimenstionalität ist es notwendig ein geeignetes Framework 6
zu wählen, das eine möglichst groÿe Schnittmenge zwischen der in der Anforderungsana-
lyse (Abschnitt 3.1) geforderten Qualitäten und Funktionen, sowie der vorher de�nierten
Kompatibilität hat.
Für die Simulation und Darstellung von dreidimensionalen Objekten gibt es zahlrei-
che Softwarelösungen. An dieser Stelle werden einige von ihnen aufgelistet und diskutiert,
welche zur Implementation der Simulation am geeignetsten sind.
Adobe Flash ist ein häu�g im Internet zu �ndendes Browserplugin. Flash unterstützt seit
Version Adobe Flash CS5 native Erstellung und Darstellung von 3D-Objekten und bietet
eine übersichtliche gra�sche Entwicklungsumgebung.
Heutzutage wird es jedoch zunehmend spezialisiert für die Darstellung von eingebetteten
Streaming Videos 7 und für Browserspiele verwendet.
Mit der voranschreitenden Integration von Html5 in Webbrowsern und der dadurch ver-
bundenen Verdrängung von Flash, habe Flash jedoch keine sichere Zukunft. Dies ist die
im Augenblick vorherrschende Meinung in der IT-Branche. (Elzer u. a., 2010)
Lightweight Java Game Library (LWJGL) stellt ein Framework für OpenGl-Programmierung
unter Java zur Verfügung, mit dem in herkömmlichen Javaprogrammcode Low-Level-
Gra�kbefehle der Programmierschnittstelle OpenGl eingebettet werden können. LWJGL
wird von einer Vielzahl von erfolgreichen, kommerziellen und privaten Spielprojekten 8
benutzt. LWJGL hat sich als eine performante Lösung zur Darstellung von 3D Inhalten
erwiesen.
6Ein Framework bezeichnet ein vorgefertigtes Programmgerüst, mit deren Hilfe sich schnell Funktionenimplementieren lassen.
7Video Streaming ist eine Form der Videowiedergabe im Internet, bei der das Video während des An-schauens übertragen wird. Populärstes Beispiel ist die Video Platform YouTube
8LWJGL wird von einer Vielzahl erfolgreicher Projekte genutzt, ein bekanntes Beispiel ist unter AnderemMinecraft (wwwMc, 2006�2012)
16
Html5 und Javascript ermöglichen mit Hilfe des Canvasobjekt 9 das Anzeigen und die
Manipulation von dreidimensionalen Objekten.
Html5 ist jedoch eine junge Technologie, mit der noch keine längere Erfahrung besteht, so
dass Verhalten, Umgang und Verbreitungspotential von Html5 noch nicht vollends vorher-
sagbar ist.(Pelkmann, 2011).
Nach abschlieÿender Abwägung der Kandidaten fällt die Wahl auf Lightweight Java
Game Library (LWJGL), da diese Lösung gleichzeitig eine hohe Leistung und einen opti-
malen Grad an Kompatibilität verspricht. Zuzüglich genieÿt LWJGL eine hohe Reputation
als professionelle Lösung für 3D Darstellung. (Block-Berlitz, 2011, mdl. Mitt.) Die Ver-
wendung von Java und die nahtlose Einbettung von OpenGL-Code in Java ermöglicht eine
komfortable Entwicklung mit hoher Erweiterbarkeit durch zahlreiche Javabiblioteken und
Funktionen. Die Simulation wird in einem Javaapplet ausgeführt. Java und Javaapplets
haben eine hoher Verbreitung auf internetfähigen Computern und sind hinreichend ent-
wickelt und getestet, um eine stabile und kompatible Simulation realisieren zu können.
3.3.2. Software für Bedieninterface
Das ausgesuchte Framework LWJGL stellt grundsätzlich keine Elemente und Funktionen
für die Bedienung zur Verfügung. Damit die Simulation durch Bedienelemente steuerbar
ist wird eine zusätzlichen Bibliothek notwendig.
TWL - Themable Widget Library 10 ist eines der häu�g mit LWJGL zusammen ver-
wendeten gra�schen Benutzerinterfaces (GUI) und ermöglicht Schalt�ächen, weitere
benötigte Eingabemöglichkeiten und Bedienelemente. Da das GUI ebenfalls durch
OpenGL de�niert wird, gestaltet sich die Einbindung das Framework LWJGL als
problemlos.
Die Simulation ist in einer Webseite eingebettet, die zusätzliche Inhalte bereitstellt.
Dadurch können die Vorgänge des Addierwerks begleitet und erklärt werden. Da auch diese
Inhalte �exibel und dynamisch gestaltbar sein sollten, wird JQuery, eine im Webdesign
übliche Bibliothek für Javascript verwendet.
JQuery ist eine im Internet häu�g genutzte Javascript Bibliothek, die geschriebenen Quell-
code Browserabhändgig umsetzt, so dass geschriebene Funktionen auf zahlreichen
Browsern funktionieren. Dadurch wird eine hohe Kompatibilität bei komfortablen
Handhabung ermöglicht.
9Canvasobjekt ist ein in Html5 de�niertes Objekt, auf dem Zeichenoperationen aufgeführt werden können.(wwwHtml5Canvas, 1999�2012)
10TWL: (wwwTwl, 2012)
17
JQuery UI ist eine zusätzliche Bibliothek zu JQuery, die einfache Bedienelemente im-
plementiert. Mit JQuery UI lassen sich so einfach Schalter, Dialogmeldungen und
Informations�ächen erstellen und verwalten.
3.3.3. Werkzeuge zur Bauteilerfassung
Die Simulation basiert auf zahlreichen Schaltgliedern und deren logische Verbindungen,
so sind zusätzliche Werkzeuge zu Abmessung, Erstellung digitaler Repräsentanten und
Verwaltung von logischer Abhängigkeiten erforderlich. Hierzu werden die neben den zuvor
beschriebenen Bibliotheken und Frameworks zusätzliche Programme aufgeführt:
PDF-Editor PDF-XCHANGE-Viewer
PDF-XCHANGE-Viewer 11 ist ein PDF-Editor, der erweiterte Kommentarfunktionen zu
PDF-Dokumenten ermöglicht. Um die Konzeptzeichnungen der Metallplatten und Schalt-
stiften, aus dem der Addierer besteht, in die Simulation zu übertragen, wird mit dem
PDF-Editor die in 3.2.1 Konzeptzeichnungen beschriebenen Konzeptzeichnungen gela-
den. Um die Baukomponenten des Addierers genau digital nachbilden zu können werden die
Abstände innerhalb der Konzeptzeichnungen mit einem Entfernungsvermessungswerkzeug
abgemessen.
SVG-Editor Inkscape
Der Gra�keditor Inkscape ist ein vektorientiertes Zeichenprogramm, das unter Anderem
Geometrische Primitive in dem XML-basierenden-Dateiformat SVG 12 verarbeitet.
Inkscape erlaubt es, sowohl mit einem gra�schen Benutzerinterface neue Geometrische Pri-
mitive zu erstellen, als auch einen direkten Zugang zur XML-Struktur des SVG-Formats. So
kann beispielsweise ein Quadrat mit den Werzkeugen des gra�schen Interfaces von Inkscape
erstellt werden, gleichwohl aber auch durch die Eingabe von SVG-Code mit der entspre-
chenden Punktkoordionaten in der SVG akzeptierten Syntax.
Dies ermöglicht die exakte De�nition der zuvor erfassten Bauteile des Addierers. Die Bau-
teile werden sofort optisch im Editor dargestellt, dies erleichtert eine Fehlerüberprüfung.
11PDF-XCHANGE-Viewer: (wwwPdfXCh, 1995�2012)12Scalable Vector Graphics (SVG) ist ein Vektororientiertes Bildformat, das Bilddaten in XML schreibweise
abspeichert. (wwwSvgF, 2012)
18
Abbildung 3.4.: Inkscape mit geö�neter XML-Ansicht
Durch die Visualisierung der Schaltplatten und Schaltstifte im SVG Editor ist das Hin-
zufügen neuer Komponenten oder Ändern Bestehender optisch klar nachvollziehbar.
19
4. Design und Realisierung
Nachdem im vorherigen Kapitel Anforderungen der Simulation geklärt wurden, werden
in den folgenden Abschnitten Simulationsumgebung ( 4.1.1), Bedieninterface ( 4.1.2)
und Speicherformate( 4.2.3) die Designentscheidungen und -umsetzungen diskutiert. Im
Anschluss werden getro�ene Anstrengungen zur Qualitätssicherung erläutert, gefolgt von
einer Darstellung der didaktischen Ansätze der Simulation.
4.1. Softwarekonzept
Die folgenden Abschnitte beschäftigen sich mit der Fragestellung, wie aus den zuvor analy-
sierten Materialen ein virtuelles Addierwerk konstruiert werden kann. Dabei wird kurz auf
die Entwurfskonzepte der Simulationslogik eingegangen, sowie Bezug zum Bedienkonzept
genommen.
4.1.1. Simulationsumgebung
Jedes zu simulierende Teil ist in der Simulation in zwei Abschnitte unterteilt, einer logi-
schen und einer visuellen Komponente.
Die Simulation unterhält ein Logikmodell, das die korrekte Bewegung der Teile über-
wacht und die Verschiebung de�nierter Folgeteile verwaltet. Dafür werden die Bauteile als
Objekte in Java verwaltet.
20
Abbildung 4.1.: Vereinfachtes Objektmodell der Simulationselemente
Jedes logische Objekt, das Schaltstift (Pin) oder Schaltplatte (Plate) sein kann, spei-
chert seinen aktuellen Zustand(currentState) und seine Position (position), sowie ei-
ne Referenz zu seiner Gra�k (openGlPointer), eine Tabelle mit möglichen Zuständen
(stateTable) und einer weiteren Tabelle mit logischen Objekten, die bei einer Zustands-
änderung mit verschoben werden. Schaltstifte speichern zusätzlich noch ihre Länge ab.
(Pin_z_start / Pin_z_end )
Zur gra�schen Darstellung enthält jedes Logikobjekt einen OpenGL Pointer, mit dem die
optische Repräsentation des Objektes verwaltet wird. Nach Einlesen der Bauteile werden
die Addiererkomponenten mit trivialen OpenGL-Anweisungen gezeichnet und unter dem
OpenGl Pointer abgelegt.
4.1.2. Bedieninterface
Damit ein Benutzer komfortabel auf die Simulation Ein�uss nehmen kann ist eine gra�-
sche Ober�äche erforderlich. Hauptsächlich lassen sich Interaktionen des Benutzer in drei
Bereiche unterscheiden:
Eingabe/ Ausgabe Interaktion Der Benutzer soll in der Lage sein, dem simulierten Ad-
dierwerk zwei vierstellige Binärzahlen zukommen zu lassen. (Diese nutzt das Ad-
dierwerk zur Berechnung der Addition.) Nach abgeschlossener Berechnung zeigt ein
Ausgabefeld das ermittelte Ergebnis als vierstellige Binärzahl an.
Abspielkontrolle Die Simulation kann jederzeit gestartet, gestoppt und wiederholt werden.
Dafür stellt das gra�sche Interface Bedienelemente zur Verfügung. Zusätzlich erlaubt
das GUI das Ausblenden von Schaltgliedern, die Andere möglicherweise verdecken,
so dass diese auf Wunsch ausgeblendet werden können.
21
Informationsanzeige Die Simulation durchläuft mehrere Zustände auf dem Weg zur Be-
rechnung des Ergebnisses. Zu diversen Zuständen wird in bereitgestellten Informa-
tionsfeldern interaktiver Text gezeigt, um ein tiefergehendes Verständnis zum Re-
chenvorgang zu ermöglichen. Die Zustände, welche die Simulation durchläuft, sollen
kurz in einem geeigneten Informationsfeld erklärt werden, um Vorgänge während der
laufenden Berechnung verständlich zu machen.
4.2. Implementation
Nachdem im vorherigen Abschnitt Konzeptentscheidungen erläutert wurden, beschäftigt
sich der nachfolgende Textabschnitt mit der konkreten Realisierung der Simulation.
4.2.1. Simulationsumgebung
Die Simulation ist in einem Java Applet realisiert, das zunächst alle erforderlichen Inhal-
te der Simulation und anschlieÿend betriebssystemabhängige Bibliotheken lädt, die zur
dreidimensionale Darstellung mit OpenGL notwendig sind. Die Simulation lädt auÿerdem
alle optischen und logischen Informationen, die die Teile des Addierers beschreiben, aus
gesonderten Dateien ein. Das zu Simulierende Objekt kann einfach durch Auswechseln der
Simulationsdatei ausgetauscht werden.
Die Simulation der Verschiebung von Schaltplatten und Schaltstiften wird durch Zu-
stände und Zustandswechsel ermöglicht. So hat jedes Bauteil einen de�nierten Zustand
und eine Liste von möglichen Folgezuständen, die unter anderem Positionsänderungen in
diesem Zustand beschreiben. Jeder dieser Zustände hat eine Liste mit Bauteilen, die bei
Zustandswechsel mitbewegt werden. Jedes Teil in dieser Liste hat zwei Zustände, einen
Start- und einen Zielzustand.
Wird ein Bauteil a von seinem aktuellen Zustand in einen neuen Zielzustand überführt,
so wird in der Liste des Zielszustandes allen Bauteilen (bi) signalisiert vom Startzustand
(startbi) zum Zielzustand (zielbi) zu wechseln. Ist der Startzustand (startbi) aber nicht
der momentane Zustand des Bauteils, so wird das Signal ignoriert.
Die Art des Mitverschiebens von Teilen folgt dem Prinzip des Bedingten Sprungs 1 , da
Teile nur dann mitbewegt werden, wenn sie sich in einem bestimmen Startzustand be�nden.
1Bedingten Sprung: Eine Programmanweisung, die nur erfolgt wenn eine de�nierte Bedingung erfüllt ist.
22
Abbildung 4.2.: Zustandsignalisierung von Nachfolgekomponenten
Die Bewegung von Platte a von Zustand 0 zu Zustand 1, bewegt Stift x, wenn dieser
in Zustand 1 ist, zu Zustand 2. Ist x in einem anderen Zustand als 1, wird das Signal
ignoriert.
4.2.2. Gra�sches Bedieninterface
Das gra�sche Benutzerinterface ist in zwei Teile unterteilt, die dem Benutzer jederzeit
Interaktionen mit der Simulation ermöglichen sollen. Die Simulation ist in einem Applet
auf einer Webseite ausgeführt, auf der sich im rechten Seitenbereich eine Navigationsleiste
be�ndet, mit der die Simulation steuerbar ist.
Wird die Simulation im Vollbildmodus ausgeführt, lässt sich die Simulation ein Benutzer-
interface innerhalb der Simulation steuern. Durch einen links oben platzierten Schalter
lassen sich die Bedienelemente und Informationstexte alternativ in Englisch anzeigen. Alle
Texte und Beschriftungen des rechten Seitenbereichs sind in einer gesonderten Sprachdatei
gespeichert.
Bedien�ächen auÿerhalb des Simulationsapplets mit JQuery UI
Die Simulation kann durch auf der Webseite eingebettete Bedienelemente gesteuert werden.
Die Webseite kommuniziert über Javascript mit dem Applet und tauscht mit der im Applet
be�ndliche Simulation Informationen, wie zum Beispiel Eingabe- und Ausgabezahlen aus.
23
Abbildung 4.3.: Simulation mit Bedieninterface als Webseite im Browser. (Markierungennachträglich eingefügt.)
(A) Zeigt das Applet der Simulation. Um das Kamerabild zu drehen klickt der Benutzer
ins Bild, hält die Maustaste gedrückt und zieht die Maus. Pfeiltasten, Mausrad oder
Druck auf die Tasten + und -, erlauben das Bewegungen im Raum.
(B) Die Abspielleiste erlaubt es dem Benutzer die Simulation zu steuern. So lässt sich
die Simulation starten, anhalten und auf ihren Anfang zurücksetzen. Auf Druck des
Schalters Schritt vollzieht die Simulation genau einen Bewegungstakt. Die Schalt-
�ächeWiederholungsmodus ermöglicht es, Bewegungen des Addierwerks als End-
losschleife wiederholen zu lassen.
(C) Die Informations�äche gibt über die Brechnungsschritte der Addition Auskunft, indem
sie den Benutzer in einem interaktiven Durchlauf Schritt für Schritt über die Zustände
des Addierers informiert.
(D) Das Ein- und Ausgabefeld ermöglicht den Benutzer jederzeit Eingaben zu machen
und das Ergebnis zu sehen. Dabei wird das Ergebnis durch die Stellung der Ergeb-
nisplatten interpretiert.
(E) Durch Betätigen dieser Schalter lassen sich Schichten des Addierers sowie feste und
bewegliche Schaltstife wahlweise ein- und ausblenden. Zudem lassen sich alle Teile
durchsichtig machen.
(F) Die Simulation wechselt durch Auswahl der Sprachenschalt�ächen die Sprache des
Benutzerinterfaces und der Erklärungstexte aus.
(G) Die Hilfefunktion gibt einen kurzen Überblick zur Bedienung der Simulation. Die
Schalt�äche Expertenoptionen ö�net ein Dialogfeld, das einige erweiterte Bedien-
funktionen ermöglicht.
24
(H) Der Knopf Vollbild lässt die Simulation zwischen Vollbild und Fenstermodus wech-
seln.
Bedien�ächen innerhalb der Simulation
Die Simulation nimmt im Vollbildmodus den gesamten Bildschirm ein, so dass die Be-
dienelemente der Webseite nicht zu sehen sind. Damit immer alle zur Bedienung der Simu-
lation benötigten Funktionen verfügbar sind, werden im Fall des Vollbildmodus zusätzliche
Schalt�ächen über der Simulation angezeigt.
Abbildung 4.4.: Bedienelemente im Vollbildmodus mit eingeschalteten Transparenzmodus
25
4.2.3. Speicherformate
Die Komponenten des simulierten Addierwerks werden zweiteilig beschrieben. Zum Einen
wird die sichtbare visuelle Repräsentation durch geometrische Daten beschrieben, zum
Anderen hat jedes Teil eine logische Einheit, die vom Teil vollziehbare Bewegungen und
Zustände beinhaltet, sowie Tabellen mit zu signalisierenden Nachfolgeteilen 2 . Um diese
Simulationsdaten geordnet persistent zu speichern und Änderungen einfach realisierbar zu
machen, wurde das SVG-Formats zur Speicherung verwendet. Während des Starts des
Java Applets der Simulation werden alle Daten aus dem SVG-Dokument interpretiert und
auf Korrektheit validiert.
Listing 4.1: Auszug aus der XML-Datei zur Abschreibung der Addiererkomponenten
Das SVG-Formats speichert alle Daten für die optische Repräsentation der Addiererkom-
ponenten in einer XML-Struktur. Alle Bauteile werden als Mengen aus zweidimensionalen
Vierecken (Polygongruppen) im kartesischen Koordinatensystem de�niert.
Jede dieser Polygongruppen stellt Schaltglieder oder Schaltstifte dar und enthält in ihrer
XML-Struktur zusätzliche Informationen, die weitere Eigenschaften beschreiben:
Informationen über die absolute Position beim Start(startpos)
Au�istung über mögliche Schaltgliedzustände mit jeweils bestimmten Werten:
dreidimensionale Koordinaten (pos)
Zustandnummer des Zustands (index)
Folgeschaltglieder, jeweils mit Start- und Zielzustand.
(successorTableWhile=�,Startzustand-Zielzustand)
2siehe 4.1.1 Simulationsumgebung
26
4.3. Qualitätssicherung
Damit die Simulation auf allen Zielbetriebssystemen funktioniert wurden die Simulation
regelmäÿig auf Testcomputern verschiedener Systemkon�guration getestet.
Die Lau�ähigkeit auf Windows Betriebssystemen wurde durch einen Computer mit Win-
dows 7 64Bit und Einem mit Windows XP mit
den Browsern Internet Explorer 7 und 8, FireFox 10 und Chrome fortwährend getestet. Zur
Überprüfung der Lau�ähigkeit auf Intel-Mac Betriebssystemen wurde die Simulation mit
zwei Computern mit OS X 10.4 und den darauf üblicherweise genutzten Browsern Safari
und Firefox getestet. Für die Linux Testumgebung wurde ein Computer mit Linuxbetriebs-
system Debian 2.6.32-5-amd64 benutzt.
Die Qualitätssicherung wurde partiell kontinuierlich und nach Abschluss der Entwicklung
komplett auf allen Systemkon�gurationen durchgeführt. Die aufgezählten Systeme zeigten
die Simulation ohne nennenswerte Unterschiede und in vollem Funktionsumfang an.
4.4. Didaktischer Hintergrund
Die Simulation des Addierers der Z1 ermöglicht es dem Benutzer einfach Eingabewer-
te einzugeben, Berechnungen durchzuführen und dabei begleitend Informationen zu den
Schritten des mechanischen Addiervorgang zu erhalten.
Die Simulation zeigt die Werte der Binärzahlen zusätzlich auch als Dezimalzahlen an, um
Berechnungen leicht überprüfbar zu machen. Wird die Maus über Textpassagen geführt,
in denen Schaltplatten erwähnt werden, werden die entsprechenden Schaltplatten in der
Simulation markiert. Zwischeninformationen, wie der Übertrag der Berechnung, werden in
Textform erklärt und interaktiv in Übereinstimmung mit den korrespondierenden Schalt-
platten der Simulation verändert.
Weiter ermöglichen zahlreiche Aktionen, die in einer realen Maschine nicht möglich sind,
bessere Einblicke in die Maschine: So lassen sich Bewegungen wiederholt anzeigen, in der
Bewegung anhalten und Elemente optisch hervorheben. Schaltplatten und Schaltstifte, die
in Bewegung sind, werden zusätzlich für die Dauer ihrer Bewegung in einer anderen Farbe
dargestellt.
Das Addierwerk von Konrad Zuse ist sehr kompakt gebaut, daher werden Komponen-
ten oft von Anderen verdeckt. Hierfür bietet die Simulation Möglichkeiten an, Gruppen von
Schaltglieder ein- und auszublenden, gruppiert nach der Schicht in der sie im Patentplan
zusammengefasst sind. Darüber hinaus lässt sich der Addierer transparent darstellen, so
dass man eine bessere Sicht auf verdeckte Stellen erhält.
27
5. Fazit
Der erste Abschnitt dieses Kapitels, 5.1 Ausblick, gibt einen kurzen Überblick über die-
se Arbeit und fasst die Ergebnisse zusammen, so dass im nachfolgenden Absatz 5.2 Er-
weiterbarkeit einige Perspektiven diskutiert werden und die Erweiterbarkeit des Projekts
dargestellt wird.
5.1. Ausblick
Das Ziel dieser Bachelorarbeit war die Entwicklung einer webbasierte Simulation des Addi-
tionswerk von Konrad Zuses Z1. Der Benutzer sollte mit Hilfe der Simulation in der Lage
sein, den Addierer in Aufbau und Funktion besser zu verstehen und ihm die Möglichkeit
geben das mechanische Prinzip der Schaltglieder nachzuvollziehen.
Die Simulation sollte möglichst vielen Benutzern zugänglich gemacht werden. Dafür wur-
de in Abschnitt 3.1.2 Kompatibilität analysiert, welche Systemkon�gurationen hohe
Marktanteile haben und daher bei der Wahl der Simulatortechnologie ( 3.3.1 Simulati-
onstechnologie ) berücksichtigt werden sollen. Um die Kompatibilität der entstandenen
Anwendung zu veri�zieren, wurde eine Qualitätskontrolle ( 4.3 Qualitätssicherung) durch-
geführt, die gewährleistet, dass die Simulation auf allen Zielbetriebssystemen lau�ähig ist.
Die digitale Konstruktion des Addierers der Z1 wurde anhand des in 3.2.1 Patentschrift
beschriebenen Patentdokuments vorgenommen. Hierbei traten einige Hindernisse bei der
Interpretation der Konstruktionszeichnungen auf, so war zum Beispiel die Länge von eini-
gen Schaltstifte nicht klar feststellbar. Dies konnte durch Korrekturen behoben werden, so
dass die Funktion des Addierers hergestellt werden konnte.
Wie in Abschnitt 4.2.1 Simulationsumgebung erwähnt, wurden Simulationsprogramm
und Daten des zu simulierenden Gegenstands modular getrennt. Dies ermöglichte durch
Austauschen der in 4.2.3 Speicherformate de�nierten Resourcendatei einfaches Manipu-
lieren oder Austauschen der Simulationsdaten ohne Eingri� in den Programmcode.
Die Simulation erfüllt den didaktischen Auftrag, die Funktionsweise des Addierers der Z1
Benutzern anschaulich nahe zu bringen. Diverse Funktionen, wie das wahlweise Ein- und
Ausblenden bestimmter Teile oder das optische Hervorheben bewegender Komponenten,
28
unterstützen das Verständnis der Vorgänge des Rechenwerkes. Begleitend zum Additions-
vorgang erhält der Benutzer interaktive Textinformation, welche die Vorgänge während der
Addition verdeutlichen.
Unter Betrachtung der Anforderungen und Entwürfe der Abschnitte 3.1 Anforderungs-
analyse und 4.1 Softwarekonzept, wurde die Simulation vollständig umgesetzt. Auch wenn
der Umgang mit der Gra�kschnittstelle OpenGL zunächst unbekannt war, so lieÿen sich
doch alle gestellten Aufgaben lösen. Die Implementation der Simulation mit Hilfe der
in Abschnitt 3.3.1 Simulationstechnologie ausgewählten Java Bibliothek LWJGL funktio-
nierte zufriedenstellend und ermöglichte das gewünschte Ergebnis bei der Umsetzung der
Anforderungen.
5.2. Erweiterbarkeit
Zusätzliche Betriebssystemekompatiblität Die verwendete Bibliothek OpenGL ermöglich
auf weiteren Betriebssystemen Darstellung von 3D-Objekten. Denkbar ist beispiels-
weise eine Erweiterung für das Mobiltelefon- und Tabletbestriebssystem Android.
Weitere Teile der Z1 Durch den modularen Aufbau der Simulation und die Auslagerung
aller Eigenschaften, welche die simulierten Schaltglieder visuell und logisch ausma-
chen, lassen sich mit einem geringen Aufwand weitere Teile der Z1 erfassen und in
die Simulation einfügen.
Durch die übersichtliche Struktur des Speicherformats XML lassen sich bisheriger
Teile einfach modi�zieren, duplizieren oder entfernen. Um beispielsweise eine wei-
teres Teil des Z1 umzusetzten, wäre nur geringe Programmierarbeit notwendig, da
nach dem Erfassen und Übertragen der Daten in das Speicherformat die Simulation
die neuen Daten problemlos interpretiert werden.
Zusätzliche Werkzeuge zur Verwaltung und Erstellung von Schaltgliedern Auch wenn
auf die Komponenten der Simulation einfach zugegri�en werden kann, so erfordert
das korrekte logische Verbinden einzelner Element noch die direkte Modi�kation von
Werten innerhalb des XML-Baums, was ein hohe Maÿ an Konzentration bei der feh-
leranfälligen Bearbeitung des XML Syntax erfordert. Durch einen Editor, der diese
Schritte abstrahiert, würde das Hinzufügen, Ändern und Löschen erheblich übersicht-
licher und benutzerfreundlicher sein.
Erweiterte Mehrsprachigkeit Beschreibungstexte und Beschriftungen der Bedienober�ä-
che werden aus in einer gesonderten Sprachdatei geladen. Durch Hinzufügen weite-
rer Inhalte in dieser Datei, sowie dem Aktivieren weiterer Sprachwechselknöpfe im
Bedieninterface, lassen sich beliebig weitere Sprachen zur Erklärung des Addierers
implementieren.
29
Alternative Implementierungen Die Simulation läuft als OpenGL-Anwendung in einem
JAVA Applet. Alle notwendigen Daten der Simulation sind auÿerhalb des Simulators
in der XML-Struktur einer SVG-Datei gespeichert. So ist es einfach eine alternative
Darstellungsplatform zu implementieren, die auf die vorhandenen Daten zurückgreift.
Diese Anwendung könnte eine andere Programmiersprache oder Framework wie zum
Beispiel Html5 nutzen, um die bereits vorhanden Simulationsdaten um zu setzen.
30
A. Anhang
Abbildung A.1.: JQuery Verbreitung laut w3techs
Quelle: (wwwJsUse, 2012)
31
Abbildung A.2.: Startdialog der Simulation
Abbildung A.3.: Interaktive Schritt für Schritt Anleitung, Übertragsberechnung
32
Abbildung A.4.: Statistik:Nationale Browserstatistik von StatCounter 2011/2012
Quelle: (wwwStatBrowserDe, 2012)
Abbildung A.5.: Statistik:Nationale Browserstatistik von StatCounter 2011/2012
Quelle: (wwwStatOsDe, 2012)
33
Abbildung A.6.: Prinzipschaltung des Addierers
Quelle: (Zuse, 1952)
34
Abbildung A.7.: Beispiel: Abgemessene Konzeptzeichnungen
Quelle: (Zuse, 1952, S. 26-30, Abb. 47-61)
35
Abbildung A.8.: Gesamtansicht des Addierers im SVG-Format
36
Literaturverzeichnis
[wwwPdfXCh 1995�2012] : PDF-XChange von Tracker Software. März 1995-2012.
� URL http://www.pdf-xchange.ch/pdf-xchange-viewer/. � Zugri�sdatum:
11.05.2012
[wwwAjax 1999�2012] : AJAX Introduction. 1999-2012. � URL http://www.
w3schools.com/ajax/ajax_intro.asp. � Zugri�sdatum: 03.05.2012
[wwwHtml5Canvas 1999�2012] : HTML5: Das Web von morgen. 1999-2012.
� URL http://www.w3schools.com/html5/html5_canvas.asp. � Zugri�sda-
tum: 02.05.2012
[wwwHtml5 1999�2012] : HTML5 is The New HTML Standard. 1999-2012. � URL
http://www.w3schools.com/html5/default.asp. � Zugri�sdatum: 02.05.2012
[wwwMc 2006�2012] : Minecraft. 2006-2012. � URL http://www.minecraftwiki.
net/wiki/Minecraft. � Zugri�sdatum: 04-05-2012
[wwwAboutJs 2007] : Einführung in JavaScript und DOM. 2007. � URL http://de.
selfhtml.org/javascript/intro.htm. � Zugri�sdatum: 02.05.2012
[wwwApplets 2010] : Applets. 2010. � URL http://java.sun.com/applets/. �
Zugri�sdatum: 02.05.2012
[wwwFlash 2012] : Adobe Flash Player. 2012. � URL http://www.adobe.com/de/
software/flash/about/. � Zugri�sdatum: 22.05.2012
[wwwNeuMann 2012] : Merkmale und Komponenten der von Neumann -
Rechnerarchitektur. 2012. � URL http://www.hki.uni-koeln.de/
wisem-2009/basisinformationstechnologie-hk-medien-teil-1/
rechnertechnologie-i/merkmale-und-komponenten-der-von-neumann-0.
� Zugri�sdatum: 29.05.2012
[wwwOpenGl 2012] : OpenGL 4.2 Reference Pages. 2012. � URL http://www.
opengl.org/sdk/docs/man4/. � Zugri�sdatum: 02.05.2012
[wwwSvgF 2012] : Scalable Vector Graphics (SVG). März 2012. � URL http://www.
w3.org/Graphics/SVG/. � Zugri�sdatum: 11.05.2012
37
http://www.pdf-xchange.ch/pdf-xchange-viewer/http://www.w3schools.com/ajax/ajax_intro.asphttp://www.w3schools.com/ajax/ajax_intro.asphttp://www.w3schools.com/html5/html5_canvas.asphttp://www.w3schools.com/html5/default.asphttp://www.minecraftwiki.net/wiki/Minecrafthttp://www.minecraftwiki.net/wiki/Minecrafthttp://de.selfhtml.org/javascript/intro.htmhttp://de.selfhtml.org/javascript/intro.htmhttp://java.sun.com/applets/http://www.adobe.com/de/software/flash/about/http://www.adobe.com/de/software/flash/about/http://www.hki.uni-koeln.de/wisem-2009/basisinformationstechnologie-hk-medien-teil-1/rechnertechnologie-i/merkmale-und-komponenten-der-von-neumann-0http://www.hki.uni-koeln.de/wisem-2009/basisinformationstechnologie-hk-medien-teil-1/rechnertechnologie-i/merkmale-und-komponenten-der-von-neumann-0http://www.hki.uni-koeln.de/wisem-2009/basisinformationstechnologie-hk-medien-teil-1/rechnertechnologie-i/merkmale-und-komponenten-der-von-neumann-0http://www.opengl.org/sdk/docs/man4/http://www.opengl.org/sdk/docs/man4/http://www.w3.org/Graphics/SVG/http://www.w3.org/Graphics/SVG/
[wwwStatBrowser 2012] : Top 12 Browser Versions from Apr 2011 to Mar 2012. März
2012. � URL http://gs.statcounter.com/#browser_version_partially_
combined-ww-monthly-201104-201203. � Zugri�sdatum: 01.05.2012
[wwwStatBrowserDe 2012] : Top 12 Browser Versions in Germany from Apr 2011
to Mar 2012. März 2012. � URL http://gs.statcounter.com/#browser_
version_partially_combined-DE-monthly-201104-201203. � Zugri�sda-
tum: 01.05.2012
[wwwStatOs 2012] : Top 5 Operating Systems from Apr 2011 to Mar 2012. März 2012. �
URL http://gs.statcounter.com/#os-ww-monthly-201104-201203. � Zu-
gri�sdatum: 01.05.2012
[wwwStatOsDe 2012] : Top 5 Operating Systems in Germany from Apr
2011 to Mar 2012. März 2012. � URL http://gs.statcounter.com/
#os-DE-monthly-201104-201203. � Zugri�sdatum: 01.05.2012
[wwwTwl 2012] : TWL - Themable Widget Library. März 2012. � URL http://twl.
l33tlabs.org/. � Zugri�sdatum: 01.05.2012
[wwwJsUse 2012] : Usage of JavaScript libraries for websites. März 2012. � URL http:
//w3techs.com/technologies/overview/javascript_library/all. � Zu-
gri�sdatum: 01.05.2012
[Block-Berlitz 2011] Block-Berlitz, Marco: 2011. � mündliche Mitteilung vom
01.11.2011
[Elzer u. a. 2010] Elzer, C. ; Griesbach, S. ; Rinne, M.: HTML5: Das
Web von morgen. März 2010. � URL http://www.chip.de/artikel/
HTML5-Das-Web-von-morgen_41539437.html. � Zugri�sdatum: 11.05.2012
[Pelkmann 2011] Pelkmann, Thomas: Ungewisse Zukunft von HTML5. Juli 2011. �
URL http://www.cio.de/strategien/analysen/2279554/. � Zugri�sdatum:
22.05.2012
[Rojas 1996] Rojas, Dr. R.: Die Architektur der Rechenmaschinen Z1 und Z3 von
Konrad Zuse. In: Informatik-Spektrum (1996), Nr. 19/1996, S. 303�315
[Ullenboom 2011] Ullenboom, Christian: Java ist auch eine Insel: Das umfassende
Handbuch. 10. Au�age. Galileo Computing, 2011. � ISBN 383621802X
[Zuse o.J.a] Zuse, Dr. Horst K.: o.J.. � URL http://www.horst-zuse.homepage.
t-online.de/z2.html. � Zugri�sdatum: 01.05.2012. �
38
http://gs.statcounter.com/#browser_version_partially_ combined-ww-monthly-201104-201203http://gs.statcounter.com/#browser_version_partially_ combined-ww-monthly-201104-201203http://gs.statcounter.com/#browser_version_partially_combined-DE-monthly-201104-201203http://gs.statcounter.com/#browser_version_partially_combined-DE-monthly-201104-201203http://gs.statcounter.com/#os-ww-monthly-201104-201203http://gs.statcounter.com/#os-DE-monthly-201104-201203http://gs.statcounter.com/#os-DE-monthly-201104-201203http://twl.l33tlabs.org/http://twl.l33tlabs.org/http://w3techs.com/technologies/overview/javascript_library/allhttp://w3techs.com/technologies/overview/javascript_library/allhttp://www.chip.de/artikel/HTML5-Das-Web-von-morgen_41539437.htmlhttp://www.chip.de/artikel/HTML5-Das-Web-von-morgen_41539437.htmlhttp://www.cio.de/strategien/analysen/2279554/http://www.horst-zuse.homepage.t-online.de/z2.htmlhttp://www.horst-zuse.homepage.t-online.de/z2.html
[Zuse 1936] Zuse, Konrad: Mechanisches Schaltglied. 1936. � URL http://www.zib.
de/zuse/home.php/Papers/RechenmaschineZ1. � Zugri�sdatum: 11.05.2012
[Zuse 1952] Zuse, Konrad: Rechenvorrichtungen aus mechanischen Schaltgliedern. 1952.
� URL http://www.zib.de/zuse/home.php/Papers/RechenmaschineZ1. �
Zugri�sdatum: 11.05.2012
[Zuse o.J.b] Zuse, Konrad: Rechenvorrichtungen aus mechanischen Schaltgliedern
(Transkription). o.J.. � URL http://www.zib.de/zuse/home.php/Papers/
RechenmaschineZ1. � Zugri�sdatum: 11.05.2012. � transkribiert von R. Rojas, L.
Scharf
39
http://www.zib.de/zuse/home.php/Papers/RechenmaschineZ1http://www.zib.de/zuse/home.php/Papers/RechenmaschineZ1http://www.zib.de/zuse/home.php/Papers/RechenmaschineZ1http://www.zib.de/zuse/home.php/Papers/RechenmaschineZ1http://www.zib.de/zuse/home.php/Papers/RechenmaschineZ1
EinleitungMotivationHerangehensweise
GrundlagenKonrad Zuses Z1Mechanisches SchaltgliedDas Additionswerk
TechnologienJavaOpenGLJavascript
AnalyseAnforderungsanalyseFunktionale AnforderungenNichtfunktionale Anforderungen
MaterialanalysePatentschrift
Drittsoftware und WerkzeugeSimulationstechnologieSoftware für BedieninterfaceWerkzeuge zur Bauteilerfassung
Design und RealisierungSoftwarekonzeptSimulationsumgebungBedieninterface
ImplementationSimulationsumgebungGrafisches BedieninterfaceSpeicherformate
QualitätssicherungDidaktischer Hintergrund
FazitAusblickErweiterbarkeit
AnhangLiteratur