Using Tarjan's algorithm to organize and schedule the computational workflow in a federated system of models and databases
This thesis examines the use of Tarjan's algorithm for finding strongly connected components as a mechanism for organizing and scheduling the computational workflow in a federated system of computational models and databases. Often the emergent behavior of large- scale complex engineered and natural systems is the consequence of the interaction between the subsystem components that compose the system. As a result, modeling and simulating these large-scale complex systems requires a large number of heterogeneous computational models and databases to be assembled into a federated architecture that supports interoperability and information sharing between components. Although the local data exchanges that are needed to simulate the connectivity between the components of these federated systems is often well understood, identifying the workflow that is needed to accurately propagate data through the overall system is challenging and often not practical using a hands-on or brute-force approach. As a result, a novel method is needed that identifies the computational workflow required to accurately propagate data through a large-scale federated system of models and databases, ensuring each component receives the correct input data from other components in the system prior to it being solved or queried. This thesis develops a methodology that utilizes Tarjan's algorithm as a mechanism for identifying data-related interdependencies and for scheduling the necessary workflow that is needed to solve federated systems of models and databases based on the local input and output data associated with each of the components. The methodology is applied to identify the computational workflow needed to solve a system of one-dimensional models and databases representing the heat transfer and thermal stress in a gas turbine blade, and a system of models and databases representing the performance of a hybrid gas turbine, solid oxide fuel cell energy system. The goal is to extend the use of the algorithm as a tool for organizing and scheduling the computational workflow in federated systems models and databases that are developed, validated, revised, and executed independently using distributed or cloud-based resources.