Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools

Factbase Management

This storybook is about the association of projects to factbases and management of factbases (creation, import, export and saving of transformed factbases). It includes management of multiple factbases (each in a different module within the same prolog process).

Aim: Provide the basic mechanisms for comparing different versions of a project as required for Evgueni's and Alex's research.

Priority: Very High.

Story overview:

Assign Factbase

Description: Create a three-step wizard for assigning projects to a factbase. See the illustration on Story card for the wizard and the illustration on the reverse of the story card for the error dialog associated to the “Next” button of step 2.

Recreate Factbase


  • Select a process for which to (re)create an initial Factbase ← [Explicit trigger, as fallback if automatic creation does not work.]

Export Factbase


Import Factbase


  • Global import ← [Different factbases cannot coexist globally, since the used PEF identities might overlap.]
    • Import to module ← [Different factbases in different modules can coexist as separate factbases. This enables, for instance, analyses that compare different versions of the same factbase.]
    • [Extra: Save date of creation in file and warn if older than current.
    • It should always be possible to name a process and a module explicitly (not just select one). FIXME → When importing a qlf file it is not possible to type in the name of a new process.

Factbase Selector with Tabbing order

Ideally, the yellow indication of required input should always be displayed for the next element that has no input in the TAB order of GUI elements (First the file, then the process, then the module).

When importing a qlf file it is not possible to type in the name of a new process

Clear Factbase

Save Factbase

Save to Associated Project(s)

Description: verwrite initial project(s) – let the user see, accept and/or reject all the changes or abort the entire process using the familiar Eclipse wizard for refactorings (and the respective API – Requires refinement of JT's handling of updates to the source code (jtransformer.regenerator plugin) ))

Save to Output Project(s)

Description: For a given factbase create new projects that are transformed copies of the input projects associated to the factbase. If there is no output project yet, create it on the fly using standard naming scheme: Name of associated project plus suffix “_JToutput”. Give a feedback to the user so that she knows where to look for the result of saving.

  • Option 1: Creation of a new complete output projects ('gen_all_toplevels'). If there is an output project already, warn that its contents will be overwritten.
  • Option 2: Incremental update of the changed parts of the output projects ('gen_toplevels').
teaching/labs/xp/2008a/factbase_management.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020