ISO IEC 13211-2 Pemrograman dalam Logika

ISO IEC 13211-2 adalah Standar Internasional mengenai Teknologi informasi, khususnya tentang Modul Prolog (Pemrograman dalam Logika) untuk Bahasa pemrograman.

Standar versi terbaru yang masih berlaku adalah terbitan tahun 2000 dengan judul berikut :

  • ISO/IEC 13211-2:2000 Information technology — Programming languages — Prolog — Part 2: Modules

Peninjauan dan konfirmasi dari standar ini terakhir dilakukan pada tahun 2021, oleh karena itu versi ini masih dinyatakan tetap berlaku hingga saat ini.

Standar ISO/IEC 13211-2:2000

Introduction : Pengenalan Standar

Sebagaimana tercantum dalam “Klausa 0 Introduction”, bahwa :

Ini adalah Standar Internasional pertama untuk Prolog, Bagian 2 (Modul), yang diproduksi pada 1 Mei 2000.

Prolog adalah istilah dari “Programming in Logic (Pemrograman dalam Logika)”.

menggabungkan konsep pemrograman logis dan algoritmik, dan diakui tidak hanya sebagai alat penting dalam AI (Kecerdasan Buatan) dan sistem pakar, tetapi sebagai bahasa pemrograman tingkat tinggi tujuan umum dengan beberapa properti unik.

Bahasa ini berasal dari karya pada awal 1970-an oleh Robert A. Kowalski saat di Universitas Edinburgh (dan sejak saat itu di Imperial College, London) dan Alain Colmerauer di Universitas Aix-Marseilles di Prancis.

Upaya mereka mengarah pada tahun 1972 untuk penggunaan logika formal sebagai dasar untuk bahasa pemrograman.

Prolog

Penelitian Kowalski memberikan kerangka teoretis, sedangkan penelitian Colmerauer memunculkan bahasa pemrograman Prolog.

Colmerauer dan timnya kemudian membangun penerjemah pertama, dan David Warren di Departemen AI, Universitas Edinburgh, menghasilkan kompiler pertama.

Fitur penting dari Prolog adalah unifikasi dan backtracking.

Penyatuan menunjukkan bagaimana dua struktur arbitrer dapat dibuat sama, dan prosesor Prolog menggunakan strategi pencarian yang mencoba menemukan solusi untuk masalah dengan mundur ke jalur lain jika salah satu pencarian tertentu menemui jalan buntu.

Prolog baik untuk windowing dan multimedia karena kemudahan membangun struktur data yang kompleks secara dinamis, dan juga karena konsep mundur dari operasi dibangun ke dalam bahasa. Prolog juga bagus untuk aplikasi web interaktif karena bahasanya cocok untuk produksi dan analisis teks, memungkinkan produksi HTML ‘on the fly’.

Standar Internasional ini mendefinisikan sintaks dan semantik modul dalam ISO Prolog.

Tidak ada Standar Internasional lainnya untuk modul Prolog.

Modul di Prolog berfungsi untuk mempartisi ruang nama dan mendukung enkapsulasi untuk keperluan membangun sistem besar dari komponen yang lebih kecil.

Sistem modul adalah berbasis prosedur (procedure-based) dan bukan berbasis atom (atom-based).

Ini berarti bahwa setiap prosedur harus didefinisikan dalam ruang nama yang diberikan.

Persyaratan untuk modul Prolog menjadi lebih kompleks dengan adanya prosedur sensitif konteks.

Klausa 1

Sebagaimana tercantum dalam “Klausa 1 Scope : Lingkup”, bahwa :

Bagian ISO/IEC 13211 ini dirancang untuk mempromosikan penerapan dan portabilitas modul Prolog yang berisi teks Prolog yang memenuhi persyaratan Prolog Bahasa Pemrograman sebagaimana ditentukan dalam bagian ISO/IEC 13211 ini.

Selanjutnya, bagian ISO/IEC 13211 ini menetapkan:

  • a) Representasi teks Prolog yang merupakan modul Prolog,
  • b) Kendala yang harus dipenuhi untuk mempersiapkan modul Prolog untuk dieksekusi, dan
  • c) Persyaratan, batasan, dan batasan yang dikenakan pada prosesor Prolog yang sesuai yang memproses modul.

