127 research outputs found

    Gebäudemanagementsoftware auf Basis des OSGi-Standards

    Get PDF
    Der OSGi-Standard wurde für die Entwicklung komponentenbasierter Software in Java spezifiziert. In diesem Artikel wird eine Architektur für Gebäudemanagementsoftware vorgestellt, die auf Basis von OSGi entwickelt wurde. Grundlage der Client-Server- Architektur des entwickelten Systems ist das Eclipse- Framework, das mit Equinox eine Implementierung des OSGi-Standards liefert. Die verwendeten OSGi- Technologien ermöglichen eine modulare Integration unterschiedlicher Gebäudemanagement-Geräte verschiedener Hersteller in die Softwareplattform und dessen einheitliche Steuerung und Visualisierung. Die Client-Anwendung des Systems profitiert dabei von der komfortablen Benutzeroberfläche der Eclipse Rich-Client-Platform. Das Ergebnis ist eine flexibel einsetzbare Softwarelösung für ein breites Anwendungsspektrum, das von der Überwachung von Industrie- und Bürogebäuden bis hin zu Privathäusern mit Touch-Display Bedienung reicht. Wesentliche Vorteile der Lösung sind die kontextsensitive Informationsbereitstellung sowie die Unterstützung und Automatisierung der Prozesse im Gebäudemanagement. Der Artikel geht auf die technologischen Hintergründe des Software-Systems ein und stellt die betriebswirtschaftlichen Anwendungsfälle vor.The OSGi-Standard was designed for the component-based development of software applications in Java. The architecture of a facility management software which was developed based on OSGi is presented in this article. Basis of the client-server architecture of the developed system is the Eclipse framework which provides an implementation of the OSGi standard with Equinox. The OSGi technologies used allow for a modular integration of different facility management devices of different manufacturers into the software platform, and enable a consistent control and visualization. The client application of the system benefits from the comfortable user interface of the Eclipse Rich-Client-Platform. The result is a flexible software solution for a wide application range that reaches from the supervision of industry and office buildings to private houses and touch display operation. Context-sensitive provision of information as well as the assistance and automation of the processes in the facility management are the essential advantages of the solution. In this article the reader will be introduced into the technological backgrounds of the software system. Furthermore the business use-cases of the software application will be explained

    Automatisierte Generierung von Mappings zwischen Geschäftsobjekten, Präsentationsschicht und Geschäftslogik

    Get PDF
    Mappings werden überall dort eingesetzt, wo eine Zuordnung von Wertepaaren benötigt wird. Wenn dies oft und nach gleichen Mustern geschieht, dann ergibt sich eine Optimierungsmöglichkeit, die durch Automatisierung gelöst werden kann. Hier setzt die vorliegende Arbeit an. Es wird ein Konzept für die automatisierte Generierung von Mappings, in einem Softwareprojekt der Firma Innovations Software Technology GmbH, entwickelt. Anschließend wird das Konzept als Prototyp eines Mapping-Werkzeugs realisiert

    Evolution und Komposition von Softwaresystemen: Software-Produktlinien als Beitrag zu Flexibilität und Langlebigkeit

    Get PDF
    Software systems are today bigger, more complex and of higher importance for products and services than a decade before. At the same time changes are required many more frequently and of a larger size. Furthermore, they have to be implemented faster. Additionally, the software must achieve a higher life span, particularly because of the cost of its development. In the past, Object-Oriented Programming and Reuse techniques did not provide the expected success. The introduction of software product lines respectively system families makes possible it to reach a degree of prefabrication similar to the one of serial production. At the same time they facilitate the delivery of product variants with a short time to market. In this work methods of the methods of domain analysis are integrated with Reuse approaches and techniques of Generative Programming, and a methodology for product line development is presented. Feature models are used as means expressing variability and product configurations, so that the prefabrication be planned and the production of customer-specific products can be controlled. By enforcing the formalization in terms of syntax and semantics, feature models are made accessible to tools and automation. Object-oriented design models and architecture are separated into fine-granular components in such a way that new products can easily be developed as combinations of those components. The implementation of such products is automated by the composition of source code components. The composition of object models separated similarly enables a uninterrupted automation for the product development, which is controlled by a customer by means of a feature selection. To facilitate such a composition, the Hyperspace approach is applied to UML to Hyper/UML, which makes possible a feature-driven separation and composition of object models. In this way slim products can be developed, containing only the actually needed functionality. For the evolution of product lines and for the integration of existing solutions and components into the evolution, Reverse Engineering and Refactoring techniques are integrated. Requirements, models and implementation are connected by Traceability links to perform changes consistently. As a consequence, the loss of architectural quality - so-called Architectural Decay - can be avoided during the iterative development process. Measures for the improvement of the project and quality management are regarded briefly, as far as they are of importance for the effectiveness of the developed methods. The applicability and suitability of the results of the work were examined in several industrial projects.Softwaresysteme sind heute umfangreicher, komplexer und von entscheidenderer Bedeutung für Produkte und Dienstleistungen als eine Dekade zuvor. Gleichzeitig sind Änderungen viel häufiger und in größerem Umfang erforderlich. Sie müssen auch schneller realisierbar sein. Zudem muss die Software eine höhere Lebensdauer erreichen, vor allem wegen des Aufwandes zu ihrer Entwicklung. Objektorientierte Programmierung und Wiederverwendungstechniken haben dabei nicht den erwarteten Erfolg gebracht. Die Einführung von Software-Produktlinien beziehungsweise Systemfamilien ermöglichen es, einen der Serienfertigung ähnlichen Vorfertigungsgrad zu erreichen und erlauben es gleichzeitig, kurzfristig Produktvarianten zu erstellen. In dieser Arbeit werden Methoden der Domänenanalyse mit Wiederverwendungsansätzen und Generativen Programmiertechniken verknüpft und eine Methodik zur Produktlinien-Entwicklung vorgestellt. Featuremodelle werden als Ausdrucksmittel für Variabilität und Produktkonfigurationen eingesetzt, damit die Vorfertigung geplant und die Erstellung von kundenspezifischen Produkten gesteuert werden kann. Durch Präzisierung ihrer Syntax und Erweiterung ihrer Semantik werden Featuremodelle einer Nutzung in Werkzeugen zugänglich gemacht. Objektorientierte Entwurfsmodelle und Architektur werden so in feingranulare Komponenten zerlegt, dass Varianten als neue Produkte mit geringem Aufwand erstellbar sind. Die Erstellung der Implementierung solcher Produkte wird durch die Komposition von Quelltext-Komponenten automatisiert. Die Komposition von ebenfalls zerlegten Objektmodellen ermöglicht eine durchgehende Automatisierung der Produkterstellung, die durch einen Kunden mittels der Feature-Auswahl gesteuert wird. Dafür wird mit Hyper/UML eine Umsetzung des Hyperspace-Ansatzes auf die Modellierungssprache UML entwickelt, die eine Feature-gesteuerte Zerlegung und Komposition von Objektmodellen ermöglicht. Damit lassen sich schlanke Produkte entwickeln, die nur die tatsächlich benötigte Funktionalität enthalten. Zur Evolution von Produktlinien und zur Einbindung existierender Lösungen und Komponenten in die Evolution werden Reverse-Engineering- und Refactoring-Techniken integriert. Anforderungen, Modelle und Implementierung werden durch Traceability-Links verbunden, damit Änderungen konsistent durchgeführt werden können. Diese Mittel tragen dazu bei, dass während einer iterativen Entwicklung der Verlust an Architektur-Qualität, das sogenannte Architectural Decay, vermieden werden kann. Maßnahmen zur Verbesserung des Projekt- und Qualitätsmanagements werden kurz betrachtet, soweit sie wichtige Randbedingungen für die Wirksamkeit der Methoden schaffen müssen. Die Anwendbarkeit und Eignung der Ergebnisse der Arbeiten wurde in mehreren industriellen Projekten überprüft.Ilmenau, Techn. Univ., Habil.-Schr., 200

    Vergleichende Analyse der Test- und Wartbarkeit in Xtext-Projekten am Beispiel einer TDL-Implementierung

    Get PDF
    Domänenspezifische Sprachen gewinnen seit einigen Jahren zunehmend an Bedeutung. Xtext ist eine sogenannte \textit{Language Workbench}, mit der solche Sprachen schnell entwickelt werden können. Neben der Sprachinfrastruktur wird eine inzwischen weit fortgeschrittene Integration in die IDE Eclipse erzeugt und es können optional ein Plug-in für IntelliJ und ein Webeditor erstellt werden. Der Ansatz ist dabei, dass der oder die Codegeneratoren direkt mit dem Abstract Syntax Tree arbeiten. In dieser Arbeit wird gezeigt, wie ein Domänenmodell in eine Xtext-Sprache integriert werden kann und wie Test- und Wartbarkeit davon profitieren. Besondere Beachtung finden, gegeben durch das Projektumfeld, die Anforderungen durch Funktionale Sicherheit.Domain-specific languages have become increasingly significant in recent years. With the so-called \textit{Language Workbench} Xtext this languages can be developed quickly. In addition to the language infrastructure, a by now very advanced integration into the IDE Eclipse is created and an optional plug-in for IntelliJ and a web editor can be created. The approach is a code generator(s) work directly with the Abstract Syntax Tree. This thesis decribes a way of integrating a Domain Model into a Xtext language and how testability and maintainability benefit from it. Given the project environment, special attention is paid to requirements made by functional safety

    Modellgetriebene Entwicklung adaptiver, komponentenbasierter Mashup-Anwendungen

    Get PDF
    Mit dem Wandel des Internets zu einer universellen Softwareplattform sind die Möglichkeiten und Fähigkeiten von Webanwendungen zwar rasant gestiegen. Gleichzeitig gestaltet sich ihre Entwicklung jedoch zunehmend aufwändig und komplex, was dem Wunsch nach immer kürzeren Entwicklungszyklen für möglichst situative, bedarfsgerechte Lösungen entgegensteht. Bestehende Ansätze aus Forschung und Technik, insbesondere im Umfeld der serviceorientierten Architekturen und Mashups, werden diesen Problemen bislang nicht ausreichend gerecht. Deshalb werden in dieser Dissertation neue Konzepte für die modellgetriebene Entwicklung und Bereitstellung von Webanwendungen vorgestellt. Die zugrunde liegende Idee besteht darin, das Paradigma der Serviceorientierung auf die Präsentationsebene zu erweitern. So sollen erstmals – neben Daten- und Geschäftslogik – auch Teile der Anwendungsoberfläche in Form wiederverwendbarer Komponenten über Dienste bereitgestellt werden. Anwendungen sollen somit über alle Anwendungsebenen hinweg nach einheitlichen Prinzipien „komponiert“ werden können. Den ersten Schwerpunkt der Arbeit bilden die entsprechenden universellen Modellierungskonzepte für Komponenten und Kompositionen. Sie erlauben u. a. die plattformunabhängige Beschreibung von Anwendungen als Komposition der o. g. Komponenten. Durch die Abstraktion und entsprechende Autorenwerkzeuge wird die Entwicklung so auch für Domänenexperten bzw. Nicht-Programmierer möglich. Der zweite Schwerpunkt liegt auf dem kontextadaptiven Integrationsprozess von Komponenten und der zugehörigen, serviceorientierten Referenzarchitektur. Sie ermöglichen die dynamische Suche, Bindung und Konfiguration von Komponenten, d. h. auf Basis der o. g. Abstraktionen können genau die Anwendungskomponenten geladen und ausgeführt werden, die für den vorliegenden Nutzer-, Nutzungs- und Endgerätekontext am geeignetsten sind. Der dritte Schwerpunkt adressiert die Kontextadaptivität der kompositen Anwendungen in Form von Konzepten zur aspektorientierten Definition von adaptivem Verhalten im Modell und dessen Umsetzung zur Laufzeit. In Abhängigkeit von Kontextänderungen können so Rekonfigurationen von Komponenten, ihr Austausch oder Veränderungen an der Komposition, z.B. am Layout oder dem Datenfluss, automatisch durchgesetzt werden. Alle vorgestellten Konzepte wurden durch prototypische Implementierungen praktisch untermauert. Anhand diverser Anwendungsbeispiele konnten ihre Validität und Praktikabilität – von der Modellierung im Autorenwerkzeug bis zur Ausführung und dynamischen Anpassung – nachgewiesen werden. Die vorliegende Dissertation liefert folglich eine Antwort auf die Frage, wie zukünftige Web- bzw. Mashup-Anwendungen zeit- und kostengünstig entwickelt sowie zuverlässig und performant ausgeführt werden können. Die geschaffenen Konzepte bilden gleichermaßen die Grundlage für eine Vielzahl an Folgearbeiten.:Verzeichnisse vi Abbildungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Verzeichnis der Codebeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . ix Abkürzungsverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x 1 Einleitung 1 1.1 Problemdefinition, Thesen und Forschungsziele . . . . . . . . . . . . . . 3 1.1.1 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Thesen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1.3 Forschungsziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Abgrenzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Grundlagen, Szenarien und Herausforderungen 12 2.1 Grundlagen und Begriffsklärung . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.1 Komposite und serviceorientierte Webanwendungen . . . . . . . 13 2.1.2 Mashups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.3 Modellgetriebene Software-Entwicklung . . . . . . . . . . . . . . 17 2.1.4 Kontext und kontextadaptive Webanwendungen . . . . . . . . . 18 2.2 Szenarien und Problemanalyse . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 Dienstkomposition zur Reiseplanung . . . . . . . . . . . . . . . . . 20 2.2.2 Interaktive Aktienverwaltung . . . . . . . . . . . . . . . . . . . . . 22 2.2.3 Adaptive Touristeninformation . . . . . . . . . . . . . . . . . . . . 23 2.3 Anforderungen und Kriterien der Analyse . . . . . . . . . . . . . . . . . . 25 2.3.1 Anforderungen an Komponenten- und Kompositionsmodell . . . 25 2.3.2 Anforderungen an die Laufzeitumgebung . . . . . . . . . . . . . 27 3 Stand der Forschung und Technik 30 3.1 SOA und Dienstkomposition zur Interaktion mit Diensten . . . . . . . . . 31 3.1.1 Statische Dienstkomposition . . . . . . . . . . . . . . . . . . . . . . 32 3.1.2 Dynamische Dienstauswahl und -Komposition . . . . . . . . . . . 33 3.1.3 Adaptionskonzepte für Dienstkompositionen . . . . . . . . . . . . 45 3.1.4 Interaktions- und UI-Konzepte für Dienstkompositionen . . . . . . 48 3.2 Web Engineering - Entwicklung interaktiver adaptiver Webanwendungen 50 3.2.1 Entwicklung von Hypertext- und Hypermedia-Anwendungen . . 51 3.2.2 Entwicklung von Mashup-Anwendungen . . . . . . . . . . . . . . 54 3.3 Zusammenfassung und Diskussion der Defizite existierender Ansätze . . 67 3.3.1 Probleme und Defizite aus dem Bereich der Dienstkomposition . 67 3.3.2 Probleme und Defizite beim Web- und Mashup-Engineering . . . 69 4 Universelle Komposition adaptiver Webanwendungen 73 4.1 Grundkonzept und Rollenmodell . . . . . . . . . . . . . . . . . . . . . . 74 4.2 Modellgetriebene Entwicklung kompositer Mashups . . . . . . . . . . . 75 4.2.1 Universelles Komponentenmodell . . . . . . . . . . . . . . . . . . 76 4.2.2 Belangorientiertes Kompositionsmodell . . . . . . . . . . . . . . . 76 4.3 Dynamische Integration und Laufzeitumgebung . . . . . . . . . . . . . 78 4.3.1 Kontextsensitiver Integrationsprozess für Mashup-Komponenten . 79 4.3.2 Referenzarchitektur zur Komposition und Ausführung . . . . . . . 80 4.3.3 Unterstützung von adaptivem Laufzeitverhalten in Mashups . . . 81 5 Belangorientierte Modellierung adaptiver, kompositer Webanwendungen 83 5.1 Ein universelles Komponentenmodell für Mashup-Anwendungen . . . . 84 5.1.1 Grundlegende Eigenschaften und Prinzipien . . . . . . . . . . . . 84 5.1.2 Komponententypen . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.1.3 Beschreibung von Komponenten . . . . . . . . . . . . . . . . . . 87 5.1.4 Nutzung der Konzepte zur Komponentenentwicklung . . . . . . . 99 5.2 Ein belangorientiertes Metamodell für interaktive Mashup-Anwendungen 100 5.2.1 Conceptual Model – Modellierung der Anwendungskonzepte . . 102 5.2.2 Communication Model – Spezifikation von Daten- und Kontrollfluss 107 5.2.3 Layout Model – Visuelle Anordnung von UI-Komponenten . . . . 114 5.2.4 Screenflow Model – Definition von Navigation und Sichten . . . . 115 5.3 Modellierung von adaptivem Verhalten . . . . . . . . . . . . . . . . . . 117 5.3.1 Adaptionstechniken für komposite Webanwendungen . . . . . . 117 5.3.2 Adaptivity Model – Modellierung von Laufzeitadaptivität . . . . . 119 5.4 Ablauf und Unterstützung bei der Modellierung . . . . . . . . . . . . . . 126 5.5 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 128 6 Kontextsensitiver Integrationsprozess und Kompositionsinfrastruktur 132 6.1 Ein kontextsensitiver Integrationsprozess zur dynamischen Bindung von Mashup-Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.1.1 Modellinterpretation oder -transformation . . . . . . . . . . . . . . 134 6.1.2 Suche und Matching . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.1.3 Rangfolgebildung . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6.1.4 Auswahl und Integration . . . . . . . . . . . . . . . . . . . . . . . . 145 6.2 Kompositionsinfrastruktur und Laufzeitumgebung . . . . . . . . . . . . . 146 6.2.1 Verwaltung von Komponenten und Domänenwissen . . . . . . . 146 6.2.2 Aufbau der Laufzeitumgebung (MRE) . . . . . . . . . . . . . . . . 148 6.2.3 Dynamische Integration und Verwaltung von Komponenten . . . 151 6.2.4 Kommunikationsinfrastruktur und Mediation . . . . . . . . . . . . . 155 6.3 Unterstützung von Adaption zur Laufzeit . . . . . . . . . . . . . . . . . . 162 6.3.1 Kontexterfassung, -modellierung und -verwaltung . . . . . . . . . 163 6.3.2 Ablauf der dynamischen Adaption . . . . . . . . . . . . . . . . . 168 6.3.3 Dynamischer Austausch von Komponenten . . . . . . . . . . . . 170 6.4 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 174 7 Umsetzung und Validierung der Konzepte 178 7.1 Realisierung der Modellierungsmittel . . . . . . . . . . . . . . . . . . . . 179 7.1.1 Komponentenbeschreibung in XML und OWL . . . . . . . . . . . 179 7.1.2 EMF-basiertes Kompositionsmodell . . . . . . . . . . . . . . . . . . 180 7.1.3 Modelltransformationen . . . . . . . . . . . . . . . . . . . . . . . . 182 7.1.4 Modellierungswerkzeug . . . . . . . . . . . . . . . . . . . . . . . . 183 7.2 Realisierung der Kompositions- und Laufzeitumgebung . . . . . . . . . . 185 7.2.1 Semantische Verwaltung und Discovery . . . . . . . . . . . . . . 185 7.2.2 Kompositions- bzw. Laufzeitumgebungen . . . . . . . . . . . . . . 192 7.2.3 Kontextverwaltung und Adaptionsmechanismen . . . . . . . . . 201 7.3 Validierung und Diskussion anhand der Beispielszenarien . . . . . . . . . 210 7.3.1 Reiseplanung mit TravelMash . . . . . . . . . . . . . . . . . . . . . 211 7.3.2 Aktienverwaltung mit StockMash . . . . . . . . . . . . . . . . . . . 214 7.3.3 Adaptive Touristeninformation mit TravelGuide . . . . . . . . . . . 216 7.3.4 Weitere Prototypen . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 7.4 Zusammenfassung und Diskussion . . . . . . . . . . . . . . . . . . . . . . 219 8 Zusammenfassung, Diskussion und Ausblick 226 8.1 Zusammenfassung der Kapitel und ihrer Beiträge . . . . . . . . . . . . . 227 8.2 Diskussion und Bewertung . . . . . . . . . . . . . . . . . . . . . . . . . . 231 8.2.1 Wissenschaftliche Beiträge . . . . . . . . . . . . . . . . . . . . . . 231 8.2.2 Einschränkungen und Grenzen . . . . . . . . . . . . . . . . . . . . 236 8.3 Laufende und zukünftige Arbeiten . . . . . . . . . . . . . . . . . . . . . 238 Anhänge 242 A.1 Komponentenbeschreibung in SMCDL . . . . . . . . . . . . . . . . . . . 242 A.2 Komponentenmodell in Form der MCDO . . . . . . . . . . . . . . . . . . 243 A.3 Kompositionsmodell in EMF . . . . . . . . . . . . . . . . . . . . . . . . . . 244 Verzeichnis eigener Publikationen 246 Webreferenzen 249 Literaturverzeichnis 25

    Modulorientiertes Produktlinien Engineering fĂĽr den modellbasierten Elektrik/Elektronik-Architekturentwurf

    Get PDF
    Heutzutage werden E/E-Architekturen modellbasiert entworfen, um in der Fahrzeugentwicklung frühzeitig den Reifegrad für die fahrzeugweite Vernetzung und Integration von Elektrik, Elektronik und Software abzusichern. Das methodische Konzept und die praktische Umsetzung durch das Modulorientierte Produktlinien Engineering ermöglicht eine Erhöhung der Modellierungseffizienz und der Modellqualität sowie eine Anwenderunterstützung für die Modellierung der komplexen E/E-Architekturmodelle
    • …
    corecore