Lucca Users Manual

Lori Stotler


                    
                


Table of Contents

Introduction
Usage
Siena
Starting Lucca
Setting Attributes
Compose Tasks
Submit Tasks
Additional Notes
Setting the Attribute Model

Introduction

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 command’s progress.

Figure 1. Lucca Task Injector

Lucca Task Injector

Usage

Several steps must be taken to use Lucca.

Siena

To start a siena server, execute:


java siena.StartServer -ka -port # -log -

Additional siena options can be found in the siena documentation.

Starting Lucca

To start Lucca, execute:


java lucca.Lucca
 --siena "siena string"

For instance,


java lucca.Lucca
 --siena ka:cobra:23456

Setting Attributes

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.

Figure 2. Setting Attributes

Setting Attributes

Compose Tasks

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.

Figure 3. Lucca Task Creator

Lucca Task Creator

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:

  • Select a task. It's name should appear in the text area.
  • Press a button (before, true before, or false before). It should appear in the text area.
  • Select another task. It's name should appear in the text area.
  • Press the "Save" button. The new relationship should appear in the tasks list in the "Children" panel.

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:

  1. A non-projecting task cannot be submitted by lucca if it has no projecting children.
  2. Wiglaf currently accepts only actions and constraints (not queries or periodic queries).

Submit Tasks

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.

Additional Notes

Setting the Attribute Model

By default, Lucca is assigned the Commander attribute model. This can be changed using the Configuration/Set Commander Attribue Model menu option.

Figure 4. Setting the Attribute Model

Setting the Attribute Model