Namun, bagian ISO/IEC 13211 ini tidak menentukan:

  • a) Ukuran atau jumlah modul Prolog yang akan melebihi kapasitas sistem pemrosesan data atau pemroses bahasa tertentu, atau tindakan yang harus diambil ketika batas terlampaui,
  • b) Metode pengaktifan prosesor Prolog atau kumpulan perintah yang digunakan untuk mengontrol lingkungan di mana modul Prolog disiapkan untuk dieksekusi,
  • c) Mekanisme dimana modul Prolog dimuat,
  • d) Hubungan antara modul Prolog dan sistem file khusus prosesor.

1.1 Notes (Catatan)

Catatan di bagian ISO/IEC 13211 ini tidak berpengaruh pada bahasa, teks Prolog, teks modul, atau prosesor Prolog yang didefinisikan sesuai dengan bagian ISO/IEC 13211 ini.

Alasan untuk menyertakan catatan meliputi:

  • a) Referensi silang ke klausa dan subklausa lain dari bagian ISO/IEC 13211 ini untuk membantu pembaca menemukan jalan keluarnya,
  • b) Peringatan ketika predikat bawaan seperti yang didefinisikan di bagian ISO/IEC 13211 ini memiliki arti yang berbeda dalam beberapa implementasi yang ada.

Penerbitan Standar ISO/IEC 13211-2:2000

Standar ini diterbitkan dan dipublikasikan pada Juni 2000, berupa dokumen edisi 1 dengan jumlah halaman sebanyak 23 lembar.

Disusun oleh :

  • Technical Committee ISO/IEC JTC 1/SC 22 Programming languages, their environments and system software interfaces,
  • atau : Komite Teknis ISO/IEC JTC 1/SC 22 Bahasa pemrograman, lingkungannya, dan antarmuka perangkat lunak sistem.

ICS :

  • 35.060 Languages used in information technology, atau : 35.060 Bahasa yang digunakan dalam teknologi informasi

Sebagaimana standar ISO lainnya, ISO/IEC 13211-2:2000 ini juga ditinjau setiap 5 tahun dan peninjauan sudah mencapai tahap 90,93 (dikonfirmasi).

Isi Standar ISO/IEC 13211-2:2000

Berikut adalah kutipan isi Standar ISO/IEC 13211-2:2000 yang diambil dari Online Browsing Platform (OBP) dari situs resmi iso.org.

Yang ditambah dengan berbagai keterangan dan informasi untuk mempermudah pemahaman pembaca.

Hanya bagian standar yang informatif yang tersedia untuk umum, OBP hanya menampilkan hingga klausa 3 saja.

Oleh karena itu, untuk melihat konten lengkap dari standar ini, maka pembaca harus membeli standar dari ISO ini secara resmi.

Daftar Isi Standar ISO/IEC 13211-2:2000

  • Foreword
  • Introduction
  • 1 Scope
  • 1.1 Notes
  • 2 Normative reference
  • 3 Terms and definitions
  • 4 Compliance
  • 4.1 Prolog processor
  • 4.2 Module text
  • 4.3 Prolog goal
  • 4.4 Prolog modules
  • 4.5 Documentation
  • 5 Syntax
  • 5.1 Module text
  • 5.2 Terms
  • 6 Language concepts and semantics
  • 6.1 Related terms
  • 6.2 Module text
  • 6.3 Complete database
  • 6.4 Context sensitive predicates
  • 6.5 Converting a term to a clause, and a clause to a term
  • 6.6 Executing a Prolog goal
  • 6.7 Executing a control construct
  • 6.8 Predicate properties
  • 6.9 Flags
  • 6.10 Errors
  • 7 Built-in predicates
  • 7.1 The format of built-in predicate definitions
  • 7.2 Module predicates
  • 7.3 Clause retrieval and information
  • 7.4 Database access and modification

Foreword : Kata pengantar

ISO (Organisasi Internasional untuk Standardisasi) dan IEC (Komisi Elektroteknik Internasional) membentuk sistem khusus untuk standardisasi di seluruh dunia.

Badan-badan nasional yang menjadi anggota ISO atau IEC berpartisipasi dalam pengembangan Standar Internasional melalui komite teknis yang dibentuk oleh organisasi masing-masing untuk menangani bidang kegiatan teknis tertentu.

Komite teknis ISO dan IEC berkolaborasi dalam bidang yang menjadi kepentingan bersama. Organisasi internasional lainnya, pemerintah dan non-pemerintah, bekerja sama dengan ISO dan IEC, juga ambil bagian dalam pekerjaan tersebut.

Standar Internasional disusun sesuai dengan aturan yang diberikan dalam Arahan ISO/IEC, Bagian 3.

