ge-high-assurance / RITE

DARPA's Automated Rapid Certification of Software (ARCOS) project called RITE (RACK Integrated CerTification Environment)
BSD 3-Clause "New" or "Revised" License
3 stars 1 forks source link

RACK Nature: better leverage Eclipse workflow patterns for RACK development #65

Open chrisage opened 1 year ago

chrisage commented 1 year ago

Background: The RITE IDE has RACK functionality spread across views, buttons and menu clicks. These functions should align better to Eclipse's standards for better organization and usability.

Reorganizing the RACK functions within RITE will lower the learning curve and add usability. Additional functionality will encourage users to user RITE for data gathering.

The goal is to make RITE a tool to more easily organize data into an RDF database

Acceptance Criteria: Addition of RACK type projects

Implementation Details:

  1. Create a RACK Type Projects - designating a Project 'RACK' Type enables:

    • Import as RACK Type - automatically imports dependencies to the project based on manifest
    • Code completion (source headers from rack resources e.g. csv headers etc.)
    • Validations & hover over text (resolution recommendations)
    • Automatically add scaffolding / required files when a (data, nodegroup, manifest) module is added
    • Follow the Architecture from the pre-existing plugin: https://github.com/helospark/kube-editor/tree/master/src/com/helospark/kubeeditor
  2. Consolidate right-click resources under a 'RACK' submenu

    • copy the maven action structure (run as, update, etc.)
  3. Create a 'RACK' perspective

    • When a RACK action is run, the perspective is opened which includes all RACK views so the user doesn't have to search for them

Refer to this tutorial: https://www.vogella.com/tutorials/EclipseProjectNatures/article.html#project-natures-in-eclipse

saratge commented 1 year ago

Very good observations and vision @chrisage!

chrisage commented 1 year ago
image image
chrisage commented 1 year ago
image
chrisage commented 1 year ago
image
chrisage commented 1 year ago

RACK Projects are associated with the RACK Perspective - when a project opens, RACK development views open

chrisage commented 1 year ago

@davidcok Currently there are RACK (eclipse) views in RITE that expose a connected RACK state. We only support a single instance of RACK to be connected at once. The project explorer may contain many instances of local ingestion packages. The idea is that you can collect multiple data modules locally, and upload them piecemeal. There exists a "Generate Ingestion Data" workflow - a user right clicks an ontology entity (object model) from the RACK ontology view panel and can choose to add instance data for that entity type. The UX problem is that there could multiple RACK ingestion packages in the project explorer, but adding instance data should only be applied to one of them. Is there a good UX pattern to designate which project the instance data should be added to? Currently, we have the designate a main RACK package (globally), and the instance data is saved there.

chrisage commented 10 months ago

Great Tutorials: