path oriented logic programming language n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Path oriented Logic Programming Language PowerPoint Presentation
Download Presentation
Path oriented Logic Programming Language

Loading in 2 Seconds...

  share
play fullscreen
1 / 11
aya

Path oriented Logic Programming Language - PowerPoint PPT Presentation

105 Views
Download Presentation
Path oriented Logic Programming Language
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Path orientedLogic Programming Language Pathlp - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department, Ben-Gurion University of the Negev.

  2. MOTIVATION • Models as program abstractions, could be huge. • Ability to write a model as a programming code. • To run queries about this code. • To find an exact place and description of error. • To fix and just recompile the code.

  3. SOLUTION • New Programming Language. • Model terms (intersection, closure, disjoint, singleton). • The language will support many types of models. • F-OML – F-LOGIC (Kifer and Lausen, 1989) basedObject Modeling Language. • Top layer of PathLP (only PathLP syntax). • PathLP as a regular Logic programming language.

  4. PATHLP SYNTAX • Path Expression as the main structure. • John.spouse.brother[?x • -3.a.8[collect(4, 5, ?y, ?_, ‘^^p’(3, a))] • ].sun[?y]. , Susan.friend sun ?x brother ?y spouse John Mary sister spouse sun brother ?x ?x sun friend Susan ?y ?y

  5. PATHLP SYNTAX – CONT’D • Type path expression. • person!spouse[person]{0..2} • Membership.Bob:male. • Subtype.female::person. • Logic equality. • Fact.John.spouse[Mary]. • Rule.?x.sonOf[?y] :- ?x.childOf[?y], ?x:male. • Query:?- ?x:person, ?x.ageof(2003)[?age], ?age>20.

  6. CONSTRAINTS • Describe forbidden states. • !- ?x.prop1[?y], ?y > 10. • System stability checkprocess. • All deviations are printed. • Cardinality constraints. {3..*}

  7. IMPLEMENTATION • Prolog as Logic language platform. • Problem: reasoning order. • Tabling prolog. • Memoization. • Infinite loops avoidance. • Left Recursion. • XSB (David Warren and others, including Kifer). • 3-valued logic (true, undefined, false). • Prolog as ultimate compiler language – DCG. 0.06 millisec 0.01 millisec

  8. Full Linux KDE working environment Action Shell Interpreter

  9. TESTS • Regular checks. • Huge test case. • University CS Linux file system part (O:) • – 200,000 facts (about 15 for each file). • Name, size, permissions... • Path and last change as lists. • Type expressions, rules, constraints and queries about the file • system correctness. ?- file(?x).inode[?i], file(?y).inode[?i], ?x < ?y. !- ?x:filetype, ?x.name[?name], \ \+ ?x.fullpath[[?name|?]]. ?x:int :- integer(?x)@_prolog, ?x >= 0. filetype!size[int]{1..1}. 'regular file'::plain. 'regular empty file'::plain. plain::filetype. 'symbolic link'::filetype.

  10. PROJECT FEATURES • All Prolog and XSB abilities. • Linux executables. • Multifile. • Full preprocessor: #define, #include, #if, #ifdef, #eval, #exec ... • Improved list library. Difference and infinite lists can be treated. • Special _size property - counts all outgoing edges of the same kind. • Command line program (with history) and multiply arguments.

  11. SUMMARY • This works, but it’s not enough. • We’re going to develop the PathLP. • (For example, module spaces or libraries support.) • We’ll start with F-OML building. • We’ll rest on our laurels. • PathLP domain: pathlp.sf.net . • Project site: www.cs.bgu.ac.il/~khitron/bgu_pathlp .