Di bidang teknologi informasi, ISO dan IEC telah membentuk komite teknis bersama, ISO/IEC JTC 1.

Rancangan Standar Internasional yang diadopsi oleh komite teknis bersama diedarkan ke badan-badan nasional untuk pemungutan suara.

Publikasi sebagai Standar Internasional memerlukan persetujuan setidaknya 75% dari badan-badan nasional yang memberikan suara.

Perhatian diberikan pada kemungkinan bahwa beberapa elemen dari bagian ISO/IEC 13211 ini dapat menjadi subjek hak paten.

ISO dan IEC tidak bertanggung jawab untuk mengidentifikasi setiap atau semua hak paten tersebut.

Penyusunan dokumen

Standar Internasional ISO/IEC 13211-2 disiapkan oleh :

  • Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming languages, their environments and system software interfaces.
  • atau : Komite Teknis Bersama ISO/IEC JTC 1, Teknologi informasi, Subkomite SC 22, Bahasa pemrograman, lingkungan mereka, dan antarmuka perangkat lunak sistem.

ISO/IEC 13211 terdiri dari bagian berikut, dengan judul umum “Information technology — Programming languages — Prolog (Teknologi informasi — Bahasa pemrograman — Prolog)” :

  • — Part 1: General core
  • — Part 2: Modules

Mengenal ISO dan IEC

ISO (International Organization for Standardization) adalah suatu organisasi atau lembaga nirlaba internasional.

Tujuan dari ISO adalah untuk membuat dan memperkenalkan standar dan standardisasi internasional untuk berbagai tujuan.

Sebagaimana dengan ISO, IEC juga merupakan organisasi standardisasi internasional yang menyusun dan menerbitkan standar-standar internasional.

Namun ruang lingkupnya adalah untuk seluruh bidang elektrik, elektronik dan teknologi yang terkait atau bidang teknologi elektro (electrotechnology).

Lebih jelas mengenai ISO dan IEC dapat dibaca pada artikel lain dari standarku.com berikut :

ISO/IEC 13211-2:2000 Klausa 1-3

1 Scope : Lingkup

Bagian ini sudah tercantum di bagian awal artikel ini, pada paragraf “Standar ISO/IEC 13211-2:2000”.

2 Referensi normatif

Dokumen normatif berikut berisi ketentuan yang, melalui referensi dalam teks ini, merupakan ketentuan dari bagian ISO/IEC 13211 ini.

Untuk referensi bertanggal, amandemen selanjutnya, atau revisi, salah satu dari publikasi ini tidak berlaku.

Namun, para pihak dalam perjanjian berdasarkan bagian ISO/IEC 13211 ini didorong untuk menyelidiki kemungkinan penerapan edisi terbaru dari dokumen normatif yang ditunjukkan di bawah ini.

Untuk acuan yang tidak bertanggal, berlaku edisi terbaru dari dokumen normatif yang dimaksud.

Anggota ISO dan IEC memelihara daftar Standar Internasional yang berlaku saat ini.

  • ISO/IEC 13211-1 : 1995, Information technology — Programming languages — Prolog Part 1: General core.

3 Istilah dan definisi

Terminologi untuk bagian ISO/IEC 13211 ini memiliki format yang dimodelkan pada ISO 2382.

Entri terdiri dari frasa (dalam huruf tebal) yang didefinisikan, diikuti dengan definisinya.

Kata-kata dan frasa yang didefinisikan dalam glosarium dicetak miring ketika didefinisikan dalam ISO/IEC 13211-1 atau entri lain dari bagian ISO/IEC 13211 ini.

Ketika definisi berisi dua kata atau frasa yang didefinisikan dalam entri terpisah yang saling mengikuti secara langsung (atau hanya dipisahkan oleh tanda baca), * (tanda bintang) memisahkannya.

Kata dan frasa yang tidak didefinisikan dalam glosarium dianggap memiliki arti yang diberikan dalam ISO 2382-15 dan ISO/IEC 13211-1; jika mereka tidak muncul dalam ISO 2382-15 atau ISO/IEC 13211-1, maka mereka dianggap memiliki arti yang biasa.

Tanda bintang ganda (**) digunakan untuk menunjukkan definisi di mana ada perubahan dari arti yang diberikan dalam ISO/IEC 13211-1.

Klausa 3.1 – 3.16

3.1 accessible procedure : prosedur yang dapat diakses

