กลับไปหน้าบทความ

อ่าน 2 นาที

แคลคูลัสร่วม

แคลคูลัสแบบรวม (join-calculus)เป็นแคลคูลัสกระบวนการที่พัฒนาขึ้นที่INRIAแคลคูลัสแบบรวมได้รับการพัฒนาขึ้นเพื่อให้เป็นพื้นฐานอย่างเป็นทางการสำหรับการออกแบบ ภาษา

แคลคูลัสร่วม

แคลคูลัสแบบรวม (join-calculus)เป็นแคลคูลัสกระบวนการที่พัฒนาขึ้นที่INRIAแคลคูลัสแบบรวมได้รับการพัฒนาขึ้นเพื่อให้เป็นพื้นฐานอย่างเป็นทางการสำหรับการออกแบบ ภาษา การเขียนโปรแกรมแบบกระจายและด้วยเหตุนี้จึงจงใจหลีกเลี่ยงโครงสร้างการสื่อสารที่พบในแคลคูลัสกระบวนการอื่น ๆ เช่น การสื่อสาร แบบนัดพบซึ่งยากต่อการนำไปใช้ในสภาพแวดล้อมแบบกระจาย[ 1 ]แม้จะมีข้อจำกัดนี้ แคลคูลัสแบบรวมก็ยังสามารถแสดงออกได้มากเท่ากับแคลคูลัส π แบบเต็ม การเข้ารหัสของแคลคูลัส π ในแคลคูลัสแบบรวม และในทางกลับกัน ได้รับการสาธิตแล้ว[ 1 ]

แคลคูลัสร่วมเป็นสมาชิกของ ตระกูล แคลคูลัส πของแคลคูลัสกระบวนการ และสามารถพิจารณาได้ว่าเป็นแคลคูลัส π แบบอะซิงโครนัสที่มีข้อจำกัดที่เข้มงวดหลายประการ: [ 1 ]

  • ข้อจำกัดขอบเขต การรับ และการรับแบบจำลองถูกรวมเข้าไว้ในโครงสร้างเดียวทาง ไวยากรณ์ นั่น คือ คำจำกัดความ
  • การสื่อสารจะเกิดขึ้นเฉพาะกับชื่อที่กำหนดไว้เท่านั้น
  • สำหรับชื่อที่กำหนดไว้แต่ละชื่อ จะมีตัวรับสัญญาณที่จำลองขึ้นมาเพียงหนึ่งเดียวเท่านั้น

อย่างไรก็ตาม ในฐานะภาษาสำหรับการเขียนโปรแกรม แคลคูลัสแบบรวมมีข้อดีอย่างน้อยหนึ่งประการเหนือกว่าแคลคูลัสแบบ π ซึ่งก็คือการใช้รูปแบบการรวมแบบหลายทางความสามารถในการจับคู่กับข้อความจากหลายช่องทางพร้อมกัน[ 2 ]

การนำไปใช้

ภาษาที่ใช้แคลคูลัสการเชื่อมต่อ

ภาษาการเขียนโปรแกรม join-calculus เป็นภาษาใหม่ที่อิงตามแคลคูลัสกระบวนการ join-calculus โดยถูกนำไปใช้ในรูปแบบตัวแปลภาษาที่เขียนด้วยOCamlและรองรับการเขียนโปรแกรมแบบกระจายที่มีประเภทคงที่ การสื่อสารระยะไกลแบบโปร่งใส การเคลื่อนย้ายตามเอเจนต์ และการตรวจจับความล้มเหลวบางอย่าง[ 3 ]

  • แม้ว่าจะไม่ได้อิงตามหลักการคำนวณการเชื่อมต่อโดยตรง แต่ระบบกฎของCLIPSก็ได้นำหลักการนี้มาใช้ หากกฎทุกข้อลบข้อมูลนำเข้าเมื่อถูกเรียกใช้งาน (เรียกคืนข้อเท็จจริงที่เกี่ยวข้องเมื่อถูกเรียกใช้งาน)

