Software architecture: a travelogue
Specifying Distributed Software Architectures