34 research outputs found

    Ubiquitous Computing

    Get PDF
    The aim of this book is to give a treatment of the actively developed domain of Ubiquitous computing. Originally proposed by Mark D. Weiser, the concept of Ubiquitous computing enables a real-time global sensing, context-aware informational retrieval, multi-modal interaction with the user and enhanced visualization capabilities. In effect, Ubiquitous computing environments give extremely new and futuristic abilities to look at and interact with our habitat at any time and from anywhere. In that domain, researchers are confronted with many foundational, technological and engineering issues which were not known before. Detailed cross-disciplinary coverage of these issues is really needed today for further progress and widening of application range. This book collects twelve original works of researchers from eleven countries, which are clustered into four sections: Foundations, Security and Privacy, Integration and Middleware, Practical Applications

    Component-based Adaptation Methods for Service-Oriented Peer-to-Peer Software Architectures

    Get PDF
    Service-oriented peer-to-peer architectures aim at supporting application scenarios of dispersed collaborating groups in which the participating users are capable of providing and consuming local resources in terms of peer services. From a conceptual perspective, service-oriented peer-to-peer architectures adopt relevant concepts of two well-established state-of-the-art software architectural styles, namely service-oriented architectures (also known as SOA) and peer-to-peer architectures (P2P). One major argumentation of this thesis is that the adoption of end-user adaptability (or tailorability) concepts is of major importance for the successful deployment of service-oriented peer-to-peer architectures that support user collaboration. Since tailorability concepts have so far not been analyzed for both peer-to-peer and service-oriented architectures, no relevant models exist that could serve as a tailorability model for service-oriented peer-to-peer architectures. In order to master the adaptation of peer services, as well as peer service compositions within service-oriented peer-to-peer architectures, this dissertation proposes the adoption of component-oriented development methods. These so-called component-based adaptation methods enable service providers to adapt their provided services during runtime. Here, a model for analyzing existing dependencies on subscribed ser-vice consumers ensures that a service provider is able to adapt his peer services without violating any dependencies. In doing so, an adaptation policy that can be pre-arranged within a peer group regulates the procedures of how to cope with existing dependencies in the scope of a group. The same methods also serve as a way to handle exceptional cases, in particular the failure of a dependent service provider peer and, hence, a service that is part of a local service composition. In this, the hosting runtime environment is responsible for detecting exceptions and for initiating the process of exception resolution. During the resolution phase, a user can be actively involved at selected decision points in order to resolve the occurred exception in unpredictable contexts. An exception could also be the reason for the violation of an integrity constraint that serves as a contract between various peers that interact within a given collaboration. The notion of integrity constraints and the model of handling the constraint violation aim at improving the reliability of target-oriented peer collaborations. This dissertation is composed of three major parts that each makes a significant contribution to the state of the art. First of all, a formal architectural style (SOP2PA) is introduced to define the fundamental elements that are necessary to build service-oriented peer-to-peer architectures, as well as their relationships, constraints, and operational semantics. This architectural style also formalizes the above-mentioned adaptation methods, the exception handling model that embraces these methods, the analysis model for managing consumer dependencies, as well as the integrity constraints model. Subsequently, on this formal basis, a concrete (specific) service-oriented peer-to-peer architecture (DEEVOLVE) is conceptualized that serves as the default implementation of that style. Here, the notions described above are materialized based on state-of-the-art software engineering methods and models. Finally, the third contribution of this work outlines an application scenario stemming from the area of construction informatics, in which the default implementation DEEVOLVE is deployed in order to support dispersed planning activities of structural engineers

    Quality of Human-Computer Interaction : Self-Explanatory User Interfaces by Model-Driven Engineering

    Get PDF
    In Human-Computer Interaction, quality is an utopia. Despite all the design efforts, there are always uses and situations for which the user interface is not perfect. This thesis investigates self-explanatory user interfaces for improving the quality perceived by end users. The approach follows the principles of model-driven engineering. It consists in keeping the design models at runtime so that to dynamically enrich the user interface with a set of possible questions and answers. The questions are related to usage (for instance, "What's the purpose of this button?", "Why is this action not possible"?) as well as to design rationale (for instance, "Why are the items not alphabetically ordered?"). This thesis proposes a software infrastructure UsiExplain based on the UsiXML metamodels. An evaluation conducted on a case study related to a car shopping webiste confirms that the approach is relevant especially for usage questions. Design rationale will be further explored in the future.STAREn Interaction Homme-Machine, la qualitĆ© est une utopie : malgrĆ© toutes les prĆ©cautions prises en conception, il existe toujours des utilisateurs et des situations d'usage pour lesquels l'Interface Homme-Machine (IHM) est imparfaite. Cette thĆØse explore l'auto-explication des IHM pour amĆ©liorer la qualitĆ© perƧue par les utilisateurs. L'approche s'inscrit dans une IngĆ©nierie DirigĆ©e par les ModĆØles. Elle consiste Ć  embarquer Ć  l'exĆ©cution les modĆØles de conception pour dynamiquement augmenter l'IHM d'un ensemble de questions et de rĆ©ponses. Les questions peuvent ĆŖtre relatives Ć  l'utilisation de l'IHM (par exemple, "A quoi sert ce bouton ?", "Pourquoi telle action n'est pas possible ?) et Ć  sa justification (par exemple, "Pourquoi les items ne sont-ils pas rangĆ©s par ordre alphabĆ©tique ?"). Cette thĆØse propose une infrastructure logicielle UsiExplain basĆ©e sur les mĆ©ta-modĆØles UsiXML. L'Ć©valuation sur un cas d'Ć©tude d'achat de voitures montre que l'approche est pertinente pour les questions d'utilisation de l'IHM. Elle ouvre des perspectives en justification de conception

    On the Security of Software Systems and Services

    Get PDF
    This work investigates new methods for facing the security issues and threats arising from the composition of software. This task has been carried out through the formal modelling of both the software composition scenarios and the security properties, i.e., policies, to be guaranteed. Our research moves across three different modalities of software composition which are of main interest for some of the most sensitive aspects of the modern information society. They are mobile applications, trust-based composition and service orchestration. Mobile applications are programs designed for being deployable on remote platforms. Basically, they are the main channel for the distribution and commercialisation of software for mobile devices, e.g., smart phones and tablets. Here we study the security threats that affect the application providers and the hosting platforms. In particular, we present a programming framework for the development of applications with a static and dynamic security support. Also, we implemented an enforcement mechanism for applying fine-grained security controls on the execution of possibly malicious applications. In addition to security, trust represents a pragmatic and intuitive way for managing the interactions among systems. Currently, trust is one of the main factors that human beings keep into account when deciding whether to accept a transaction or not. In our work we investigate the possibility of defining a fully integrated environment for security policies and trust including a runtime monitor. Finally, Service-Oriented Computing (SOC) is the leading technology for business applications distributed over a network. The security issues related to the service networks are many and multi-faceted. We mainly deal with the static verification of secure composition plans of web services. Moreover, we introduce the synthesis of dynamic security checks for protecting the services against illegal invocations

    Ami-deu : un cadre sƩmantique pour des applications adaptables dans des environnements intelligents

    Get PDF
    Cette thĆØse vise Ć  Ć©tendre lā€™utilisation de l'Internet des objets (IdO) en facilitant le dĆ©veloppement dā€™applications par des personnes non experts en dĆ©veloppement logiciel. La thĆØse propose une nouvelle approche pour augmenter la sĆ©mantique des applications dā€™IdO et lā€™implication des experts du domaine dans le dĆ©veloppement dā€™applications sensibles au contexte. Notre approche permet de gĆ©rer le contexte changeant de lā€™environnement et de gĆ©nĆ©rer des applications qui sā€™exĆ©cutent dans plusieurs environnements intelligents pour fournir des actions requises dans divers contextes. Notre approche est mise en œuvre dans un cadriciel (AmI-DEU) qui inclut les composants pour le dĆ©veloppement dā€™applications IdO. AmI-DEU intĆØgre les services dā€™environnement, favorise lā€™interaction de lā€™utilisateur et fournit les moyens de reprĆ©senter le domaine dā€™application, le profil de lā€™utilisateur et les intentions de lā€™utilisateur. Le cadriciel permet la dĆ©finition dā€™applications IoT avec une intention dā€™activitĆ© autodĆ©crite qui contient les connaissances requises pour rĆ©aliser lā€™activitĆ©. Ensuite, le cadriciel gĆ©nĆØre Intention as a Context (IaaC), qui comprend une intention dā€™activitĆ© autodĆ©crite avec des connaissances colligĆ©es Ć  Ć©valuer pour une meilleure adaptation dans des environnements intelligents. La sĆ©mantique de lā€™AmI-DEU est basĆ©e sur celle du ContextAA (Context-Aware Agents) ā€“ une plateforme pour fournir une connaissance du contexte dans plusieurs environnements. Le cadriciel effectue une compilation des connaissances par des rĆØgles et l'appariement sĆ©mantique pour produire des applications IdO autonomes capables de sā€™exĆ©cuter en ContextAA. AmI- DEU inclut Ć©galement un outil de dĆ©veloppement visuel pour le dĆ©veloppement et le dĆ©ploiement rapide d'applications sur ContextAA. L'interface graphique dā€™AmI-DEU adopte la mĆ©taphore du flux avec des aides visuelles pour simplifier le dĆ©veloppement d'applications en permettant des dĆ©finitions de rĆØgles Ć©tape par Ć©tape. Dans le cadre de lā€™expĆ©rimentation, AmI-DEU comprend un banc dā€™essai pour le dĆ©veloppement dā€™applications IdO. Les rĆ©sultats expĆ©rimentaux montrent une optimisation sĆ©mantique potentielle des ressources pour les applications IoT dynamiques dans les maisons intelligentes et les villes intelligentes. Notre approche favorise l'adoption de la technologie pour amĆ©liorer le bienĆŖtre et la qualitĆ© de vie des personnes. Cette thĆØse se termine par des orientations de recherche que le cadriciel AmI-DEU dĆ©voile pour rĆ©aliser des environnements intelligents omniprĆ©sents fournissant des adaptations appropriĆ©es pour soutenir les intentions des personnes.Abstract: This thesis aims at expanding the use of the Internet of Things (IoT) by facilitating the development of applications by people who are not experts in software development. The thesis proposes a new approach to augment IoT applicationsā€™ semantics and domain expert involvement in context-aware application development. Our approach enables us to manage the changing environment context and generate applications that run in multiple smart environments to provide required actions in diverse settings. Our approach is implemented in a framework (AmI-DEU) that includes the components for IoT application development. AmI- DEU integrates environment services, promotes end-user interaction, and provides the means to represent the application domain, end-user profile, and end-user intentions. The framework enables the definition of IoT applications with a self-described activity intention that contains the required knowledge to achieve the activity. Then, the framework generates Intention as a Context (IaaC), which includes a self-described activity intention with compiled knowledge to be assessed for augmented adaptations in smart environments. AmI-DEU framework semantics adopts ContextAA (Context-Aware Agents) ā€“ a platform to provide context-awareness in multiple environments. The framework performs a knowledge compilation by rules and semantic matching to produce autonomic IoT applications to run in ContextAA. AmI-DEU also includes a visual tool for quick application development and deployment to ContextAA. The AmI-DEU GUI adopts the flow metaphor with visual aids to simplify developing applications by allowing step-by-step rule definitions. As part of the experimentation, AmI-DEU includes a testbed for IoT application development. Experimental results show a potential semantic optimization for dynamic IoT applications in smart homes and smart cities. Our approach promotes technology adoption to improve peopleā€™s well-being and quality of life. This thesis concludes with research directions that the AmI-DEU framework uncovers to achieve pervasive smart environments providing suitable adaptations to support peopleā€™s intentions

    Explicitly Integrated Architecture - An Approach for Integrating Software Architecture Model Information with Program Code

    Get PDF
    Software-Architekturspezifikationen und -Implementierungen sind zwei Sichtweisen auf Softwarearchitektur. Sie beschreiben gemeinsame Aspekte, wie z.B. die Existenz und Verbindung von Komponenten. Die Spezifikation fĆ¼gt Informationen zum Design, zur Kommunikation und zur Analyse hinzu. Die Implementierung beschreibt stattdessen zusƤtzlich Details fĆ¼r ein ausfĆ¼hrbares System. Die Konsistenz zwischen diesen Darstellungen manuell zu verwalten, ist schwierig und fehleranfƤllig. Diese Arbeit stellt einen Ansatz vor, der Informationen der Architekturspezifikation vollstƤndig in die Implementierung integriert, sodass die Spezifikation als eigenstƤndiges Artefakt nicht mehr notwendig ist. Das Tool Codeling extrahiert die integrierte Architekturspezifikation in unterschiedlichen Sprachen aus dem Code und propagiert Ƅnderungen in dieser Spezifikation automatisch an den Code zurĆ¼ck.Specifications and implementations are both viewpoints upon software architecture. Besides common aspects, the specification adds information for design, communication, or analysis, while the implementation adds details for an executable system instead. Managing the consistency between these representations manually is difficult and error-prone. This thesis presents an approach, that completely integrates architecture specifications with the implementation, so that separate specification artifacts are not necessary anymore. The tool Codeling extracts integrated architecture specifications in multiple languages from code, and automatically propagates changes in these specifications back to the code

    On-Demand Composition of Smart Service Systems in Decentralized Environments

    Get PDF
    The increasing number of smart systems inevitably leads to a huge number of systems that potentially provide independently designed, autonomously operating services. In near-future smart computing systems, such as smart cities, smart grids or smart mobility, independently developed and heterogeneous services need to be dynamically interconnected in order to develop their full potential in a rather complex collaboration with others. Since the services are developed independently, it is challenging to integrate them on-the-fly at run time. Due to the increasing degree of distribution, such systems operate in a decentralized and volatile environment, where central management is infeasible. Conversely, the increasing computational power of such systems also supersedes the need for central management. The four identified key problems of adaptable, collaborative Smart Service Systems are on-demand composition of complex service structures in decentralized environments, the absence of a comprehensive, serendipity-aware specification, a discontinuity from design-time specification to run-time execution, and the lack of a development methodology that separates the development of a service from that of its role essential to a collaboration. This approach utilizes role-based models, which have a collaborative nature, for automated, on-demand service composition. A rigorous two-phase development methodology is proposed in order to demarcate the development of the services from that of their role essential to a collaboration. Therein, a collaboration designer specifies the collaboration including its abstract functionality using the proposed role-based collaboration specification for Smart Service Systems. Thereof, a partial implementation is derived, which is complemented by services developed in the second phase. The proposed middleware architecture provides run-time support and bridges the gap between design and run time. It implements a protocol for coordinated, role-based composition and adaptation of Smart Service Systems. The approach is quantitatively and qualitatively evaluated by means of a case study and a performance evaluation in order to identify limitations of complex service structures and the trade-off of employing the concept of roles for composition and adaptation of Smart Service Systems.:1 Introduction 1.1 Motivation 1.2 Terminology 1.3 Problem Statement 1.4 Requirements Analysis 1.5 Research Questions and Hypothesis 1.6 Focus and Limitations 1.7 Outline 2 The Role Concept in Computer Science 2.1 What is a Role in Computer Science? 2.2 Roles in RoleDiSCo 3 State of the Art & Related Work 3.1 Role-based Modeling Abstractions for Software Systems 3.1.1 Classification 3.1.2 Approaches 3.1.3 Summary 3.2 Role-based Run-Time Systems 3.2.1 Classification 3.2.2 Approaches 3.2.3 Summary 3.3 Spontaneously Collaborating Run-Time Systems 3.3.1 Classification 3.3.2 Approaches 3.3.3 Summary 3.4 Summary 4 On-Demand Composition and Adaptation of Smart Service Systems 4.1 RoleDiSCo Development Methodology 4.1.1 Role-based Collaboration Specification for Smart Service Systems 4.1.2 Derived Partial Implementation 4.1.3 Player & Context Provision 4.2 RoleDiSCo Middleware Architecture for Smart Service Systems 4.2.1 Infrastructure Abstraction Layer 4.2.2 Context Management 4.2.3 Local Repositories & Knowledge 4.2.4 Discovery 4.2.5 Dispatcher 4.3 Coordinated Composition and Subsequent Adaptation 4.3.1 Initialization and Planning 4.3.2 Composition: Coordinating Subsystem 4.3.3 Composition: Non-Coordinating Subsystem 4.3.4 Competing Collaborations & Negotiation 4.3.5 Subsequent Adaptation 4.3.6 Terminating a Pervasive Collaboration 4.4 Summary 5 Implementing RoleDiSCo 5.1 RoleDiSCo Development Support 5.2 RoleDiSCo Middleware 5.2.1 Infrastructure Abstraction Layer 5.2.2 Knowledge Repositories and Local Class Discovery 5.2.3 Planner 6 Evaluation 6.1 Case Study: Distributed Slideshow 6.1.1 Scenario 6.1.2 Phase 1: Collaboration Design 6.1.3 Phase 2: Player Complementation 6.1.4 Coordinated Composition and Adaptation at Run Time 6.2 Runtime Evaluation 6.2.1 General Testbed Setup and Scenarios 6.2.2 Discovery Time 6.2.3 Composition Time 6.2.4 Discussion 6.3 The ā€ŗRoleā€¹ of Roles 6.4 Summary 7 Conclusion 7.1 Summary 7.2 Research Results 7.3 Future Wor

    Automated Coevolution of Source Code and Software Architecture Models

    Get PDF
    Zur Entwicklung komplexer Softwaresysteme, werden neben dem Quelltext zusƤtzliche Artefakte, wie beispielsweise Architekturmodelle, verwendet. Wenn die verwendeten Architekturmodelle wƤhrend der Entwicklung und Evolution eines Softwaresystems konsistent mit dem Quelltext sind, kƶnnen Softwarearchitekten und Softwareentwickler bei der Entwicklung der Systeme besser unterstĆ¼tzt werden. Architekturmodelle, die auf dem aktuellem Stand sind, vereinfachen Entwicklungs- und Evolutionssaufgaben, da einfacher beantwortet werden kann wie und wo neue Funktionen implementiert werden sollen. AuƟerdem ist es mƶglich, modellbasierte Analysen mit Hilfe der Softwarearchitekturmodelle vorzunehmen. Beispielsweise kƶnnen mit dem Palladio Komponentenmodell (PCM) Performanzvorhersagen durchgefĆ¼hrt werden, wenn ein Architekturmodell des Softwaresystems vorhanden ist und dieses Verhaltensspezifikationen beinhaltet. Wenn Architekturmodelle bei der Softwareentwicklung und Softwareevolution verwendet werden, kƶnnen die beiden bekannten Probleme Architekturdrift und Architekturverletzung auftreten. Diese Probleme treten fĆ¼r gewƶhnlich auf, wenn bei voranschreitender Entwicklung des Quelltextes die Architektur nicht konsistent zu diesem gehalten wird. Dies fĆ¼hrt zu veralteten und schlussendlich nutzlosen Architekturmodellen. Viele existierende AnsƤtze, zur Vermeidung dieser Probleme, zielen darauf ab, Quelltext und UML-Klassendiagramme konsistent zu halten, oder sie zielen darauf ab, Architekturinformationen in den Quelltext einzubetten. In letzterem Fall wird die Notwendigkeit, die Architektur konsistent mit dem Quelltext zu halten, umgangen, da die Architektur integraler Bestandteil des Quelltextes ist. In der vorliegenden Dissertation beschreiben wir einen neuen Ansatz, um komponentenbasierte Architekturmodelle, welche sich auf einer hohen Abstraktionsebene befinden, konsistent mit dem Quelltext zu halten. Wir beschreiben, wie Instanzen des PCMs konsistent mit Java-Quelltext gehalten werden kƶnnen. Um Konsistenz zu erreichen, werden Architekturelemente erzeugt, gelƶscht oder geƤndert, sobald ihre entsprechende Quelltextelemente geƤndert wurden, und umgekehrt. FĆ¼r die Umsetzung der Konsistenzerhaltung stellen wir einen Ƥnderungsgetriebenen Ansatz vor. Dieser verwendet benutzerdefinierte, Ƥnderungsgetriebene Abbildungsregeln, um die Konsistenz zwischen den beteiligten Modellen sicherzustellen. In dieser Dissertation stellen wir vier konkrete Mengen von Abbildungsregeln zwischen Architekturmodellen und Quelltext vor. Diese haben wir in einer prototypischen Implementierung des Ansatzes umgesetzt. Wir stellen auƟerdem einen Mechanismus vor, der mit den Benutzern des Konsistenzerhaltungsansatzes interagiert, wenn die Konsistenz nicht automatisch erhalten werden kann, sondern die Benutzer zuerst ihre Intention, die sie mit einer bestimmten Ƅnderung verfolgen, dem Ansatz mitteilen mĆ¼ssen. In diesem Fall mĆ¼ssen die Benutzer das genaue Vorgehen fĆ¼r die Konsistenzerhaltung spezifizieren. Da der vorgestellte Ansatz Ƥnderungsgetrieben funktioniert, ist es notwendig, dass wir alle Ƅnderungen in den beteiligten Architektur- und Quelltexteditoren aufzeichnen kƶnnen. Um es Benutzern zu erlauben, vorhandene Editoren, mit denen sie sich auskennen, wiederverwenden zu kƶnnen, haben wir Beobachter fĆ¼r diese Editoren implementiert. Diese Beobachter zeichnen alle Ƅnderungen an einem Modell auf und informieren unseren Ansatz Ć¼ber jede durchgefĆ¼hrte Ƅnderung. Der in dieser Dissertation vorgestellte Ansatz erlaubt es auch, verhaltensbeschreibende Architekturmodelle konsistent mit dem Quelltext zu halten. Um dies zu erreichen, haben wir einen Ansatz implementiert, der es ermƶglicht, Service Effect Specifications des PCMs inkrementell aus Methoden zu erstellen, nachdem diese geƤndert wurden. Die Service Effect Specifications werden innerhalb des PCMs genutzt, um das Verhalten einer Komponente zu spezifizieren. Um bereits bestehende Architekturmodelle und bestehenden Quelltext innerhalb unseres Ansatzes verwenden zu kƶnnen, stellen wir je eine Integrationsstrategie fĆ¼r die Architektur und den Quelltext vor. Um bestehende Architekturmodelle zu integrieren, simulieren wir deren Erstellung. WƤhrend dieses Erstellvorgangs zeichnen wir die Ƅnderungen auf, die nƶtig sind, um das Architekturmodell zu erstellen. Diese Ƅnderungen werden als Eingabe fĆ¼r den Konsistenzerhaltungsprozess verwendet, um daraus den entsprechenden Quelltext zu erzeugen. Um vorhandenen Quelltext einzubinden, stellen wir einen Ansatz vor, der auf Architekturrekonstruktionsverfahren basiert, d.h., zuerst wird die Architektur eines bestehenden Softwaresystems rekonstruiert. Die erstellte Architektur wird anschlieƟend zusammen mit dem bestehenden Quelltext in unseren Coevolutionsansatz integriert. Oftmals ist bestehender Quelltext jedoch nicht so aufgebaut, wie es die Abbildungsregeln vorschreiben. Innerhalb der Integrationsstrategie fĆ¼r Quelltext stellen wir deshalb einen Ansatz vor, der in der Lage ist, solche Quelltexte dennoch zu integrieren. Dieser Ansatz ermƶglicht es, nicht nur diese Art von Quelltext zu integrieren, sondern diesen auch mit speziell definierten Abbildungsregeln automatisch konsistent zu halten. Wir haben unseren Ansatz in verschiedenen Fallstudien evaluiert. Dabei haben wir zunƤchst gezeigt, dass es mƶglich ist vorhandene Architekturmodelle zu integrieren, indem ihr Aufbau simuliert wird. In der durchgefĆ¼hrten Fallstudie ist es mit unserem Ansatz und den vorgestellten Abbildungsregeln mƶglich, zwischen 98% und 100% der unterstĆ¼tzten Elemente zu integrieren. Als nƤchstes haben wir gezeigt, dass unser Ansatz in der Lage ist, existierenden Quelltext zu integrieren und Ƅnderungen am integrierten Quelltext konsistent mit der Architektur zu halten. FĆ¼r diese Fallstudie haben wir zunƤchst den Quelltext von vier quelloffenen Projekten in den Ansatz integriert. Als nƤchstes haben wir gezeigt, dass es mƶglich ist, Ƅnderungen am Quelltext konsistent mit der Architektur zu halten. Dazu haben wir eine alte Version des Quelltextes integriert und Ƅnderungen die zwischen einer alten und neueren Version durchgefĆ¼hrt wurden, aus einem Versionskontrollsystem extrahiert und erneut auf den Quelltext angewendet. Im Rahmen dieser Evaluation haben wir auch gezeigt, dass es mƶglich ist Ƅnderungen, die innerhalb von Methoden durchgefĆ¼hrt werden, mit einem Verhaltensmodell konsistent zu halten. Wir haben auƟerdem eine Evaluation der LeistungsfƤhigkeit unseres Ansatzes durchgefĆ¼hrt und gezeigt, dass unser Ansatz in den meisten FƤllen in der Lage ist, die Architektur in einer Zeit zwischen einer und fĆ¼nf Sekunden konsistent zu halten, nachdem eine Ƅnderung am Quelltext durchgefĆ¼hrt wurde. Als letztes haben wir gezeigt, dass es mƶglich ist, coevolvierte Modelle fĆ¼r die Performanzvorhersage zu verwenden. Dazu haben wir zuerst die Modelle in einem Parametrisierungsschritt mit den nƶtigen RessourcenverbrƤuchen angereichert. Als nƤchstes konnten wir die Performanzvorhersage durchfĆ¼hren. In unserer Fallstudie zeigte sich, dass der Vorhersagefehler fĆ¼r die Antwortzeit eines Systems bei ca. 10% liegt, und damit die coevolvierten Modelle fĆ¼r die AbschƤtzung der Performanz eines realen Systems verwendet werden kƶnnen

    Automated Coevolution of Source Code and Software Architecture Models

    Get PDF
    This work introduces a novel approach to keep high-level component-based architecture models consistent with source code during software development and software evolution. The approach helps to avoid architecture drift and architecture erosion, which are two well-known problems that can arise during development and maintenance of a software system. In particular, the presented approach can be used to keep instances of the Palladio Component Model (PCM) consistent with Java source code
    corecore