Ziel von Linda ist es, Prozessen einer Anwendung zu erlauben, miteinander zu kommunizieren, ohne identifizierende Information voneinander zu besitzen. Die ursprüngliche Spezifikation von Linda geht von einem Tupelraum (engl. Tuple Space) als einer abstrakten Umgebung aus, die die Basis für Lindas Kommunikationsmodell darstellt. Verschiedene nebenläufige Prozesse eines verteilten Programms kommunizieren über einen gemeinsamen Tupelraum dadurch, dass jeder dieser Prozesse diesem Tupelraum beliebig Tupel hinzufügen und Tupel daraus entfernen kann.
Ein Prozess A lässt einem Prozess B Information zukommen, indem er eine gebündelte Menge von Werten, ein Tupel, im Tupelraum ablegt. Prozess B kann anschließend das Tupel lesen oder es aus dem Tupelraum entfernen, womit der Kommunikationsakt abgeschlossen ist. Der Prozess A benötigt weder einen Namen, eine Adresse oder sonstige identifizierende Information von Prozess B; für Prozess A ist es völlig irrelevant, ob Prozess B oder irgendein beliebiger anderer Prozess, mehrere Prozesse oder kein Prozess das Tupel liest. Derjenige Prozess, der das Tupel des Prozesses A entnimmt, muss nicht einmal zur gleichen Zeit wie Prozess A aktiv sein oder existieren. Das von A generierte Tupel ist von seinem Erzeugerprozess vollkommen unabhängig, das bedeutet, dass Prozess A zum Zeitpunkt der Entnahme seines Tupels durch Prozess B schon lange beendet sein kann.
Ausführliche Informationen über die Programmiersprache Linda befinden sich im Anhang. |