15 research outputs found

    Evaluating Architectural Safeguards for Uncertain AI Black-Box Components

    Get PDF
    KĂŒnstliche Intelligenz (KI) hat in den vergangenen Jahren große Erfolge erzielt und ist immer stĂ€rker in den Fokus geraten. Insbesondere Methoden des Deep Learning (ein Teilgebiet der KI), in dem Tiefe Neuronale Netze (TNN) zum Einsatz kommen, haben beeindruckende Ergebnisse erzielt, z.B. im autonomen Fahren oder der Mensch-Roboter-Interaktion. Die immense DatenabhĂ€ngigkeit und KomplexitĂ€t von TNN haben jedoch gravierende Schwachstellen offenbart. So reagieren TNN sensitiv auf bestimmte Einflussfaktoren der Umwelt (z.B. Helligkeits- oder KontrastĂ€nderungen in Bildern) und fĂŒhren zu falschen Vorhersagen. Da KI (und insbesondere TNN) in sicherheitskritischen Systemen eingesetzt werden, kann solch ein Verhalten zu lebensbedrohlichen Situationen fĂŒhren. Folglich haben sich neue Forschungspotenziale entwickelt, die sich explizit der Absicherung von KI-Verfahren widmen. Ein wesentliches Problem bei vielen KI-Verfahren besteht darin, dass ihr Verhalten oder Vorhersagen auf Grund ihrer hohen KomplexitĂ€t nicht erklĂ€rt bzw. nachvollzogen werden können. Solche KI-Modelle werden auch als Black-Box bezeichnet. Bestehende Arbeiten adressieren dieses Problem, in dem zur Laufzeit “bösartige” Eingabedaten identifiziert oder auf Basis von Ein- und Ausgaben potenziell falsche Vorhersagen erkannt werden. Arbeiten in diesem Bereich erlauben es zwar potenziell unsichere ZustĂ€nde zu erkennen, machen allerdings keine Aussagen, inwiefern mit solchen Situationen umzugehen ist. Somit haben sich eine Reihe von AnsĂ€tzen auf Architektur- bzw. Systemebene etabliert, um mit KI-induzierten Unsicherheiten umzugehen (z.B. N-Version-Programming-Muster oder Simplex Architekturen). DarĂŒber hinaus wĂ€chst die Anforderung an KI-basierte Systeme sich zur Laufzeit anzupassen, um mit sich verĂ€ndernden Bedingungen der Umwelt umgehen zu können. Systeme mit solchen FĂ€higkeiten sind bekannt als Selbst-Adaptive Systeme. Software-Ingenieure stehen nun vor der Herausforderung, aus einer Menge von Architekturellen Sicherheitsmechanismen, den Ansatz zu identifizieren, der die nicht-funktionalen Anforderungen bestmöglich erfĂŒllt. Jeder Ansatz hat jedoch unterschiedliche Auswirkungen auf die QualitĂ€tsattribute des Systems. Architekturelle Entwurfsentscheidungen gilt es so frĂŒh wie möglich (d.h. zur Entwurfszeit) aufzulösen, um nach der Implementierung des Systems Änderungen zu vermeiden, die mit hohen Kosten verbunden sind. DarĂŒber hinaus mĂŒssen insbesondere sicherheitskritische Systeme den strengen (QualitĂ€ts-) Anforderungen gerecht werden, die bereits auf Architektur-Ebene des Software-Systems adressiert werden mĂŒssen. Diese Arbeit befasst sich mit einem modellbasierten Ansatz, der Software-Ingenieure bei der Entwicklung von KI-basierten System unterstĂŒtzt, um architekturelle Entwurfsentscheidungen (bzw. architekturellen Sicherheitsmechanismen) zum Umgang mit KI-induzierten Unsicherheiten zu bewerten. Insbesondere wird eine Methode zur ZuverlĂ€ssigkeitsvorhersage von KI-basierten Systemen auf Basis von etablierten modellbasierten Techniken erforscht. In einem weiteren Schritt wird die Erweiterbarkeit/Verallgemeinerbarkeit der ZuverlĂ€ssigkeitsvorhersage fĂŒr Selbst-Adaptive Systeme betrachtet. Der Kern beider AnsĂ€tze ist ein Umweltmodell zur Modellierung () von KI-spezifischen Unsicherheiten und () der operativen Umwelt des Selbst-Adaptiven Systems. Zuletzt wird eine Klassifikationsstruktur bzw. Taxonomie vorgestellt, welche, auf Basis von verschiedenen Dimensionen, KI-basierte Systeme in unterschiedliche Klassen einteilt. Jede Klasse ist mit einem bestimmten Grad an VerlĂ€sslichkeitszusicherungen assoziiert, die fĂŒr das gegebene System gemacht werden können. Die Dissertation umfasst vier zentrale BeitrĂ€ge. 1. DomĂ€nenunabhĂ€ngige Modellierung von KI-spezifischen Umwelten: In diesem Beitrag wurde ein Metamodell zur Modellierung von KI-spezifischen Unsicherheiten und ihrer zeitlichen Ausdehnung entwickelt, welche die operative Umgebung eines selbstadaptiven Systems bilden. 2. ZuverlĂ€ssigkeitsvorhersage von KI-basierten Systemen: Der vorgestellte Ansatz erweitert eine existierende Architekturbeschreibungssprache (genauer: Palladio Component Model) zur Modellierung von Komponenten-basierten Software-Architekturen sowie einem dazugehörigenWerkzeug zur ZuverlĂ€ssigkeitsvorhersage (fĂŒr klassische Software-Systeme). Das Problem der Black-Box-Eigenschaft einer KI-Komponente wird durch ein SensitivitĂ€tsmodell adressiert, das, in AbhĂ€ngigkeit zu verschiedenen Unsicherheitsfaktoren, die PrĂ€dektive Unsicherheit einer KI-Komponente modelliert. 3. Evaluation von Selbst-Adaptiven Systemen: Dieser Beitrag befasst sich mit einem Rahmenwerk fĂŒr die Evaluation von Selbst-Adaptiven Systemen, welche fĂŒr die Absicherung von KI-Komponenten vorgesehen sind. Die Arbeiten zu diesem Beitrag verallgemeinern/erweitern die Konzepte von Beitrag 2 fĂŒr Selbst-Adaptive Systeme. 4. Klassen der VerlĂ€sslichkeitszusicherungen: Der Beitrag beschreibt eine Klassifikationsstruktur, die den Grad der Zusicherung (in Bezug auf bestimmte Systemeigenschaften) eines KI-basierten Systems bewertet. Der zweite Beitrag wurde im Rahmen einer Fallstudie aus dem Bereich des Autonomen Fahrens validiert. Es wurde geprĂŒft, ob PlausibilitĂ€tseigenschaften bei der ZuverlĂ€ssigkeitsvorhersage erhalten bleiben. Hierbei konnte nicht nur die PlausibilitĂ€t des Ansatzes nachgewiesen werden, sondern auch die generelle Möglichkeit Entwurfsentscheidungen zur Entwurfszeit zu bewerten. FĂŒr die Validierung des dritten Beitrags wurden ebenfalls PlausibilitĂ€tseigenschaften geprĂŒft (im Rahmen der eben genannten Fallstudie und einer Fallstudie aus dem Bereich der Mensch-Roboter-Interaktion). DarĂŒber hinaus wurden zwei weitere Community-Fallstudien betrachtet, bei denen (auf Basis von Simulatoren) Selbst-Adaptive Systeme bewertet und mit den Ergebnissen unseres Ansatzes verglichen wurden. In beiden FĂ€llen konnte gezeigt werden, dass zum einen alle PlausibilitĂ€tseigenschaft erhalten werden und zum anderen, der Ansatz dieselben Ergebnisse erzeugt, wie die DomĂ€nen-spezifischen Simulatoren. DarĂŒber hinaus konnten wir zeigen, dass unser Ansatz Software-Ingenieure bzgl. der Bewertung von Entwurfsentscheidungen, die fĂŒr die Entwicklung von Selbst-Adaptiven Systemen relevant sind, unterstĂŒtzt. Der erste Beitrag wurde implizit mit Beitrag 2 und mit 3 validiert. FĂŒr den vierten Beitrag wurde die Klassifikationsstruktur auf bekannte und reprĂ€sentative KI-Systeme angewandt und diskutiert. Es konnte jedes KI-System in eine der Klassen eingeordnet werden, so dass die generelle Anwendbarkeit der Klassifikationsstruktur gezeigt wurde

    A CONTEXT-AWARE ROLE-PLAYING AUTOMATON FOR SELF-ADAPTIVE SYSTEMS

    Get PDF
    Role-based modeling and programming will become more and more important to realize big, complex, and adaptive software systems [Zhu and Alkins, 2006]. Therefore, the Object-Oriented Programming (OOP) paradigm is extended with roles, where objects can begin to play roles and drop roles dynamically at runtime. Playing a role is changing the object’s type which can add or change behavior. Roles are a dynamic view of the state and behavior of objects at runtime at a point of time highlighting their relations to other objects. Self-adaptive systems (SAS) are naturally context-aware systems. Thus, adaption is always seen in a context e.g., because a sensor value passes a specified limit, or because the reason could be derived from the knowledge about the past and presence. However, there is currently no common concept describing the situation (e.g., the context or other conditions that lead to a specific adaption) in which objects begin to play and stop playing roles. Current role programming languages therefore suffer from the problem of tangling of different aspects i.e., the context logic, the role adaption logic, and the business logic. This leads to less understandable and unmaintainable code [Antinyan et al., 2014]. Thomas Kühn has drafted in his major thesis [Kühn, 2011] a behavioral model to describe role binding with storyboards. This allows to model concisely role reconfigurations, but the concept lacks the ability to specify context-dependent behavior which is crucial for self-adaptive systems, and is built on top of an outdated understanding of the role concept which lacks compartments. The concept of storyboards will be extended with the ability to address context-dependent conditions. Compartments will be added in order to adapt the current wider understanding of the concept of roles. This will result in a concept for context-aware storyboards with roles which provide a separation of concerns approach w.r.t. the above named concerns. The concept will be implemented as automaton and will be evaluated on a use case. The use case is a robotic co-working scenario based on the idea of [Haddadin et al., 2009].:1. Introduction 1.1. Motivation 1.2. Outline 2. Background and Concepts 2.1. Role-Based Design 2.1.1. Roles and Role Models 2.1.2. Role Binding 2.1.3. Role Runtime Systems 2.2. Modeling Concepts for a Role-Playing Automaton 2.2.1. Models and Meta-models 2.2.2. Behavioral Diagrams and Automata 2.2.3. Storyboards 2.3. Relevant Software Architectures 2.3.1. Context-Aware Computing 2.3.2. Self-Adaptive Systems 2.3.3. Event-Based Systems 2.4. Summary 3. Requirements Analysis 3.1. Problem Analysis 3.2. Goals and Requirements 3.3. Technology Analysis and Selection 3.3.1. Pattern Matching 3.3.2. Model Execution 3.4. Summary 4. Concept for a Role-Playing Automaton for Self-Adaptive Systems 4.1. Context-Aware Storyboards with Roles 4.2. Syntax and Semantics 4.2.1. Overview 4.2.2. Story Pattern 4.2.3. Transitions, Events, and Guards 4.2.4. Control Nodes 4.2.5. Variable Binding 4.3. Meta-Model 4.4. Differences to Related Concepts 4.4.1. Relation to UML Activity Diagrams 4.4.2. Differences to Story Diagrams 4.4.3. Differences to Storyboards with Roles 4.5. Summary 5. Implementation 5.1. Architecture 5.2. Implementation 5.2.1. Grammar and Meta-model 5.2.2. Model Transformation 5.2.3. Graph Transformation 5.2.4. The Role Model 5.2.5. Context and Events 5.2.6. Model Execution and Validation 5.3. Summary 6. Related Work 6.1. Context-Aware Middleware for URC System 6.2. Context Petri Nets 6.3. Agent-Based and Context-Oriented Approach for Web Services Composition 6.4. Model Driven Design of Service-Based Context-Aware Applications 6.5. Summary 7. Evaluation 7.1. Use Case Robotic Co-Worker 7.2.Results 7.3.Summary 8. Conclusion and FutureWork 8.1.Conclusion 8.2.FutureWork A. Appendices A.1. Grammar for Storyboards with Roles A.2. Exemplary of a StoryDiagram A.3. Meta-Model of Context-Aware Storyboards With Role

    Software Engineering 2021 : Fachtagung vom 22.-26. Februar 2021 Braunschweig/virtuell

    Get PDF

    Evaluating Architectural Safeguards for Uncertain AI Black-Box Components

    Get PDF
    Although tremendous progress has been made in Artificial Intelligence (AI), it entails new challenges. The growing complexity of learning tasks requires more complex AI components, which increasingly exhibit unreliable behaviour. In this book, we present a model-driven approach to model architectural safeguards for AI components and analyse their effect on the overall system reliability

    Adaptation-Aware Architecture Modeling and Analysis of Energy Efficiency for Software Systems

    Get PDF
    This thesis presents an approach for the design time analysis of energy efficiency for static and self-adaptive software systems. The quality characteristics of a software system, such as performance and operating costs, strongly depend upon its architecture. Software architecture is a high-level view on software artifacts that reflects essential quality characteristics of a system under design. Design decisions made on an architectural level have a decisive impact on the quality of a system. Revising architectural design decisions late into development requires significant effort. Architectural analyses allow software architects to reason about the impact of design decisions on quality, based on an architectural description of the system. An essential quality goal is the reduction of cost while maintaining other quality goals. Power consumption accounts for a significant part of the Total Cost of Ownership (TCO) of data centers. In 2010, data centers contributed 1.3% of the world-wide power consumption. However, reasoning on the energy efficiency of software systems is excluded from the systematic analysis of software architectures at design time. Energy efficiency can only be evaluated once the system is deployed and operational. One approach to reduce power consumption or cost is the introduction of self-adaptivity to a software system. Self-adaptive software systems execute adaptations to provision costly resources dependent on user load. The execution of reconfigurations can increase energy efficiency and reduce cost. If performed improperly, however, the additional resources required to execute a reconfiguration may exceed their positive effect. Existing architecture-level energy analysis approaches offer limited accuracy or only consider a limited set of system features, e.g., the used communication style. Predictive approaches from the embedded systems and Cloud Computing domain operate on an abstraction that is not suited for architectural analysis. The execution of adaptations can consume additional resources. The additional consumption can reduce performance and energy efficiency. Design time quality analyses for self-adaptive software systems ignore this transient effect of adaptations. This thesis makes the following contributions to enable the systematic consideration of energy efficiency in the architectural design of self-adaptive software systems: First, it presents a modeling language that captures power consumption characteristics on an architectural abstraction level. Second, it introduces an energy efficiency analysis approach that uses instances of our power consumption modeling language in combination with existing performance analyses for architecture models. The developed analysis supports reasoning on energy efficiency for static and self-adaptive software systems. Third, to ease the specification of power consumption characteristics, we provide a method for extracting power models for server environments. The method encompasses an automated profiling of servers based on a set of restrictions defined by the user. A model training framework extracts a set of power models specified in our modeling language from the resulting profile. The method ranks the trained power models based on their predicted accuracy. Lastly, this thesis introduces a systematic modeling and analysis approach for considering transient effects in design time quality analyses. The approach explicitly models inter-dependencies between reconfigurations, performance and power consumption. We provide a formalization of the execution semantics of the model. Additionally, we discuss how our approach can be integrated with existing quality analyses of self-adaptive software systems. We validated the accuracy, applicability, and appropriateness of our approach in a variety of case studies. The first two case studies investigated the accuracy and appropriateness of our modeling and analysis approach. The first study evaluated the impact of design decisions on the energy efficiency of a media hosting application. The energy consumption predictions achieved an absolute error lower than 5.5% across different user loads. Our approach predicted the relative impact of the design decision on energy efficiency with an error of less than 18.94%. The second case study used two variants of the Spring-based community case study system PetClinic. The case study complements the accuracy and appropriateness evaluation of our modeling and analysis approach. We were able to predict the energy consumption of both variants with an absolute error of no more than 2.38%. In contrast to the first case study, we derived all models automatically, using our power model extraction framework, as well as an extraction framework for performance models. The third case study applied our model-based prediction to evaluate the effect of different self-adaptation algorithms on energy efficiency. It involved scientific workloads executed in a virtualized environment. Our approach predicted the energy consumption with an error below 7.1%, even though we used coarse grained measurement data of low accuracy to train the input models. The fourth case study evaluated the appropriateness and accuracy of the automated model extraction method using a set of Big Data and enterprise workloads. Our method produced power models with prediction errors below 5.9%. A secondary study evaluated the accuracy of extracted power models for different Virtual Machine (VM) migration scenarios. The results of the fifth case study showed that our approach for modeling transient effects improved the prediction accuracy for a horizontally scaling application. Leveraging the improved accuracy, we were able to identify design deficiencies of the application that otherwise would have remained unnoticed

    Multikriterielle Ablaufplanung und -steuerung in dynamischen und stochastischen Umgebungen : Ein Beitrag zur Erstellung robuster AblaufplĂ€ne fĂŒr die Frachtabfertigung in Luftfrachtterminals

    Get PDF
    Luftfrachtterminals stellen die zentrale Schnittstelle fĂŒr den Umschlag von Fracht in der Luftfrachttransportkette dar. Ein stetiges Wachstum des globalen Luftfrachtbedarfs in Kombination mit steigenden Sicherheitsanforderungen stellt die Frachtabfertigung innerhalb der kapazitativ beschrĂ€nkten Terminals vor neue Herausforderungen. Eine effiziente Ablaufplanung und -steuerung der FrachtabfertigungsauftrĂ€ge ist daher essenziell, um die Fracht mit der fĂŒr den Kunden gewohnten ServicequalitĂ€t zu bearbeiten. In der vorliegenden Arbeit wird ein Ablaufplanungs- und -steuerungssystem in Form einer Architektur umgesetzt, das eine proaktiv-reaktive Ablaufplanung ermöglicht und dabei die dynamische und stochastische Systemumgebung berĂŒcksichtigt. Die rollierende proaktive Ablaufplanung stellt das zentrale Element der Architektur dar. Diese dient der Erstellung robuster AblaufplĂ€ne, die eine Immunisierung gegenĂŒber stochastischen Bearbeitungszeiten der FrachtabfertigungsauftrĂ€ge gewĂ€hrleisten. Grundlage fĂŒr die Quantifizierung der Bearbeitungszeitunsicherheiten neuer AuftrĂ€ge stellen Informationen ĂŒber historische AbfertigungsauftrĂ€ge dar, aus denen ein Informationsstand abgeleitet wird. Dieses Vorgehen gewĂ€hrleistet die kontinuierliche Adaption der Ablaufplanung an sich Ă€ndernde Prozessunsicherheiten bei der Bearbeitung von Fracht. ErgĂ€nzend werden reaktive Maßnahmen im Rahmen der Ablaufsteuerung aufgezeigt, die eine ereignisorientierte Revision des aktiven Ablaufplans ermöglichen. Die erstellte Architektur wird anhand realer und synthetischer Testinstanzen validiert. Die Validierungsergebnisse zeigen, dass der vorgestellte Ansatz ein effektives Konzept darstellt, um die Robustheit erstellter AblaufplĂ€ne zu erhöhen und die Ablaufplanung automatisiert an bestehende Prozessunsicherheiten anzupassen.Air cargo terminals represent the major interface in the air freight transport chain for the transshipment of freight. A continuous growth of the global demand for air freight combined with increased safety requirements pose new challenges to the freight handling within the capacity restricted terminals. Therefore, an efficient scheduling and control of the freight handling jobs is essential for handling the freight with the service quality the customer is used to. In the present work a scheduling and control system in the form of an architecture is developed that enables a proactive-reactive scheduling considering the dynamic and stochastic system environment. The rolling proactive scheduling represents the central element of the architecture. It is used to create robust schedules, which ensure the immunization against stochastic processing times of the freight handling jobs. The basis to quantify the processing time uncertainties of new jobs are information about historical freight handling jobs, from which an information base is derived. This approach ensures the continuous adaptation of the scheduling system to changing process uncertainties of the freight handling jobs. Additionally, reactive methods for the sequence control are illustrated that enable an event-oriented revision of the active schedule. The developed architecture is validated on real and synthetic test instances. The validation results show the effectiveness of the presented approach to increase the robustness of created schedules and to automatically adapt the scheduling process to existing process uncertainties.von Simon Boxnick, M. Sc. ; Dekanin: Prof. Dr. Caren Sureth-Sloane, Referent: Prof. Dr.-Ing. habil. Wilhelm Dangelmaier, Korreferentin: Prof. Dr. Leena SuhlTag der Verteidigung: 10.05.2016UniversitĂ€t Paderborn, FakultĂ€t fĂŒr Wirtschaftswissenschaften, Univ., Dissertation, 201

    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

    Situationsgerechte Methodenweiterentwicklung auf Basis von MetaMe am Beispiel der Server-System-Entwicklung

    Get PDF
    Die EinfĂŒhrung domĂ€nenspezifischer Entwicklungsmethoden in Unternehmen birgt Risiken. Der Aufwand, der aus einer kompletten Ersetzungeiner bestehenden Entwicklungsmethode hervorgeht, kann sehr umfangreich sein und dadurch sind die Investitionskosten schlecht planbar. DarĂŒber hinaus sind die erwarteten Vorteile mit Unsicherheiten behaftet, denn jedes Unternehmen besitzt schlecht Ă€nderbare, individuelle Eigenschaften, die so genannten Situationsfaktoren. Sie beschreiben den Methodenkontext, in dem die Entwicklungsmethode angewendet wird. Passt die domĂ€nenspezifische Entwicklungsmethode nicht zu dem gegebenen Methodenkontext, ist eine erfolgreiche EinfĂŒhrung gefĂ€hrdet. Zur Reduzierung der genannten Risiken erweitert diese Arbeit den bestehenden Ansatz MetaMe, eine Meta-Methode zur Entwicklung von individuellen Softwareentwicklungsmethoden, um die Eigenschaften der situationsgerechten Methodenweiterentwicklung. Eine zusĂ€tzliche Ist-Analyse identifiziert die vorhandene Entwicklungsmethode, die mittels einer neuen Sprache modellbasiert dokumentiert wird. Eine Verbesserungs-Analyse ermittelt darauf aufbauend die Optimierungspotenziale und Situationsfaktoren, aus denen geeigneteMethodenanforderungen erstellt werden. Mit Hilfe der Methodenanforderungen werden iterative Projekte zur Methodenweiterentwicklung definiert. Das ermöglicht die von UnternehmengewĂŒnschte schrittweise Änderung der Entwicklungsmethoden. Weiterhin wird gezeigt, wie die Methode mittels Methodenanforderungen an den Methodenkontextangepasst werden kann. Das in dieser Arbeit vorgestellte Vorgehen wird exemplarisch auf zwei industrielle Anwendungsbeispiele aus dem Bereich der Server-System-Entwicklung angewendet. FĂŒr jedes Beispiel wird eine individuell entwickelte Entwicklungsmethode vorgestellt.It is risky to introduce domain-specific engineering methods to different companies. The effort to replace an existing engineering method can be extensive so that investment costs are hard to judge. Beside that, the expected advantages have uncertainties because each company has poorly changeable, individual properties, so called situational factors. They describe the method context in that the engineering method will be applied. If the engineering method does not fit to the method context, a successful introduction is jeopardized.To reduce the mentioned risks, this thesis enhances the known approach, MetaMe, a meta-method to develop individual software engineering methods, regarding the characteristics of situational method enhancements. It adds the analysis of the current state to identify the existing engineering method. The engineering method will be described in a model-based manner with a newly introduced language. A demand analysis identifies single improvements and situational factors. Upon that information method requirements are created. Based on the method requirements iterative method enhancement projects are defined. With that it is possible to do a step wise change of engineering methods, which is the desired approach of the companies. Furthermore, it will be shown how to adjust the engineering method according to the method context based on the method requirements.The new method engineering approach is substantiated by two industrial case studies in the area of server-systems-engineering. For each example an individually developed engineering method will be presented.vorgelegt von Michael SpijkermanTag der Verteidigung: 24.03.2015Paderborn, Univ., Diss., 201

    Automatisierte Analyse integrierter Software-Produktlinien-Spezifikationen

    Get PDF
    Der Trend zur Digitalisierung fĂŒhrt zu neuen Anwendungsszenarien (z.B. Industrie 4.0, Internet der Dinge, intelligente Stromnetze), die laufzeitadaptive Software-Systeme erfordern, die sich durch kontinuierliche Rekonfiguration an verĂ€ndernde Umgebungsbedingungen anpassen. Integrierte Software-Produktlinien-Spezifikationen ermöglichen die prĂ€zise Beschreibung von Konsistenzeigenschaften derartiger Systeme in einer einheitlichen ReprĂ€sentation. So bietet die Spezifikationssprache Clafer sowohl Sprachmittel zur Charakterisierung der LaufzeitvariabilitĂ€t eines Systems als auch fĂŒr die rekonfigurierbaren Bestandteile der Systemarchitektur sowie komplexer AbhĂ€ngigkeiten. In Clafer-Spezifikationen werden hierzu Sprachkonstrukte aus UML-Klassendiagrammen und Meta-Modellierungssprachen zusammen mit Feature-orientierten Modellierungstechniken und Constraints in PrĂ€dikatenlogik erster Stufe kombiniert. Durch die betrĂ€chtliche AusdrucksstĂ€rke neigen derartige integrierte Produktlinien-Spezifikationen in der Praxis dazu, sehr komplex zu werden (z.B. aufgrund versteckter AbhĂ€ngigkeiten zwischen Konfigurationsoptionen und Komponenten). Sie sind daher Ă€ußerst anfĂ€llig fĂŒr Spezifikationsfehler in Form von Inkonsistenzen oder EntwurfsschwĂ€chen in Form von Anomalien. Inkonsistenzen und Anomalien mĂŒssen jedoch möglichst frĂŒh im Entwurfsprozess erkannt und behoben werden, um drastische Folgekosten zur Laufzeit eines Systems zu vermeiden. Aus diesem Grund sind statische Analysetechniken zur automatisierten Analyse integrierter Software-Produktlinien-Spezifikationen unabdingbar. Existierende AnsĂ€tze zur KonsistenzprĂŒfung erfordern, dass der Suchraum fĂŒr die Instanzsuche vorab entweder manuell oder durch heuristisch identifizierte Schranken eingeschrĂ€nkt wird. Da, falls keine Instanz gefunden werden kann, nicht bekannt ist, ob dies durch einen zu klein gewĂ€hlten Suchraum oder eine tatsĂ€chliche Inkonsistenz verursacht wurde, sind existierende Analyseverfahren inhĂ€rent unvollstĂ€ndig und praktisch nur eingeschrĂ€nkt nutzbar. DarĂŒber hinaus wurden bisher noch keine Analysen zur Identifikation von Anomalien vorgeschlagen, wie sie beispielsweise in VariabilitĂ€tsmodellen auftreten können. Weiterhin erlauben existierende Verfahren zwar die Handhabung von ganzzahligen Attributen, ermöglichen jedoch keine effiziente Analyse von Spezifikationen die zusĂ€tzlich reellwertige Attribute aufweisen. In dieser Arbeit prĂ€sentieren wir einen Ansatz zur automatisierten Analyse integrierter Software-Produktlinien-Spezifikationen, die in der Sprache Clafer spezifiziert sind. HierfĂŒr prĂ€sentieren wir eine ganzheitliche Spezifikation der strukturellen Konsistenzeigenschaften laufzeitadaptiver Software-Systeme und schlagen neuartige Anomalietypen vor, die in Clafer-Spezifikationen auftreten können. Wir charakterisieren eine Kernsprache, die eine vollstĂ€ndige und korrekte Analyse von Clafer-Spezifikationen ermöglicht. Wir fĂŒhren zusĂ€tzlich eine neuartige semantische ReprĂ€sentation als mathematisches Optimierungsproblem ein, die ĂŒber die Kernsprache hinaus eine effiziente Analyse praxisrelevanter Clafer-Spezifikationen ermöglicht und die Anwendung etablierter Standard-Lösungsverfahren erlaubt. Die Methoden und Techniken dieser Arbeit werden anhand eines durchgĂ€ngigen Beispiels eines selbst-adaptiven Kommunikationssystems illustriert und prototypisch implementiert. Die experimentelle Evaluation zeigt die EffektivitĂ€t unseres Analyseverfahrens sowie erhebliche Verbesserungen der Laufzeiteffizienz im Vergleich zu etablierten Verfahren

    Adaptation-Aware Architecture Modeling and Analysis of Energy Efficiency for Software Systems

    Get PDF
    This work presents an approach for the architecture analysis of energy efficiency for static and self-adaptive software systems. It introduces a modeling language that captures consumption characteristics on an architectural level. The outlined analysis predicts the energy efficiency of systems described with this language. Lastly, this work introduces an approach for considering transient effects in design time architecture analyses
    corecore