Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W Wiki Home
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • SDK4ED WikiSDK4ED Wiki
  • Wiki Home
  • Wiki
  • Decision Support Toolbox Description

Decision Support Toolbox Description · Changes

Page history
Update Decision Support Toolbox Description authored 4 years ago by Christos Lamprakos's avatar Christos Lamprakos
Show whitespace changes
Inline Side-by-side
Showing
with 16 additions and 1 deletion
+16 -1
Decision-Support-Toolbox-Description.md
View page @ 75e8858d
......@@ -7,10 +7,23 @@ The toolbox deals with two separate aspects of decision-making:
Each of the above aspects is handled by a separate module of the toolbox: the first by Trade-off Manager, the second by Refactorings as Financial Investment. The following contents of this page are thus divided in two main sections.
# Trade-off Manager
The main goal of the Trade-off Manager is to support technical and/or business decision making, essentially by enabling the development team to rank, sort and eventually choose from alternative suggestions to improve TD, energy and dependability of the target software systems.
![la](https://imgur.com/k88CXsq)
## High-level Overview
Below you may find a high-level schematic of Trade-off Manager's placement in the overall SDK4ED ecosystem.
![image](uploads/24136058b69d6fd4896a3fa8e8789986/image.png)
The functionality can then be divided in the 6 below steps:
- Receive the Decision Maker's preferences with respect to each one of the 3 code qualities (Energy, Technical Debt and Security)
- For the currently analyzed project, accumulate all the code improvement suggestions produced by each of the analysis toolboxes
- Augment the accumulated suggestions with information about their overall impacts to all 3 of the code qualities, and produce the respective design space
- Visualize the output of the previous step in an interactive, easy-to-understand fashion
- Combine the decision maker's preferences with the trade-offs between each of the suggestions, and feed a decision-making algorithm for ranking each alternative
## LUT Structure
The main component of the Trade-off Manager is the Look-Up Table (LUT) where information regarding individual code refactorings is stored.
The LUT is implemented via a dockerized [PostgreSQL][PSQL] database, consisting of a single table, which is for convenience visualized below. As per standard database etiquette, the top row denotes the names of the columns of which the LUT is comprised. Each individual cell on the second row contains essential information that is needed in order to properly interact with the database.
|name |im1 |im2 |im3 |
......@@ -27,4 +40,6 @@ Below a mapping of the impact values to their actual lexicographical meanings is
|1 |Improve |
|2 |Greatly Improve |
# Refactorings as Financial Investment
[PSQL]: <https://www.postgresql.org/>
\ No newline at end of file
Clone repository
  • Advanced
  • Architectural Toolbox Description
  • Architectural Toolbox Front End
  • Architectural Toolbox Home
  • Architectural Toolbox Installation
  • Architectural Toolbox Usage
  • Decision Support Toolbox Description
  • Decision Support Toolbox Front end
  • Decision Support Toolbox Installation
  • Decision Support Toolbox Usage
  • Decision Support Toolbox
  • Energy Toolbox Description
  • Energy Toolbox Front end
  • Energy Toolbox Installation
  • Energy Toolbox Usage
View All Pages

Menu

Explore Projects Groups Snippets