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 :
- ISO IEC 10514-1 Bahasa pemrograman
- ISO IEC 10514-3 Object Oriented Modula-2
- ISO IEC 10967-3 fungsi numerik dasar
- ISO IEC TR 15413 sumber daya font
- ISO IEC 15026-2 assurance case
- Mengenal organisasi ISO, standardisasi internasional
- Memahami apa itu Standar ISO
Sumber referensi :