ISO IEC TR 15942 adalah Standar Internasional mengenai Information technology, khususnya tentang panduan penggunaan bahasa pemrograman ADA dalam sistem berintegritas tinggi (Ada programming language).
Standar versi terbaru yang masih berlaku adalah terbitan tahun 2000 dengan judul berikut :
- ISO/IEC TR 15942:2000 Information technology — Programming languages — Guide for the use of the Ada programming language in high integrity systems
Peninjauan dan konfirmasi dari standar ini terakhir dilakukan pada tahun 2013, oleh karena itu versi ini masih dinyatakan tetap berlaku hingga saat ini.
Standar ISO/IEC TR 15942:2000
Sebagaimana tercantum dalam “Klausa Scope : Lingkup”, bahwa :
1 Scope : Lingkup
Laporan Teknis ini memberikan panduan tentang penggunaan “Ada” saat memproduksi sistem berintegritas tinggi.
Dalam menghasilkan aplikasi seperti itu biasanya kepatuhan terhadap pedoman atau standar harus ditunjukkan kepada badan independen.
Pedoman atau standar ini berbeda-beda sesuai dengan bidang aplikasi, sektor industri, atau sifat risiko yang terlibat.
Pada aplikasi keselamatan, standar umum internasional adalah [IEC 61508] yang bagian 3 berkaitan dengan perangkat lunak.
Sedangkan untuk sistem keamanan, panduan penilaian generik multinasional adalah [ISO CD 15408].
Selanjutnya, untuk pedoman dan standar khusus sektor ada:
- Airborne civil avionics: [DO-178B]
- Nuclear power plants: [IEC 880]
- Medical systems: [IEC 601-4]
- Pharmaceutical: [GAMP]
Dan, untuk panduan dan standar nasional/regional ada hal-hal berikut:
- UK Defence: [DS 00-55]
- European rail: [EN 50128]
- European security: [ITSEC]
- US nuclear: [NRC]
- UK automotive: [MISRA]
- US medical: [FDA]
- US space: [NASA]
Standar dan panduan di atas disebut sebagai Standar dalam Laporan Teknis ini.
Daftar di atas tidak lengkap tetapi menunjukkan jenis Standar yang menjadi panduan Laporan Teknis ini.
Standar spesifik di atas tidak dibahas secara individual tetapi Laporan Teknis ini disintesis dari analisis persyaratan dan rekomendasinya.
1.1 Within the scope : Dalam ruang lingkup
Laporan Teknis ini mengasumsikan bahwa sistem sedang dikembangkan di Ada untuk memenuhi standar yang tercantum di atas atau salah satu dari sifat serupa.
Tujuan utama dari Laporan Teknis ini adalah untuk menerjemahkan persyaratan umum menjadi persyaratan khusus Ada.
Misalnya, standar umum mungkin mengharuskan pengujian dinamis memberikan bukti pelaksanaan semua pernyataan dalam kode aplikasi.
Dalam kasus obat generik, ini ditafsirkan oleh Laporan Teknis ini berarti semua contoh obat generik harus dijalankan.
Laporan Teknis ini dimaksudkan untuk memberikan panduan saja, dan karenanya tidak ada? ‘ shalls’ (wajib)’.
Namun, Laporan Teknis ini mengidentifikasi masalah verifikasi dan validasi yang harus diselesaikan dan didokumentasikan sesuai dengan standar khusus sektor yang digunakan.
Topik-topik berikut berada dalam ruang lingkup Laporan Teknis ini:
- pilihan fitur bahasa yang membantu verifikasi dan kepatuhan terhadap standar,
- identifikasi fitur bahasa yang membutuhkan langkah verifikasi tambahan,
- penggunaan alat untuk membantu desain dan verifikasi,
- masalah tentang kualifikasi kompiler untuk digunakan pada aplikasi berintegritas tinggi,
- alat, seperti alat desain grafis, yang menghasilkan kode sumber Ada yang dapat diakses oleh pengguna.
Alat yang menghasilkan kode sumber Ada memerlukan pertimbangan khusus.
Di mana kode yang dihasilkan dapat dimodifikasi atau diperluas, verifikasi ekstensi dan keseluruhan sistem akan dibantu jika pedoman telah diperhitungkan.
Bahkan ketika modifikasi tidak direncanakan, pemeriksaan dan analisis kode yang dihasilkan mungkin tidak dapat dihindari kecuali generator tersebut dipercaya atau ‘memenuhi syarat’ menurut standar yang berlaku.
Akhirnya, bahkan jika kode yang dihasilkan tidak dimodifikasi atau diperiksa, keseluruhan proses verifikasi dapat menjadi lebih rumit jika kode tersebut menyimpang dari pedoman yang dimaksudkan untuk memfasilitasi pengujian dan analisis.
Pengguna potensial alat tersebut harus mengevaluasi pembuatan kode mereka terhadap panduan yang diberikan dalam Laporan Teknis ini.
1.2 Out of scope : Di luar lingkup
Topik-topik berikut ini dianggap di luar cakupan sehubungan dengan Laporan Teknis ini:
- Standar khusus domain,
- Masalah khusus aplikasi,
- Masalah khusus perangkat keras dan sistem,
- Masalah faktor manusia dalam aplikasi (berlawanan dengan faktor manusia dalam penggunaan bahasa Ada yang berada dalam ruang lingkup).
Penerbitan Standar ISO/IEC TR 15942:2000
Standar ini diterbitkan dan dipublikasikan pada Maret 2000, berupa dokumen edisi 1 dengan jumlah halaman sebanyak 48 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 TR 15942:2000 ini juga ditinjau setiap 5 tahun dan peninjauan sudah mencapai tahap 90.93 (dikonfirmasi).
Isi Standar ISO/IEC TR 15942:2000
Berikut adalah kutipan isi Standar ISO/IEC TR 15942: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 TR 15942:2000
- Foreword
- Introduction
- 1 Scope
- Within the scope
- Out of scope
- Verification Techniques
- Traceability
- Reviews
- Analysis
- Testing
- Use of Verification Techniques in this Technical Report
- General Language Issues
- Writing Verifiable Programs
- The Choice of Language
- Significance of Language Features for High Integrity
- Criteria for Assessment of Language Features
- How to use this Technical Report
- Assessment of Language Features
- Types with Static Attributes
- Declarations
- Names, including Scope and Visibility
- Expressions
- Statements
- Subprograms
- Packages (child and library)
- Arithmetic Types
- Low Level and Interfacing
- Generics
- Access Types and Types with Dynamic Attributes
- Exceptions
- Tasking
- Distribution
- Compilers and Run-time Systems
- Language issues
- Compiler Qualification
- Run-Time System
- References
- Applicable Documents
- Referenced Documents
Kata pengantar
Sebagaimana tercantum dalam “Klausa 0 Foreword”, bahwa :
ISO (Organisasi Internasional untuk Standardisasi) dan IEC (Komisi Elektroteknik Internasional) membentuk sistem khusus untuk standardisasi dunia.
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 dirancang sesuai dengan peraturan 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 diedarkan ke badan anggota untuk pemungutan suara.
Publikasi sebagai Standar Internasional membutuhkan persetujuan setidaknya 75% dari badan anggota yang memberikan suara.
Dalam keadaan luar biasa, ketika komite teknis telah mengumpulkan data dari jenis yang berbeda dari yang biasanya diterbitkan sebagai Standar Internasional (“canggih”, misalnya), ia dapat memutuskan dengan suara mayoritas sederhana dari anggota yang berpartisipasi untuk menerbitkan Laporan Teknis.
Laporan Teknis sepenuhnya bersifat informatif dan tidak perlu ditinjau sampai data yang diberikannya dianggap tidak lagi valid atau berguna.
Perhatian tertuju pada kemungkinan bahwa beberapa elemen dari Laporan Teknis ini dapat menjadi subjek dari hak paten.
ISO dan IEC tidak bertanggung jawab untuk mengidentifikasi salah satu atau semua hak paten tersebut.
ISO/IEC TR 15942 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 Gabungan ISO/IEC JTC 1, Teknologi informasi, Subkomite SC 22, Bahasa pemrograman, lingkungannya, dan antarmuka perangkat lunak sistem.
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 :
Pengantar Standar
Sebagaimana tercantum dalam “Klausa 0 Introduction”, bahwa :
Sebagai masyarakat, kita semakin bergantung pada sistem berintegritas tinggi: untuk sistem keselamatan (seperti pesawat fly-by-wire), untuk sistem keamanan (untuk melindungi informasi digital) atau untuk sistem keuangan (mis., mesin ATM tunai).
Seiring dengan meningkatnya kompleksitas sistem ini, permintaan akan teknik yang lebih baik untuk produksi komponen perangkat lunak dari sistem juga meningkat.
Sistem berintegritas tinggi ini harus terbukti sepenuhnya dapat diprediksi dalam pengoperasiannya dan memiliki semua properti yang diperlukan.
Ini hanya dapat dicapai dengan menganalisis perangkat lunak, selain penggunaan pengujian dinamis konvensional.
Saat ini, tidak ada bahasa tingkat tinggi arus utama di mana semua program dalam bahasa tersebut dijamin dapat diprediksi dan dianalisis.
Oleh karena itu, untuk setiap pilihan bahasa implementasi, sangat penting untuk mengontrol cara bahasa tersebut digunakan oleh aplikasi.
Bahasa Ada [ARM] dirancang dengan mekanisme khusus untuk mengontrol penggunaan aspek bahasa tertentu.
Selain itu juga,
- 1. Semantik program Ada terdefinisi dengan baik, bahkan dalam situasi kesalahan. Secara khusus, efek dari suatu program dapat diprediksi dari definisi bahasa dengan sedikit ketergantungan implementasi atau interaksi antara fitur bahasa.
- 2. Pengetikan yang kuat dalam bahasa dapat digunakan untuk mengurangi ruang lingkup (dan biaya) analisis untuk memverifikasi properti kunci.
- 3. Bahasa Ada telah berhasil digunakan pada banyak aplikasi berintegritas tinggi. Ini menunjukkan bahwa kompiler Ada yang divalidasi memiliki kualitas yang diperlukan untuk aplikasi semacam itu.
- 4. Bimbingan dapat diberikan untuk memfasilitasi penggunaan bahasa dan mendorong pengembangan alat untuk verifikasi lebih lanjut.
implementasi
Oleh karena itu, Ada cocok untuk mengimplementasikan perangkat lunak berintegritas tinggi dan dokumen ini memberikan panduan dalam kontrol yang diperlukan dalam penggunaan Ada untuk memastikan bahwa program dapat diprediksi dan dianalisis.
Semua desain bahasa menyeimbangkan fungsionalitas dengan integritas.
Misalnya, kemampuan untuk mengontrol alokasi penyimpanan secara langsung akan berdampak pada kebutuhan untuk memastikan integritas data.
Aspek integritas program Ada adalah kemungkinan untuk menghindari jenis akses (referensi) sepenuhnya, sedangkan dalam bahasa lain referensi terkait dengan pengaksesan array dan/atau penerusan parameter, dan oleh karena itu tidak dapat dikecualikan.
Ada sejumlah teknik analisis berbeda yang digunakan untuk perangkat lunak berintegritas tinggi dan dokumen ini tidak menentukan teknik mana yang digunakan.
Selanjutnya, setiap teknik analisis membutuhkan kontrol yang berbeda pada penggunaan bahasa.
Analisis bantuan Ada: misalnya, mode parameter Ada, yang digunakan dengan tepat, memberikan informasi untuk analisis aliran data yang tidak selalu dapat disediakan oleh bahasa lain.
Oleh karena itu, Laporan Teknis ini membuat katalog teknik verifikasi khusus (lihat 2.5), dan mengklasifikasikan dampak fitur bahasa pada penggunaan teknik ini (dalam tabel di Bagian 5).
Pengguna bertanggung jawab untuk memilih teknik analisis untuk aplikasi tertentu; dokumen ini kemudian dapat digunakan untuk menentukan rangkaian kontrol lengkap yang diperlukan untuk menggunakan rangkaian teknik tersebut.
Bagian-bagian
Panduan yang diberikan di sini pertama-tama menentukan ruang lingkupnya, dengan mengacu pada standar keselamatan dan keamanan yang dapat dituliskan pada aplikasi berintegritas tinggi.
Bagian 2 kemudian menganalisis teknik verifikasi yang diterapkan dalam pengembangan sistem berintegritas tinggi.
Dengan cara ini, aturan regulasi dari standar untuk keselamatan dan keamanan diabstraksikan untuk menghindari kebutuhan untuk mempertimbangkan masing-masing standar tersebut secara terpisah.
Bagian 3 membahas isu-isu umum tentang bagaimana bahasa komputer harus dibangun jika program yang ditulis dalam bahasa itu dapat diprediksi sepenuhnya.
Isu-isu ini relevan dengan bahasa terbatas apa pun yang ditentukan melalui penerapan panduan ini.
Bagian 4 memberikan identifikasi sistem klasifikasi tiga arah yang digunakan untuk fitur bahasa Ada.
Klasifikasi ini didasarkan pada kemudahan teknik verifikasi yang dapat diterapkan pada program yang berisi fitur tersebut.
Klasifikasi ini diperlukan karena meskipun sebagian besar fitur inti dalam Ada membantu verifikasi, penggunaan fitur tertentu membuat kode yang dihasilkan sulit atau tidak mungkin dianalisis dengan alat dan teknik analisis program yang tersedia saat ini.
Bagian 5 memberikan materi teknis utama dari Laporan Teknis ini dengan mengklasifikasikan fitur bahasa Ada.
Pengguna Laporan Teknis ini kemudian dapat menentukan fitur Ada mana yang tepat untuk digunakan dari teknik verifikasi yang akan digunakan.
Penilaian telah menunjukkan bahwa sebagian besar fitur Ada dapat digunakan secara efektif dalam pembangunan sistem berintegritas tinggi.
Laporan Teknis menyimpulkan, di Bagian 6, dengan memberikan informasi untuk membantu pemilihan kompiler Ada yang cocok bersama dengan sistem run-time yang terkait.
Referensi untuk standar dan panduan yang relevan disediakan. Analisis terperinci tentang Ada95 untuk sistem berintegritas tinggi tersedia di Referensi [CAT1, CAT2] dan [CAT3].
Indeks komprehensif disediakan untuk memudahkan penggunaan Laporan Teknis.
Levels of criticality : Tingkat kekritisan
Banyak dari Standar di mana perangkat lunak berintegritas tinggi ditulis menggunakan berbagai tingkatan untuk mengklasifikasikan kekritisan komponen perangkat lunak yang menyusun sistem.
Sementara jumlah dan sifat tingkatan bervariasi, pendekatan umumnya selalu sama: semakin tinggi kekritisan sistem, semakin banyak teknik verifikasi yang perlu digunakan untuk jaminannya.
Tabel 1 menghubungkan berbagai tingkat klasifikasi yang digunakan dalam beberapa Standar Internasional yang terkenal.
Tabel 1 Tingkat kekritisan dalam beberapa Standar
Standard | Number of levels | Lowest Level | Highest Level |
[DO-178B] | 4 | D | A |
[IEC-61508] | 4 | Safety Integrity Level 1 | Safety Integrity Level 4 |
[ITSEC] | 7 | E0 | E6 |
Laporan Teknis ini menekankan tingkat kekritisan yang lebih tinggi, di mana teknik verifikasi yang lebih menuntut digunakan dan di mana Ada memberikan manfaat besar.
Laporan Teknis ini, bagaimanapun, tidak secara langsung menggunakan tingkat tersebut tetapi berfokus pada korelasi antara fitur bahasa dan teknik verifikasi untuk digunakan pada tingkat kekritisan yang lebih tinggi.
Materi dalam [ISO/IEC 15026], [DS 00-56], [ARP 4754] dan [ARP 4761] mungkin berguna dalam menentukan kekritisan sistem jika hal ini tidak dicakup oleh standar khusus aplikasi.
Readership : Jumlah pembaca
Laporan Teknis ini dibuat untuk:
- 1. Mereka yang bertanggung jawab atas standar pengkodean yang berlaku untuk perangkat lunak Ada berintegritas tinggi.
- 2. Mereka yang mengembangkan sistem integritas tinggi di Ada.
- 3. Vendor pemasaran Ada kompiler, generator kode sumber, dan alat verifikasi untuk digunakan dalam pengembangan sistem berintegritas tinggi.
- 4. Regulator yang perlu menyetujui sistem berintegritas tinggi yang berisi perangkat lunak yang ditulis dalam Ada.
- 5. Mereka yang peduli dengan sistem integritas tinggi yang ingin mempertimbangkan keuntungan menggunakan bahasa Ada.
Laporan Teknis ini bukanlah tutorial tentang penggunaan Ada atau tentang pengembangan perangkat lunak berintegritas tinggi.
Pengembang yang menggunakan laporan ini diasumsikan memiliki pengetahuan tentang bahasa dan pemahaman tentang gaya Ada yang baik, seperti di [AQS].
History : Sejarah
Ketika proposal dibuat bahwa subset Ada harus ditentukan untuk aplikasi berintegritas tinggi, disadari bahwa ketentuan Lampiran Keselamatan dan Keamanan dalam standar Ada tidak memenuhi semua persyaratan pengembang sistem berintegritas tinggi.
Akibatnya, sebuah kelompok dibentuk di bawah WG9 untuk mempertimbangkan tindakan apa yang diperlukan. Kelompok ini, yang disebut HRG, mengusulkan dan menyusun Laporan Teknis ini selama tiga tahun.
Conventions : Konvensi
Sejalan dengan standar Ada, teks utama menggunakan font Romawi.
Pengidentifikasi Ada diatur dalam font sans-serif, dan kata kunci Ada dalam font sans-serif tebal.
Postscript : Nota bene
Panduan yang diberikan di sini mencerminkan pemahaman tentang masalah yang terutama didasarkan pada penggunaan standar Ada sebelumnya dalam mengembangkan aplikasi berintegritas tinggi.
Selama beberapa tahun ke depan, standar Ada saat ini akan digunakan untuk aplikasi berintegritas tinggi lebih lanjut yang tidak diragukan lagi perlu tercermin dalam revisi panduan ini.
Secara khusus, detail lebih lanjut dapat dihasilkan berdasarkan pengalaman yang diperoleh.
Instructions for comment submission : Petunjuk untuk pengiriman komentar
Komentar informal atas Laporan Teknis ini dapat dikirim melalui email ke [email protected]. Jika sesuai, editor proyek akan mendokumentasikan masalah tersebut untuk tindakan korektif.
Komentar harus menggunakan format berikut:
!topic: Title which is a summary in one sentence
!reference TR 15942- ss.ss.ss
!from Author, Name, yy-mm-dd
!keywords keywords related to topic
!discussion
text of discussion
di mana ss.ss.ss adalah nomor bagian, yy-mm-dd adalah tanggalnya.
Jika komentar meminta perubahan, alasan untuk ini dan substansi perubahan aktual yang diusulkan akan memfasilitasi pemrosesan komentar.
ISO/IEC TR 15942:2000 Klausa 1
1 Scope : Lingkup
Bagian ini sudah tercantum di bagian awal artikel ini, pada paragraf “Standar ISO/IEC TR 15942:2000”.
Keterangan :
- [1] : Ini adalah tujuan desain Ada bahwa rutinitas klien tidak boleh mengakses variabel status dalam paket lain (untuk mencegah klien menyalahgunakannya, di antara alasan bagus lainnya). Namun pengetahuan tentang negara diperlukan untuk alasan tentang perilaku seluruh program.
Penutup
Demikian artikel dari standarku.com mengenai Standar ISO/IEC TR 15942:2000.
Mohon saran dari pembaca untuk kelengkapan isi artikel ini, silahkan saran tersebut dapat disampaikan melalui kolom komentar.
Baca artikel lain :
- International Organization for Standardization
- Memahami apa itu Standar ISO
- Memahami Standard atau Standar
Sumber referensi :
- https://www.iso.org/obp/ui/#iso:std:iso-iec:tr:15942:ed-1:v1:en