<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Linda_%28Programmiersprache%29</id>
	<title>Linda (Programmiersprache) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Linda_%28Programmiersprache%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Linda_(Programmiersprache)&amp;action=history"/>
	<updated>2026-06-09T14:54:36Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Linda_(Programmiersprache)&amp;diff=676222&amp;oldid=prev</id>
		<title>imported&gt;Justus42: /* growthexperiments-addlink-summary-summary:2|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Linda_(Programmiersprache)&amp;diff=676222&amp;oldid=prev"/>
		<updated>2024-09-02T18:35:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:2|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Linda&amp;#039;&amp;#039;&amp;#039; ist eine [[Programmiersprache]] für [[Verteiltes Rechnen|verteilte Programmierung]]. Sie wurde Mitte der 1980er Jahre von [[David Gelernter]] an der [[Yale-Universität]] entwickelt.&amp;lt;ref&amp;gt;David Gelernter, Nicholas Carriero, Sarat Chandran, and Silva Chang. “Parallel programming in linda”. In &amp;#039;&amp;#039;International Conference on Parallel Processing&amp;#039;&amp;#039;, pages 255–263, 1985.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konzept ==&lt;br /&gt;
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. &amp;#039;&amp;#039;Tuple Space&amp;#039;&amp;#039;) als einer abstrakten Umgebung aus, die die Basis für Lindas Kommunikationsmodell darstellt. Verschiedene [[nebenläufigkeit|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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Die hieraus resultierende zeitliche und aufgrund der Verteilung auch räumliche [[Entkoppelung]] ermöglicht einen Entwurf verteilter Protokolle, die flexibel und robust auf die Herausforderungen verteilter Programmierung durch Latenz, erhöhten Synchronisationsaufwand und mögliche Teilausfälle des Systems reagieren können.&lt;br /&gt;
&lt;br /&gt;
Die erste Spezifikation von Linda besaß einen einzigen globalen Tupelraum. Die naheliegende Erweiterung des Konzepts auf mehrere Tupelräume folgte mit der Spezifikation von Melinda.&amp;lt;ref&amp;gt;Susanne Hupfer. &amp;#039;&amp;#039;Melinda: Linda with multiple tuple spaces&amp;#039;&amp;#039;, 1990.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Erweiterungen, beispielsweise um nicht-blockierende Operationen und Stapel-Operationen (&amp;#039;&amp;#039;bulk operations&amp;#039;&amp;#039;), folgten 1998.&amp;lt;ref&amp;gt;Antony I. T. Rowstron and Alan Wood. “Solving the linda multiple rd problem using the copy-collect primitive”. &amp;#039;&amp;#039;Science of Computer Programming&amp;#039;&amp;#039;, 31 (2–3): 335–358, 1998.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Implementierungen ==&lt;br /&gt;
Die erste Linda-Implementierung wurde 1984 von Carriero umgesetzt.&amp;lt;ref&amp;gt;David Gelernter. “Generative communication in linda”. &amp;#039;&amp;#039;ACM Trans. Program. Lang. Syst.&amp;#039;&amp;#039;, 7 (1): 80–112, 1985.&amp;lt;/ref&amp;gt; Eine beträchtliche Anzahl weiterer Implementierungen in unterschiedlichen Programmiersprachen wie [[Prolog (Programmiersprache)|Prolog]], [[C (Programmiersprache)|C]], [[C++]] (CppLINDA)  oder [[Java (Programmiersprache)|Java]] ([[JavaSpaces]]) folgten. Die Standardbibliothek (stdlib) von [[Ruby (Programmiersprache)|Ruby]] enthält eine [[Implementierung]] namens Rinda.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://ruby-doc.org/stdlib-2.7.0/libdoc/rinda/rdoc/Rinda.html Rinda]&lt;br /&gt;
* [https://sourceforge.net/projects/cpplinda CppLINDA]&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprache]]&lt;br /&gt;
[[Kategorie:Verteiltes Rechnen]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Justus42</name></author>
	</entry>
</feed>