46

Webbasierte 3D-Simulation des Z1 Addierers von Konrad Zuse · 2012. 6. 14. · Schaltglieder. (Zuse, o.J.a) Das Nachfolgemodell, die Z3 , übernahm die logische Struktur der Z1 ,

  • 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