Distributed or Monolithic? A Computational Architecture Decision   Framework
  Distributed architectures have become ubiquitous in many complex technical and socio-technical systems because of their role in improving uncertainty management, accommodating multiple stakeholders, and increasing scalability and evolvability. This departure from monolithic architectures provides a system with more flexibility and robustness in response to uncertainties that it may confront during its lifetime. Distributed architecture does not provide benefits only, as it can increase cost and complexity of the system and result in potential instabilities. The mechanisms behind this trade-off, however, are analogous to those of the widely-studied transition from integrated to modular architectures. In this paper, we use a conceptual decision framework that unifies modularity and distributed architecture on a five-stage systems architecture spectrum. We add an extensive computational layer to the framework and explain how this can enhance decision making about the level of modularity of the architecture. We then apply it to a simplified demonstration of the Defense Advanced Research Projects Agency (DARPA) fractionated satellite program. Through simulation, we calculate the net value that is gained (or lost) by migrating from a monolithic architecture to a distributed architecture and show how this value changes as a function of uncertainties in the environment and various system parameters. Additionally, we use Value at Risk as a measure for the risk of losing the value of distributed architecture, given its inherent uncertainty. 
Mohsen Mosleh, Kia Dalili and Babak Heydari
cs.DC cs.SE