Skip to content
This repository was archived by the owner on Jun 3, 2021. It is now read-only.

Commit b0aa4ec

Browse files
committed
Add dependency_tree
1 parent d7e1958 commit b0aa4ec

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

implementation/compiler-domain/domain.pddl

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
(define (domain compiler)
22

3-
(:requirements :strips :typing :negative-preconditions)
3+
(:requirements :strips :typing :negative-preconditions :universal-preconditions :disjunctive-preconditions)
44

55
(:types
6+
id - object
67
operation - object
78
assignment - object
89
variable_name - object
910
variable_value - object
1011
)
1112

1213
(:predicates
14+
(assignment_id ?assignment - assignment ?id - id)
15+
(operation_id ?operation - operation ?id - id)
16+
(dependency_tree ?parent - id ?child - id)
17+
(executed_instruction ?id - id)
18+
1319
(variable_info ?var - variable_name ?value - variable_value ?id - assignment)
1420
(executed_assignment ?var - variable_name ?value - variable_value ?id - assignment)
1521
(executed_operation ?id - operation)
@@ -21,12 +27,21 @@
2127
?var - variable_name
2228
?value - variable_value
2329
?id - assignment
30+
?instruction_id - id
2431
)
2532
:precondition (and
33+
(assignment_id ?id ?instruction_id)
2634
(not (executed_assignment ?var ?value ?id))
35+
(forall (?parent - id)
36+
(or
37+
(not (dependency_tree ?parent ?instruction_id))
38+
(executed_instruction ?parent)
39+
)
40+
)
2741
)
2842
:effect (and
2943
(variable_info ?var ?value ?id)
44+
(executed_instruction ?instruction_id)
3045
(executed_assignment ?var ?value ?id)
3146
)
3247
)
@@ -41,8 +56,16 @@
4156
?idB - assignment
4257
?idC - assignment
4358
?operation_id - operation
59+
?instruction_id - id
4460
)
4561
:precondition (and
62+
(operation_id ?operation_id ?instruction_id)
63+
(forall (?parent - id)
64+
(or
65+
(not (dependency_tree ?parent ?instruction_id))
66+
(executed_instruction ?parent)
67+
)
68+
)
4669
(not (executed_operation ?operation_id))
4770
(variable_info ?varA ?valueA ?idA)
4871
(variable_info ?varB ?valueB ?idB)
@@ -51,6 +74,7 @@
5174
(executed_assignment ?varB ?valueB ?idB)
5275
)
5376
:effect (and
77+
(executed_instruction ?instruction_id)
5478
(executed_operation ?operation_id)
5579
(executed_binary_operation ?idA ?idB ?operation_id ?idC)
5680
)

implementation/compiler-domain/problem1-1.pddl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,26 @@
11
(define (problem problem1_1) (:domain compiler)
22
(:objects
3+
id0 id1 id2 id3 id4 - id
34
assignmentA assignmentB assignmentC - assignment
45
sumAB - operation
56
varA varB varC - variable_name
67
valueA valueB valueC - variable_value
78
)
89

910
(:init
11+
(executed_instruction id0)
1012
(variable_info varA valueA assignmentA)
1113
(variable_info varB valueB assignmentB)
14+
15+
(operation_id sumAB id3)
16+
(assignment_id assignmentA id1)
17+
(assignment_id assignmentB id2)
18+
(assignment_id assignmentC id4)
19+
(dependency_tree id0 id1)
20+
(dependency_tree id0 id2)
21+
(dependency_tree id1 id3)
22+
(dependency_tree id2 id3)
23+
(dependency_tree id3 id4)
1224
)
1325

1426
(:goal (and

0 commit comments

Comments
 (0)