Prolog'un Paralel Mantık Programlamaya Genişletilmesi

thumbnail.default.alt
Tarih
Yazarlar
Koç, Nazım
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Institute of Science and Technology
Özet
Bu çalışmamızda, CCND dil ailesi içinde bulunan, yeni bir paralel mantık programlama dili öneriyoruz. Bu paralel mantık programlama dilini Berk Prolog ve MIMD mimarideki uygulamasını da Berk Sistem olarak adlandırdık. Berk Prolog bugüne kadar tanıtılmış paralel mantık programlama dillerinden pek çok yönden farklılıklar göstermektedir. Öncelikle Berk Prolog, döz-dizimi ve semantik olarak klasik dillerden ayrılmaktadır. Bazı temel farklılıları şöyle özetleyebiliriz: Senkranizasyon mekanizması farklıdır. Bir proses baş veya guard tarafından asla askıya alınamaz. Bir proses ancak bütün giriş değişkenleri belli olduktan sonra çağrılabilir. Bundan dolayı proses çağrısı hiç bir zaman prosesleri askıya almaz. Guard kısmı, cümle seçiminden çok esas hesaplama kısmını oluşturur. Şartlı olarak değişken talep etme ve körleme bekleme kavramları ortaya atılmıştır. Kullanıcılara, cümle ve proses dağıtımı konusunda çok büyük esneklikler getirilmiştir. Guard çağrıları sayesinde sıralı Prolog, paralel Prolog un bir alt kümesi haline getirilmiştir. Kararlı bir sistem olduğu için, if-then-else yapıları ve bu yapılarla ilgili diğer temel fonksiyonlar kolaylıkla gerçeklenebilmiştir. Berk Prolog un bir yürütme modeli olarak Berk Sistemi geliştirdik. Berk Sistem TCP/IP ortamında çalışan dağıtık ve çok farklı bir uygulama modelidir. Bu modelde çözüm ağı ve ağ alanı gibi kavramlar sunulmuştur. Paralel mantık programlamada kullanılan kıyas programları Berk Prolog da yazılmış ve Berk Sistem üzerinde başarı ile yürütülmüştür.
In our work we introduce a new parallel logic programming language in the class of CCND programming languages. We named our parallel logic programming language as Berk Prolog and its MIMD implementation as the Berk System . Berk Prolog differs from other parallel logic programming langauges developed until today in many respects, primarily in its syntax and semantics. Berk Prolog also differs from other related languages in its synchronization mechanism, in wich a process cannot be suspended by head unification or guard evaluation. A process can be invoked if all the input variables are bound. Guard evaluation is the main subject of computation rather than clause selection. Berk Prolog introduces the concept of conditional demand of external variables. It also brings flexibility on clause mapping and distribution of processes. By its guard evaluation, Berk Prolog treats sequential Prolog as its subset. In Berk Prolog, if-then-else and related predicates can be implemented quite easily. The Berk System, developed as an implementation of Berk Prolog, is a model that works on TCP/IP network medium. In this model we introduce the concepts of solution network and network heap. All familar benchmark programs have been written in Berk Prolog and executed in the Berk System successfully.
Açıklama
Tez (Doktora) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2003
Thesis (PhD) -- İstanbul Technical University, Institute of Science and Technology, 2003
Anahtar kelimeler
Prolog, paralel Prolog, CCND dili, paralel mantık programlama, Prolog, parallel Prolog, CCND languages, parallel logic programming
Alıntı