A Compositional Approach to Creating Architecture Frameworks with an Application to Distributed AI Systems