Occam

Occam
Occam
Paradigmen: imperativ, parallel
Erscheinungsjahr: 1985
Entwickler: Inmos Ltd.
Aktuelle Version: 2.1  ()
Dialekte: occam-π
Einflüsse: Communicating Sequential Processes

Occam ist eine imperative, parallele Programmiersprache, die auf Communicating Sequential Processes aufbaut. Sie wurde um 1985 unter anderem von David May bei der Firma Inmos entwickelt und ist nach dem Philosophen und Logiker Wilhelm von Ockham benannt. Ihr Einsatzschwerpunkt liegt auf der Implementierung verteilter Systeme, insbesondere von Transputer-Systemen. Ursprünglich war sie für Mikroprozessoren von INMOS gedacht, existiert aber heute auch für andere Plattformen.

Inhaltsverzeichnis

Grundkonzept

Occam wurde nach Wilhelm von Ockham benannt, da die Sprache in ihrem Ansatz dem Prinzip von Ockhams Rasiermesser folgt. Es existieren in Occam lediglich fünf Grundkonstrukte: Sequenz, Parallelität, Alternative, Bedingung und Schleife. Jeder dieser Konstrukte bildet einen eigenen Prozess, der aus einzelnen Statements besteht, die wiederum selbst Prozesse darstellen. Die Kommunikation zwischen den Prozessen erfolgt über Channels (deutsch: Kanäle). Mit einem Fragezeichen (?) werden Channels eingelesen und mit einem Ausrufezeichen (!) werden Daten auf einem Channel ausgegeben. Kommentare werden mit --- eingeleitet. Funktionsblöcke werden zusammengefasst, indem jeder Zeile der gleiche Einzug vorangestellt wird. Die beiden wichtigsten Konstrukte Sequenz und Parallelität sollen kurz vorgestellt werden. Besonders die Parallelität unterscheidet Occam von den sequenziellen Programmiersprachen wie C, BASIC oder Pascal.

Sequenz

Eine Sequenz wird mit dem Schlüsselwort SEQ eingeleitet. Occam verhält sich innerhalb einer Sequenz wie eine herkömmliche Programmiersprache.

SEQ
  EKanal ? a
  b := a * 5
  AKanal ! b

Im obigen Codefragment wird zunächst der Wert aus dem Channel EKanal ausgelesen und in der Variable a abgelegt. Dann wird der Variablen b der fünffache Wert von a zugewiesen und die Variable b an den Channel AKanal ausgegeben. Die Abarbeitung der Statements erfolgt dabei der Reihe nach (sequentiell).

Parallelität

Parallel abzuarbeitende Anweisungen werden mit dem Schlüsselwort PAR eingeleitet. Jeder darin enthaltene Prozess wird dabei gleichzeitig gestartet.

PAR
  SEQ
    EKanal1 ? a
    EKanal2 ? b
    c := a * b
    AKanal1 ! c
  SEQ 
    EKanal3 ? x
    EKanal4 ? y
    z := x + y
    AKanal2 ! z

Der gesamte Prozess besteht hier aus zwei SEQ-Prozessen, die wiederum aus einzelnen Statements bestehen. Die beiden SEQ-Prozesse werden gleichzeitig gestartet und parallel abgearbeitet.

Hello, World! in Occam

PROC HelloWorld()
  []BYTE helloworldstring :
  SEQ
    helloworldstring := "Hello, World!"
    screen ! helloworldstring

Quellen

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

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

  • Occam — Эта статья о языке программирования; о философе см.: Оккам, Уильям. Язык программирования Оккам (англ. Occam)  это процедурный язык параллельного программирования высокого уровня, разработанный в начале 1980 х годов группой учёных из… …   Википедия

  • Occam — (spr. Okkäm), Wilhelm von O., geb. in Occam, einem Dorfe in Surreyshire, zu Ende des 13. Jahrh., wurde Franciscaner u. Archidiakon in Stowe, ging dann nach Paris, wo er Schüler von Duns Scotus wurde, lehrte zu Anfang des 14. Jahrh. Theologie in… …   Pierer's Universal-Lexikon

  • Occam — (Ockham), Wilhelm von, berühmter Scholastiker, mit dem Beinamen Doctor invincibilis und singularis, geb. 1270 zu Occam in der englischen Grafschaft Surrey, gest. 7. April 1347 in München, ward frühzeitig Franziskaner, ging nach Paris, hatte hier… …   Meyers Großes Konversations-Lexikon

  • Occam — Occam, Wilh. von, Scholastiker, geb. um 1280 zu Occam (Surrey), Franziskaner, Schüler des Duns Scotus, lehrte in Paris, stand bei den innern Kämpfen seines Ordens auf der Seite der Spiritualen, mußte deshalb 1328 vor Papst Johann XXII. bei Ludwig …   Kleines Konversations-Lexikon

  • Occam — (Guillaume d ). V. Guillaume d Occam …   Encyclopédie Universelle

  • Occam — Occam, Ocham, Wilhelm von, berühmter Scholastiker, geb. in der engl. Grafschaft Surrey, Schüler des Duns Scotus, gest. zwischen 1343–50 zu München. Man nannte ihn als den Begründer der Schule der nominalistischen O. isten den inceptor venerabilis …   Herders Conversations-Lexikon

  • OCCAM — [ ɔkam] Kunstw. zum Namen Ockham; vgl. ↑Ockhamismus> eine Programmiersprache, die die Programmverarbeitung in Transputersystemen (↑Transputer) unterstützt …   Das große Fremdwörterbuch

  • Occam — (Ockham) (izg. òkem), William (o.1290 o.1350) DEFINICIJA engleski teolog, franjevac, kasni skolastički filozof; pokrenuo jedan oblik nominalizma (Suma ukupne logike), usp. okamizam …   Hrvatski jezični portal

  • Occam — William of see OCKHAM William of …   English World dictionary

  • occam-π — In computer science, occam π (or occam pi) is the name of a variant of the occam programming language developed by the Kent Retargetable occam Compiler (KRoC) team at the University of Kent.[1] The name reflects the introduction of elements of… …   Wikipedia

Share the article and excerpts

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