Research Article

A Cost Effective and Preventive Approach to Avoid Integration Faults Caused by Mistakes in Distribution of Software Components

Listing 1

Pseudocode: prerun monitoring.
) CompOfInve HashInventory.xml  {inventory components}
() CompOfSta ⌀     {components of local station)
() OKList NOKList Inexist ⌀ {lists of artifacts}
() Appl_OK FALSE
() if (CompOfInve.inventory_version = VersionControl.inventory_online_version)  then
()  Appl_OK TRUE {the version is the most recent}
() else if
()  Appl_OK FALSE {the version is not the most recent}
() end if
() CompOfSta =    Application of Local Statio
() for each node    CompOfInve  do
()  
   {return node from CompOfSta that matches with  , or  
()  Match(, CompOfSta)
()  if () then
()   if Hash() = Hash() then
     {add to list of correct hash artifacts}
()    OKList.Add(CompOfSta)
()   else if
     {add to list of incorrect hash artifacts}
()    NOKList.Add(CompOfSta)
()   end if
()  else if
()   Inexist.Add() {add to list of absence artifacts}
()  end if
() end for
() if (Appl_OK = FALSE) ∣ (NOKList ⌀) ∣ (Inexist ⌀) then
   {there are inconsistencies—generates alert and logs}
()  Alert() {notify the user}
()  LogGeneration(Appl_OK, OKList, NOKList, Inexist)
() end if