Options
2013
Report
Titel
Openness as an architectural quality
Abstract
Openness of software systems constitutes a new way of collaboration between software development organizations - on the one hand the open system producer and on the other hand the extension producer (i.e., the consumer of the open system). Open system producers share information on internal concepts and mechanisms and provide architectural documentation about them in order to enable third party producer to extend the open system. The extensions themselves are typically unknown at development time of the open system. The extension developed third party organizations utilize the mechanisms either at configuration time or at run time (without requiring the open system to be modified or recompiled). Such contributions are either system extensions (e.g., Eclipse plug-ins or Apps) or adapters to enable interoperation with other systems (e.g., machine2machine communication). In this report we define the term "open architecture" and present a conceptual model for openness within a software ecosystem (see Section 1). We characterize the organizational roles involved the software ecosystem and discuss the cooperation between open system producers and system extension producers (see Section 3). Furthermore, we elaborate on concepts for integration of open systems and extensions. Key contributions of this report is a classification schema (see Section 4), which helps organizations in characterizing the situation of their systems and gives guidance to development organizations on whether or not to invest into openness and what consequences to expect. Examples from the commercial vehicle domain characterize sample situations of development organizations (Section 2) and show how the schema to classify open system can be applied (see Section 4). The foundations of this report are basis for a follow-up report, which discuss engineering principles to achieve openness in software systems.
Verlagsort
Kaiserslautern