Table of Contents
Lucca, shown in Figure 1, is an interface for command injection. It allows a decision maker to compose tasks, constraints, messages, and complex workflows. Additionally, users can submit their composed workflows to the STILT system and then monitor the commands progress.
Several steps must be taken to use Lucca.
To start a siena server, execute:
java siena.StartServer -ka -port # -log -
Additional siena options can be found in the siena documentation.
To start Lucca, execute:
java lucca.Lucca --siena "siena string"
For instance,
java lucca.Lucca --siena ka:cobra:23456
Commands in STILT are transmitted using Willow's selective notification mechanism. Therefore, commands may reach an individual based on attributes of the receiver, sender, and message. Receivers of Lucca workflows have the option of setting sender qualifications. Lucca commanders must therefore set their attributes.
To set the attributes, go to Lucca's Configuration/View and Set Attributes menu option. Set the attributes to represent the individual's current location and capabilities.
To compose tasks, select the Lucca "Show Task Creator" button. The Lucca Task Creator interface, presented in Figure 2, allows a user to create workflows. First, the user must enter basic information, such as the workflow name, type, intention, and reason. Furthermore, the workflow may contain receiver selection constraints for use with Selective Notification when the workflow is delivered. Lastly, the user may set the child tasks of a workflow. Thus, Lucca allows the user to specify and modify very complex workflows. Many of the user choices, such as intention, reason, and receiver selection options, are taken from STILT formal specifications. The resulting interface is powerful and formal, rather than complex and prepared in an ad-hoc manner.
To create an task (action or constraint), first select a model under "Receiver Selection." This selection may change the intention and reason values allowed. Next, complete the fields under "Workflow Information." To compose a message rather than an actionable task, choose "notify" as the intention.
The minimim information required to create a task includes the "Workflow Information" and "Receiver Selection" model. It is additionally possible to create a task that sets the properties of receivers. To do this, select attributes and enter desired ranges under "Receiver Selection."
Furthermore, it is possible to create complex workflows by giving tasks child tasks. In the "Children" panel, all created tasks are listed under "Tasks." To add child tasks to the current task, select a task and move it to the "Children" list using the ">" button.
Besides creating workflows, it is possible to create relationships between tasks using the "Tasks Relationships" panel. For example, a decision maker may specify Task 1 before Task 2. All created tasks are listed in the "Tasks Relationships" panel. To create a relationship/link:
Once the relationship is saved, it can then be added to a task as a child as described above. This adds both tasks as children with the relationship selected.
Finally, in realistic use, there may be many tasks which are common and would require frequent regeneration. Therefore, the Lucca Task Creator includes an option for loading Action Objects. Action Objects are prewritten classes, each which run a workflow. These Action Objects can be generated from specifications written in A Workflow Language (AWOL). AWOL is a formal specification language for describing hierarchic selective workflows.
Action Object files contain a list of Action Object names, with one name per line. For instance:
NationalWormResponseWorkflow FirstResponderWorkflow SecurityGuardWorkflow
To load an Action Objects file, use the Lucca Task Creator File/Open Action Objects File menu option. The location of these files is hardcoded as lucca.tests. Action Objects from this file are loaded into the list of tasks. If an Action Object's class isn't found, it is not added to the list.
Note that:
Once workflows are created and/or Action Objects are loaded, the workflows can be submitted to the STILT system. To do this select a workflow from the Luca Workflow Injector task list. Information about this task, such as it's name, intent, and reason, will be displayed under "Task Details." To submit the task, press the "Send Workflow" button. A new tab displaying the workflow status should appear under "Results."
At any time during workflow execution, a workflow can be halted by pressing the "Halt" button in the results tab. After the workflow is halted or has completed, it is possible to remove a tab by pressing the "Clear" button.