fastpan is a framework for model-agnostic software performance analysis. The framework currently features:
- An opinionated way to define performance analyzers.
- A strictly-typed definition of analysis results.
The project was developed during my master's thesis to integrate different performance analyzers with a uniform execution and results interface.
The fastpan framework defines interface to integrate performance analyzers regardless of the model they conduct the analysis on. Predictive software performance analyzers typically operate on a model of the software to be built. In case of component-based software systems, the model often comprises:
- the component specifications including their required and provided interfaces
- an architecture connecting the different components with their interfaces
- a deployment view to allocate the system architecture onto processing hardware and resources
- and usage scenarios modeling typical requests and loads the system has to handle.
Through analysis or simulation, the analyzer is then able to predict the systems performance behavior for the modeled usage scenarios. fastpan assumes that such a model exists and defines an interface to configure and execute the performance analysis, and to retrieve the actual performance analysis results.
Hence, performance analyzers supporting the fastpan framework can easily be integrated into different contexts, as the interface to execute the performance analysis is very simple. As different approaches may use different models, the fastpan framework also fosters the implementation of model-to-model transformations, to support various performance analyzers starting from a single model.
In the scope of my master's thesis, such a model-to-model transformation was implemented to leverage the performance approaches implemented by the Palladio Simulator tool suite from within the IETS3 research project.