|
|
![forecasting_toolbox_backend](uploads/1d7b10c0921be273ad41dcb30c43784c/forecasting_toolbox_backend.png)## Description
|
|
|
## Description
|
|
|
|
|
|
The purpose of the Forecasting Toolbox is to provide predictive forecasts regarding the evolution of the three core quality attributes targeted by the SDK4ED platform, namely *Technical Debt*, *Energy* and *Dependability (Security)*. An overview of the structure that the Forecasting Toolbox back-end follows is presented below:
|
|
|
|
|
|
![forecasting_toolbox_backend](uploads/fd5594258bd55a13d9b99c9d0afd687b/forecasting_toolbox_backend.png).
|
|
|
![forecasting_toolbox_backend](uploads/1d7b10c0921be273ad41dcb30c43784c/forecasting_toolbox_backend.png).
|
|
|
|
|
|
As it can be seen. the entry point of the Forecasting Toolbox is a RESTful web server that uses the [Flask web framework](https://www.palletsprojects.com/p/flask/) wrapped inside [Waitress](https://docs.pylonsproject.org/projects/waitress/en/stable/), a Python WSGI production-ready server. At a lower level, the server exposes three sub-modules, implemented as individual web services. Each web service plays the role of an end-point that allows the invocation of a set of forecasting models and returns the results, providing users with insightful information for the future evolution each of the three core quality attributes of a software application. The services supported by the Forecasting Toolbox are listed below:
|
|
|
- **TD Forecaster**: This web service is responsible for generating Technical Debt forecasts for a given software application. A TD forecast represents the predicted evolution of the total remediation effort (measured in minutes) to fix all code issues (e.g. code smells, bugs, code duplications, etc.) of a software application, up to a future point specified by the user.
|
... | ... | |