Software Fortresses: Modeling Enterprise Architectures