Lihat 3.39 — procedure, accessible..

3.2 activation, of a procedure : aktivasi, dari suatu prosedur

Sebuah prosedur telah diaktifkan ketika dipanggil untuk dieksekusi.

3.3 argument, qualified : argumen, memenuhi syarat

Istilah yang memenuhi syarat yang merupakan argumen dalam nama modul yang memenuhi syarat * predikat.

3.4 calling context : konteks panggilan

Kumpulan visible procedures,, tabel operator, character conversion mapping dan Prolog flag values yang dilambangkan dengan nama modul, dan digunakan sebagai konteks untuk aktivasi prosedur sensitif konteks.

3.5 database, visible : basis data, terlihat

Basis data modul M yang terlihat adalah kumpulan prosedur yang dapat diaktifkan tanpa kualifikasi nama modul dari dalam M.

3.6 defining module : modul yang menentukan

Lihat 3.23 module, defining.

3.7 export : ekspor

Untuk membuat prosedur modul ekspor tersedia untuk diimpor atau diekspor kembali oleh modul lain.

3.8 exported procedure : prosedur yang diekspor

Lihat 3.41 — procedure, exported.

3.9 import : impor

Untuk membuat prosedur * diekspor atau diekspor kembali oleh modul * terlihat dalam modul impor atau ekspor ulang.

3.10 import, selective : impor, selektif

Pengimporan ke dalam modul hanya prosedur tertentu yang ditunjukkan secara eksplisit * diekspor atau diekspor kembali oleh modul (lihat 6.2.5.2).

3.11 load (a module) : memuat (modul)

Muat antarmuka modul dari sebuah modul dan persiapkan dengan benar semua bodinya, jika ada, untuk dieksekusi.

  • Catatan 1 : Antarmuka modul harus dimuat sebelum bagian mana pun dari modul (lihat 6.2.3).

3.12 load (a module interface) : memuat (antarmuka modul)

Persiapkan antarmuka modul dengan benar untuk dieksekusi.

3.13 lookup module : modul pencarian

Lihat 3.29 — module, lookup.

3.14 meta-argument

Argumen dalam metaprosedur yang sensitif dalam konteks.

3.15 metapredicate

Predikat yang menunjukkan metaprosedur.

3.16 metapredicate directive : arahan metapredikat

Arahan yang menyatakan bahwa prosedur adalah metapredikat.

Klausa 3.17 – 3.29

3.17 metapredicate mode indicator : indikator mode metapredikat

Baik indikator predikat atau istilah majemuk yang masing-masing argumennya adalah ‘:’ , atau ‘*’ (lihat 6.1.1.4).

3.18 metaprocedure : metaprosedur

Prosedur yang tindakannya bergantung pada konteks pemanggilan, dan yang karenanya membawa informasi modul tambahan yang menunjuk konteks pemanggilan ini.

3.19 metavariable : metavariabel

Variabel yang muncul sebagai argumen dalam metaprosedur yang akan tunduk pada kualifikasi nama modul saat prosedur diaktifkan.

3.20 module : modul

Kumpulan prosedur dan arahan bernama bersama dengan ketentuan untuk mengekspor beberapa prosedur dan untuk mengimpor dan mengekspor ulang * prosedur dari modul lain.

3.21 module body : badan modul

Teks Prolog yang berisi definisi prosedur modul bersama dengan impor dan arahan lokal lainnya ke badan modul itu.

3.22 module, calling (of a procedure) : modul, pemanggilan (dari suatu prosedur)

Modul di mana aktivator yang sesuai dijalankan.

3.23 module, defining : modul, mendefinisikan

Modul di mana badan modul (atau badan) prosedur didefinisikan secara eksplisit dan seluruhnya.

3.24 module directive : arahan modul

Sebuah istilah D yang mempengaruhi makna teks modul (6.2.4), dan dilambangkan dalam teks modul tersebut dengan istilah direktif : – (D) ..

3.25 module, existing : modul, sudah ada

Modul yang antarmukanya telah disiapkan untuk dieksekusi (lihat 6.2.3).

3.26 module, exporting : modul, mengekspor

Modul yang menyediakan prosedur untuk impor atau ekspor ulang oleh modul lain.

3.27 module interface : antarmuka modul

Urutan read-terms yang menentukan prosedur yang diekspor dan diekspor kembali dan diekspor * metapredikat dari sebuah modul.

3.28 module, importing : modul, mengimpor

