Towards OpenWorld Software Architectures with Semantic Architectural Styles, Components and Connectors