K Semantics for Dynamic Software Architectures