Occam

Occam ist eine Programmiersprache für parallele Architekturen Inmos für die Programmierung von Netzen der Transputer entwickelt und in der Folge auch für andere Plattformen implementiert. Der Name bezieht sich auf den Grundsatz der Ockhams Rasiermesser: das Design der Sprache wurde der Inmos zu einem Mindestsatz an Konstrukte beschränkt, werden eingeführt, wie es schien nicht "unbedingt notwendig" für die Zwecke der Sprache. In der Tat können Occam auch als Programmiersprache relativ niedrigen Niveau, fast eine Art Montage beschrieben. Das Modell, in dem die Sprache wird von den Communicating Sequential Processes inspiriert werden von CAR Hoare in dem berühmten Buch mit dem gleichen Namen beschrieben.

Sprache Übersicht

Channels

Kommunikation zwischen Prozessen wird durch Kanäle mit Namen gemacht. Prozess sendet Daten an einen Kanal, durch den Betreiber! und es liest aus einem Kanal mit ?. Diese Operatoren haben eine semantische basierte Rendezvous, oder ein Verfahren, das auf einem Kanal Daten senden oder empfangen wird ausgesetzt, bis ein anderer Prozess zur Verfügung steht, um den Betrieb auf dem gleichen Kanal komplementär durchzuführen versucht. Syntaktisch Ausgang und Eingang nehmen Sie die folgende Form:

Beachten Sie, dass in allen Codebeispiele in diesem Artikel verwenden, die Vertiefung und Leerzeichen sind signifikant.

Kontrollstrukturen

Kontrollstrukturen occam werden durch jene der strukturierten Programmierung inspiriert, aber neu interpretiert und in der Parallelprogrammierung erweitert. Die Inspektion SEQ führt eine Liste von Befehlen, die nacheinander ausgeführt werden:

Wie Sie sich vorstellen können ,: = ist der Zuweisungsoperator.

Die Steuerstruktur des PAR stattdessen gibt an, dass die nachfolgenden Anweisungen müssen parallel ausgeführt werden

Die PAR gibt auch eine komplexere Form, die einige Ähnlichkeiten mit einer for-Schleife hat, und ist konsequent mit den Schlüsselwörtern PAR-FOR angegeben. Das folgende Codefragment erwirbt eine gegebene ganze Zahl von vier Kanälen parallel.

Die Analogie mit der "Schleife" in der Verwendung der "Zähler" i. Wie ein traditionelles for-Schleife, das Fragment von Code führt die Operationen angegeben fünf Mal ", für i reicht von 0 bis 4"; Jedoch sind die fünf Eingangsvorgänge nicht nacheinander durchgeführt werden, sondern parallel.

Die Inspektion ALT erkennt das Konzept der Befehl mit Bewachung der CSP. Ein Wächter ist eine Kombination aus einem Booleschen Zustand und einer Anweisung Input / Output. Ein Wächter "erfolgreich", wenn die boolesche Bedingung wahr ist und seine Befehlseingabe "bereit". Jede Schutzvorrichtung mit einer Anweisung, die ausgeführt werden kann, wenn die Wache passiert ist werden verbunden:

Wenn die zusammengesetzte Anweisung ALT wird durch den Fluss des Programms erreicht ist, werden die Posten bewertet. Wenn mehr als eine erfolgreiche, eines davon ausgewählt wird und der entsprechende Befehl ausgeführt wird.

Occam 2

Occam 2 ist eine Erweiterung von Occam durch Inmos 1987 gemacht In der Praxis kann occam 2 als die erste Version von "Verwendung" der Sprache betrachtet werden, während die erste Version hatte die Konnotation des Prototyps. Zu den wichtigsten Erweiterungen Occam 2 gibt es eine Typsystem reicher und Unterprogramme.

Occam 2.1

Occam 2.1 ist die zweite Erweiterung der Sprache, durch Inmos im Jahr 1995. Trotz des Namens entwickelt, Occam 2.1 führt viele wichtige neue Funktionen wie:

  • Fähigkeit, Namen, die den Programmierer Typen zu geben;
  • Aufzeichnung
  • neue Betreiber
  • Möglichkeit, Anordnungen von Kanälen definieren,
  • Möglichkeit, das Array als Rückgabetyp der Funktion enthalten

Für eine vollständige Liste der Funktionen von Occam 2.1, das heute ist die Version "endgültig" der Sprache finden Sie im Referenzhandbuch.

Andere Versionen

Die Inmos hat Spezifikationen für eine neue Version von Occam, online verfügbar hergestellt, haben aber nicht die Sprache-Implementierungen umgesetzt. Kent Retargettable Occam Compiler: Einige der Innovationen von Occam 3 wurden in einem Compiler für Occam 2.1 von einem unabhängigen Team als Team Kroc, die durch das Akronym mit dem Compiler bekannt ist bekannt, entwickelt einbezogen. Die von Kroc kompilierte Sprache wurde später informell als Occam 2.5, Versionsnummer, die die Tatsache, dass die Sprache ist irgendwie "auf halbem Weg" zwischen occam occam 2 und 3 zeigen, wäre überspielt.

  0   0
Vorherige Artikel Vorrang
Nächster Artikel Die Wachspuppe

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha