Common Language Infrastructure Standard (CLI)

Was ist der Common Language Infrastructure Standard?

Es handelt sich bei der Common Language Infrastructure Standard, kurz CLI, um eine offene Spezifikation (technischer Standard), die von Microsoft entwickelt und von ISO und ECMA standardisiert wurde. Sie beschreibt ausführbare Codes, die für mehrere Sprachen auf Computerplattformen verwendet werden können, ohne für bestimmte neu geschrieben werden zu müssen. Dies bedeutet, dass es plattformunabhängig ist.

Die CLI-Spezifikation beschreibt unter anderem die folgenden vier Aspekte:

  • Das gemeinsame Typsystem (CTS): Eine Reihe von Datentypen und Operationen, die von allen CTS-kompatiblen Programmiersprachen gemeinsam genutzt werden.
  • Die Metadaten: Informationen über die Programmstruktur sind sprachunabhängig, sodass zwischen Sprachen und Werkzeugen referenziert werden kann.
  • Die gemeinsame Sprachspezifikation (CLS): Eine Reihe von Basisregeln, denen jede Sprache, die auf die Befehlszeilenschnittstelle abzielt, entsprechen sollte, um mit anderen CLS-kompatiblen Sprachen zusammenzuarbeiten.
  • Das virtuelle Ausführungssystem (VES): Das VES lädt und führt CLI-kompatible Programme aus und verwendet die Metadaten dazu, separat erzeugte Codeabschnitte zur Laufzeit zu kombinieren.

Alle kompatiblen Sprachen werden nach Common Intermediate Language (CIL) kompiliert, einer Zwischensprache, die von der Plattformhardware hergeleitet wird. Wenn der Code ausgeführt wird, kompiliert das plattformspezifische VES das CIL gemäß der spezifischen Hardware und dem Betriebssystem zu der Maschinensprache.

Die Standardisierung von Common Language Infrastructure Standard

Im August 2000 arbeiteten Microsoft, Hewlett-Packard, Intel und andere daran, Common Language Infrastructure Standard zu standardisieren. Bis Dezember 2001 wurde es von der ECMA anerkannt, die ISO-Normung folgte im April 2003. Die Patente gehören derzeit Microsoft. ECMA und ISO verlangen, dass alle für die Umsetzung notwendigen Patente unter ,,angemessenen und nicht diskriminierenden Bedingungen” zur Verfügung gestellt werden. Es ist üblich, dass für die Lizenzierung eine Lizenzgebührenzahlung erforderlich ist.

Seit Juli 2009 hat Microsoft Common Language Infrastructure Standard zur Liste der Spezifikationen hinzugefügt, auf die sich das Microsoft Community Promise bezieht, damit jeder bestimmte Ausgaben der Standards sicher implementieren kann, ohne eine Patentklage von Microsoft befürchten zu müssen. Die Implementierung des Common Language Infrastructure Standard erfordert die Konformität mit einem der unterstützten und definierten Profile des Standards, dessen Minimum das Kernel-Profil ist. Das Kernel-Profil ist eigentlich eine sehr kleine Gruppe von Typen, die im Vergleich zu der bekannten Kernbibliothek von Standard-.NET-Installationen unterstützt werden. Die Conformance-Klausel der Common Language Infrastructure Standard ermöglicht jedoch die Erweiterung des unterstützten Profils durch Hinzufügen neuer Methoden und Typen zu Klassen.

Dies ermöglicht jedoch nicht das Hinzufügen neuer Mitglieder zu den Schnittstellen. Dies bedeutet, dass die Funktionen der Common Language Infrastructure Standard verwendet und erweitert werden können, solange die konforme Profil-Implementierung das Verhalten eines Programms, das auf diesem Profil ausgeführt werden soll, nicht ändert und nicht spezifiziertes Verhalten von Programmen ermöglicht, die speziell für diese Implementierung geschrieben wurden.

Im Jahr 2012 veröffentlichten ECMA und ISO die neue Ausgabe des CLI-Standards, die nicht vom Community Promise abgedeckt wird.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenlose SEO Analyse


Weitere Inhalte