Top Banner
- + - 1 PathLP 26/09/201 1 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department, Ben-Gurion University of the Negev. PATHLP Path oriented Logic Programming Language
11

-+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 1 - PathLP 26/09/2011

-

Student: Igal Khitron.

Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA.

Computer Science Department,Ben-Gurion University of the Negev.

PATHLP Path orientedLogic Programming Language

Page 2: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 2 - PathLP 26/09/2011

• 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.

MOTIVATION

Page 3: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 3 - PathLP 26/09/2011

• 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.

SOLUTION

Page 4: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 4 - PathLP 26/09/2011

• Path Expression as the main structure.

John.spouse.brother[?x

• -3.a.8[collect(4, 5, ?y, ?_, ‘^^p’(3, a))]

John

brotherspouse

sun

brother

spouse

sistersun

?y

Susan friend

, Susan.friend

sun?y

PATHLP SYNTAX

?y

?x

Mary

?x?x

].sun[?y].

Page 5: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 5 - PathLP 26/09/2011

• 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.

PATHLP SYNTAX – CONT’D

Page 6: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 6 - PathLP 26/09/2011

• Describe forbidden states.

!- ?x.prop1[?y], ?y > 10.

• System stability check process.

• All deviations are printed.

• Cardinality constraints. {3..*}

CONSTRAINTS

Page 7: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 7 - PathLP 26/09/2011

• 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.

IMPLEMENTATION

12 min regular fib(46)

tabled fib(92)

linear fib(92)0.06 millisec

0.01 millisec

Page 8: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 9 - PathLP 26/09/2011

Interpreter

Action Shell

FULL LINUX KDE WORKING

ENVIRONMENT

Page 9: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 10 - PathLP 26/09/2011

?- 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.

• 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 filesystem correctness.

RUNTIME ACTION 8 minutes≈ Compilation

0.1 seconds ≈

Reload

0.8 seconds ≈

Stability & queries – O(n)

10 seconds< Stability & queries – O(n3)

TESTS

Page 10: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 11 - PathLP 26/09/2011

• 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.

PROJECT FEATURES

Page 11: -+ - 1 -PathLP26/09/2011 - Student: Igal Khitron. Advisors: Mira Balaban, Michael Kifer, Stony Brook University, NY, USA. Computer Science Department,

- +- 12 - PathLP 26/09/2011

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 .

SUMMARY