A computer-implemented method of identifying federations of manufacturing apps for automation systems of customers using house of quality, HoQ, analysis, a federation of apps including a plurality distinct apps that can be used jointly to unify disparate functionality and data, the method comprising: receiving customer request information of a customer comprising a plurality of desired functions and an importance value for each of the plurality of desired functions; generating a correlation matrix between a plurality of apps provided by a Marketplace App Store, wherein each element of the correlation matrix indicates a degree of correlation between a pair of apps, wherein generating the correlation matrix comprises: for each app, performing a semantic analysis to determine a similarity measure for each of the other apps indicating a degree of similarity with respect to source code information; and populating elements of the correlation matrix between two apps with the similarity measure corresponding to the two apps; generating a relationship matrix comprising numerical values indicating relationships between the plurality of apps and the plurality of desired functions, wherein each column of the relationship matrix is associated with an app and each row is associated with a desired function; creating a weighted matrix by multiplying each row in the relationship matrix by the importance value corresponding to the desired function associated with the row; aggregating the numerical values in each column of the weighted matrix to determine a total value for each of the plurality of apps; identifying a federation of apps providing aggregate functionality that meets the customer's requirements based on the correlation matrix and the total values determined for the plurality of apps; and presenting the identified federation of apps to the customer. receiving customer request information of a customer comprising a plurality of desired functions and an importance value for each of the plurality of desired functions; generating a correlation matrix between a plurality of apps provided by a Marketplace App Store, wherein each element of the correlation matrix indicates a degree of correlation between a pair of apps, wherein generating the correlation matrix comprises: for each app, performing a semantic analysis to determine a similarity measure for each of the other apps indicating a degree of similarity with respect to source code information; and populating elements of the correlation matrix between two apps with the similarity measure corresponding to the two apps; for each app, performing a semantic analysis to determine a similarity measure for each of the other apps indicating a degree of similarity with respect to source code information; and populating elements of the correlation matrix between two apps with the similarity measure corresponding to the two apps; generating a relationship matrix comprising numerical values indicating relationships between the plurality of apps and the plurality of desired functions, wherein each column of the relationship matrix is associated with an app and each row is associated with a desired function; creating a weighted matrix by multiplying each row in the relationship matrix by the importance value corresponding to the desired function associated with the row; aggregating the numerical values in each column of the weighted matrix to determine a total value for each of the plurality of apps; identifying a federation of apps providing aggregate functionality that meets the customer's requirements based on the correlation matrix and the total values determined for the plurality of apps; and presenting the identified federation of apps to the customer.