มีการนำแคลคูลัสการเชื่อมต่อ (join-calculus) ไปใช้งานในหลายรูปแบบ โดยเป็นการต่อยอดจากภาษาโปรแกรมที่มีอยู่เดิม:

  • JoCamlคือเวอร์ชันหนึ่งของOCamlที่เพิ่มเติมด้วยฟังก์ชันการคำนวณการเชื่อมต่อ (join-calculus primitives)
  • Polyphonic C#และ ซึ่งเป็นรุ่นต่อจาก Polyphonic C# นั้น เป็นการต่อยอดจากC#
  • MC# และ Parallel C# เป็นการต่อยอดจาก Polyphonic C#
  • Join JavaขยายJava
  • ข้อเสนอ Concurrent Basic ที่ใช้ Join-calculus
  • JErlang (J ย่อมาจาก Join, Erjangคือ Erlang สำหรับ JVM) [ 4 ]

การฝังตัวในภาษาโปรแกรมอื่นๆ

การใช้งานเหล่านี้ไม่ได้เปลี่ยนแปลงภาษาโปรแกรมพื้นฐาน แต่เป็นการนำการดำเนินการแคลคูลัสแบบรวมมาใช้ผ่านไลบรารีที่กำหนดเองหรือ DSL:

  • ไลบรารี ScalaJoins และChymystนั้นเขียนด้วยภาษาScala
  • JoinHsโดย Einar Karttunen และsyallop/Join-Languageโดย Samuel Yallop เป็นภาษาเฉพาะโดเมน (DSL) สำหรับแคลคูลัส Join ในภาษาHaskell
  • Joinads - การใช้งานแคลคูลัสการเชื่อมต่อแบบต่างๆ ใน​​F#
  • CocoaJoin เป็นการใช้งานแบบทดลองที่เขียนด้วยภาษา Objective-Cสำหรับ iOS และ Mac OS X
  • ไลบรารี Join Python ในPython 3 [ 5 ]
  • C++ผ่านBoost [ 6 ] (สำหรับ Boost ตั้งแต่ปี 2009 ประมาณเวอร์ชัน 40 ปัจจุบัน (ธันวาคม 2019) คือเวอร์ชัน 72)
  • INRIA, หน้าหลัก Join Calculus
  • Microsoft Research, Join Calculus: ภาษาสำหรับการเขียนโปรแกรมแบบกระจายบนอุปกรณ์เคลื่อนที่
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Join-calculus&oldid=1319418107 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ แคลคูลัสร่วม

แคลคูลัสแบบรวม (join-calculus)เป็นแคลคูลัสกระบวนการที่พัฒนาขึ้นที่INRIAแคลคูลัสแบบรวมได้รับการพัฒนาขึ้นเพื่อให้เป็นพื้นฐานอย่างเป็นทางการสำหรับการออกแบบ ภาษา

ภาษาที่ใช้แคลคูลัสการเชื่อมต่อ

ภาษาการเขียนโปรแกรม join-calculus เป็นภาษาใหม่ที่อิงตามแคลคูลัสกระบวนการ join-calculus โดยถูกนำไปใช้ในรูปแบบตัวแปลภาษาที่เขียนด้วย OCaml และรองรับการเขียนโปรแกรมแบบกระจายที่มีประเภทคงที่ การสื่อสารระยะไกลแบบโปร่งใส การเคลื่อนย้ายตามเอเจนต์...

การฝังตัวในภาษาโปรแกรมอื่นๆ

การใช้งานเหล่านี้ไม่ได้เปลี่ยนแปลงภาษาโปรแกรมพื้นฐาน แต่เป็นการนำการดำเนินการแคลคูลัสแบบรวมมาใช้ผ่านไลบรารีที่กำหนดเองหรือ DSL:

ลิงก์ภายนอก

INRIA, หน้าหลัก Join Calculus Microsoft Research, Join Calculus: ภาษาสำหรับการเขียนโปรแกรมแบบกระจายบนอุปกรณ์เคลื่อนที่ ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Join-calculus&oldid=1319418107 "