Zirkuläre Abhängigkeit

Zirkuläre Abhängigkeit

Eine zirkuläre Abhängigkeit (auch „wechselseitige Abhängigkeit“) kann überall dort auftreten, wo verschiedene Elemente voneinander abhängen, das können Softwarekomponenten oder Arbeitsschritte sein. Generell führen zyklische Abhängigkeiten oft zu Teufelskreisen oder Verklemmungen (deadlocks).

Softwareentwicklung

In der Softwareentwicklung liegt eine zirkuläre Abhängigkeit vor, wenn eine Komponente A von einer Komponente B abhängt (A→B) und Komponente B wiederum von Komponente A (B→A). Dabei muss die Abhängigkeit nicht direkt sein, sondern kann auch indirekt (über die reflexiv-transitive Hülle) gebildet werden, d. h. wenn z. B. A abhängig ist von B (A→B) und B abhängig ist von C (B→C) und C wiederum von A abhängig ist (C→A) so sind A und C zirkulär abhängig zueinander (A↔C).

Solche Abhängigkeiten können zu großen Problemen führen, wie das folgende Beispiel zeigt.

In der Programmiersprache C gibt es Includedateien (sie enden üblicherweise auf „.h“). Nun kann eine Includedatei weitere Includedateien beinhalten. Wenn Datei „A.h“ die Datei „B.h“ einbindet und die Datei „B.h“ die Datei „C.h“ einbindet ist noch alles in Ordnung. Falls nun die Datei „C.h“ die Datei „A.h“ einbindet, ist eine zirkuläre Abhängigkeit entstanden. Dem Compiler ist es unmöglich, dies zu kompilieren, da er „im Kreis rennt“.

Graphentheorie

In der Graphentheorie liegt eine zirkuläre Abhängigkeit genau dann vor wenn in einem gerichteten Graphen ein Zyklus vorliegt.

Arbeitsschritte

Ein weiteres (fiktives) Beispiel aus dem „täglichen Leben“ zeigt, wie zirkuläre Abhängigkeiten Prozesse blockieren können:

Um eine Aufenthaltserlaubnis zu bekommen, muss ein Ausländer einen Arbeitsplatz nachweisen. Damit er aber von einer Firma eingestellt wird, benötigt er einen gemeldeten Wohnsitz. Um aber vom Vermieter akzeptiert zu werden braucht er eine Aufenthaltserlaubnis. Damit schließt sich der Kreis. Solange die zirkuläre Abhängigkeit nicht durchbrochen wird, wird er in dem Land nicht dauerhaft leben können.


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Zirkuläre Abhängigkeiten — Eine zirkuläre Abhängigkeit (auch „wechselseitige Abhängigkeit“) kann überall dort auftreten, wo verschiedene Elemente voneinander abhängen, das können Softwarekomponenten oder Arbeitsschritte sein. Generell führen zyklische Abhängigkeiten oft zu …   Deutsch Wikipedia

  • Dead Lock — Beispiel für einen Deadlock Deadlock oder Verklemmung bezeichnet in der Informatik einen Zustand, bei dem ein oder mehrere Prozesse auf Betriebsmittel warten, die dem Prozess selbst oder einem anderen beteiligten Prozess zugeteilt sind. Eine… …   Deutsch Wikipedia

  • Interagieren — Interaktion bezeichnet das wechselseitige Aufeinandereinwirken von Akteuren oder Systemen und ist eng verknüpft mit den übergeordneten Begriffen Kommunikation, Handeln und Arbeit. Manchmal werden diese Begriffe sogar synonym verwendet.… …   Deutsch Wikipedia

  • Livelock — Beispiel für einen Deadlock Deadlock oder Verklemmung bezeichnet in der Informatik einen Zustand, bei dem ein oder mehrere Prozesse auf Betriebsmittel warten, die dem Prozess selbst oder einem anderen beteiligten Prozess zugeteilt sind. Eine… …   Deutsch Wikipedia

  • Verklemmung — Beispiel für einen Deadlock Deadlock oder Verklemmung bezeichnet in der Informatik einen Zustand, bei dem ein oder mehrere Prozesse auf Betriebsmittel warten, die dem Prozess selbst oder einem anderen beteiligten Prozess zugeteilt sind. Eine… …   Deutsch Wikipedia

  • Deadlock — oder Verklemmung bezeichnet in der Informatik einen Zustand, bei dem ein oder mehrere Prozesse auf Betriebsmittel warten, die dem Prozess selbst oder einem anderen beteiligten Prozess zugeteilt sind. Eine Abart der Verklemmung ist der Livelock… …   Deutsch Wikipedia

  • Interaktion — bezeichnet das wechselseitige Aufeinandereinwirken von Akteuren oder Systemen und ist eng verknüpft mit den übergeordneten Begriffen Kommunikation, Handeln und Arbeit. Manchmal werden diese Begriffe sogar synonym verwendet. Inhaltsverzeichnis 1… …   Deutsch Wikipedia

  • Polarisation — Die Polarisation einer Transversalwelle beschreibt die Richtung ihrer Schwingung. Ändert sich diese Richtung schnell und ungeordnet, spricht man von einer unpolarisierten Welle. Der Polarisationsgrad gibt den geordneten Anteil an. Bei in… …   Deutsch Wikipedia

  • Doppelbrechung — im Kristall Doppelbrechung beim Calcit Als Doppelbrechung …   Deutsch Wikipedia

  • Overlap-Add-Verfahren — Das Overlap Add Verfahren ist ein Verfahren zur Schnellen Faltung und wird in der digitalen Signalverarbeitung eingesetzt. Dabei wird eine Eingangsfolge in einander überlappende Teilfolgen zerlegt und die Überlappungsbereiche, im Gegensatz zum… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”