Modul tempat prosedur diimpor, menambahkannya ke database modul yang terlihat.

3.29 module, lookup : modul, cari

Modul tempat pencarian klausa dari suatu prosedur berlangsung.

  • Catatan 1 : Modul pencarian mendefinisikan database prosedur yang terlihat yang dapat diakses tanpa kualifikasi nama modul (lihat 6.1.1.3).

Klausa 3.30 – 3.44

3.30 module name : nama modul

Sebuah atom yang mengidentifikasi suatu modul.

3.31 module name qualification : kualifikasi nama modul

Kualifikasi istilah dengan nama modul.

3.32 module, qualifying : modul, kualifikasi

Lihat 6.1.1.3 Modul kualifikasi, modul pencarian, dan modul pendefinisian.

3.33 module, re-exporting : modul, mengekspor kembali

Sebuah modul yang, dengan * mengimpor prosedur tertentu dan mengekspor prosedur yang sama ini.

3.34 module text : teks modul

Urutan read-terms yang menunjukkan direktif, direktif modul, dan klausa.

3.35 module, user : modul, pengguna

Modul dengan nama pengguna yang berisi semua prosedur yang ditentukan pengguna yang tidak ditentukan sebagai milik modul tertentu.

3.36 predicate ** : predikat **

Pengidentifikasi atau pengidentifikasi yang memenuhi syarat bersama dengan suatu arity.

3.37 predicate name, qualified : nama predikat, memenuhi syarat

Pengidentifikasi yang memenuhi syarat dari sebuah predikat.

3.38 preparation for execution : persiapan eksekusi

Penanganan tergantung implementasi dari teks Prolog dan teks modul oleh prosesor yang menghasilkan, jika berhasil, prosesor siap untuk mengeksekusi teks Prolog atau teks modul yang disiapkan.

3.39 procedure, accessible : prosedur, dapat diakses

Suatu prosedur dapat diakses jika dapat diaktifkan dengan kualifikasi nama modul dari modul mana pun yang sedang dimuat.

3.40 procedure, context sensitive : prosedur, peka konteks

Sebuah prosedur peka konteks jika efek eksekusinya bergantung pada konteks pemanggilan di mana ia diaktifkan.

3.41 procedure, exported : prosedur, diekspor

Prosedur yang disediakan oleh modul untuk diimpor atau diekspor kembali oleh modul lain.

3.42 procedure, visible (in a module M)

Prosedur yang dapat diaktifkan dari M tanpa menggunakan kualifikasi nama modul.

3.43 process **

Aktivitas eksekusi prosesor yang menjalankan teks Prolog dan teks modul yang disiapkan untuk memanipulasi data Prolog yang sesuai, menyelesaikan efek samping, dan menghitung hasil.

3.44 prototype : prototipe

Istilah majemuk di mana setiap argumen adalah variabel.

Klausa 3.45 – 3.53

3.45 prototype, qualified : prototipe, memenuhi syarat

Istilah yang memenuhi syarat yang argumen pertamanya adalah nama modul dan argumen kedua adalah prototipe.

3.46 qualification : kualifikasi

Penggantian tekstual (6.4.3) dari istilahT dengan istilahM : T di mana M adalah nama modul.

3.47 qualified argument : argumen yang memenuhi syarat

Lihat 3.3 argument, qualified

3.48 qualified term : istilah yang memenuhi syarat

Lihat 3.51 term, qualified

3.49 re-export : ekspor ulang

Untuk membuat prosedur * diekspor oleh modul * visible di modul re-ekspor, sementara pada saat yang sama membuatnya tersedia untuk diimpor atau diekspor kembali oleh modul lain dari modul re-ekspor.

3.50 re-export, selective : ekspor kembali, selektif

Pengeksporan ulang oleh modul pengekspor ulang * dari prosedur tertentu yang ditunjukkan * diekspor dari modul lain (lihat 6.2.4.3).

3.51 term, qualified : istilah, memenuhi syarat

Suatu istilah yang fungsi utamanya adalah (:)/2.

3.52 visible procedure (in a module M)

Lihat 3.42 procedure, visible

3.53 visible database (of a module M)

Lihat 3.5 — database, visible.

Penutup

Demikian artikel dari standarku.com mengenai Standar ISO/IEC 13211-2:2000.

Mohon saran dari pembaca untuk kelengkapan isi artikel ini, silahkan saran tersebut dapat disampaikan melalui kolom komentar.

Baca artikel lain :

Sumber referensi :

Leave a Comment