|
|||||
DemoInitial domain descriptionWarning: the UI shown here is a little out of date. These demo screenshots are from December 2004. Tailor's initial screen, below, shows how a top-level goal will be carried out in SPARK using an interactive tree widget to allow the user to see the domain as an overview or in detail. This description is automatically generated from the SPARK procedure representation, optionally using templates to specify an English phrase for a predicate or action. Modifying the domain descriptionThis domain is based on a page in EHow.com that describes how to hang drywall from a ceiling. Users can post tips on the pages there, which we use as third-party examples of modifications to process descriptions. In this case, a user posted a tip that that drywall jack doesn't help much and it is easier to hold the drywall directly onto the ceiling. The Tailor user paraphrases this modification for Tailor as "Don't use a drywall jack if you are a drywall expert". Tailor attempts to recognize this sentence as a modification to its process description, and provides feedback about the modification it thinks the user might be making, as shown below. Noticing potentially unintended side effects and suggesting remediesIn the new process description shown above, step 6 has been colored red, and a button labelled 'Warning' appears next to it. When the user clicks the button, Tailor explains what it thinks might be a problem with this new description. The step that has been made conditional on not being an expert has an effect: it places the sheet on the drywall jack. The step in question has been defined so it will be an error if it is applied when the sheet is not on the drywall jack. Tailor can't know for sure that this won't be true when step 6 is applied because other actions could cause it to change, but it highlights that the condition will no longer be established by step 3 and offers the user some ways to fix it, that have been specialized from general knowledge about fixes to SPARK domains. The user wants to apply the condition to both steps 3 and 6. This can be achieved by explicitly selecting the steps in separate window that appears when the user clicks on 'select expression'. Once this is done, the new proposed change to the process description is shown as in the screen below. The user can select 'send' to have this new definition sent to the SPARK process, which can use it while it is running. For some background on what's going on under the hood, see the research page. |