Mordinyi, R. (2010). Managing complex and dynamic software systems with space-based computing [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-36211
Software-Systeme bestehen meistens aus verteilten und heterogenen Applikationskomponenten, die Geschäftsziele repräsentieren, und aus einer Middlewareschicht, die die Komplexität von Netzwerken und Verteilung abschirmt.<br />Im Zuge der Entwicklung von komplexen Software-Systemen müssen sich Softwareentwickler interagierenden Applikationskomponenten und sich ändernden Geschäftsanforderungen stellen. Das nachrichtenbasierte Paradigma ist ein bekanntes Konzept, um die Kommunikation zwischen Applikationskomponenten zu ermöglichen. Es sind jedoch nicht einmal asynchrone nachrichtenbasierte Middlewaretechnologien in der Lage, komplexe Koordinationsanforderungen zu erfüllen, da die Applikationskomponente die Abarbeitung und den Zustand der laufenden Koordination verwalten müssen. Dies steigert die Komplexität der Applikation. Datengesteuerte Frameworks, wie der Tuple Space, hingegen unterstützen die Koordination von Applikationskomponenten, weisen aber eine limitierte Anzahl an Koordinationsformen auf, die eine zusätzliche Komplexität durch Abhängigkeiten einführt, sobald komplexe Koordinationsanforderungen erfüllt werden müssen.<br />Die vorliegende Dissertation schlägt das sogenannte Space-Based Computing (SBC) Paradigma vor, um Softwareentwickler bei der Handhabung der Komplexität von Interaktions- und Agilitätsanforderungen zu unterstützen. Das SBC Paradigma ist ein Architekturstil, der flexibel die Eigenschaften von unterschiedlichen Architekturstilen kombiniert und abstrahiert, und diese um Koordinationsmodelle anreichert. Im Gegensatz zu traditionellen Koordinationsframeworks ermöglicht SBC die Austauschbarkeit von Koordinationsmodellen. Weiter ermöglicht es Softwareentwicklern unabhängig vom Zustand oder Entwicklungsgrad des Systems, mit einer gleichbleibenden Anzahl an Konzepten zu arbeiten. Der vorgestellte Ansatz wurde in unterschiedlichen Domänen eingesetzt und evaluiert: Luftverkehrsmanagement, Produktionsautomatisierung, und intelligente Transportsysteme. Die Evaluation wurde hinsichtlich Umsetzbarkeit, Aufwand, Robustheit, Leistung, Skalierbarkeit und Bedienbarkeit durchgeführt. Die Resultate der Evaluation zeigten eine höhere Koordinationseffizienz, bessere Robustheit gegenüber sich ändernden Geschäftsanforderungen, einfache Umsetzung von Geschäftsanforderungen und eine Reduzierung der Komplexität in Applikationskomponenten.<br />
de
Software systems are usually composed of distributed and heterogeneous application components representing higher-level business goals, and a middleware part abstracting the complexity concerns related to network and distribution. In the course of developing complex software systems software developers have to deal with interacting application components and changing business requirements. The message-passing paradigm is a common concept allowing application components to interact with each other. But even asynchronous message-oriented middleware technologies are not suitable for complex coordination requirements since the processing and state of coordination have to be handled explicitly by the application component, thus increasing its complexity. Data-driven frameworks, like tuple spaces, support the coordination of application components, but have a limited number of coordination policies. Therefore, with respect to more complex coordination requirements application components still need to implement coordination functionality that is not directly supported by the coordination framework.<br />Middleware frameworks usually represent a specific architectural style and there is a dependency between application components and architectural style. In case a new business requirement demands the implementation of other architectural styles, the combinations of those styles further introduces additional cognitive complexity. Consequently, instead of a stable set of architectural concepts for effectively managing complexity concerns, the number of concepts a software developer has to work with explicitly increases with the size and degree of evolution of the system.<br />This thesis proposes the so called Space-Based Computing (SBC) paradigm to support software developers managing complexity issues regarding interaction requirements and agility of software architectures. The SBC paradigm defines an architectural style that flexibly combines and abstracts the properties of several architectural styles and extends them by sophisticated coordination models. In contrast to traditional coordination frameworks the approach supports exchangeable coordination models and regardless of the evolutionary degree or state of the system, it offers software developers a stable and limited number of architectural concepts to work with. The approach is evaluated in several industrial application domains: in air traffic management, production automation, and intelligent transportation regarding feasibility, effort, robustness, performance, scalability, and usability. The evaluation results show a higher coordination efficiency, improved robustness against changing requirements, simplified realization of business requirements, and reduced complexity in applications.<br />