In „Turingmaschine 2“ beschäftigten sich Studierende der Fachrichtungen Informatik und Informatik-iCompetence mit der Entwicklung eines Turingmaschinen-Simulators.
Dieser trägt den Namen ATURI und ist als Lehrapparat für den Gebrauch im Unterricht an der FHNW vorgesehen. In namentlicher Anlehnung an die weithin bekannten Konsolen aus den 70er und 80er Jahren, vermittelt ATURI auf spielerische Art und Weise die theoretischen Grundlagen einer Turingmaschine. Besondere Schwerpunkte liegen darüber hinaus in puncto Design, Konstruktion und Haptik.
| Sprachen | Java, CSS, HTML, XML |
| Datenbanken | SQLite |
| Betriebssystem | Raspberry Pi OS |
Das primäre Projektziel liegt in einer transparenten, Kunden- und Lösungsorientierten Entwicklung des Produkts. Diesem Credo folgend wurde ATURI im Lauf des Projekts den Anforderungen der Studierenden und Dozierenden immer weiter angepasst und alle weiteren Ziele untergeordnet. Die folgende Auflistung geht darüber hinaus ins Detail:
Wichtige Ziele auf Hardwareseite waren ein unkomplizierter Systemaufbau vor Ort, eine hohe Portabilität und ein fester Stand des Produkts, die Robustheit des Gehäuses gegenüber unsachgemässer Handhabe wie Stürze aus 30cm Höhe und Spritzwasserschäden, ein hohes Mass an Reparaturfähigkeit durch einfachen Zugang zu allen Komponenten, eine sehr leichte Reproduzierbarkeit des Aufbaus und eine einfache Möglichkeit diesen zu erweitern.
Ebenso soll die Handhabe der Hardware keiner weiteren Erklärung bedürfen, also intuitiv bedienbar sein, sie sollte uneingeschränkt für die Verwendung in hellen Klassenzimmern und für den Einsatz vor Videokameras geeignet sein und wenig bis kein Zubehör benötigen. Nicht zuletzt sollte ATURI auch ein visuelles und haptisches Erlebnis bieten können, welches dem Auge gefällt und zur Bedienung einlädt, obgleich es unverkennbare Ähnlichkeiten zu Arkade-Maschinen aus den frühen 80er Jahren aufweisen sollte.
Wichtige Ziele seitens der Software waren eine saubere, einheitliche Gestaltung der Benutzeroberflächen, welche sich auf die wesentlichen Elemente fokussiert und so gut als möglich intuitiv bedienbar ist. Eine didaktisch gute Aufbereitung des Spiels für Studierende, und eine einfache Erweiterbarkeit der Spielaufgaben durch Dozierende standen ebenso im Vordergrund, wie auch Notation und Theoriegebrauch den Vorlesungsunterlagen entsprechen sollten. Durch möglichst hohe Codestabilität, ausreichende Code-Dokumentation und die Verwendung aktueller Programmiersprachen und -paradigmen sollte ein gute Codequalität erreicht werden.
Als Dozentin der theoretischen Informatik war es unserer Kundin ein besonderes Anliegen die Theorie hinter der Turingmaschine didaktisch wertvoll zu vermitteln. Die gemeinsame Ausgangslage war in diesem Fall, dass es keine Apparatur gab, welche auf Soft- und Hardwareebene im Unterricht zu überzeugen wusste. So gab es aufwendige Konstruktionen, welche aber nicht die nötige Didaktik transportierten und gut durchdachte theoretische Ansätze, denen die physikalische Analogon fehlte. Gesucht war ein Gerät, welches beide Aspekte gleichermassen vereinte.
ATURI ist das Ergebnis eines einjährigen Entwicklungsprozesses, ein immer wiederkehrender Aspekt war in diesem war der Begriff des «Understand» - wir kamen zu unserem Endprodukt durch in immer besseres Verständnis der Voraussetzungen, Anforderungen und Gewichte der einzelnen Arbeitspakete.
Das Projektteam hat sich für einen 3D-Druck des Aufbaus entschieden, um nicht nur im Software-, sondern auch im Hardwarebereich iterativ vorgehen zu können. Das führte dazu, dass Prototypen sowohl virtuell optimiert werden konnten als auch per 3D-Druck jederzeit plastisch reproduzierbar waren. Ein Vorteil, der auch eine gemeinsame Entwicklung während geltender Einschränkungen auf Grund der COVID19-Pandemie begünstigte. So ergaben sich die folgenden Ergebnisse seitens der Hardware:
Äussere Masse des Gehäuses konnten auf ein notwendiges Minimum reduziert werden, Materialverbrauch und Gewicht konnten optimiert werden, ohne nennenswerten Mehraufwand war es zudem möglich Fall- und Belastungstests durchzuführen. Weiters konnten Systemkomponenten sauber montiert und besonders im IO-Bereich nahtlos integriert werden. Auch dem Design waren somit wenige Grenzen gesetzt und es wurden Stilelemente verwendet, welche andernfalls nur sehr aufwändig, oder unzureichend genau hergestellt werden könnten.
Ein grosses, Multitouch-Panel wurde als primäres Interaktionsinstrument gewählt. Dieses ermöglicht jene flexible Gestaltung der UI-Elemente und interaktive Bedienung, welche für einen didaktisch hochwertigen Unterricht notwendig ist und andernfalls sehr einschränken würde. Durch die Integration eines funktionsfähigen Bands der Turingmaschine, konnte eine praxisnahe Veranschaulichung der theoretischen Abläufe gegeben werden. Über 30 7-Segment- und 14-Segment-Displays können hier Bandinhalte, Bandbewegungen und auch der Schreib-Lesekopf des Bandes visualisiert werden. Viele Elemente in einfarbiger Beleuchtung, manche auch in 8bit RGB Farben.
Die Softwareebene kann durch die saubere Integration einer Datenbank und die Implementation eines Touch-freundlichen UIs überzeugen. Die Softwarearchitektur entspricht dem gängigen MVC Modell, der Code konnte durch Unit-Tests, und – dort, wo keine Unittests möglich waren – über eigene Testprogramme auf Fehler überprüft werden.
Das UI von ATURI wurde dem Aussehen seiner Vorbilder im Arkade-Bereich nachempfunden, schliesslich konnten die einzelnen Spieleelemente der Notation angepasst werden, die Möglichkeit LaTex Code darzustellen vereinfacht die Usability.
ATURI besitzt drei Anwendungsszenarien, welche einen Erklärmodus, einen Spielmodus und einen «Diagram-Builder» beinhalten. Während über ersteren die Bedienung und das Verhalten von ATURI beigebracht werden, dient der Spielmodus den eigentlichen Aufgabenstellungen und dem Wissenserwerb. Der Diagram-Builder ist dazu da den Dozierenden die Möglichkeit zu geben eigene Aufgaben für das Spiel zu gestalten.
Im folgenden wichtige Eckdaten zum Projekt
| Projektdauer | Aufwand | Teamgrösse | Art der Arbeit |
| 2 Semester | >2130 PS | 6 - 7 Personen | Semesterprojekt |
Lucia diCaro
Dozentin FHNW
| Name | Semester 1 | Semester 2 | |
![]() |
Aira Manalo | Usability Management | – |
![]() |
Christian Gemesí | Quality Management | Requirements Engineering |
![]() |
Kyle Egli | – | Test Management |
![]() |
George Rowlands | Requirements Engineering | Software Architecture |
![]() |
Raphael Lüthy | Software Architecture | Project Management |
![]() |
Robin Schwaller | Test Management | – |
![]() |
Sebastian Romanek | Project Management | Usability Management Information Management |
![]() |
Simona Mavilio | Information Management | Quality Management |
| Mike Freuler | – | – | |
| Rafael Eberle | – | – | |
| Karin Cyril | – | – |
Bernhard Wyss
Dozent FHNW