
Die Entwicklung qualitativ hochwertiger Software erfordert bei der heutigen Komplexität der Systeme eine ingenieurmäßige Vorgehensweise bei der Softwareentwicklung. Dies erfordert wohldefinierte Prozesse, welche die Anforderungen systematisch zuerst in Modelle des zu realisierenden Systems und dann in den lauffähigen Code möglichst automatisiert transformieren. Zur Modellierung des Systems werden dabei aus Gründen der Wiederverwendbarkeit und Analysierbarkeit Komponenten oder Services eingesetzt - und zwar sowohl in eingebetteten oder mechatronischen Systemen als auch in betrieblichen Anwendungen. Liegen solche Komponenten bzw. deren Modelle nicht vor, müssen sie gegebenenfalls aus Altanwendungen zuerst extrahiert werden.
Das Forschungsprojekt „Entwurfstechnik Intelligente Mechatronik“ (ENTIME) soll die Innovationskraft des modernen Maschinenbaus stärken, in dem zum einen eine fachgebietsübergreifende Entwurfstechnik entwickelt wird. Zum anderen sollen semantische Technologien für den effektiven Austausch von Lösungswissen in den Branchenwertschöpfungsketten genutzt werden.Bei der Entwicklung...
[mehr]Das RailCab-System ist ein neuartiges Transportsystem, das komfortables Reisen auf der Schiene ermöglicht und gleichzeitig dem Wunsch nach individueller Mobilität entspricht. Es gibt keine Trennung zwischen Nah- und Fernverkehr. Ohne Umsteigen bzw. Umladen können die RailCabs Personen oder Güter direkt an ihren Zielort transportieren. Die Fahrzeuge fahren nicht nach Fahrplan, sondern sie können...
[mehr]Gegenstand des SFB 614 "Selbstoptimierende Systeme des Maschinenbaus sind maschinenbauliche Systeme von morgen. Diese werden aus Konfigurationen von Systemelementen mit einer inhärenten Teilintelligenz bestehen. Das Verhalten des Gesamtsystems wird durch die Kommunikation und Kooperation der intelligenten Systemelemente geprägt sein. Aus informationstechnischer Sicht handelt es sich...
[mehr]Die Zielsetzung des SFB 901 On-The-Fly Computing (OTF Computing) liegt in der Entwicklung von Techniken und Verfahren zur automatischen on-the-fly Konfiguration und Ausführung von individuellen IT-Dienstleistungen aus Services, die auf weltweit verfügbaren Märkten gehandelt werden. Methodisch sollen dazu neben Konfiguration durch spezielle OTF Dienstleister und Ausführung durch so genannte...
[mehr]Archimetrix verbindet Clustering- und Mustererkennungsansätze um die Architektur von betrieblichen Informationssystemen aus Quellcode wiederherzustellen. Während das Clustering die Architektur basierend auf Code-Metriken extrahieren kann, wird die Mustererkennung verwendet um Schwachstellen in dieser Architektur zu erkennen. Sobald diese Schwachstellen entfernt wurden, kann wieder das Clustering...
[mehr]Mechatronische Systeme bestehen aus mechanischen, elektrotechnischen, regelungstechnischen und softwaretechnischen Anteilen, die eng miteinander interagieren. Beispiele für solche Systeme sind moderne Autos oder das RailCab-System. Diese Systeme unterliegen harten Echtzeitanforderungen. Die bedeutet, dass Aufgaben des Systems bis zu einem festgelegten Zeitpunkt abgeschlossen sein müssen....
[mehr]The MechatronicUML Simulation project aims at providing sophisticated simulation support for MechatronicUML models. At the moment, we provide the translation of MechatronicUML models to MATLAB/Simulink and Stateflow and to Modelica.
[mehr]Das Palladio Komponentenmodell (PCM) ist eine domänenspezifische Modellierungssprache um komponentenbasiete Softwarearchitekturen zu beschreiben. Es wurde mit dem Ziel entworfen, frühe Performancevorhersagen für Softwarearchitekturen durchzuführen. Das PCM ist dabei an die Entwicklerrollen eines komponentenorientierten Entwicklungsprozesses angepasst. Das PCM wurde mit Hilfe des...
[mehr]Software-Dienste werden heutzutage als eine Lösung zum schnellen und effizienten Anpassen von Software-Systemen an sich ändernde Anforderungen und Geschäftsprozesse gesehen. Das Ziel des Projektes Q-ImPrESS ist die Flexibilität zu erhöhen, durch die Einführung von Software-Dienste in neuen Anwendungsdomänen wie Produktionssteuerung und Telekommunikation, wo garantierte...
[mehr]Reclipse ist ein Reverse-Engineering-Werkzeug zur automatisierten Erkennung von Mustern in Quellcode. Ein Muster ist eine allgemeine, wiederverwendbare Lösung für beim Software-Entwurf häufig auftauchende Probleme. Das Erkennen von Mustervorkommen kann beim Verstehen von Quellcode helfen und dadurch das Verständnis ganzer Software-Systeme unterstützen.Reclipse bietet die folgenden...
[mehr]Tripel Graph Grammatiken (TGGs) sind ein Formalismus, mit dem regelbasiert die Abbildung zwischen verschiedenen Typen von Graphen bzw. Modellen beschrieben werden kann. TGGs lassen sich insbesondere für die Modell-zu-Modell-Transformationen (M2M) anwenden. Im Gegensatz zu vielen anderen Sprachen für die Transformation von Modellen "programmiert" der Entwickler dabei nicht eine...
[mehr]Selbstoptimierende mechatronische Systeme werden häufig in sicherheitskritischen Umgebungen eingesetzt. Deshalb müssen diese Systeme hohe Sicherheitsanforderungen erfüllen, was eine sorgfältige Analyse der Sicherheitseigenschaften erfordert. Auch wenn das System keine Designfehler enthält, können zur Laufzeit immer noch gefährliche Situation entstehen, die auf zufällige Fehler in der...
[mehr]Im Rahmen des Sonderforschungsbereichs 901 On-The-Fly Computing wird die Erzeugung und Ausführung flexibel kombinierbarer Services erforscht. Um solche Services aufzufinden, zu komponieren und zu analysieren, müssen diese präzise beschrieben werden. Diese Servicespezifikation muss neben funktionalen und nicht-funktionalen Eigenschaften auch weitere Aspekte, zum Beispiel organisatorischer Art,...
[mehr]Langlebige Software-Systeme müssen sich flexibel neuen Situationen und Umgebungen anpassen, um dauerhaft einsetzbar zu sein. Selbst-adaptive Software-Systeme sind in der Lage sich im Betrieb eigenständig zu rekonfigurieren und damit an neue Situationen anzupassen um vorgegebene Ziele zu erreichen.Der Entwurf und die Analyse solcher selbst-adaptiven Software-Systeme stellt eine...
[mehr]Bei der Entwicklung sicherheitskritischer mechatronischer Systeme kann eine fehlerhafte Implementierung zu hohen Kosten führen. Dabei steigen die Kosten von Fehlern typischerweise an, je später im Entwicklungsprozess diese gefunden werden. Da Fehler bereits durch inkonsistente Anforderungen an das zu entwickelnde System entstehen können, sollten diese möglichst früh auf Widersprüche untersucht...
[mehr]Die Automobilentwicklung ist gekennzeichnet von der Kooperation zwischen Automobilherstellern (Original Equipment Manufacturers, OEMs) und Zulieferern. Dabei stellt der OEM dem Zulieferer Kundenanforderungen zur Verfügung, welche die grobe Funktionalität des zu entwickelnden Systems (System under Development, SUD) beschreiben. Der Zulieferer antwortet mit Systemanforderungen, die eine...
[mehr]Selbstoptimierende mechatronische Systeme passen ihre Software selbstständig ihrer veränderlichen Umwelt an. Dies wird auch als Rekonfiguration bezeichnet. Falls mehrere solcher mechatronischen Systeme miteinander interagieren, können sich zudem die Kommunikationsverbindungen und die Anzahl der Kommunikationspartner für ein System zur Laufzeit verändern. Um diese Systeme in sicherheitskritischen...
[mehr]Software ist der heutige Innovationstreiber im Maschinenbau. Vor allem ermöglicht sie die Vernetzung von zuvor eigenständigen Systemen zu einem neuen Gesamtsystem. Darüber hinaus befähigt sie die Systeme, sich an die Änderungen der Umwelt anzupassen. Solche vernetzten Systeme werden intelligente mechatronische Systeme genannt und zeichnen sich u.a. durch einen hohen Grad an Koordination und...
[mehr]Bei der Entwicklung komplexer, langlebiger Softwaresysteme werden zwecks erwünschter Eigenschaften wie Anpassbarkeit und Erweiterbarkeit bewährte Lösungen in Form von Entwurfsmustern eingesetzt. Aufgrund fehlender oder veralteter Dokumentation werden Verwendungen solcher Entwurfsmuster bei der Weiterentwicklung der Systeme häufig übersehen. Das führt zum Verlust der ursprünglichen Intention, also...
[mehr]Software aus dem Umfeld betrieblicher Informationssysteme ist heutzutage sehr umfangreich, was ihre Wartung und Erweiterung erschwert. Um diese hohe Komplexität handhabbar zu machen, werden komponenten-basierte Software-Architekturen eingesetzt, die ein großes System in eine Vielzahl logische Komponenten unterteilen. Die hohe Lebensdauer solcher Systeme führt allerdings dazu, dass diese...
[mehr]