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

อ่าน 3 นาที

คราส

ECLiPSe เป็นระบบซอฟต์แวร์สำหรับการพัฒนาและใช้งาน แอป พลิเคชันการเขียนโปรแกรมตรรกะแบบมีข้อจำกัด เช่น ในด้านการ เพิ่มประสิทธิภาพ การ วางแผน การจัดตารางเวลา การ จัดสรรทรัพยากร...

คราส

ระบบการเขียนโปรแกรมเชิงตรรกะแบบมีข้อจำกัด ECLiPSe
นักพัฒนาศูนย์วิจัยอุตสาหกรรมคอมพิวเตอร์แห่งยุโรป (ECRC), ศูนย์วางแผนและควบคุมทรัพยากรมิวนิก , อิมพีเรียลคอลเลจลอนดอน (IC-Parc) ซิสโก้ซิสเต็มส์
ปล่อย1992 ( 1992 )
เวอร์ชันเสถียร
7.0 / 22 มกราคม 2561 ( 22 มกราคม 2018 )
เขียนเป็นซี , โปรล็อก
ระบบปฏิบัติการข้ามแพลตฟอร์ม
มีจำหน่ายในภาษาอังกฤษ
พิมพ์การเขียนโปรแกรมตรรกะแบบมีข้อจำกัด
ใบอนุญาตMozilla Public (MPL)
เว็บไซต์eclipseclp .org
ที่เก็บข้อมูลsf.net/p/eclipse-clp/git/

ECLiPSeเป็นระบบซอฟต์แวร์สำหรับการพัฒนาและใช้งาน แอป พลิเคชันการเขียนโปรแกรมตรรกะแบบมีข้อจำกัดเช่น ในด้านการเพิ่มประสิทธิภาพการวางแผนการจัดตารางเวลาการจัดสรรทรัพยากรการจัดตารางเวลา การขนส่ง ฯลฯ นอกจากนี้ยังเหมาะสำหรับการสอนด้านต่างๆ ของ การแก้ปัญหา เชิงการจัดเรียงเช่น การสร้าง แบบจำลองปัญหาการเขียนโปรแกรมแบบมีข้อจำกัด การเขียนโปรแกรมทางคณิตศาสตร์และเทคนิคการค้นหา[ 1 ]ประกอบด้วยไลบรารีตัวแก้ ข้อจำกัด ภาษาการสร้างแบบจำลองและ การควบคุมระดับสูง (ซูเปอร์เซ็ตของProlog ) อินเทอร์เฟซไปยังตัวแก้ปัญหา ของบุคคลที่สาม สภาพแวดล้อมการพัฒนาแบบบูรณาการ และอินเทอร์เฟซสำหรับการฝังลงในสภาพแวดล้อมโฮสต์

ECLiPSe ได้รับการพัฒนาจนถึงปี 1995 ที่ศูนย์วิจัยอุตสาหกรรมคอมพิวเตอร์แห่งยุโรป (ECRC) ในมิวนิกและจากนั้นจนถึงปี 2005 ที่ศูนย์วางแผนและควบคุมทรัพยากรแห่งอิมพีเรียลคอลเลจลอนดอน (IC-Parc) ต่อมาถูกซื้อกิจการโดยซิสโก้ซิสเต็มส์ในเดือนกันยายนปี 2006 ได้มีการเผยแพร่เป็นซอฟต์แวร์โอเพนซอร์สภายใต้สัญญาอนุญาตที่เทียบเท่ากับMozilla Public Licenseและปัจจุบันให้บริการอยู่บนSourceForge

ภาษา

ภาษา ECLiPSe [ 2 ]เข้ากันได้กับProlog ในระดับมาก และรองรับภาษาถิ่นต่างๆ รวมถึงISO Prolog ด้วย เนื่องจากเป็นภาษาเชิงประกาศจึงสามารถใช้ได้ทั้งเป็นภาษาสำหรับการสร้างแบบจำลองเพื่ออธิบายปัญหา และเป็นภาษาสำหรับการเขียนโปรแกรมทั่วไป

นอกเหนือจากชนิดข้อมูลพื้นฐานของ Prolog แล้ว ยังมีชนิดข้อมูลต่อไปนี้ให้ใช้งาน: สตริง จำนวนเต็มและจำนวนตรรกยะ ที่มีความ แม่นยำไม่จำกัดและช่วงค่าทศนิยม นอกจากนี้ยังรองรับไวยากรณ์ อาร์เรย์และโครงสร้างที่มีชื่อฟิลด์ซึ่งมีประโยชน์อย่างยิ่งในการสร้างแบบจำลองข้อจำกัด

โครงสร้างการวนซ้ำเชิงตรรกะ [ 3 ] ขจัดความจำเป็นสำหรับรูปแบบ การเรียกซ้ำแบบ ง่ายส่วนใหญ่

ECLiPSe มีสิ่งอำนวยความสะดวกที่ครอบคลุม[ 2 ]เพื่อใช้ในการ ควบคุมพฤติกรรม ที่ขับเคลื่อนด้วยข้อมูลซึ่งรวมถึงข้อกำหนดการหน่วงเวลาแบบประกาศ ตลอดจนฟังก์ชันพื้นฐานสำหรับการควบคุมแบบเมตาโปรแกรมมิ่ง เช่น การระงับเป้าหมายที่ชัดเจน สิ่งอำนวยความสะดวกในการเรียกใช้งานที่ยืดหยุ่น และลำดับความสำคัญในการดำเนินการ เมื่อรวมกับ ประเภทข้อมูล ตัวแปรที่มีคุณสมบัติแล้วนี่คือกุญแจสำคัญสำหรับการขยาย ภาษา การเขียนโปรแกรมตรรกะ พื้นฐานมากมาย รวมถึงฟังก์ชันการทำงานตามข้อจำกัดทั้งหมด ระบบจะเรียกตัวจัดการเหตุการณ์ที่ผู้ใช้กำหนดได้เมื่อพบตัวแปรที่มีคุณสมบัติในบริบทบางอย่าง เช่น การรวม

