ประเภทความเป็นเจ้าของและลอจิกการแยกดูเหมือนว่าจะมีเป้าหมายคล้ายกันควบคุมความเป็นเจ้าของและนามแฝง บางทีฉันควรเพิ่ม: ความสามารถในการเขียนข้อมูลจำเพาะแบบแยกส่วน
อะไรคือความสัมพันธ์ระหว่างความเป็นเจ้าของและตรรกะการแยก
ประเภทความเป็นเจ้าของและลอจิกการแยกดูเหมือนว่าจะมีเป้าหมายคล้ายกันควบคุมความเป็นเจ้าของและนามแฝง บางทีฉันควรเพิ่ม: ความสามารถในการเขียนข้อมูลจำเพาะแบบแยกส่วน
อะไรคือความสัมพันธ์ระหว่างความเป็นเจ้าของและตรรกะการแยก
คำตอบ:
ฉันเพิ่งเสร็จสิ้นการสำรวจประเภทการเป็นเจ้าของและพบว่ามีน้อยมากที่กล่าวถึงความสัมพันธ์ระหว่างสองหัวข้อ เอกสารที่ใกล้เคียงที่สุดที่ฉันเคยพบสามฉบับมีดังต่อไปนี้ซึ่งอยากรู้อยากเห็นมาจากการประชุมเดียวกัน:
Yang Zhao และ John Boyland การตีความการอนุญาตพื้นฐานสำหรับประเภทการเป็นเจ้าของ ในการประชุมวิชาการระดับนานาชาติ IEEE / IFIP ครั้งที่สองเกี่ยวกับแง่มุมทางทฤษฎีของวิศวกรรมซอฟต์แวร์, TASE 2008, 17-19 มิถุนายน 2008, หนานจิง, จีน สมาคมคอมพิวเตอร์ IEEE, 2008. , หน้า 65–72
Shuling Wang, Luís Soares Barbosa และJosé Nuno Oliveira แบบจำลองเชิงสัมพันธ์สำหรับลอจิกการแยกที่ จำกัด ในการประชุมวิชาการระดับนานาชาติ IEEE / IFIP ครั้งที่สองเกี่ยวกับแง่มุมทางทฤษฎีของวิศวกรรมซอฟต์แวร์ TASE 2008 วันที่ 17-19 มิถุนายน 2551 หนานจิงประเทศจีน สมาคมคอมพิวเตอร์ IEEE, 2008. , หน้า 263–270
Shuling Wang และ Zongyan Qiu แบบจำลองทั่วไปสำหรับการคุมขังและการใช้งาน ในการประชุมวิชาการระดับนานาชาติ IEEE / IFIP ครั้งที่สองเกี่ยวกับแง่มุมทางทฤษฎีของวิศวกรรมซอฟต์แวร์ TASE 2008 วันที่ 17-19 มิถุนายน 2551 หนานจิงประเทศจีน สมาคมคอมพิวเตอร์ IEEE, 2008. , หน้า 57–64
กระดาษแผ่นแรกเข้ารหัสประเภทของความเป็นเจ้าของสองรูปแบบ ได้แก่ เจ้าของแบบผู้ครอบครองและเจ้าของแบบล็อกในแง่ของสิทธิ์การใช้งานของ Boyland ซึ่งเป็นระบบความสามารถที่พัฒนาขึ้นเพื่อการให้เหตุผลเกี่ยวกับโปรแกรม
กระดาษแผ่นที่สองใช้แนวคิดการคุมขังคล้ายกับที่ใช้ในประเภทการเป็นเจ้าของและเพิ่มลงในตรรกะการแยก
บทความที่สามได้พัฒนาวิธีการทางความหมายซึ่งใช้ในการเข้ารหัสสาขาการกักขังต่างๆเช่นประเภทการเป็นเจ้าของ ฉันไม่แน่ใจว่าระบบของพวกเขาครอบคลุมตรรกะการแยกเช่นกันและฉันไม่สามารถเข้าถึงได้ในขณะนี้ วิธีการของพวกเขาค่อนข้างเฉพาะกิจ มันสามารถถูกมองว่าเป็นบทความที่เป็นทางการและเป็นระบบมากกว่าที่ฉันเขียนเมื่อไม่นานมานี้กับ James Noble และผู้อื่น
วิธีที่ผมเข้าใจความแตกต่างก็คือว่าประเภทเจ้าของจำกัด รูปร่างของกราฟวัตถุและระบบ substructural (เช่นตรรกะแยก) จัดการสิทธิ์ในการเข้าถึงกอง
ในทางตรงกันข้ามระบบ substructural ชอบประเภทเส้นและตรรกะแยกพึ่งพาความคิดของทรัพยากร แต่ละพื้นที่ของฮีปเป็นทรัพยากรและถ้าคุณไม่มีทรัพยากรคุณไม่สามารถสัมผัสได้ สิ่งนี้ทำให้เงื่อนไขของเฟรมง่ายมาก: พวกมันถืออยู่เสมอ
ความแตกต่างเพียงผิวเผินอย่างหนึ่ง (ซึ่งทำให้ฉันสับสนมานาน) คือประเภทของความเป็นเจ้าของเป็นประเภทและตรรกะการแยกเป็นตรรกะของโปรแกรม โชคดีที่ในขณะที่ประเภทความเป็นเจ้าของเกิดขึ้นในการตั้งค่าแบบทฤษฎี แต่ผู้คนได้นำแนวคิดเหล่านี้ไปใช้กับการเขียนโปรแกรม
สองชิ้นหลักของการทำงานตามทฤษฎีฉันรู้เกี่ยวกับเรื่องนี้เป็นผลงาน Kassios บนเฟรมแบบไดนามิกซึ่ง Bannerjee และ Naumann (และนักเรียนของพวกเขา) ใช้ประโยชน์อย่างเป็นระบบในการทำงานของพวกเขาในตรรกะภูมิภาค
ตามที่ฉันเข้าใจวิธีการพื้นฐานของพวกเขาคือการใช้ตรรกะของ Hoare และจากนั้น:
แต่ละวิธีมีประโยชน์และจุดอ่อน
ความเป็นเจ้าของทำให้คุณสมบัติของเฟรมมีความสะดวกในการใช้งานน้อยกว่าอย่างมากในแนวทางโครงสร้างย่อยเนื่องจากคุณต้องคำนวณเงื่อนไขของเฟรม
ในทางกลับกันอัลกอริธึมบน DAG สนับสนุนการพิสูจน์แบบอุปนัยที่น่าสนใจกว่าในรูปแบบความเป็นเจ้าของเนื่องจากคุณสามารถแยกรอยเท้าออกจากโครงสร้างตัวชี้ได้ ในสเป็คการแยกสไตล์สิ่งที่เป็นธรรมชาติคือการให้ค่าคงที่แบบอินดัคทีฟบนต้นไม้ที่ทอด แต่ถ้าทรีสแปนนิ่งอัลกอริธึมคำนวณแตกต่างจากสิ่งที่ไม่แปรเปลี่ยนของคุณคุณจะอยู่ในโลกแห่งความเจ็บปวด
ความรู้สึกทั่วไปของฉันคือการแยกใช้งานง่ายกว่าความเป็นเจ้าของเนื่องจากเราต้องการคุณสมบัติเฟรมสำหรับเกือบทุกคำสั่งในโปรแกรมที่จำเป็น (Dave Naumann ให้เหตุผลว่าขอบเขตภูมิภาคนั้นคล้อยตามระบบอัตโนมัติมากขึ้นเนื่องจากตรรกะการยืนยันยังคงเป็น FOL แบบเก่าที่เรียบง่ายและเพื่อให้คุณสามารถใช้ตัวพิสูจน์ทฤษฎีบทนอกชั้นวางและตัวแก้ปัญหา SMT)
แก้ไข: ฉันเพิ่งพบกระดาษต่อไปนี้โดย Matt Parkinson และ Alex Summers, ความสัมพันธ์ระหว่างการแยกตรรกะและ Implicit Dynamic Framesซึ่งพวกเขาอ้างว่าให้ตรรกะการรวมสองวิธี