20 research outputs found

    Architekturbezogene Qualitätsmerkmale für die Softwarewartung : Entwurf eines Quellcode basierten Qualitätsmodells [überarb. Ausg.]

    Get PDF
    Teßmer M. Architekturbezogene Qualitätsmerkmale für die Softwarewartung : Entwurf eines Quellcode basierten Qualitätsmodells [überarb. Ausg.]. Bielefeld: Universität Bielefeld; 2012

    A trustworthy architecture for sharing user-generated content on the web

    Get PDF
    Die Dynamik des Social Webs motiviert zum Teilen nutzergenerierter Inhalte. Diese entstehen in zahlreichen Social Networks meist unter Missachtung der Schutzziele der IT-Sicherheit: Vertraulichkeit, Verfügbarkeit und Integrität von Nutzerdaten. Betreiber von Web-Anwendungen können Inhalte ihrer Nutzer einsehen, fälschen, löschen oder zu unbekannten Zwecken auswerten und verfügen über Wissen über Kommunikationspartner und -verhalten - ohne, dass sich Benutzer wirksam davor absichern könnten. Von dem im Grundgesetz verankerten Recht auf Privatsphäre ausgehend soll im Rahmen dieser Ausarbeitung eine neuartige Architektur zum Teilen nutzergenerierter Inhalte im Web entwickelt werden, die Benutzeranforderungen an die Erfüllung der Schutzziele der IT-Sicherheit vollständig gewährleistet und darüber hinaus durch eine bewusste Kommunikation dieser Qualität als vertrauenswürdig aufgefasst werden kann. In einem Goal-directed Design-Prozess wird eine Architekturskizze entwickelt, welche die im Prozess erarbeiteten Benutzeranforderungen durch die Bereitstellung zweier Web-Services erfüllt: Der Signed Content Storage adressiert als zuverlässiger und durch den Urheber autorisierter Web-Speicherort signierter, nutzergenerierter Inhalte die Schutzziele Verfügbarkeit und Integrität. In Kombination mit dem Identity Provider, der gesicherte Informationen von Urheber und Teilhabern zur Verfügung stellt, ist ein vertrauliches Teilen von Inhalten im Web möglich. Vertrauenswürdigkeit gewinnt diese Architektur durch konsequente Transparenz, Selbstbeschreibungsfähigkeit, externe Bewertbarkeit und der Dokumentationsfähigkeit von Nutzungserfahrungen

    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

    Automatische Kompatibilitätsprüfung Framework-basierter Anwendungen

    Get PDF
    Software-Frameworks als erweiterbare Software-Architekturbausteine bieten besondere Vorteile. Sie erlauben sowohl die Wiederverwendung der Funktionalität als auch der durch das Framework vorgegebenen Software-Architektur. Beispiele sind Frameworks für Benutzungsoberflächen oder für die Anbindung von Datenbanken. Durch Implementierung anwendungsspezifischer Erweiterungen wird ein Framework für den konkreten Anwendungsfall angepasst. Eine Anwendung, deren Software-Architektur ein Framework einsetzt, benutzt das Framework über dessen Erweiterungspunkte.Im Laufe der Evolution einer solchen Anwendung entsteht häufig die Situation, dass das Framework durch eine neuere Version aktualisiert werden soll. Die Aktualisierung enthält das Risiko, dass Inkompatibilitäten zwischen bestehender Anwendung und neuer Framework-Version auftreten, die wiederum zu aufwendigen Anpassungen führen. Daher müssen mögliche Inkompatibilitäten vor der Aktualisierung erkannt und bewertet werden. Nach aktuellem Stand der Technik ist dies nicht möglich, so dass es in der industriellen Praxis zu unvorhergesehenen Problemen verbunden mit hohen Kosten kommt.Wir stellen ein Verfahren zur automatischen Kompatibilitätsanalyse Framework-basierter Anwendungen vor, mit dem das beschriebene Problem gelöst wird. Durch eine Kombination aus Codeanalyse und neuartiger Framework-Beschreibung lassen sich mögliche Inkompatibilitäten vor Durchführung der Aktualisierung automatisch berechnen. Eine prototypische Implementierung des Verfahrens im Werkzeug »Companian« demonstriert die praktische Einsetzbarkeit unseres Verfahrens.Software frameworks as extensible building blocks have several advantages. They admit to reuse the framework's functionality and its software architecture. Examples are user interface or database connectivity frameworks. A framework is customized by implementing application specific extensions. An application uses a framework through its extension points.During the evolution of such an application the situation arises where the framework has to be updated to a newer version. An update contains the risk of incompatibilities between the existing application and the new framework version. This may result in high efforts for required adjustments. Thus, possible incompatibilities have to be recognized and evaluated before an update is performed. This is not possible in accordance with the current state-of-the-art and results in unforeseen problems accompanied by high consequential costs.We propose a process for an automatic compatibility analysis of framework-based applications that solves the problem. Combining code analysis and a novel framework description our process detects possible incompatibilities before an update is performed. A prototypical implementation in the »Companian« tool demonstrates the practical feasibility of our process.Tag der Verteidigung: 20.12.2012Paderborn, Univ., Diss., 201

    Co-Konfiguration von Hardware- und Systemsoftware-Produktlinien

    Get PDF
    Hardwarearchitekturen im Kontext von Eingebetteten Systemen werden immer komplexer und bewegen sich zukünftig immer häufiger in Richtung von Multi- oder Manycore-Systemen. Damit diese Systeme ihre optimale Leistungsfähigkeit – für die oftmals speziellen Aufgaben im Kontext von Eingebetteten Systemen – ausspielen können, beschäftigen sich ganze Forschungszweige mit der anwendungsspezifischen Maßschneiderung dieser Systeme. Insbesondere die Popularität von Hardwarebeschreibungssprachen trägt dazu ihren Teil bei. Jedoch ist die Entwicklung von solchen Systemen, selbst bei der Verwendung von Hardwarebeschreibungssprachen und der damit verbundenen höheren Abstraktionsebene, aufwendig und fehleranfällig. Die Verwendung von Hardwarebeschreibungssprachen lässt allerdings die Grenze zwischen Hard- und Software verschwimmen, denn Hardware kann nun – ähnlich wie auch Software – in textueller Form beschrieben werden. Dies eröffnet Möglichkeiten zur Übertragung von Konzepten aus der Software- auf die Hardwareentwicklung. Ein Konzept um der wachsenden Komplexität im Bereich der Softwareentwicklung zu begegnen, ist die organisierte Wiederverwendung von Komponenten, wie sie in der Produktlinienentwicklung zum Einsatz kommt. Inwieweit sich Produktlinienkonzepte auf Hardwarearchitekturen übertragen lassen und wie Hardware-Produktlinien entworfen werden können, soll in dieser Arbeit detailliert untersucht werden. Die Vorteile der Produktlinientechniken, wie die Möglichkeit zur Wiederverwendung von erprobten und zuverlässigen Komponenten, könnten so auch für Hardwarearchitekturen genutzt werden, um die Entwicklungskomplexität zu reduzieren und so mit erheblich geringerem Aufwand spezifische Hardwarearchitekturen entwickeln zu können. Zudem kann durch die gemeinsame Codebasis einer Produktlinie eine schnellere Markteinführungszeit unter geringeren Entwicklungskosten realisiert werden. Auf Basis dieser neuen Konzepte beschäftigt sich diese Arbeit zudem mit der Fragestellung, wie zukünftig solche parallelen Systeme programmiert und automatisiert optimiert werden können, um den Entwickler von der Anwendung über die Systemsoftware bis hin zur Hardware mit einer automatisierten Werkzeugkette bei der Umsetzung zu unterstützen. Im Fokus stehen dabei die in dieser Arbeit entworfenen Techniken zur durchgängigen Konfigurierung von Hardware und Systemsoftware. Diese Techniken beruhen im Wesentlichen auf den Programmierschnittstellen zwischen den Schichten, deren Zugriffsmuster sich statisch analysieren lassen. Die so gewonnenen Konfigurationsinformationen lassen sich dann zur automatisierten Maßschneiderung der Systemsoftware- und Hardware-Produktlinie für ein spezifisches Anwendungsszenario nutzen. Die anwendungsspezifische Optimierung der Systeme wird in dieser Arbeit mittels einer Entwurfsraumexploration durchgeführt. Der Fokus der Entwurfsraumexploration liegt allerdings nicht allein auf der Hardwarearchitektur, sondern umfasst ebenso die Softwareebene. Denn neben der Maßschneiderung der Systemsoftware, wird auch die auf einer parallelen Programmierschnittstelle aufsetzende Anwendung innerhalb der Entwurfsraumexploration automatisch skaliert, um die Leistungsfähigkeit von Manycore-Systemen ausschöpfen zu können

    Analyse von Entwurfsentscheidungen in natürlichsprachiger Softwarearchitekturdokumentation

    Get PDF
    Entwurfsentscheidungen bilden das Fundament zur Entwicklung qualitativ hochwertiger Softwaresysteme. Ihre Extraktion aus und Klassifikation in natürlichsprachiger Softwaredokumentation ermöglichen die Informationsgewinnung für Implementierungsund Wartungsprozesse und die Erstellung konsistenter Dokumentationsartefakte. Das in dieser Arbeit entwickelte Klassifikationsschema für Entwurfsentscheidungen erweitert bestehende Ansätze, die zwar in der Lage sind, Entwurfsentscheidungen in ihrer Breite zu klassifizieren, jedoch keine klar umrissenen Klassen für die Klassifikation in der hierarchischen Tiefe festlegen. Die hier entwickelten Klassen versuchen, die verschiedenen Arten von Entwurfsentscheidungen vollständig abzubilden. Die dazwischenliegenden, feingranulareren Trennlinien dienen dazu, die Entwurfsentscheidungen deutlicher voneinander abzugrenzen. Nachdem zunächst ein initiales Klassifikationsschema entworfen wird, wird in einem iterativen Prozess die Passform des Klassifikationsschemas durch die Anwendung auf die reale Softwarearchitekturdokumentation von 17 Fallstudien validiert und verbessert, bis hin zur Konvergenz auf ein ausgereiftes Schema. Neben einer Übersicht, welche Entwurfsentscheidungen getroffen und dokumentiert werden, liefert die manuelle Analyse der Fallstudien einen mit Labeln versehenen Textkorpus. In einem zweiten Teil wird eine Anwendungsmöglichkeit des entwickelten Klassifikationsschemas eröffnet, indem in einer Proof-of-Concept-Implementierung untersucht wird, mit welchen Ansätzen des maschinellen Lernens und der natürlichen Sprachverarbeitung Entwurfsentscheidungen in natürlichsprachiger Softwarearchitekturdokumentation identifiziert und klassifiziert werden können. Durch die Evaluation mit statistischen Maßen wird gezeigt, welche Methoden zur Textvorverarbeitung, zur Überführung in Vektorrepräsentationen und welche Lernalgorithmen besonders für diese Klassifikation geeignet sind. Die automatisierte Rückgewinnung von Entwurfsentscheidungen aus der Dokumentation und gleichzeitige Zuordnung zu Kategorien mit gemeinsamen Eigenschaften erleichtert Aspekte im Softwareentwicklungsprozess wie Verständlichkeit, Konsistenz und Wartbarkeit

    Integrierte modell- und simulationsbasierte Entwicklung zur dynamischen Bewertung automobiler Elektrik/Elektronik-Architekturen

    Get PDF
    Die Automobilbranche befindet sich seit einigen Jahren im Wandel. Trends wie autonomes Fahren, Konnektivität, smarte Mobilität sowie die Elektrifizierung führen zu einer drastischen Erhöhung der Fahrzeugkomplexität. Diese Komplexität muss durch die zugrunde liegende Elektrik/Elektronik-Architektur (E/E-Architektur) beherrscht werden und ruft unmittelbare neue Herausforderungen an den Entwicklungsprozess hervor. Design-Entscheidungen der E/E-Architektur haben maßgeblichen Einfluss auf das Verhalten von Fahrzeugfunktionen und umgekehrt. Daher müssen sie möglichst frühzeitig analysiert und evaluiert werden, um kostspielige Fehlerkorrekturen in späten Entwicklungsphasen zu minimieren. Eine frühzeitige Einbindung von Simulationsmethoden ist dabei zentral. Die modellbasierte Architekturentwicklung und Simulation sind jedoch weitestgehend getrennt voneinander laufende Prozesse. Dies erschwert eine effiziente Analyse sowie Bewertung der bidirektionalen Abhängigkeiten zwischen Architektur und Verhalten. Um diese Schwächen zu adressieren, wird in dieser Arbeit eine integrierte Methodik zur modell- und simulationsbasierten Entwicklung von E/E-Architekturen vorgestellt, die sich in drei Teile gliedert. Es werden zunächst neue Methoden zur architekturzentrierten Verhaltensmodellierung eingeführt. Eine nachfolgende Synthese generiert daraus ein Simulationsmodell, welches automatisiert mehrere Abstraktionsebenen der E/E-Architektur miteinander verknüpft und so zu einer ganzheitlichen Betrachtung beiträgt. Mithilfe des integrierten Ansatzes wird zusätzlich ein Konzept entwickelt, das es gestattet, mehrere Architekturvarianten automatisiert bzgl. statischen und dynamischen Metriken gegenüberzustellen. Die Konzepte werden in das in der Automobilindustrie etablierte E/E-Architekturwerkzeug PREEvision® integriert, umgesetzt und anhand mehrerer Anwendungsfälle evaluiert

    Normen und Standards für die digitale Transformation: Werkzeuge, Praxisbeispiele und Entscheidungshilfen für innovative Unternehmen, Normungsorganisationen und politische Entscheidungsträger

    Get PDF
    Norms and standards are indispensable for the success of the economy’s digital transformation, even as their applications become more and more complex. This book sheds light on relevant findings from standards research, participation in standardization consortia, certification, and other important aspects and condenses them into specific recommendations

    Ontologie-gestützte Optimierung des Entwurfs automobilelektronischer Systeme

    Get PDF
    Die zu beherrschende Komplexität bei der Entwicklung automobilelektronischer Systeme unterliegt einem stetigen Wachstum und ist nicht zuletzt aus diesem Grund mit mehreren ingenieurtechnischen Herausforderungen verbunden. Etablierte Ansätze wie die des Systems Engineering bieten Möglichkeiten, solch komplexe Systeme zu entwerfen und schließlich zu realisieren. Vordringliches Problem in diesem Zusammenhang ist jedoch, dass Engineering-Daten primär in über unterschiedliche Arbeitsplatzsysteme verstreuten Dokumenten abgelegt sind und dass diese nur unzureichend verwaltet werden. Einen Ausweg aus dieser Misere stellt die Abbildung dieser Daten auf Modelle dar. So gilt das Modell-basierte Systems Engineering derweil in der Automobil- und Luftfahrtindustrie als akzeptierter Weg, komplexe Systeme zu realisieren, auch wenn nicht alle Disziplinen dabei kontinuierlich gekoppelt sind. Nicht nur für diese Kopplung, sondern auch für das automatische Schlussfolgern benötigen Modelle zusätzliche, explizite Semantik. Automatisches Schlussfolgern ist beispielsweise für die Identifikation von Korrelationen zwischen Systems Engineering-Daten erforderlich. Für die Schaffung semantischer Interoperabilität eignen sich insbesondere Ontologien, die selbst auch Modelle sind. In dieser Arbeit wird ein Ontologie-basierter Ansatz zur Optimierung des Entwurfsprozesses von automobilelektronischen Systemen vorgestellt. Wesentlicher Grundgedanke dabei ist es, Ontologien zu nutzen, um Entwurfsmethoden und -modelle zu konsolidieren und zu integrieren. Dazu beruht der Ansatz im Kern auf dem Vorschlag einer einheitlichen Basis zur Entwicklung und Ausführung von Anwendungen, unter konsequenter Nutzung etablierter Standards, um Modelle auf Ontologien abzubilden. Diese Basis wurde als Softwareplattform realisiert, welche unter anderem auf eine nahtlose Integration in existierende Arbeitsabläufe abzielt. Vorrangiger Aspekt des Lösungsansatzes ist die Berücksichtigung von Anforderungen, sowie spezieller Last- und Nutzungsprofilen in Form von sogenannten Mission Profiles und deren Integration in Entwicklungsprozesse. Ergänzt wird diese Arbeit zudem durch die Beschreibung und Einordnung dreier Anwendungen, welche auf der Plattform aufsetzen und zur Untersuchung und Bewertung in konkreten Fallbeispielen Gebrauch finden. Die damit entstandenen Entwurfsmethodiken adressieren jeweils spezielle Problemstellungen aus dem Umfeld der Entwicklung automobilelektronischer Systeme und demonstrieren zudem die Anwendbarkeit der vorgestellten Entwurfs- und Anwendungsplattform

    Eine adaptive Architekturbeschreibung für eingebettete Multicoresysteme

    Get PDF
    corecore