ระบบโมดูลควบคุมการมองเห็นของ述语 (predicates), ที่เก็บข้อมูลที่ไม่ใช่เชิงตรรกะ (non-logical stores), การแปลงซอร์สโค้ด (source transformations) และการตั้งค่าไวยากรณ์ (syntax settings) อินเทอร์เฟซของโมดูลสามารถขยายและจำกัดได้ และโมดูลที่เขียนด้วยภาษาถิ่นที่แตกต่างกันสามารถผสมผสานกันได้ภายในแอปพลิเคชันเดียว

โปรแกรมอาจมีคำอธิบายที่มีโครงสร้าง ซึ่งสามารถนำมาใช้สร้างเอกสารอ้างอิงได้

ห้องสมุด

ECLiPSe มีไลบรารีตัว แก้ ข้อจำกัด หลายชุด ซึ่งสามารถนำไปใช้ในโปรแกรมแอปพลิเคชันได้:

ข้อจำกัดทางเลขคณิตบนโดเมนจำกัด ข้อจำกัดของเซตจำกัด การแพร่กระจายแบบทั่วไป การให้เหตุผลเชิงช่วงเวลาบนข้อจำกัดที่ไม่เป็นเชิงเส้น อินเทอร์เฟซไปยังตัวแก้ปัญหาซิมเพล็กซ์ภายนอก กฎการจัดการข้อจำกัด (CHR) และอื่นๆ

ไลบรารีอื่นๆ ใช้เมธอดการค้นหาต่างๆ เช่น การค้นหา แบบแยกสาขาและจำกัดขอบเขต (branch-and-bound) , การค้นหาตามการซ่อมแซม (repair-based search), และการค้นหาความคลาดเคลื่อนที่จำกัด (limited discrepancy search)

ECLiPSe เชื่อมต่อกับตัวแก้ปัญหาภายนอก โดยเฉพาะตัวแก้ปัญหาการเขียนโปรแกรมเชิงเส้นและจำนวนเต็มผสมCOIN-OR , CPLEX , Gurobi และXpress-MP [ 4 ]และไลบรารีตัวแก้ปัญหา Gecode

ไลบรารีความเข้ากันได้สำหรับISO Prolog [ 5 ]และ ภาษาถิ่น Prolog อื่นๆ (C-Prolog, Quintus , SICStus , SWI-Prolog ) ช่วยให้สามารถนำไลบรารีที่เขียนด้วยภาษาถิ่นเหล่านั้นมาใช้ซ้ำได้

ชุดการแจกจ่ายนี้ประกอบด้วยไลบรารีเสริมอื่นๆ อีกมากมาย รวมถึงไลบรารีที่เป็นที่นิยมและอยู่ ในโดเมนสาธารณะจำนวนหนึ่งด้วย

สถาปัตยกรรมระบบ

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

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

ส่วนประกอบของ ECLiPSe สามารถผสานรวมเข้ากับซอฟต์แวร์ได้ผ่านทางอินเทอร์เฟซระดับต่ำในภาษาC หรือ C ++หรือผ่านทางอินเทอร์เฟซระดับสูงในภาษา JavaและTcl

ดูเพิ่มเติม

  • ECLiPSeบนSourceForge
  • การเขียนโปรแกรมเชิงตรรกะแบบมีข้อจำกัดโดยใช้ ECLiPSeหนังสือเรียนโดย Krzysztof Aptและ Mark Wallace
  • คู่มือฉบับย่อและเข้าใจง่ายเกี่ยวกับการเขียนโปรแกรมเชิงตรรกะแบบมีข้อจำกัดผ่าน ECLiPSeโดย Antoni Niederliński
  • เว็บไซต์การเรียนรู้ออนไลน์ ECLiPSE (พร้อมวิดีโอสอนการใช้งาน)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=ECLiPSe&oldid=1333190842 "

สรุปเนื้อหา

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

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

ECLiPSe เป็นระบบซอฟต์แวร์สำหรับการพัฒนาและใช้งาน แอป พลิเคชันการเขียนโปรแกรมตรรกะแบบมีข้อจำกัด เช่น ในด้านการ เพิ่มประสิทธิภาพ การ วางแผน การจัดตารางเวลา การ จัดสรรทรัพยากร...

ภาษา

ภาษา ECLiPSe [ 2 ] เข้ากันได้กับ Prolog ในระดับมาก และรองรับภาษาถิ่นต่างๆ รวมถึง ISO Prolog ด้วย เนื่องจากเป็นภาษา เชิงประกาศ จึงสามารถใช้ได้ทั้งเป็น ภาษาสำหรับการสร้างแบบจำลอง เพื่ออธิบายปัญหา และเป็น ภาษาสำหรับการเขียนโปรแกรม ทั่วไป

ห้องสมุด

ECLiPSe มี ไลบรารี ตัว แก้ ข้อจำกัด หลายชุด ซึ่งสามารถนำไปใช้ในโปรแกรมแอปพลิเคชันได้:

สถาปัตยกรรมระบบ

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