Architecting principles for systems-of-systems | Synapse