Biological systems surpass man-made systems in many important ways. Most notably, systems found in nature are typically self-adaptive and self-managing, capable of surviving drastic changes in their environments, such as internal failures and malicious attacks on their components. Large distributed software systems have requirements common to those of some biological systems, particularly in the number and power of individual components and in the qualities of service of the system. However, it is not immediately clear how engineers can extract useful properties from natural systems and inject them into software systems.
In this paper, we explore the nature's process of crystal growth and develop mechanisms inspired by that process for designing large distributed computational grid systems. The result is the tile architectural style, a set of design principles for building distributed software systems that solve complex computational problems. Systems developed using the tile style scale well to large computations, tolerate faults and malicious attacks, and preserve the privacy of the data.
@inproceedings{Brun09bads, author = {Yuriy Brun and Nenad Medvidovic}, title = {\href{http://people.cs.umass.edu/brun/pubs/pubs/Brun09bads.pdf}{Crystal-growth-inspired algorithms for computational grids}}, booktitle = {Proceedings of the Workshop on Bio-Inspired Algorithms for Distributed Systems (BADS)}, venue = {BADS}, address = {Barcelona, Spain}, month = {June}, date = {19}, year = {2009}, pages = {19--26}, isbn = {978-1-60558-584-0}, doi = {10.1145/1555284.1555288}, note = {\href{https://doi.org/10.1145/1555284.1555288}{DOI: 10.1145/1555284.1555288}}, abstract = {<p>Biological systems surpass man-made systems in many important ways. Most notably, systems found in nature are typically self-adaptive and self-managing, capable of surviving drastic changes in their environments, such as internal failures and malicious attacks on their components. Large distributed software systems have requirements common to those of some biological systems, particularly in the number and power of individual components and in the qualities of service of the system. However, it is not immediately clear how engineers can extract useful properties from natural systems and inject them into software systems.</p> <p>In this paper, we explore the nature's process of crystal growth and develop mechanisms inspired by that process for designing large distributed computational grid systems. The result is the tile architectural style, a set of design principles for building distributed software systems that solve complex computational problems. Systems developed using the tile style scale well to large computations, tolerate faults and malicious attacks, and preserve the privacy of the data.</p>}, }