48 captures
20 Oct 2011 - 30 Dec 2025
May JUN Jul
16
2012 2013 2014
success
fail

About this capture

COLLECTED BY

Organization: Internet Archive

The Internet Archive discovers and captures web pages through many different web crawls. At any given time several distinct crawls are running, some for months, and some every day or longer. View the web archive through the Wayback Machine.

Collection: Wide Crawl started April 2013

Web wide crawl with initial seedlist and crawler configuration from April 2013.
TIMESTAMPS

The Wayback Machine - http://web.archive.org/web/20130616004716/https://pl.wikipedia.org/wiki/Occam
 



occam



Z Wikipedii, wolnej encyklopedii


Skocz do: nawigacji, wyszukiwania  

occamjęzyk programowania, opracowany w roku 1983 przez firmę INMOS, a będący praktyczną implementacją formalizmu CSP (z ang. Communicating Sequential Processes[1][2]). 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ą się między sobą komunikować za pośrednictwem nazwanych kanałów komunikacyjnych. Komunikacja za pośrednictwem kanałów jest synchroniczna -- komunikujące się procesy mogą kontynuować wykonanie dopiero, gdy wymiana danych zakończy się. 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.

Spis treści

Wersje języka [edytuj]

occam 1 [edytuj]

occam 1[3] (wydany w 1983 r.) był wstępną wersją języka. Ze katalogu typów danych, dostępnych z czasem w języku, wspierał tylko VAR, który był typem liczby całkowitej o zakresie uzależnionym od długości słowa w docelowej architekturze, oraz jedno wymiarowe tablice.

occam 2 [edytuj]

occam 2[4] to rozszerzenie, stworzone przez INMOS Ltd w 1987 roku które dodało liczby zmiennoprzecinkowe, funkcje, wielowymiarowe tablice i więcej typów danych takich jak liczby całkowite różnych rozmiarów (INT16, INT32) oraz bajty (BYTE).

Po tej korekcie, occam stał się językiem zdolnym do wyrażania użytecznych programów, podczas gdy occam 1 bardziej nadawał się do badania algorytmów i odkrywania nowego języka (chociaż należy zauważyć, że kompilator occama 1 był napisany w occamie 1, co udowadnia, że dało się w tamtej wersji języka pisać programy o znaczącym rozmiarze i stopniu skomplikowania).

occam 2.1 [edytuj]

occam 2.1[5] był ostatnim z serii ulepszeń occama, w które miała wkład firma INMOS. Zdefiniowany w 1994 r., miała na niego wpływ wcześniejsza propozycja języka occam 3 (zwanego także "occam91" we wczesnych fazach jego rozwoju), stworzonego przez Geoffa Barretta w INMOSie we wczesnych latach dziewięćdziesiątych. Ulepszony Podręcznik Użytkownika opisujący occam 3 był rozprowadzany w społeczności[6],, ale język nigdy nie otrzymał działającego kompilatora.

occam 2.1 wnosić nową funkcjonalność do occama 2, mianowicie:

Pełna lista zmian jest dostępna w Dodatku P instrukcji użytkowania[7].

occam-π [edytuj]

occam-π[8] to popularna nazwa wariantu occama zaimplementowanego przez późniejsze wersje kompilatora KRoC. Dodanie symbolu "π" (pi) do nazwy "occam"jest aluzją do faktu, że occam zaimplementowany przez KRoC zawiera wiele pomysłów inspirowanych przez Pi calculus. Zawiera znaczącą liczbę rozszerzeń do wersji 2.1, na przykład:

Zobacz też: Erlang (język programowania)

Przypisy

  1. http://www.usingcsp.com/cspbook.pdf
  • Communicating Sequential Processes, C.A.R. Hoare. Prentice Hall International Series in Computer Science, 1985. ISBN 0-13-153271-5 (0-13-153289-8)
  • INMOS: occam Programming Manual. Prentice-Hall, 1984. ISBN 0-13-629296-8.
  • Ericsson-Zenith: occam 2 Reference Manual. Prentice-Hall, 1988. ISBN 0-13-629312-3.
  • INMOS: occam 2.1 Reference Manual. SGS-THOMSON Microelectronics Ltd, 1995-05-12.
  • Geoff Barrett, Steven Ericsson-Zenith. occam 3 Reference Manual. , 1992-03-31. INMOS. [dostęp 2008-03-24]. 
  • INMOS occam 2.1 Reference Manual
  • Fred Barnes and Peter Welch: occam-pi: blending the best of CSP and the pi-calculus. 2006-01-14. [dostęp 2006-11-24].
  • Linki zewnętrzne [edytuj]


    Źródło http://pl.wikipedia.org/w/index.php?title=Occam&oldid=35337407 

    Kategoria: 
    Języki programowania




    Menu nawigacyjne



    Osobiste



    Załóż nowe konto
    Zaloguj się
     



    Przestrzenie nazw



    Artykuł

    Dyskusja
     


    Warianty









    Widok



    Czytaj

    Edytuj

    Historia i autorzy
     


    Działania













    Nawigacja




    Strona główna

    Kategorie artykułów

    Najlepsze artykuły

    Zgłoś błąd

    Zgłoś błąd w pliku

    Częste pytania (FAQ)
     



    Dla czytelników




    Losuj artykuł

    Kontakt

    Wykluczenie odpowiedzialności

    Wspomóż Wikipedię
     



    Dla wikipedystów




    Ostatnie zmiany

    Zasady edytowania

    Pomoc

    Kawiarenka

    Ogłoszenia
     



    Narzędzia




    Linkujące

    Zmiany w linkowanych

    Prześlij plik

    Strony specjalne

    Link do tej wersji

    Informacje o tej stronie

    Cytowanie tego artykułu
     



    Drukuj lub eksportuj




    Utwórz książkę

    Pobierz jako PDF

    Wersja do druku
     



    W innych językach




    Deutsch

    English

    Español

    Français



    Italiano



    Norsk nynorsk

    Português

    Русский

    Suomi

    Тоҷикӣ

    Edytuj linki
     







    Tę stronę ostatnio zmodyfikowano o 20:19, 14 mar 2013.

    Tekst udostępniany na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach, z możliwością obowiązywania dodatkowych ograniczeń. Zobacz szczegółowe informacje o warunkach korzystania.
     


    Zasady zachowania poufności

    O Wikipedii

    Korzystasz z Wikipedii tylko na własną odpowiedzialność

    Wersja dla urządzeń mobilnych
     


    Wikimedia Foundation
    Powered by MediaWiki