Nach dem Start von APL2 sind werden sofort und automatisch zwei Shared Variables deklariert. Dies kann man mit dem APL2 SVP Monitor gut beobachten:
Entweder die apl2svpt.exe im APL2 bin-Verzeichnis ausführen oder - seit CSD 8 - den Monitor einfach durch Klick auf das "APL2 SVP Monitor"-Symbols in der Werkzeugleiste aktivieren. Dort findet man unter Info/Processors die mit APL2 gestarteten Partnerprogramme: den Session-Manager (AP120), den Interpreter (AP1), den Stacksprozessor (AP101) und die ID der Sitzung.
Schaut man sich die gemeinsamen Variablen zu diesen Prozessoren an, so sieht man, dass bereits zwei Variablen zwischen dem AP120 und dem AP1 deklariert wurden: AP120_SIGNAL und APL2. Öffnet man ein APL2-Objekt in den Object Editor, so gesellt sich als dritte Variable
AP120_EDIT hinzu.
Über die Variable APL2 beschickt der Session Manager den APL2-Interpreter mit allen möglichen APL2-Anweisungen und Kontrollsignalen. Im Gegenzug erhält die Variable APL2 vom Interpreter das Ergebnis der Ausführung der Anweisung bzw. Informationen über aufgetretene Fehler.
Es geht aber auch ohne den Session Manager. Jedes beliebige selbst geschriebene Programm kann über das APL2 SVP Programming Interface die Variable APL2 ansprechen. Sobald der Interpreter als AP 1 ein Angebot für eine gemeinsame Variable namens APL2 erhält, wird dieses auch akzeptiert und der Interpreter erhält seine Anweisungen von jenem Programm.
So kann jeder, der der C-Programmierung mächtig ist seinen eigenen Session Manager schreiben. Ich kann mir aber kaum vorstellen, das dies irgend jemand ernsthaft tun würde.
Die Kommunikation mittels der Variablen APL2 mit dem Interpreter wird im User's Guide unter der Überschrift "Shared Variable Interpreter Interface" ab Seite 120 beschrieben. Das "SVP Programming Interface" ist dort wird ab Seite 604 dokumentiert.