You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to better model sites with Simulato models, it would be quite helpful for models to provide dependent state conditions for a component to be created or modified. This would make modeling easier by
Allowing for multiple dependent states to be required for a component to be created.
Removal of conditional statements checking for a state to create a component, replaced by a smaller, far more manageable syntax.
Proposed Syntax:
A dependency would look similar to an action precondition (using term 'dependencies' for these states to differentiate from 'preconditions' for actions):
The first parameter would specify what comparison should be checked (only allowing ===, >, <, >==, and <==).
The second parameter specified the state that should be checked.
The third parameter is what the state parameter should be compared to.
In the example above, we are verifying that the exampleInputField value's length is greater than 0, thus stating that the input field should have contents.
Creating a Component
When creating a component, a new option could, optionally, be provided to specify dependencies:
With this information provided, the planner can better understand the structure of a webpage, specifically when multiple actions are required for a particular element to appear. This can then be user to better order actions within plans (especially in replanning).
Acceptance Criteria:
Added logic to parse dependencies within expected-state.js, and other files as needed
Provide unit tests for updated files
Documentation for new syntax in Simulato documentation website
Future Work
Update planning algorithms to understand dependencies
The text was updated successfully, but these errors were encountered:
In order to better model sites with Simulato models, it would be quite helpful for models to provide dependent state conditions for a component to be created or modified. This would make modeling easier by
Proposed Syntax:
A dependency would look similar to an action precondition (using term 'dependencies' for these states to differentiate from 'preconditions' for actions):
The first parameter would specify what comparison should be checked (only allowing
===
,>
,<
,>==
, and<==
).The second parameter specified the state that should be checked.
The third parameter is what the state parameter should be compared to.
In the example above, we are verifying that the exampleInputField value's length is greater than 0, thus stating that the input field should have contents.
Creating a Component
When creating a component, a new option could, optionally, be provided to specify dependencies:
Modifying a Component
When modifying a component, a new parameter could, optionally, be provided to specify dependencies:
Effects on the Planner
With this information provided, the planner can better understand the structure of a webpage, specifically when multiple actions are required for a particular element to appear. This can then be user to better order actions within plans (especially in replanning).
Acceptance Criteria:
expected-state.js
, and other files as neededFuture Work
The text was updated successfully, but these errors were encountered: