Warning:
This wiki has been archived and is now read-only.
PRD Actions
From RIF
Actions to be considered | Current state in RIF | OMG PRR OCL | ILOG JRules |
---|---|---|---|
Add an object and all its members in the scope of the engine | --- | AssertExp | insert expr ; (expr is evaluated to be an object) |
Create an object and add it in the scope of the engine (with no member) | New | --- | insert ClassName(arguments) { assignments (*) } (Calls a constructor, initializes the object and then asserts it) |
Remove an object and all its members from the scope of an engine | Retract(TERM) | RetractExp | retract expr ; (expr is evaluated to be an object) |
Create a new variable (and optionally initializes it) |
?? | ?? | bind varname = expr ; |
Assign a value to a variable | --- | AssignExp | varname = expr ; |
Assign a (new) value to a member of an object (in the scope of the engine) | --- | AssignExp | modify obj { ( fieldname = expr ; )* } |
Add a (new) value to a member of an object (in the scope of the engine) | Assert(Frame) | --- | No specific construct. A 'modify' to a field typed 'collection' will do the right thing. |
Add an instance of a relation in the scope of the engine | Assert(Atom) | --- | Non sense. Could be supported upon agreement. |
Remove an instance of a relation from the scope of the engine | Retract(Atom) | --- | Non sense. Could be supported upon agreement. |
Remove a value from a member of an object (in the scope of the engine) | Retract(Frame) | --- | No native syntax. A 'modify' can be used. |
Execute an externally specified action (as a procedural black box) | --- | InvokeExp | obj.methodname(arguments) ; (Calls a method of an object) |
Modify the value of a member of an object (in the scope of the engine) | Retract(Frame)+Assert(Frame) | AssignExp | modify obj { ( fieldname = value ; )* } |
Notify the engine that an object has been modified | --- | UpdateExp | update expr ; (expr evaluated to an object) |
Declare local variable and bind it to created object | Do+New | --- | bind varname = new ClassName(arguments) ; (Calls a constructor with arguments and binds the object to a variable) |