dbo:abstract
|
- أوكام (بالإنجليزية: occam) يُعرف أوكام بلغة البرمجة متزامنة ومبنية على عملية التواصل المتسلسل ويعالج الجبر ويشاركه في كثير من مواصفاته، وسميت نسبة للعالم وليم الأوكامي. (ar)
- 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. (de)
- Occam es un lenguaje de programación imperativo y estructurado (al igual que Pascal). Fue desarrollado por en Inmos Limited, Bristol, Inglaterra, para desarrollar software para su línea de procesadores , existiendo también implementaciones para otras plataformas. (es)
- Le langage de programmation Occam est un langage de programmation adapté à l'architecture parallèle, apparu en 1983. Il a été développé par Inmos pour la programmation de ses architectures en parallèle Transputer, mais a également été porté sur d'autres plates-formes. Le nom est un hommage à Guillaume d'Occam (parfois orthographié Ockham) et au principe méthodologique du rasoir d'Occam. Le langage Occam est un langage procédural qui offre, outre l'exécution d'instructions séquentiellement (avec SEQ), l'exécution des instructions en parallèle (avec PAR) et même la mise en « parallèle asynchrone » de processus (avec ALT) pour une exécution non-déterministe d'un parmi plusieurs.L'exécution en PAR des processus se fait avec des rendez-vous, comme en Ada. Occam contient aussi les « commandes gardées » de Edsger Dijkstra : un processus n'est lancé que si la valeur de sa garde, évaluée par le système, est vraie. Le Transputer Development System (TDS) d'Inmos était l'outil de développement classique pour ce langage, mais il était possible d'utiliser Parallel C ou d'autres outils. L'éditeur du TDS permettait le pliage de code, ce qui était très innovant. (fr)
- occam is a programming language which is concurrent and builds on the communicating sequential processes (CSP) process algebra, and shares many of its features. It is named after philosopher William of Ockham after whom Occam's razor is named. occam is an imperative procedural language (such as Pascal). It was developed by David May and others at Inmos (trademark INMOS), advised by Tony Hoare, as the native programming language for their transputer microprocessors, but implementations for other platforms are available. The most widely known version is occam 2; its programming manual was written by Steven Ericsson-Zenith and others at Inmos. (en)
- occam è un linguaggio di programmazione per architetture parallele sviluppato dalla per la programmazione di reti di INMOS Transputer e successivamente implementato anche per altre piattaforme. Il nome si riferisce al principio del rasoio di Occam: nella progettazione del linguaggio, la Inmos si è limitata a un insieme minimo di costrutti, evitando di introdurre ciò che non pareva "strettamente necessario" per gli scopi del linguaggio. In effetti occam si può anche descrivere come un linguaggio di programmazione relativamente a basso livello, quasi una sorta di assembly. Il modello a cui il linguaggio si ispira sono i (CSP) descritti da C. A. R. Hoare nel celebre libro omonimo. (it)
- occam은 커뮤니케이팅 시퀀셜 프로세스의 프로세스 계산으로 기반한 프로그래밍 언어다. 이 프로그래밍 언어는 영국의 옛 반도체 회사 인모스(Inmos)의 프로그래머들이 만들었다. occam은 파스칼과 같이 명령형과 절차적으로 작동하는 파라다임을 가지고 있다. (ko)
- Occamは、並行プログラミング言語である。CSPに基づいており、多くの機能はCSPから由来している。Occamという名称はオッカムのウィリアムの「オッカムの剃刀」から来ている。OccamはCSPの実用的な実装と言うこともできる。 並行向け以外の部分は手続き的(ないし命令的)である。INMOS社が同社のトランスピュータのために開発したが、他のプラットフォームへの移植もされている。現在使われているものでは、XMOS(en:XMOS)のXC(en:XC (programming language))がOccamの影響を受けた言語である。 (ja)
- occam – język programowania, opracowany w roku 1983 przez firmę , a będący praktyczną implementacją formalizmu CSP (z ang. Communicating Sequential Processes). Język opracowany został i był przede wszystkim wykorzystywany jako narzędzie programowania transputerów. Nazwa pochodzi od nazwiska Williama Ockhama, kojarzonego z „brzytwą Ockhama”. occam jest językiem proceduralnym. Charakterystyczną jego cechą jest wsparcie dla programowania współbieżnego. Program w occamie uruchamia typowo wiele procesów, które mogą komunikować się między sobą za pośrednictwem nazwanych kanałów komunikacyjnych. Komunikacja za pośrednictwem kanałów jest synchroniczna – komunikujące się procesy mogą kontynuować wykonanie, dopiero gdy zakończy się wymiana danych. Kanały zapewniają więc również synchronizację procesów. W implementacji transputerowej język wyposażony jest w możliwość zdefiniowania rozmieszczenia procesów na sieci procesorów, z wykorzystaniem połączeń pomiędzy nimi jako kanałów komunikacyjnych. occam jest językiem świadomie minimalistycznym i bardzo formalnie zdefiniowanym. Zabronione są wszelkie konstrukcje, które mogłyby prowadzić do niejednoznaczności działania programu (np. równoległe procesy nie mogą modyfikować żadnych wspólnych lokacji pamięci, do których mają dostęp). Umożliwia to formalne dowodzenie poprawności programów napisanych w tym języku. Obecnie istnieje działający na współczesnych komputerach kompilator occama, KRoC (ang. Kent Retargetable occam Compiler). Kompiluje on programy do plików wykonywalnych działających współbieżnie. Wspiera on też post-mortem debugging, czyli debugowanie programu po błędzie, który spowodował jego wyłączenie, również wyłączenie spowodowane zakleszczeniem. (pl)
- Occam — процедурный язык параллельного программирования высокого уровня, разработанный в начале 1980-х годов группой учёных из Оксфорда под руководством Дэвида Мэя (англ. David May) по заданию английской компании INMOS Ltd. в рамках работ по созданию транспьютеров.Назван в честь английского философа XIV века Уильма Оккамского, а его сентенция, известная как бритва Оккама, является девизом проекта. Между языком Оккам и транспьютерами существует непосредственная связь: INMOS-транспьютеры спроектированы так, чтобы объекты и конструкции Occam’а реализовывались в их системе команд наилучшим образом. Фактически, транспьютер является «кремниевой реализацией» языка Оккам. Долгое время INMOS утверждала, что транспьютерам не требуется система программирования типа «ассемблер», так как её вполне заменяет Occam. Тем не менее, Оккам является типичным языком высокого уровня, синтаксически похожим на Паскаль или Си. (ru)
- occam (de William de Ockham, da Navalha de Occam) é uma linguagem de programação utilizada em computação paralela que constrói uma seqüência de processos seqüenciais de comunicação (CSPs) que compartilham muitas de suas características. Desta forma, é uma implementação prática do CSP. Occam é uma linguagem imperativa processual (como o Pascal). Ela foi desenvolvida por David May e outros da INMOS, aconselhada por Tony Hoare, como a língua nativa de programação para os seus microprocessadores, embora implementações para outras plataformas estão disponíveis. A versão mais conhecida é Occam 2; O manual da linguagem de programação Occam 2 foi feito em conjunto por Steven Ericsson-Zenith e outros em INMOS. (pt)
- occam,一種并发程式語言,主要基於通信顺序进程的程式代數,以及它的許多特色而實作。它的名稱來自於奥卡姆的威廉提出的奥卡姆剃刀(Occam's razor)原則。 occam是一種類似於Pascal的指令式过程式編程語言。這個語言於1983年出現,由英國計算機科學家,以及公司的科學家,在東尼·霍爾提供顧問意見後,共同研發而成。 (zh)
- Occam — мова паралельного програмування високого рівня, розроблена на початку 1980-х років групою вчених з Оксфорду під керівництвом за завданням англійської компанії INMOS Ltd. в рамках робіт зі створення трансп'ютерів. Названий на честь англійського філософа XIV століття Вільяма Оккамського, а його сентенція, відома як бритва Оккама, є девізом проекту. Між мовою Occam і трансп'ютерами існує безпосередній зв'язок: INMOS-трансп'ютери спроектовані так, щоб об'єкти й конструкції Occam реалізовувалися у їхній системі команд найкращим чином. Фактично, трансп'ютер є «кремнієвою реалізацією» мови Occam. Довгий час INMOS стверджувала, що трансп'ютерам не потрібна система програмування типу «Асемблер», оскільки її цілком замінює Occam. Проте, Occam є типовою мовою високого рівня, синтаксично схожою на Паскаль та Сі. В основі мови лежить так звана CSP (концепція комунікуючих послідовних процесів), розроблена Тоні Гоаром. По суті, CSP — це формалізм для опису відповідної обчислювальної моделі, досить виразний, щоб на ньому можна було записувати та доводити теореми, досить потужний і однозначний, щоб бути мовою програмування (відомо кілька реалізацій). Згідно CSP, спочатку вводиться безліч елементарних подій (алфавіт), потім з них конструюються процеси, причому з тільки що описаних процесів можна будувати нові. Процеси, які виконуються паралельно, обмінюються інформацією, використовуючи безбуферний обмін інформацією типу «Рандеву» між парою процесів за допомогою спеціального об'єкта — каналу. При взаємодії той учасник обміну, який звернувся до каналу першим, чекає готовності партнера (точки рандеву); при настанні останньої ініціюється обмін. Використання загальної для декількох паралельних процесів пам'яті в CSP не допускається. Базовим поняттям мови Occam є обчислювальний процес; основною характеристикою процесу є те, що він може бути розпочатий і завершений. У мові визначено кілька простих процесів: процес привласнення, процеси введення і виведення через канал (позначаються символами «?» і «!»), формальні процеси SKIP і STOP (перший завершується відразу ж, другий — ніколи), процеси читання таймера і таймерної затримки. Всі інші процеси можуть бути отримані ієрархічною побудовою. Для цієї мети Occam надає набір конструкторів процесів: SEQ (визначає процес послідовного виконання процесів), PAR (визначає процес паралельного виконання процесів), а також конструктор умовного процесу IF, циклічного процесу WHILE, процесу вибору процесів ALT. При цьому діє правило, згідно з яким процес типу SEQ і PAR вважається виконаним, коли завершені всі складові його процеси. Процеси можуть бути названі і викликані на ім'я з передачею параметрів. Процеси SEQ, PAR, IF і ALT можуть бути розмножені за допомогою реплікатору FOR. Процес ALT (як і PAR) додає в мову індетермінізм, позаяк вважається, що при одночасному виконанні декількох умов точно передбачити подальший хід подій неможливо. приклад: Мультиплексор, нескінченно читає з масиву каналів in[] і передає в загальний канал out, використовуючи змінну temp WHILE TRUE INT temp : ALT i=0 FOR N in[i] ? temp out ! temp приклад: Каскад мультиплексорів, які працюють одночасно. На вході — масив з M*N каналів in[], на виході — канал out. Масив з M каналів ch[] використовується для зв'язку між мультиплексорами каскаду: PAR -- каскад паралельних мультиплексорів вводу PAR i=0 FOR M -- M паралельних мультиплексорів, які обробляють по N каналів з in[] кожний WHILE TRUE INT temp : ALT j=i*N FOR N in[j] ? temp ch[i] ! temp WHILE TRUE -- мультиплексор, який читає M каналів ch[] INT temp : ALT i=0 FOR M ch[i] ? temp out ! temp приклад: Процес буферизації вводу-виводу. Запуск процесу buffer( in, out, N) дозволяє каналу out відстати від каналу in на N повідомлень, які будуть буферизовані всередині процесу buffer: PROC buffer( CHAN OF INT in, out, INT N) CHAN OF INT in.wait, out.wait : INT n : -- лічильник буферизованих значень [N]INT buff : SEQ n:=0 PAR—input INT i, any: -- i — вказівка запису в буфер SEQ i:=0 WHILE TRUE SEQ WHILE n<(N-1) SEQ in ? buff[i] n:=n+1 IF n=1 out.wait ! any TRUE SKIP i:=(i+1) MOD N in.wait ? any—output INT j, any: -- j — вказівка читання з буферу SEQ j:=0 WHILE TRUE SEQ out.wait ? any WHILE n>0 SEQ out ! buff[j] n:=n-1 IF n=(N-2) in.wait ! any TRUE SKIP j:=(j+1) MOD N : Вивчаючи приклади, слід мати на увазі, що символ «два мінуси» — означає початок коментаря до кінця рядка, а символ «крапка» може бути в Occam частиною ідентифікатора і не несе ніякого спеціального навантаження. Символ «двокрапка»: має значення «кінець опису». Occam чутлива до великих/малих букв у ідентифікаторах. Цікавою особливістю мови Occam є включення індентації (відступів, «драбинки») в його синтаксис. Цей популярний і вельми виразний засіб виділення структури в Occam є єдиним способом вказівки області дії конструкторів. В ряду безумовних переваг такого рішення можна назвати зменшення кількості службових символів при записі конструкції (відпадає необхідність в словах типу BEGIN-END, або фігурних дужках) і стандартизація оформлення текстів, що підвищує їх читабельність. Приклад важливості «драбинки»: SEQ proc1 PAR proc21 proc22 proc3 спершу тут буде виконаний процес proc1, потім буде паралельно виконуватися proc21 та proc22, і після закінчення найбільш тривалого з них починається proc3. Якщо змістити виклик proc3 на рівень вправо, то proc3 починається одночасно з proc21 і proc22: SEQ proc1 PAR proc21 proc22 proc3 (uk)
|
rdfs:comment
|
- أوكام (بالإنجليزية: occam) يُعرف أوكام بلغة البرمجة متزامنة ومبنية على عملية التواصل المتسلسل ويعالج الجبر ويشاركه في كثير من مواصفاته، وسميت نسبة للعالم وليم الأوكامي. (ar)
- 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. (de)
- Occam es un lenguaje de programación imperativo y estructurado (al igual que Pascal). Fue desarrollado por en Inmos Limited, Bristol, Inglaterra, para desarrollar software para su línea de procesadores , existiendo también implementaciones para otras plataformas. (es)
- occam è un linguaggio di programmazione per architetture parallele sviluppato dalla per la programmazione di reti di INMOS Transputer e successivamente implementato anche per altre piattaforme. Il nome si riferisce al principio del rasoio di Occam: nella progettazione del linguaggio, la Inmos si è limitata a un insieme minimo di costrutti, evitando di introdurre ciò che non pareva "strettamente necessario" per gli scopi del linguaggio. In effetti occam si può anche descrivere come un linguaggio di programmazione relativamente a basso livello, quasi una sorta di assembly. Il modello a cui il linguaggio si ispira sono i (CSP) descritti da C. A. R. Hoare nel celebre libro omonimo. (it)
- occam은 커뮤니케이팅 시퀀셜 프로세스의 프로세스 계산으로 기반한 프로그래밍 언어다. 이 프로그래밍 언어는 영국의 옛 반도체 회사 인모스(Inmos)의 프로그래머들이 만들었다. occam은 파스칼과 같이 명령형과 절차적으로 작동하는 파라다임을 가지고 있다. (ko)
- Occamは、並行プログラミング言語である。CSPに基づいており、多くの機能はCSPから由来している。Occamという名称はオッカムのウィリアムの「オッカムの剃刀」から来ている。OccamはCSPの実用的な実装と言うこともできる。 並行向け以外の部分は手続き的(ないし命令的)である。INMOS社が同社のトランスピュータのために開発したが、他のプラットフォームへの移植もされている。現在使われているものでは、XMOS(en:XMOS)のXC(en:XC (programming language))がOccamの影響を受けた言語である。 (ja)
- occam,一種并发程式語言,主要基於通信顺序进程的程式代數,以及它的許多特色而實作。它的名稱來自於奥卡姆的威廉提出的奥卡姆剃刀(Occam's razor)原則。 occam是一種類似於Pascal的指令式过程式編程語言。這個語言於1983年出現,由英國計算機科學家,以及公司的科學家,在東尼·霍爾提供顧問意見後,共同研發而成。 (zh)
- occam is a programming language which is concurrent and builds on the communicating sequential processes (CSP) process algebra, and shares many of its features. It is named after philosopher William of Ockham after whom Occam's razor is named. (en)
- Le langage de programmation Occam est un langage de programmation adapté à l'architecture parallèle, apparu en 1983. Il a été développé par Inmos pour la programmation de ses architectures en parallèle Transputer, mais a également été porté sur d'autres plates-formes. Le nom est un hommage à Guillaume d'Occam (parfois orthographié Ockham) et au principe méthodologique du rasoir d'Occam. Occam contient aussi les « commandes gardées » de Edsger Dijkstra : un processus n'est lancé que si la valeur de sa garde, évaluée par le système, est vraie. (fr)
- occam – język programowania, opracowany w roku 1983 przez firmę , a będący praktyczną implementacją formalizmu CSP (z ang. Communicating Sequential Processes). Język opracowany został i był przede wszystkim wykorzystywany jako narzędzie programowania transputerów. Nazwa pochodzi od nazwiska Williama Ockhama, kojarzonego z „brzytwą Ockhama”. W implementacji transputerowej język wyposażony jest w możliwość zdefiniowania rozmieszczenia procesów na sieci procesorów, z wykorzystaniem połączeń pomiędzy nimi jako kanałów komunikacyjnych. (pl)
- occam (de William de Ockham, da Navalha de Occam) é uma linguagem de programação utilizada em computação paralela que constrói uma seqüência de processos seqüenciais de comunicação (CSPs) que compartilham muitas de suas características. Desta forma, é uma implementação prática do CSP. (pt)
- Occam — мова паралельного програмування високого рівня, розроблена на початку 1980-х років групою вчених з Оксфорду під керівництвом за завданням англійської компанії INMOS Ltd. в рамках робіт зі створення трансп'ютерів. Названий на честь англійського філософа XIV століття Вільяма Оккамського, а його сентенція, відома як бритва Оккама, є девізом проекту. Проте, Occam є типовою мовою високого рівня, синтаксично схожою на Паскаль та Сі. (uk)
- Occam — процедурный язык параллельного программирования высокого уровня, разработанный в начале 1980-х годов группой учёных из Оксфорда под руководством Дэвида Мэя (англ. David May) по заданию английской компании INMOS Ltd. в рамках работ по созданию транспьютеров.Назван в честь английского философа XIV века Уильма Оккамского, а его сентенция, известная как бритва Оккама, является девизом проекта. Тем не менее, Оккам является типичным языком высокого уровня, синтаксически похожим на Паскаль или Си. (ru)
|