ScholarGate
ผู้ช่วย

ตรรกะเชิงเวลาและเชิงกิริยาในการคำนวณ

ตรรกะเชิงเวลาและเชิงกิริยาขยายตรรกะคลาสสิกด้วยตัวดำเนินการสำหรับเวลาและความเป็นไปได้ ทำให้เกิดภาษาที่แม่นยำในการระบุว่าโปรแกรมหรือระบบเชิงโต้ตอบจะต้องทำงานอย่างไรตลอดการประมวลผลทั้งหมด

ค้นหาหัวข้อด้วย PaperMindเร็ว ๆ นี้Find papers & topics
Tools & resources
ดาวน์โหลดสไลด์
Learn & explore
วิดีโอเร็ว ๆ นี้

Definition

ตรรกะเชิงเวลาเพิ่มตรรกะเชิงประพจน์หรือตรรกะอันดับหนึ่งด้วยตัวดำเนินการที่อธิบายว่าคุณสมบัติเป็นจริงเมื่อใดตลอดการคำนวณ เช่น เสมอ, ในที่สุด, และจนกว่า; ตรรกะเชิงกิริยาทำให้สิ่งนี้เป็นสากลมากขึ้นด้วยตัวดำเนินการสำหรับความจำเป็นและความเป็นไปได้เหนือโครงสร้างของสถานะและการเปลี่ยนผ่าน

Scope

หัวข้อนี้ครอบคลุมตรรกะเชิงเวลาแบบเส้นตรงและแบบแตกแขนง เช่น LTL และ CTL, ตรรกะเชิงกิริยา รวมถึงตรรกะพลวัตและโมดัลมิว-แคลคูลัส, การแสดงคุณสมบัติความปลอดภัยและคุณสมบัติความมีชีวิตชีวา, และปัญหาเชิงอัลกอริทึมของการตรวจสอบแบบจำลองและความน่าพอใจ ซึ่งทำให้ตรรกะเหล่านี้มีความสำคัญต่อการตรวจสอบอัตโนมัติ

Core questions

  • ตรรกะสามารถแสดงได้อย่างไรว่าสิ่งที่ดีจะเกิดขึ้นในที่สุด หรือสิ่งที่ไม่ดีจะไม่เกิดขึ้นเลย?
  • อะไรคือความแตกต่างระหว่างการให้เหตุผลเกี่ยวกับการประมวลผลครั้งเดียวกับการให้เหตุผลเกี่ยวกับอนาคตที่เป็นไปได้ทั้งหมด?
  • การตรวจสอบว่าระบบเป็นไปตามคุณสมบัติเชิงเวลาได้อย่างไรจึงจะกลายเป็นอัลกอริทึม?
  • ตรรกะเชิงเวลาใดที่สร้างสมดุลระหว่างพลังการแสดงออกกับการตรวจสอบที่มีประสิทธิภาพ?

Key theories

ตรรกะเชิงเวลาสำหรับการระบุคุณสมบัติของโปรแกรม
Pnueli แสดงให้เห็นว่าตรรกะเชิงเวลาสามารถจับความถูกต้องของโปรแกรมเชิงโต้ตอบและโปรแกรมพร้อมกันได้โดยการแสดงคุณสมบัติเหนือการทำงานของโปรแกรมเหล่านั้น ซึ่งเป็นภาษาที่เป็นหนึ่งเดียวสำหรับข้อกำหนดด้านความปลอดภัยและความมีชีวิตชีวา
การตรวจสอบแบบจำลองตรรกะเชิงเวลาแบบแตกแขนง
Clarke และ Emerson ได้นำเสนอ Computation Tree Logic และอัลกอริทึมเพื่อตรวจสอบโดยอัตโนมัติกับแบบจำลองสถานะจำกัด ซึ่งเป็นรากฐานของสาขาการตรวจสอบแบบจำลอง

Clinical relevance

ตรรกะเชิงเวลาเป็นภาษาที่ใช้ในการระบุคุณสมบัติของตัวตรวจสอบแบบจำลองที่ใช้เป็นประจำเพื่อตรวจสอบการออกแบบฮาร์ดแวร์, โปรโตคอลการสื่อสาร, และซอฟต์แวร์พร้อมกัน, เพื่อตรวจจับภาวะชะงักงันและการละเมิดความปลอดภัยและความมีชีวิตชีวาก่อนการนำไปใช้งาน; เทคโนโลยีนี้ทำให้ผู้ริเริ่มได้รับรางวัล Turing Award และเป็นมาตรฐานในการออกแบบชิป

History

Pnueli เสนอแนวคิดตรรกะเชิงเวลาสำหรับการให้เหตุผลเกี่ยวกับโปรแกรมในปี 1977 และ Clarke กับ Emerson ร่วมกับ Queille และ Sifakis ได้พัฒนาการตรวจสอบแบบจำลองโดยอิสระประมาณปี 1981 แนวทางนี้ได้ขยายไปสู่ระบบอุตสาหกรรมผ่านวิธีการเชิงสัญลักษณ์ในช่วงต้นทศวรรษ 1990 และผู้สร้างได้รับรางวัล Turing Award สำหรับเทคนิคนี้

Key figures

  • Amir Pnueli
  • Edmund Clarke
  • E. Allen Emerson
  • Joseph Sifakis

Related topics

Seminal works

  • clarkeEmerson1981
  • huthRyan2004

Frequently asked questions

อะไรคือความแตกต่างระหว่างตรรกะเชิงเวลาแบบเส้นตรงและแบบแตกแขนง?
ตรรกะเชิงเวลาแบบเส้นตรง เช่น LTL อธิบายคุณสมบัติของเส้นทางการทำงานเดียวที่อาจไม่มีที่สิ้นสุด ตรรกะเชิงเวลาแบบแตกแขนง เช่น CTL จะหาปริมาณเหนือต้นไม้ของอนาคตที่เป็นไปได้ทั้งหมดจากแต่ละสถานะ ทำให้สามารถกล่าวได้ว่าตามเส้นทางบางเส้นทางหรือตามเส้นทางทั้งหมด คุณสมบัติเป็นจริง ตรรกะทั้งสองมีพลังการแสดงออกและอัลกอริทึมการตรวจสอบที่แตกต่างกัน
การตรวจสอบแบบจำลองใช้ตรรกะเหล่านี้อย่างไร?
ระบบจะถูกแสดงเป็นแบบจำลองสถานะจำกัด และคุณสมบัติที่ต้องการจะถูกแสดงเป็นสูตรตรรกะเชิงเวลา ตัวตรวจสอบแบบจำลองจะสำรวจสถานะทั้งหมดเพื่อพิจารณาว่าสูตรเป็นจริงหรือไม่ และหากล้มเหลวก็จะสร้างร่องรอยตัวอย่างที่ขัดแย้ง ทำให้การตรวจสอบเป็นไปโดยอัตโนมัติและสามารถวินิจฉัยได้

Methods for this concept

Related concepts