63 research outputs found

    Softwarearchitektur eines User Interfaces fĂŒr ein digitales Filmarchiv

    Get PDF
    Neben der zuverlĂ€ssigen und verlustlosen Lagerung bieten Systeme zur digitalen Aufbewahrung von Filmen vor allem Vorteile fĂŒr die Reproduzierbarkeit und die ZugĂ€nglichkeit des Filmmaterials. SĂ€mtliche TĂ€tigkeiten, bei denen Personen auf ein digitales Filmarchiv zugreifen, werden ĂŒber dessen User Interface abgewickelt. In dieser Arbeit wurde im Rahmen des EDCine-Projektes der EuropĂ€ischen Union am Fraunhofer IIS eine Softwarearchitektur fĂŒr das User Interface des "Digitalen Filmarchivs" entwickelt. Ziel war es, eine Architektur fĂŒr ein generisches und skalierbares User Interface zu entwerfen, in dem sich bestehende Workflows und Usability-Konzepte fĂŒr das User Interface des "Digitalen Filmarchivs" umsetzen lassen. Im Architekturdesign wurden verschiedene Architekturstile, -muster und Referenzarchitekturen auf mehreren Abstraktionsebenen kombiniert. Wesentliche Organisationsprinzipien ergaben sich dabei aus dem PAC-AMODEUS-Muster fĂŒr interaktive Systeme, der XML-Pipeline und Plugin-Architekturen. Die Kommunikation zwischen Komponenten beruht auf WebServices und Ajax-Technologie. An zentraler Stelle steht ein XML-basiertes User-Interface-Modell, welches sich mit Hilfe von XSL-Transformationen an AusgabemodalitĂ€ten anpassen lĂ€sst. Mit Hilfe des OpenLaszlo-Frameworks und des Adobe Flash Players wurde ein Demonstrator in Form einer webbasierten GUI fĂŒr das DSpace-Archivsystem erstellt. Zusammenfassung: Neben der zuverlĂ€ssigen und verlustlosen Lagerung bieten Systeme zur digitalen Aufbewahrung von Filmen vor allem Vorteile fĂŒr die Reproduzierbarkeit und die ZugĂ€nglichkeit des Filmmaterials. SĂ€mtliche TĂ€tigkeiten, bei denen Personen auf ein digitales Filmarchiv zugreifen, werden ĂŒber dessen User Interface abgewickelt. In dieser Arbeit wurde im Rahmen des EDCine-Projektes der EuropĂ€ischen Union am Fraunhofer IIS eine Softwarearchitektur fĂŒr das User Interface des "Digitalen Filmarchivs" entwickelt. Ziel war es, eine Architektur fĂŒr ein generisches und skalierbares User Interface zu entwerfen, in dem sich bestehende Workflows und Usability-Konzepte fĂŒr das User Interface des "Digitalen Filmarchivs" umsetzen lassen. Im Architekturdesign wurden verschiedene Architekturstile, -muster und Referenzarchitekturen auf mehreren Abstraktionsebenen kombiniert. Wesentliche Organisationsprinzipien ergaben sich dabei aus dem PAC-AMODEUS-Muster fĂŒr interaktive Systeme, der XML-Pipeline und Plugin-Architekturen. Die Kommunikation zwischen Komponenten beruht auf WebServices und Ajax-Technologie. An zentraler Stelle steht ein XML-basiertes User-Interface-Modell, welches sich mit Hilfe von XSL-Transformationen an AusgabemodalitĂ€ten anpassen lĂ€sst. Mit Hilfe des OpenLaszlo-Frameworks und des Adobe Flash Players wurde ein Demonstrator in Form einer webbasierten GUI fĂŒr das DSpace-Archivsystem erstellt.Ilmenau, Techn. Univ., Diplomarbeit, 200

    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

    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

    Parametrisierung der Spezifikation von QualitÀtsannotationen in Software-Architekturmodellen

    Get PDF
    Um qualitativ hochwertige Softwaresysteme zu entwickeln, muss in einem Softwareentwicklungsprozess eine Vielzahl von QualitĂ€tsattributen berĂŒcksichtigt werden. Je höher die KomplexitĂ€t von Softwaresystemen wird, desto wichtiger wird es, die zu erwartende QualitĂ€t im Vorfeld zu beurteilen. Jedoch existiert eine Reihe von QualitĂ€tsattributen fĂŒr Softwaresysteme, welche erst aus den strukturellen Eigenschaften der Softwarekomponenten in diesem Softwaresystem bestimmt werden können. Diese QualitĂ€tsattribute werden in strukturierten und formalisierten EntscheidungsunterstĂŒtzungsprozessen zur Optimierung der Softwarearchitektur oft nicht genutzt. Einer der GrĂŒnde dafĂŒr ist, dass dieses Wissen um die QualitĂ€tsattribute einer Softwarekomponente in der Regel nur mit diesen Softwarekomponenten verknĂŒpft ist und nicht mit den strukturellen Eigenschaften eines komponentenbasierten Softwaresystems. So bleibt ein Großteil dieses Wissens unberĂŒcksichtigt und kann daher nicht fĂŒr Kompromissentscheidungen in automatisierten Softwarearchitektur-OptimierungsansĂ€tzen genutzt werden. In dieser Masterarbeit wird ein Rahmenwerk definiert, um Regeln zu spezifizieren zum Transformieren der QualitĂ€tsattribute einer Softwarekomponente in Relation zu ihren strukturellen Eigenschaften in ihrem komponentenbasierten Softwaresystem. Mit diesem Ansatz kann architekturdefiniertes Wissen in AbhĂ€ngigkeit der Systemarchitektur parametrisiert werden. Hierdurch können die QualitĂ€tsattribute einer Softwarekomponente, welche erst aus den spezifischen Eigenschaften einer konkreten Softwarearchitektur abgeleitet werden können, spezifiziert und so auch ausgewertet werden. Durch diese verbesserten Auswertungen von strukturellen Eigenschaften sollen die Werkzeuge fĂŒr Softwarearchitekten verbessert werden, sodass diese bessere Entscheidungen in einem Softwareentwicklungsprozess treffen können. FĂŒr die Validierung des Ansatzes werden zwei voneinander unabhĂ€ngige Fallstudien durchgefĂŒhrt, um dessen Anwendbarkeit und Nutzen zu zeigen. Zu diesem Zweck wird der Ansatz dieser Masterarbeit sowohl auf eine wissenschaftliche Fallstudie angewandt wie auch auf ein Beispiel, welches sich auf ein reales Industriesystem bezieht. Hiermit wird gezeigt, wie der Ansatz helfen kann, Kompromissentscheidungen ĂŒber die Softwarearchitektur zwischen mehreren QualitĂ€tsmerkmalen unter der BerĂŒcksichtigung der strukturellen Eigenschaften des Softwaresystems zu treffen

    Generierung von grafischen ModellreprÀsentationen aus textuellen DomÀnenmodellen

    Get PDF
    Mit der zunehmenden KomplexitĂ€t von Computersystemen und den steigenden Anforderungen an Software mĂŒssen die Verantwortlichen sich laufend an geĂ€nderte Umgebungsbedingungen anpassen. Viele Hersteller sind mit den stĂ€ndigen wechselnden Implementierungstechnologien ĂŒberfordert. Einen Lösungsansatz stellt die modellgetriebene Softwareentwicklung dar, bei der die Softwareerstellung in großen Teilen automatisiert ablĂ€uft. Durch den Einsatz von Modellen wird eine Trennung zwischen der Beschreibung von fachlichen- und technischen Anforderungen angestrebt. Dies ermöglicht eine leichtere Umstellung auf neue Technologien. Die Modelle beschreiben dabei die Software auf abstrakter Ebene und werden mittels Generatoren in lauffĂ€higen Programmcode ĂŒberfĂŒhrt. Ein modellgetriebener Softwareansatz wird bei den Wieland Werken AG in der fertigungsbegleitenden Software WFS umgesetzt. Dabei verspricht man sich in erster Linie verkĂŒrzte Entwicklungszeiten zu erreichen, aber auch die SoftwarequalitĂ€t steigern zu können. Weite Teile der Anwendungssoftware werden durch textuelle Modelle beschrieben, dabei werden primĂ€r fachliche Aspekte modelliert. Dadurch gewinnen die Modelle nicht nur fĂŒr den Entwickler an Bedeutung, sondern auch fĂŒr Projektleiter und Businnes-Consultants. Ein Problem bereitet dabei die textuelle Form der Modelle. Diese ist zum Teil fĂŒr Mitarbeiter, die keine IT-Experten sind schwer verstĂ€ndlich und oft zu umfangreich. Ziel dieser Diplomarbeit ist es ein besseres VerstĂ€ndnis von solchen textuellen Modellen im Umfeld der WFS zu ermöglichen. Als Lösungsansatz wird ein Konzept vorgestellt, welches in mehreren Schritten automatisch aus den textuellen Modellen grafische ReprĂ€sentationen erzeugt. Dabei werden zunĂ€chst die vorhanden Modelle nach relevanten Informationen gefiltert. Anschließend wird eine Applikation zur grafischen Darstellung ausgewĂ€hlt und die dafĂŒr notwendigen Eingangsdaten werden mithilfe eines Generators erzeugt. FĂŒr eine gute Übersicht wird ein passendes Layout vorgeschlagen. Schließlich wird eine Implementierung des Lösungskonzeptes vorgestellt, welche in die WFS integriert ist

    Dynamisch erweiterbares Trading mit heterogenen Softwarekomponenten

    Get PDF
    Universal Component Trading (UComT) ist ein neuer Ansatz zum Trading mit (objektorientierten) Softwarekomponenten. Component Trading steht fĂŒr die Anwendung des Trading-Ansatzes auf objektorientierte Komponentenmodelle (z.B. Java Beans/EJB, CORBA Components, COM, CLI/.NET). Der Begriff Universal in dem Namen bedeutet, dass die Trading-Architektur in der Lage ist, mit beliebigen Komponentenmodellen sowohl als Dienstanbieter (Exporter) als auch als Dienstnutzer (Importer) zusammenzuarbeiten. Ausgehend von einem Metamodell, das die Gemeinsamkeiten der objektorientierten Softwarekomponentenmodelle abbildet, wird mit der Simple XML-based Component Description Language (SXCDL) eine modellĂŒbergreifende Strukturbeschreibungssprache in XML-Form entwickelt, in die beliebige Dienstbeschreibungssprachen dynamisch zur Laufzeit integriert werden können. Eine einzelne Komponente kann zahlreiche Dienstbeschreibungen besitzen, die gleiche oder unterschiedliche Sprachen verwenden und von gleichen oder unterschiedlichen Autoren stammen. Der Trader im UComT-Modell bietet dem Importer ferner eine vielfĂ€ltige UnterstĂŒtzung fĂŒr die Nutzung der Komponenten. Zur Validierung der Forschungsergebnisse wird im Rahmen der Arbeit ein Prototyp fĂŒr den Trader-Server (in C#) und zwei Prototypen fĂŒr den Trader-Client (in C# und in Java) entwickelt, die die zentralen Konzepte des UComT-Modells realisiere

    Visualisierungsdesign fĂŒr 3D-Benutzerschnittstellen unter Verwendung komponierter Darstellungsverfahren

    Get PDF
    Das computergrafische Abbildungsverfahren zur Verwirklichung von dreidimensionalen Darstellungen ist ein wichtiges Instrument fĂŒr die Gestaltung interaktiver 3D-Benutzerschnittstellen. Die Betrachtung von Projektionsverfahren abseits des bisher angestrebten Fotorealismus dokumentiert, dass durch nichtlineare und multiperspektivische Darstellungen spezifische Eigenschaften und Charakteristiken eines Datenbestandes vermittelt werden können. Dabei wird deutlich, dass konzeptionelle und methodische UnzulĂ€nglichkeiten den erfolgreichen Einsatz von unkonventionellen linearen sowie nichtlinearen Darstellungsformen in 3D-Anwendungen bisher einschrĂ€nken. In dieser Arbeit werden daher Darstellungstechniken analysiert und systematisiert, die durch den computergrafischen Projektionsvorgang erzeugt und fĂŒr die Verwirklichung von Visualisierungszielen eingesetzt werden können. Ferner werden fĂŒr den spezifischen Einsatz von komponierten Visualisierungsverfahren in 3D-Benutzerschnittstellen Gestaltungshinweise formuliert. Darauf aufbauend erfolgt die EinfĂŒhrung einer modellbasierten Vorgehensweise, durch welche die systematisierten Visualisierungsformen in einem methodischen und ferner entwurfsmustergestĂŒtzten Entwurfsprozess zur Entwicklung interaktiver 3D-Interfaces eingebunden und weiterhin in einer interaktiven 3D-Anwendung eingesetzt werden können

    Task Allokation fĂŒr effiziente Edge Computing Systeme

    Get PDF
    Im Bereich von Edge Computing nimmt die Rechenleistung in direkter NĂ€he zu den Sensoren stetig zu. Infolgedessen gibt es immer mehr rechen- und datenintensive Anwendungen, die im Edge Bereich ausgefĂŒhrt werden können. Gleichzeitig befinden sie sich in einer sich stĂ€ndig verĂ€ndernden Systemumgebung. Um Ausfallzeiten und lange Redesign-Schleifen zu reduzieren, werden SelbstanpassungsfĂ€higkeiten benötigt. Die automatische Reallokation der ausgefĂŒhrten Aufgaben auf die Rechenknoten ist eine mögliche Selbstanpassungsmaßnahme. Die Reallokation sollte jedoch mit den verschiedenen Anforderungen, EinschrĂ€nkungen und Spezifikationen des Entwurfs konform sein. Dabei besteht eine große Herausforderung darin, dass die Allokationsentscheidung schnell genug fĂŒr die Berechnung zur Laufzeit sein sollte. Der Fokus dieser Arbeit ist die Realisierung einer effizienten Allokation, die BedĂŒrfnisse in Form von Policies nutzt, um eine automatische Reallokation zur Laufzeit zu berechnen. In dieser Arbeit wurde eine effiziente Allokationsmethode entwickelt, die eine kombinierte Betrachtung von RessourcenverfĂŒgbarkeit, Anwendungsbedarf und problemspezifischer Effizienzdefinition realisiert. Der Ansatz verfolgt eine modulare Beschreibung dieser Aspekte fĂŒr die Allokation in Form von komponentenspezifischen Policies. Ein besonderer Schwerpunkt liegt auf der Allokation aufgrund von VerĂ€nderungen im laufenden Betrieb. HierfĂŒr wird das Zuordnungsproblem zur Entwicklungszeit modelliert und die Informationen im Betrieb genutzt. Mit diesem Konzept konnten zwei industrielle Anwendungen modelliert und unterschiedliche Zuordnungen berechnet werden. Die Skalierbarkeit des Konzepts wurde durch Messungen validiert. Die Reallokation zur Laufzeit wurde mit einem Container Framework implementiert. Darauf aufbauend wurde der Overhead der Allokationsberechnung zur Laufzeit gemessen und in den Kontext der Reallokationszeit gesetzt. Die Berechnung einer effizienten Allokation trĂ€gt zur Autonomie von Recheninfrastrukturen bei. Dadurch erhöhen sich die FĂ€higkeiten zur Selbstadaption und die Resilienz dieser Rechennetze. Das spielt nicht nur im industriellen Edge-Cloud Kontext eine Rolle, sondern auch im Automobil, wenn zur Laufzeit ĂŒber dynamische Betriebsstrategien entschieden werden soll

    Entwicklung eines rationalen Entscheidungsprozesses fĂŒr Architekturentscheidungen

    Get PDF
    AbstractIt is one of the critical tasks to make the right design- and architectural-decisions in huge and complex developing or reengineering projects. Such decisions have different types. On the one hand there are decisions with minimal effects on the architecture and the software system. On the other hand there are more strategic decisions which effect the architecture widely and change the central characteristics of the software system. Particularly the strategic decisions are very complex, risky and include many uncertain facts about hidden dependencies. The complexity and risks rise if such decisions have to be made in huge projects with 50 or more developers. The decisionmaker, mostly the project manager or the client, is confronted with various factors, assumptions and constraints. Typical examples are competing objectives, alternative solutions and incomplete information about external third-party systems. If such complex decisions have to be made in an unsystematic way, they will lead to uncalculatable risks with enormous bad consequences for the software system and the development project. Examples are changed or missed deadlines, risen development costs or monetary losses due to an outage of a business critical system.However, the specific characteristics of architectural decisions are not considered by existing methods and concepts to support decision making. They are too detailed, focussed on source code and require information in a formal quality and completeness. These information can not be gathered within such huge projects because of the high effort, time pressure and lacking resources. Therefore an architectural decision process is missing to structure the various information, assumptions and subjective estimations and so you can make such complex and risky decisions in a systematic and focussed way.The main objective of the following dissertation is to reduce the complexity, uncertainty and risks of architectural decisions in order to avoid additional changes and adjustments as well as to achieve the desired objectives. An architectural decision process with four phases is developed on the basis of the generic proceeding of the decision theory. This process includes methods and concepts in order to establish alternative solutions on the basis of the objectives, conditions and the model of the existing architecture. The various alternative solutions are evaluated through a systematic proceeding in order to identify and select the best solution. The developed process includes the specific characteristics of software architectures:Besides incomplete information and uncertainties, it is possible to observe hidden dependencies through scenario-based analysis methods, establishted by the concepts of the Architecture-Level-Modifiability-Analysis (ALMA).Due to the complexity and risks, huge architectural changes have to be separated into smaller tasks. This is supported by a stepped planning, from abtract analysis to more detailed planning.To achieve a reasonable relation between the analysis effort and the benefis from the analysis in terms of reduced risks, complexity and uncertainty, the depths of the analysis can be adjusted flexibly by clear objectives. Two practical applications show, how to make architectural decisions in a systematic way by using the decision process. Afterwards, the assumptions and expectations, which have been used for the decision making, are evaluated by comparing with the consequences of the real implementation. Due to the results of the comparison it can be described clearly, which advantages and disadvantages the application of the decision process has.In Softwareentwicklungsprozessen mĂŒssen permanent die richtigen Design- und Architekturentscheidungen getroffen werden, damit die mit dem Entwicklungs- oder Reengineeringprojekt verbundenen Ziele in vollem Umfang erfĂŒllt werden können. Diese Entscheidungen können dabei von unterschiedlicher Natur sein. So werden einerseits Entscheidungen getroffen, die nur geringe Auswirkungen auf das Softwaresystem haben. Auf der anderen Seite existieren Entscheidungen mit strategischem Charakter, die sich auf große Teile der Architektur und auf zentrale Systemeigenschaften auswirken. Gerade die strategischen Architekturentscheidungen sind in Großprojekten mit 50 oder mehr Entwicklern von hoher kombinatorischer KomplexitĂ€t und beinhalten große Unsicherheiten ĂŒber versteckte AbhĂ€ngigkeiten. Der EntscheidungstrĂ€ger, meist der Architekt oder der Projektleiter, ist mit einer Vielzahl unterschiedlicher Faktoren und Bedingungen konfrontiert. Hierzu zĂ€hlen konkurrierende Ziele oder alternative LösungsansĂ€tze, fĂŒr die meist nur unvollstĂ€ndige Informationen vorliegen. Unter diesen Voraussetzungen fĂŒhren unsystematische Entscheidungen zu unkalkulierbaren Risiken mit gravierenden Folgen fĂŒr das Softwaresystem und das Entwicklungsprojekt, wie z. B. eine deutliche Erhöhung der Entwicklungskosten oder zeitliche Verzögerungen. Die bereits existierenden Methoden zur EntscheidungsunterstĂŒtzung berĂŒcksichtigen die spezifischen Eigenschaften von Softwarearchitekturen zu wenig. Sie sind zu feingranular, codeorientiert und benötigen Informationen in einer formalen Genauigkeit und VollstĂ€ndigkeit, die bei Architekturentscheidungen in Großprojekten aus AufwandsgrĂŒnden nicht erhoben werden können. Somit fehlt eine UnterstĂŒtzung des EntscheidungstrĂ€gers, um die Vielzahl an Einzelinformationen und subjektiven EinschĂ€tzungen zu strukturieren sowie die Entscheidungsfindung systematisch und fokussiert durchzufĂŒhren. Mit der vorliegenden Dissertation wird das Ziel verfolgt, die KomplexitĂ€t, Unsicherheiten und Risiken bei Architekturentscheidungen zu reduzieren, um aufwandsintensive Korrekturen zu vermeiden und die Architekturziele in vollem Umfang zu erfĂŒllen. Auf der Grundlage des in der Entscheidungstheorie beschriebenen generischen Vorgehens zur Entscheidungsfindung wird ein Vier-Phasen-Entscheidungsprozess entwickelt. Dieser Prozess beinhaltet Methoden und Konzepte, um ausgehend von den Zielen, Rahmenbedingungen und der existierenden Architektur systematisch alternative LösungsansĂ€tze zu entwickeln. Im Anschluss werden die LösungsansĂ€tze nach rationalen Gesichtspunkten im Hinblick auf die Zielerreichung bewertet, um eine ausgewogene Entscheidung zu treffen. Der entwickelte Entscheidungsprozess berĂŒcksichtigt dabei die speziellen Eigenschaften von Softwarearchitekturen: Trotz unvollstĂ€ndiger Informationen und Unsicherheiten können versteckte AbhĂ€ngigkeiten mit einem szenariobasierten Analyse- und Bewertungsansatz, auf der Grundlage der Architecture-Level-Modifiability-Analysis (ALMA), sichtbar gemacht werden. Die systematische Aufteilung komplexer Entscheidungen in handhabbare Einzelentscheidungen wird durch die Anwendung eines gestuften Verfahrens mit Grob- und Feinplanung erreicht.Um ein ökonomisch sinnvolles VerhĂ€ltnis zwischen dem Aufwand zur Entscheidungsfindung und dem Nutzen in Form von reduzierten Risiken, Unsicherheiten und einer geringeren KomplexitĂ€t zu ermöglichen, kann die Detailtiefe der Analysen anhand eindeutiger Kriterien flexibel angepasst werden.Zwei praktische prototypische Anwendungen des Entscheidungsprozesses zeigen auf, wie eine Architekturentscheidung systematisch und nach rationalen Gesichtspunkten durchgefĂŒhrt werden kann. Die wĂ€hrend der Entscheidungsfindung getroffenen Annahmen und Erwartungen werden im Anschluss mit den Ergebnissen der realen Implementierung verglichen. Anhand des Vergleichs wird klar erkennbar, welche versteckten AbhĂ€ngigkeiten durch den Einsatz des Entscheidungsprozesses bereits frĂŒhzeitig erkannt wurden sowie welche Vorteile die richtige Entscheidungsfindung fĂŒr das Softwaresystem und das Entwicklungsprojekt hat

    Grundlagen des Autonomen Rechnens

    Get PDF
    Das vegetative Nervensystem (engl. autonomous nervous system) des Menschen kann das, wovon in der IT-Industrie noch getrĂ€umt wird. AbhĂ€ngig von der aktuellen Umgebung und TĂ€tigkeit reguliert das vegetative Nervensystem mandatorische Körperfunktionen wie Herzfrequenz und Atmung. Reflexe, die dem Selbstschutz dienen, werden automatisch ausgelöst. Verletzungen heilen von selbst, ohne dass man seine normalen TĂ€tigkeiten dafĂŒr unterbrechen mĂŒsste. Im Rahmen des Seminars „Autonomic Computing“ im Sommersemester 2003 am Institut fĂŒr Programmstrukturen und Datenorganisation der UniversitĂ€t Karlsruhe wurden Grundlagen dieses Autonomen Rechnens besprochen. Als Basis fĂŒr Selbstkonfiguration und Selbstoptimierung werden in „Kontextbewusstsein: Ein Überblick“ Techniken zur Erfassung des physischen und sozialen Kontexts einer Anwendung erlĂ€utert. Die dienstorientierte Architektur und konkrete Implementierungen wie z.B. UPnP, Jini oder Bluetooth werden in „Aktuelle Technologien zur Realisierung dienstorientierter Architekturen“ behandelt. Die Arbeit „Service- Orientierung und das Semantic Web“ beschreibt, wie Semantic Web Technologien zur Beschreibung von Web Services verwendet werden können mit dem Ziel der automatischen Dienstfindung. Danach wird der Begriff „Selbstbewusstsein“ in bezug auf Software anhand zweier komplementĂ€rer Forschungsprojekte definiert. Technologien zur Überwachung des Laufzeitverhaltens von Rechnersystemen mit dem Ziel der selbststĂ€ndigen Optimierung sind Gegenstand der Arbeit „Selbst-Überwachung und Selbst-Optimierung“. Der Artikel „Selbst-Schutz“ fasst die Sicherheitsanforderungen zusammen, die an ein autonomes Computersystem gestellt werden mĂŒssen und die Techniken, um solche Anforderungen zu erfĂŒllen. AnsĂ€tze aus dem Bereich wiederherstellungsorientiertes- und fehlertolerantes Rechnen werden in „Selbst-Heilung“, „ROC – Recovery Oriented Computing“ und „Recovery Oriented Computing: Modularisierung und Redundanz“ vorgestellt. Alle Ausarbeitungen und PrĂ€sentationen sind auch elektronisch auf der diesem Band beiliegenden CD oder unter www.autonomic-computing.org verfĂŒgbar
    • 

    corecore