Add another level of modal operators

Registered by Tim Hinrichs

We would like to be able to use modal operators not just on individual atoms, but on rules as a whole. For example, we would like to be able to write the following to represent the insertion of a rule (which itself uses a modal) into the policy named "classification".

insert[execute[p(x)] :- q(x), "classification"]

This involves (i) modifying the grammar to enable inserts/deletes of rules, and (ii) modifying the code that loads a parsed formula to create an Event object. We probably also want to add a type-checker like is_event (similar to the is_datalog, is_atom functions found in compile.py).

This functionality allows the 'simulate' API call to include additions/deletions of rules with modals.

Blueprint information

Status:
Complete
Approver:
Tim Hinrichs
Priority:
High
Drafter:
Tim Hinrichs
Direction:
Approved
Assignee:
John Strassner
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon liberty-3
Started by
Tim Hinrichs
Completed by
Tim Hinrichs

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.