Kasimir — der Münsteraner Logikevaluator
Rainer Glaschick, Paderborn
2012-07-18
Dieser Bericht gibt eine Übersicht über die bislang vorliegenden Informationen zu Kasimir, dem in Münster von G. Hasenjaeger nach dem Vorbild des in München von F.L. Bauer entworfenen Logikevaluators Stanislaus.
Hintergrund
In seinem Artikel von 1987 [Hasenjaeger1987] berichtet Gisbert Hasenjaeger, dass Mitte der 50er Jahre F.L. Bauer im Logistischen Seminar in Münster auch über ein elektromechanisches Modell für die klammerfreie Evaluierung von logischen Ausdrücken berichtet habe und Hans Hermes angeregt habe, in Münster ein ähliches Gerät zu bauen:
H. HERMES suggested that I should make a specimen of STANISLAUS
for our institute, and F.L. BAUER sent me a blueprint of his version.
Dieser Plan fand sich vor einigen Tagen in Unterlagen von G. Hasenjaeger; er ist als Scan beigefügt [PlanStanislaus]
Hasenjaeger schreibt 1957 in einem privaten Brief [Hasenjaeger1957]:
… gerade ist der Stanislaus so weit fertig geworden, dass man ihn
prüfen kann. Es fehlt für die 1. Vorführung nun noch die Platte,
auf der die Einstellungen ablesbar sind. Und für die endgültige
Form noch das automatische Durchspielen der Variablen.
Inwieweit Kasimir bei der 1988 geplanten Ausstellung im Deutschen Museum eine Rolle gespielt hat, ist noch zu klären.
Bauers Stanislaus
Die Maschine ist im wesentlichen in F.L. Bauers Artikel von 1960 [Bauer1960] beschrieben; diese Beschreibung erscheint ausreichend, die Maschine nachzubauen, auch wenn einige Details dazu auszuarbeiten sind.
Allerdings fehlt eine Verbindung im Schaltplan1, die jedoch im Originalplan [PlanStanislaus] enthalten ist.
Die von Bauer verwendete Lösung benötigt eine der Anzahl der Terme proportionale Anzahl von Umschaltkontakten in den mittleren Stufen.
Die Lösung besteht dabei darin, dass jede Stufe soviele Eingänge hat wie Terme rechts von ihr offen sein können, und dass je nach geschalteter Art der Stufe:
- bei einer Variablen deren Wert an den niedrigsten und die anderen Werte an den nächsthöheren Ausgang gelegt werden,
- bei einem unären Operator nur der niedrigste Eingang verarbeitet und die anderen unverändert weitergereicht werden,
- bei einem binären Operator die beiden niedrigsten Eingänge zu dem niedrigsten Ausgang vereint werden und die anderen Eingänge um eine Position verschoben weitergereicht werden.
Dies entspricht bei einem Keller- oder Stapelspeicher (stack) dem Kellern einer Variablen und dem Entkellern bei einem binären Operator.
Die Prüffunktion wird durch einen weitere Eingang realisiert, der bei einer
korrekten Formel an den Ausgang der ersten Stufe 10
gelegt sein muss.
Diese Prüffunktion ist unabhängig von der Evaluation;
dass beide alternativ sind, ist wohl nur aus didaktischen Gründen so realisiert???
Beschreibung der Schaltung von Bauers Stanislaus
Der Schaltplan zeigt die Stufen 0
bis 10
mit jeweils den Relais A
, B
, X
und Y
,
sowie auf der linke Seite die Schalter für die Eingabevariablen p
, q
, r
, s
und t
,
die Ergebnisschaltung mit dem Relais K
und den beiden Ergebnislampen
(rot und gelb), die Prüflampe (blau),
den Umschalter für den Prüf- und Auswertebetrieb,
sowie das Netzteil.
Dessen Pluspol geht an alle Relais und die Kontrollampen für die Variablen.
Der Minuspol geht über die Tasten für die Termauswahl an die Relais A
und B
.
Im Prüfbetrieb wird der Minuspol in Stufe 0 als Prüfsignal eingespeist;
das Relais A
wird hier direkt durch die Variablen-Eingabeschalter ersetzt.
Im Auswertebetrieb wird der Minuspol an die Schalter für die Eingangsvariablen,
die logischen Berechnungsschaltungen,
sowie den Umschaltekontakt für die Ergebnislampen gelegt.
In diesem Fall wird das Ergebnis durch das Relais K
festgestellt und
mit dessen Umschaltkontakt eine der beiden Ergebnislampen versorgt.
Die Bezeichnungen für die vier binären Operatoren sind:
C: Conjunktion D: Disjunktion E: Äquivalenz I: Implikation
(Im zweiten Absatz und der Fig. 3 des Artikels werden K
, A
, E
und C
verwendet):
Pro Term sind 11 gegenseitig auslösende Tastschalter vorgesehen; die damit möglichen 11 Term-Elemente sind damit:
- Neutral (
O
) - Negation (
N
), unärer Operator - vier binäre Operatoren
- fünf Variablenwerte ()
Bis auf die Stufen 0 und 1 verwendet jede Stufe vier Relais
mit den Bezeichnungen A
, B
, X
und Y
.
Da die Stufe 0 nur eine Variable bereitstellen kann, ist kein Relais notwendig;
Stufe 1 kann nur eine Negation sein und ist daher auch vereinfacht.
Relais A
wird aktiv, wenn in der Stufe eine Variable bereitgestellt wird,
und Relais B
, wenn eine (vier verwendeten) binären Operatoren eingestellt ist.
Die Relais X
und Y
übertragen den oder die Operanden in die logische
Auswerteschaltung.
In der obersten Reihe der Stufen sind die Kontakte der Variablenschalter
gezeigt, die ggf. Relais A
aktivieren.
Darunter befindet sich ein Bus für die Variablenwerte,
die über einen zweiten Kontaktsatz der Variablenschalter an den Ausgang
der Stufe gelegt werden können.
Darunter ist die Kombinationslogik für die Operatoren dargestellt.
Darunter werden die Term-Relais X
und Y
durch Umschaltkontakte
von A
und B
(darunter) gesteuert.
Die Relais A
und B
werden wie folgt angesteuert:
- bei einer Variablen ist
A
aktiv undB
inaktiv - bei einem unären Operator ist keines aktiv
- bei einem binären Operator ist
B
aktiv undA
inaktiv.
Damit ergibt sich für X
und Y
:
- Bei einer Variablen sind
X
undY
inaktiv, da der Umschaltkontakt vom aktiven RelaisA
das RelaisX
vom Eingang trennt. Daher liefert das Kombinationsnetzwerk keinen Strom, so dass eine Rückwirkung auf die Variablen nicht gegeben ist. - Bei einem unären Operator wird der niedrigstwertige Eingang durch
X
ausgewertet und der Ausgang durch das Kombinationsnetzwerk gesteueret. - Bei einem binären Operator wird zusätzlich durch Relais
B
der zweitniedrigste Eingang durch RelaisY
ausgewertet und die höheren Eingange um eins versetzt weitergegeben.
Hasenjaegers Kasimir
Erhalten sind eine im wesentlichen vollständiges Exemplar ([DR001] und [DR002]), das 2011 von Frau Prof. Rödding (Münster) bereitgestellt wurde, und ein nicht fertiggestelltes und weniger gut erhaltenes, noch nicht fertiges Exemplar, das im Keller des Hasenjaegerschen Hauses in Plettenberg 2012 entdeckt wurde.
Gegenüber dem Stanislaus werden 10-stellige Schalter verwendet, die
mit dem darüberliegenden Kippschalter entweder einen Funktor (linke Beschriftung)
oder eine Variable (rechte Beschriftung) auswählen.
Daher sind auch 8 (anstelle von 5) Variablen möglich.
Die Bereitstellung von W
und F
ist unklar.
Die auf der linken Seite befindlichen Symbole für logische Funktoren könnten wie folgt zugeordnet sein:
0 0 1 1 x 0 1 0 1 y ----------- 0 0 0 0 F, Kontradiktion ∧ 0 0 0 1 Konjunktion +> 0 0 1 0 Negierte Implikation 0 0 1 1 x <+ 0 1 0 0 <+> 0 1 1 0 Antivalenz ∨ 0 1 1 1 Disjunktion ̅∨ 1 0 0 0 negierte Disjunktion <-> 1 0 0 1 Äquivalenz 1 0 1 0 ¬y -> 1 0 1 1 Implikation 1 1 0 0 ¬x <- 1 1 0 1 Konversion ̅∧ 1 1 1 0 negierte Konjunktion 1 1 1 1 W, Tautologie
Anhand der tatsächlichen Verdrahtung ist zu prüfen, ob tatsächlich die Negation einer Variablen nicht vorgesehen ist.
Bei Kasimir sind lediglich 9 (anstelle von 11 wie beim Stanislaus) Terme möglich. Pro Term sind (wie beim Stanislaus) 4 Relais vorgesehen; allerdings, wie weiter unten dargestellt, in einer anderen Schaltungstechnik. Beim Stanislaus steigt die Anzahl der Kontakte für die mittleren Relais mit der Anzahl der Terme, so dass ggf. mehrere Relais parallel geschaltet werden müssten.
Für die 10-stufigen Schalter wurden Drehwähler der Post zerlegt und umgebaut.
Bei den Relais handelt es sich um Flachrelais der Post.
Für die Eingabe und Auswertung gibt es eine getrennte Einheit [DR002]. Diese ist vermutlich auch deshalb getrennt, um das Gerät transportieren zu können.
Diese Eingabe-Einheit hat Schalter für die acht Variablen `U_1` bis `U_8`, sowie einen Umschalter, um die Wohlgeformtheit der Formel zu prüfen oder das Ergebnis anzuzeigen.
Die beiden Flachrelais im Hintergrund sind vermutlich ein Taktgenerator. Ferner ist ein Drehwähler vorhanden, der vermutlich vom Taktgenerator angesteuert wird und einen mehrphasigen Takt erzeugt. Entsprechend obiger Bemerkung können damit Kombinationen von Variablen durchgespielt werden; es sind jedoch nicht mehr als 5 Variablen möglich, da der Drehwähler weniger als 64 Positionen hat.
Auf der rechten Seite ist ein durch eine Holzhaube verschlossener Mehrfachstecker mit 20 Kontakten gleicher Art wir auf der rechten Seite; ein Kurzschlusstecker verbindet die Kontakte 14 und 15 (von links gezählt);
Drehschalter
Die Drehschalter sind aus Teilen selbstgebaut. Sie haben zwei Sätze mit jeweils 10 Stellungen. Die Angaben in Klammern sind die Farben der Verbindungen, gleiche Farben bedeuten aber nicht Verbindung, da Farben mehrfach vorkommen.
Der erste (linke) Satz hat den gemeinsamen Kontakt (sw), die weiteren Kontakte sind
W F U8 U7 U6 U5 U4 U3 U2 U1 -- bl ge rt we ge bl ge rt we
Rechte Ebene hat 3 Ebene Kontakte, die mit dem gemeinsamen Kontakt (we) verbunden werden
10 9 8 7 6 5 4 3 2 1 L rt -- -- -- rt we rt we rt ??? M -- ge rt bl ge -- rt ge we we R ge -- -- -- bl bl bl bl ge --
Relais:
Hasenjaeger verwendet vier Relais je Stufe, mit folgenden Kontakten:
- 6xEin
- 6xEin
- 2xUm
- 1xUm
Die beiden letzteren bilden einen Baum, der den Eingang entsprechend der binären Wertigkeit der beiden Aktivierungsleitungen auf vier Leitungen (lt. Notiz mit den Farben rt, we, ge, bl) verteilt.
Anlagen
Literatur
- Bauer1960:
- Bauer, F. L.: The Formula-Controlled Logical Computer Stanislaus (1960)
- Hasenjaeger1957:
- aus einem Brief an seine Frau vom 17.7.1957, nicht veröffentlicht
- Hasenjaeger1987:
- Hasenjaeger, G.: On the early history of register machines (1987)
1Verbindung von
W
im Zustand Evaluation links vom Relais F
zum Fusspunkt
der Schalter zum Setzen der Variablen