MQP:Tool Use Cases

From JimboWiki
Jump to: navigation, search
MQP Navigation

Definitions

Tool
Some user interface to the ResourceModel and AnalysisModel that provides useful data and functionalities.
Code Group
A container that allows the tool to sort information logically. Includes instances of actions, rules, and analysis results.
Unmatched rule
A rule that is present in a code group but is not used in any of the code group's actions

Setup

  • U1: Starting the tool
    1. The user launches the tool
    2. The tool requests the location of the rule and action definition file from the user (possibly allows a "default" setting also)
    3. User specifies the definition file
    4. Tool loads the definition file
    5. Tool presents user with empty policy configuration
  • U2: Specifying code groups (protection domains, code sources, etc)
    1. User specifies a name for the code group
    2. Tool creates new empty group

Analysis

  • U3: Static Analysis
    1. User selects an analysis tool
    2. User specifies a set of classes to perform analysis on, along with any other tool-specific parameters
    3. User specifies which code group the analysis belongs to
    4. Tool runs analysis and populates code group with results

Action Manipulation

  • U4: Adding an action to a code group (depends: U8)
    1. User specifies a code group
    2. User specifies action to add
    3. Tool presents action's parameters (possibly in some simplified format) to the user to be filled in
    4. User fills in the parameters
    5. Tool adds the action
    6. Tool recalculates rules (as specified in U8)
  • U5: Removing an action from a code group (depends: U8)
    1. User specifies an action within a code group to be removed
    2. Tool eliminates action
    3. Tool recalculates rules (as specified in U8)

Rule Manipulation

  • U6: Adding a rule to a code group (depends: U9)
    1. User specifies a code group
    2. User specifies rule to add
    3. Tool presents rule's parameters (possibly in some simplified format) to the user to be filled in
    4. User fills in the parameters
    5. Tool adds the rules
    6. Tool recalculates action (as specified in U9)
  • U7: Removing a rule from a code group (depends: U9)
    1. User specifies a rule within a code group to be removed
    2. Tool eliminates rule
    3. Tool recalculates actions (as specified in U9)

Action/Rule Conversion

  • U8: Convert actions to rules
    1. Tool converts all of a code group's defined actions into their specified rules
    2. Resolved rules that already exist in the code group's set of rules are discarded
    3. Resolved rules that do not exist in the code group's set of rules are added
    4. Each rule that exists in the code group's set of rules that does not appear in the set of resolved rules are removed, unless it is an unmatched rule
  • U9: Convert rules to actions
    1. Tool converts all of a code group's defined rules into their specified action
    2. Resolved actions that already exist in the code group's set of actions are discarded
    3. Resolved actions that do not exist in the code group's set of rules are added
    4. Each action that exists in the code group's set of actions that does not appear in the set of resolved actions is removed
    5. Rules that exist but are not used in the creation of any action are mark as unmatched rules

Policy Export

  • U10: Exporting policy to standard format
  • U13: Exporting policy to other format

Policy Import

  • U11: Importing policy from standard format
  • U12: Importing policy from other format