16. Data Propagation

MQC offers a feature to propagate data, which is missing at a certain revision, by using data previously imported instead of importing the data again.

16.1. Motivation

Each piece of data imported into MQC is assigned to a revision depending on the point in time the data was collected, i.e. the report has been created. If this data is not re-imported, MQC treats it as missing in later revisions.

As long as imported data stays valid and to reduce the amount of missing data, the user may decide to propagate the data, which means to re-use this data in later revisions.

With that, MQC is able to calculate and visualize certain quality metrics even for those revisions, where the data used to calculate the particular quality metric has not been re-collected respectively re-imported.

Note

Data may become invalid, if for instance the artifact changes (new model version), but the data is not re-collected.

Therefore the user must decide carefully if and which data to propagate.

In any case, data is replaced if more up-to-date data - new data collected for the same object - is loaded into MQC.

16.2. How to Propagate Data?

../_images/MQC_Propagation_MissingData.png

Figure 16.1 Data Availability after Import - before Propagation was triggered

Figure 16.1 shows the availability status of the data currently loaded into MQC. Available data is colored blue, missing data is colored grey. The availability index inside the Project KPI shows an availability of only 29 % (for the most recent revision, i.e. CW 44).

To trigger the MQC propagation feature, the user must open the Settings dialog from the Configuration section of the menu and select an option under the Propagation of data title.

../_images/MQC_Propagation_ConfigurationPanel.png

Figure 16.2 Trigger Data Propagation in the Settings dialog

There are three options:

16.3. Propagate Data For The Entire Project

Select Propagate data to later revisions and then until the end of the project under Propagation of data title on Settings dialog from the Configuration section of the menu.

This starts with the first revision, for each revision the availability of the data is checked. If data is missing, it is taken from the previous revision if present there (could be either loaded data or again data that was propagated from an earlier revision).

../_images/MQC_Propagation_All.png

Figure 16.3 Data Availability after Propagation for the entire project

Figure 16.3 shows the availability status after Propagation has been enabled. Propagated data is colored light blue to distinguish between imported and propagated data. Please note that the availability index inside the Project KPI now has been increased to an availability of 100 % and the distribution chart as well as the availability treemap are now showing blocks of propagated data instead of missing data.

Additionally, if at a later point in time new data is loaded for additional revisions, data that is missing for these new revisions is propagated to these revisions, too.

Note

If for a derived measure, at least one of the base measures needed for its calculation has propagated data and none of the measures are missing then the derived measure is marked as propagated.

16.4. Propagate Data Towards Next Milestone

This use case applies, if replacing missing data from previous revision is only valid for revisions inside one milestone and if for the next milestone new data is expected and should not replaced by data from previous milestone. For more details regarding configuration of project milestones please refer to section Project Milestone Structure.

To achieve this, select Propagate data to later revisions and then until the end of each milestone under Propagation of data title on Settings dialog from the Configuration section of the menu.

The mechanism here is the same as Propagate Data For The Entire Project but inside (from first to last revision) of each milestone. For each milestone, this fills all revisions up to the last revision of that milestone.

../_images/MQC_Propagation_Milestone.png

Figure 16.4 Data Availability after Propagation towards next milestone

Figure 16.4 shows no propagation for e.g. CW 44, because the corresponding milestone just contains one revision. So, the availability index inside the Project KPI stays the same as without propagation. On the other side the first milestone contains two revisions (CW 38, CW 39#1) and the distribution chart shows a block of propagated data in CW 39#1, where missing data was filled up by data from CW 38.

Note

If propagation was already triggered for the entire project, all previously propagated data, which does not match the current selection, will be removed.

16.5. Remove Propagated Data

Select Do not propagate under Propagation of data title on Settings dialog from the Configuration section of the menu.

This removes all propagated data from all revisions.