Tool Overview
The Q-ImPrESS project aims at developing software tools which enable the design-time Quality Impact Prediction for evolving service-oriented software. The development of the tools is work in progress. This page presents an overview of the different tools, which are encorporated in the Q-ImPrESS IDE.
Backbone Plug-In
Backbone plug-ins provide core infrastructure for integration of all Q-ImPrESS tools by offering API to access basic concepts of Q-ImPrESS IDE. Furthermore, they visualize these concepts inside the Eclipse platform.
For more information on the usage and installation of the Q-ImPrESS IDE, please refer to D6.1: Annex – Guidelines and Tool Manuals.
Textual Editors
Q-ImPrESS IDE offers different ways of modelling.
The first option is represented by textual editors, which serve for rapid model prototyping and modifications. They are provided for all parts of the Service Architecture Model.
For more information on the usage and installation of the textual editors, please refer to the corresponding section in D6.1: Annex – Guidelines and Tool Manuals.
Graphical Editors
The Q-ImPrESS IDE offers graphical model editors for the creation of SAM Repository and SAM ServiceArchitectureModels. A graphical representation of the models allows a clearer visual representation of relationships between model elements than textual editors. For this reason, we are offering the choice between a graphical and a textual representation for a selection of models. The graphical model editors were created using the Eclipse Graphical Modeling Framework. For more information on the usage and installation of the graphical editors, please refer to the corresponding section in D6.1: Annex – Guidelines and Tool Manuals.
SISSy Reverse Engineering Toolchain
The Q-ImPrESS Reverse Engineering Toolchain can be used to obtain a SAM Repository model containing components and interfaces that have been detected based on existing source code.
The reverse engineering toolchain of Q-ImPrESS can be started from a unified run dialog in the Java perspective. In the run dialog you can select which design alternative from the alternatives repositories shall be filled with a reverse engineered model. Pick the source code folder which you like to reverse engineer, configure the reverse engineering metrics (if desired), and run the reverse engineering tooling. The resulting models are located in the models folder of the reverse engineering project.
For more information on the usage of the reverse engineering toolchain, please refer to the Reverse Engineering tool section in D6.1: Annex – Guidelines and Tool Manuals.
SAM Performance Prediction
To analyze the performance of a Q-ImPrESS Service Architecture Model, it can be transformed into a Palladio Component Model (PCM) instance. The PCM allows for analyzing the performance of software models based on different solvers as well as a simulation. For this purpose, the PCM has been included into the Q-ImPrESS IDE.
The transformation from a Service Architecture Model into a PCM instance and the execution of a PCM simulation can be done fully automatically.
The PCM performance simulation results help to answer questions about service response times or resource utilizations.
For more information on the usage of the tool, please refer to the SAM Performance Prediction section in D6.1: Annex – Guidelines and Tool Manuals.
SAM Reliability Prediction
A Service Architecture Model composed of both black-box and white-box services is suitable for Reliability Estimation. The core metric for Q-Impress reliability analysis is the Failure Probability per Execution (FPE). Its value is the average, expected fraction of failing runs over a large number of observations.
Black-box services can be annotated with a synthetic FPE value, which summarizes all the knowledge concerning its hidden internal behavior. For white-box services, whose operations’ behaviors are described by
means of a SEFF model, the developer can specify an FPE value for every internal activity composing the operation’s workflow. The tool will automatically compute operation’s FPE by applying Markov stochastic theory.
The reliability analysis tool will forecast the expected reliability, in terms of FPE, for each system call composing a specified usage scenario against any of the SAM design alternatives specified by the developer.
Reliability estimation is a relevant comparison term in alternative selection.
For more information on the usage of the tool, please refer to the Reliability Prediction section in D6.1: Annex – Guidelines and Tool Manuals.
SAM Maintainability Prediction
Within the Q-ImPrESS IDE, we provide a tool implementation of the KAMP method, i. e. Karlsruhe Architectural Maintainability Prediction. The purpose of the tool is to enable software architects to predict the maintainability of a software system using its architectural model. Its major contribution is support for a guided estimation of change efforts. It helps with comparing the change effort of multiple change requests on a set of architecture alternatives.
For more information on the usage of the tool, please refer to the SAM Maintainability Prediction section in D6.1: Annex – Guidelines and Tool Manuals.
JPFChecker
JPFChecker is a tool for checking consistency between implementation of a service in the Java
language and its behaviour model in the TBP formalism. We say that the Java implementation is
consistent with the behaviour model in TBP if the actual behaviour of the implementation reflects
the behaviour model and vice versa. The algorithm for consistency checking is described in Sect. 3
of the D5.1 document in detail. For more information on the usage of the tool, please refer to the
JPFChecker section in D6.1: Annex – Guidelines and Tool Manuals.









