Occam
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 (im Englischen auch Occam) 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. GrundkonzeptOccam 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 ( SequenzEine Sequenz wird mit dem Schlüsselwort SEQ
EKanal ? a
b := a * 5
AKanal ! b
Im obigen Codefragment wird zunächst der Wert aus dem Channel ParallelitätParallel abzuarbeitende Anweisungen werden mit dem Schlüsselwort PAR
SEQ
EKanal1 ? a
EKanal2 ? b
c := a * b
AKanal1 ! c
SEQ
EKanal3 ? x
EKanal4 ? y
z := x + y
AKanal2 ! z
Der gesamte Hello, World! in OccamPROC HelloWorld()
[]BYTE helloworldstring :
SEQ
helloworldstring := "Hello, World!"
screen ! helloworldstring
Literatur
Weblinks
|
Portal di Ensiklopedia Dunia