Saya menemukan sistem transisi berlabel menjadi model yang baik untuk aplikasi saya, yaitu ada makalah tentang pemodelan menggunakan kasus menggunakan LTS. Pertanyaannya adalah, apa yang bisa dengan mudah dibuktikan tentang LTS? Saya ingin menggunakan kembali solusi yang ada untuk melihat apakah mereka berguna untuk aplikasi saya. Saya ingin mengetahui sifat-sifat LTS (dan kasus penggunaan) yang dapat dengan mudah dibuktikan secara otomatis, jadi saya dapat memutuskan, jika ada rekan praktis dengan masalah untuk kasus penggunaan.
lo.logic
formal-modeling
model-checking
program-verification
automated-theorem-proving
Gabriel Ščerbák
sumber
sumber
Jawaban:
Rumus logika Hennessy-Milner sangat mudah dibuktikan tentang sistem transisi berlabel. Namun, logika ini tidak cukup ekspresif (tidak ada cara untuk menyatakan properti dari jalur tak terbatas) sehingga Anda mungkin ingin mempertimbangkan beberapa ekstensi untuk itu, seperti logika temporal linier. LTL memiliki masalah, tetapi PSPACE-lengkap, masalah.
Pemeriksa model SPIN adalah alat yang banyak digunakan untuk properti pemeriksaan model LTL.
sumber
Dua alat lain, untuk melengkapi yang disarankan oleh Neel, adalah muCRL dan mCRL2 . Kedua toolet memiliki cukup banyak alat untuk mendefinisikan LTS pada berbagai tingkat abstraksi. Visualisasi ruang negara dan alat pengecekan model juga tersedia. Logika yang mendasari adalah modal proposisional kalkulus , yang jauh lebih ekspresif daripada LTL, namun masih dapat diperhitungkan. Alat berguna lainnya memungkinkan Anda untuk melakukan bisimulasi modulo reduksi ruang keadaan untuk mendapatkan representasi terkecil dari sistem Anda.
sumber
sumber
Properti CTL dapat diperiksa dalam waktu linier (lihat Clarke et al ).
Dahulu kala saya pernah bekerja di perusahaan tempat banyak rekan kerja menggunakan Rulebase untuk memverifikasi desain sirkuit terintegrasi. Bahasa propertinya adalah PSL , distandarisasi oleh IEEE, dan merupakan jenis CTL pada steroid.
sumber
Tentu saja saya mengenal Isabelle , "asisten bukti generik". Ini mendukung (total) pemrograman fungsional (dekat dengan ML) dan logika urutan yang lebih tinggi. Anda dapat menentukan sendiri (atau menemukan) bahasa untuk LTS dan LTL dan membuktikan teorema tentang itu. Saya tidak tahu apakah ini memenuhi syarat mudah, tetapi pasti berhasil.
sumber
Jika latar belakang Anda adalah CTL ditafsirkan di atas struktur Kripke dan Anda mencari sesuatu yang serupa ditafsirkan di atas LTS, daripada ACTL (CTL berbasis tindakan) bisa menarik.
Kembali pada tahun 1990, R. De Nicola dan F. Vaandrager memperkenalkan ACTL sebagai CTL berbasis tindakan ( Logika versus berbasis negara untuk sistem transisi , Semantik Sistem Proses Bersamaan (1990), hlm. 407-419). Ini telah dipelajari lebih lanjut pada tahun 1993 (R. De Nicola, A. Fantechi, S. Gnesi, G. Ristori: Kerangka Kerja Berbasis Tindakan untuk Memverifikasi Properti Logikal dan Perilaku dari Sistem Bersamaan , Jaringan Komputer dan Sistem ISDN, Vol. 25, No. 7., hlm. 761-778.) Dan yang lebih baru pada tahun 2008 (R. Meolic, T. Kapus, Z. Brezočnik: ACTLW - Logika Pohon Perhitungan Berbasis Aksi Dengan Kecuali Operator , Ilmu Informasi, 178 (6) , hlm. 1542-1557.)
Gagasan utama ACTL (jangan dikelirukan dengan subset CTL dengan akronim yang sama) adalah memiliki operator yang sama dan algoritma yang sama untuk pengecekan model seperti pada CTL. Selain itu, operator didefinisikan oleh ekspresi titik tetap analog dengan yang digunakan untuk CTL. Kompleksitas (saya tidak yakin tentang ekspresif) dari ACTL adalah suatu tempat antara HML dan modal proposisional μ-kalkulus.
sumber