283 research outputs found

    Contribution to dynamic reconfiguration in component-based systems: consistency and non-functional properties specification

    Get PDF
    Le travail réalisé dans le cadre de cette thèse a deux objectifs principaux. Le premier est de contribuer `à la spécification de la reconfiguration dynamique des systèmes à base de composants. Le deuxième objectif est de s´sélectionner la configuration optimale parmi un ensemble de configurations qui fournissent des fonctionnalités identiques ou similaires. Le processus de sélection dépend des propriétés non-fonctionnelles du système. La propriété de reconfigurabilité est essentielle pour de nombreux systèmes à base de composants contemporains. En effet, cette propriété améliore la disponibilité, l'adaptabilité, l'évolutivité, la maintenabilité et la performance des systèmes tels que les systèmes avioniques, les commutateurs de télécommunications et les systèmes commerciaux. Pour ces systèmes, l'arrêt de longue durée n'est pas admissible pour des raisons s´sécuritaires ou économiques. L'adaptabilité et l'evolvabilité sont également des caractéristiques importantes pour ces systèmes qui ont besoin d'inclure des changements de l'environnement ou des nouvelles exigences des utilisateurs dans le logiciel. Toutes ces motivations plus montrent l'importance de permettre, dès la conception, la reconfiguration dynamique de systèmes. La reconfiguration est la capacité de modifier la structure ou le comportement d'un système à l'exécution et sans l'arrêter complétement. Le travail présenté dans cette thèse étudie les mécanismes et les techniques pour fournir la reconfigurabilité aux systèmes à base de composants. La fourniture de reconfigurabilité nécessite la prise en considération de la cohérence du système pendant et après la reconfiguration. Il y a deux sortes de cohérence : cohérence globale et cohérence locale. Dans cette thèse, nous proposons une approche pour préserver la cohérence globale d'un système à base de composants reconfigurable en utilisant un langage formel déclaratif, Alloy. Une autre approche est proposée pour préserver la cohérence locale en analysant la relation entre la dépendance indirecte et la reconfiguration dynamique. Enfin, la sélection de configuration consiste à choisir la configuration la plus optimale à partir d'un ensemble de choix dans le but de maximiser la satisfaction de l'utilisateur. Une approche proposée pour faire le meilleur choix en fonction des préférences de l'utilisateur exprimées sur des métriques non-fonctionnellesThe research of this thesis has two main goals. The first goal is to provide the reconfigurability feature to the component-based systems. The second goal is to select the optimal configuration from a set of configurations, which provide similar functionality. The selection process depends on the non-functional properties of the system. Reconfigurability is essential feature for many contemporary component-based systems. Reconfigurability enhances the continuous availability, the adaptability, the evolvability, the maintainability, and the performance. Avionics systems, telecommunications switches and some commercial systems require the high availability. For these systems, long shutting down is not allowable due to economical or safety reasons. The adaptability and the evolvability are also important features for those systems which need to accommodate the environmental changes or the new requirements of software users. The maintainability and the performance are important requirements for a large category of systems. All the previous motivations and more show the importance of having the reconfigurability. Reconfigurability is the ability to change the system structure or the system behavior at running time without stopping it. The work presented in this thesis investigates the required mechanisms and techniques in order to provide the reconfigurability feature to a component-based system. The provision of the reconfigurability feature requires preserving the system consistency during and after the reconfiguration. The consistency has two kinds: global consistency and local consistency. In this thesis, we propose an approach to preserve the global consistency of a reconfigurable component-based system using declarative formal language. Another approach is proposed to preserve the local consistency during the reconfiguration. The second approach investigates the relationship between the indirect dependency and the dynamic reconfiguration. Configuration selection is to select the most optimal configuration from a set of alternatives in order to maximize the end user satisfaction. The thesis proposes an approach to make the best selection depending on the user preference

    Method-based caching in multi-tiered server applications

    Get PDF
    Abstract In recent years, application server technology has become very popular for building complex but mission-critical systems such as Web-based E-Commerce applications. However, the resulting solutions tend to suffer from serious performance and scalability bottlenecks, because of their distributed nature and their various software layers. This paper deals with the problem by presenting an approach about transparently caching results of a service interface\u27s read-only methods on the client side. Cache consistency is provided by a descriptive cache invalidation model which may be specified by an application programmer. As the cache layer is transparent to the server as well as to the client code, it can be integrated with relatively low effort even in systems that have already been implemented. Experimental results show that the approach is very effective in improving a server\u27s response times and its transactional throughput. Roughly speaking, the overhead for cache maintenance is small when compared to the cost for method invocations on the server side. The cache\u27s performance improvements are dominated by the fraction of read method invocations and the cache hit rate. Our experiments are based on a realistic E-commerce Web site scenario and site user behaviour is emulated in an authentic way. By inserting our cache, the maximum user request throughput of the web application could be more than doubled while its response time (such as perceived by a web client) was kept at a very low level. Moreover, the cache can be smoothly integrated with traditional caching strategies acting on other system tiers (e.g. caching of dynamic Web pages on a Web server). The presented approach as well as the related implementation are not restricted to application server scenarios but may be applied to any kind of interface-based software layers

    Distributed computing practice for large-scale science and engineering applications

    Get PDF
    It is generally accepted that the ability to develop large-scale distributed applications has lagged seriously behind other developments in cyberinfrastructure. In this paper, we provide insight into how such applications have been developed and an understanding of why developing applications for distributed infrastructure is hard. Our approach is unique in the sense that it is centered around half a dozen existing scientific applications; we posit that these scientific applications are representative of the characteristics, requirements, as well as the challenges of the bulk of current distributed applications on production cyberinfrastructure (such as the US TeraGrid). We provide a novel and comprehensive analysis of such distributed scientific applications. Specifically, we survey existing models and methods for large-scale distributed applications and identify commonalities, recurring structures, patterns and abstractions. We find that there are many ad hoc solutions employed to develop and execute distributed applications, which result in a lack of generality and the inability of distributed applications to be extensible and independent of infrastructure details. In our analysis, we introduce the notion of application vectors: a novel way of understanding the structure of distributed applications. Important contributions of this paper include identifying patterns that are derived from a wide range of real distributed applications, as well as an integrated approach to analyzing applications, programming systems and patterns, resulting in the ability to provide a critical assessment of the current practice of developing, deploying and executing distributed applications. Gaps and omissions in the state of the art are identified, and directions for future research are outlined

    Composing Systemic Aspects into Component-Oriented DOC Middleware

    Get PDF
    The advent and maturation of component-based middleware frameworks have sim-plified the development of large-scale distributed applications by separating system devel-opment and configuration concerns into different aspects that can be specified and com-posed at various stages of the application development lifecycle. Conventional component middleware technologies, such as J2EE [73] and .NET [34], were designed to meet the quality of service (QoS) requirements of enterprise applications, which focus largely on scalability and reliability. Therefore, conventional component middleware specifications and implementations are not well suited for distributed real-time and embedded (DRE) ap-plications with more stringent QoS requirements, such as low latency/jitter, timeliness, and online fault recovery. In the DRE system development community, a new generation of enhanced commercial off-the-shelf (COTS) middleware, such as Real-time CORBA 1.0 (RT-CORBA)[39], is increasingly gaining acceptance as (1) the cost and time required to develop and verify DRE applications precludes developers from implementing complex DRE applications from scratch and (2) implementations of standard COTS middleware specifications mature and encompass key QoS properties needed by DRE systems. However, although COTS middleware standardizes mechanisms to configure and control underlying OS support for an application’s QoS requirements, it does not yet provide sufficient abstractions to separate QoS policy configurations such as real-time performance requirements, from application functionality. Developers are therefore forced to configure QoS policies in an ad hoc way, and the code to configure these policies is often scattered throughout and tangled with other parts of a DRE system. As a result, it is hard for developers to configure, validate, modify, and evolve complex DRE systems consistently. It is therefore necessary to create a new generation of QoS-enabled component middleware that provides more comprehensive support for addressing QoS-related concerns modularly, so that they can be introduced and configured as separate systemic aspects. By analyzing and identifying the limitations of applying conventional middleware technologies for DRE applications, this dissertation presents a new design and its associated techniques for enhancing conventional component-oriented middleware to provide programmability of DRE relevant real-time QoS concerns. This design is realized in an implementation of the standard CORBA Component Model (CCM) [38], called the Component-Integrated ACE ORB (CIAO). This dissertation also presents both architectural analysis and empirical results that demonstrate the effectiveness of this approach. This dissertation provides three contributions to the state of the art in composing systemic behaviors into component middleware frameworks. First, it illustrates how component middleware can simplify development and evolution of DRE applications while ensuring stringent QoS requirements by composing systemic QoS aspects. Second, it contributes to the design and implementation of QoS-enabled CCM by analyzing and documenting how systemic behaviors can be composed into component middleware. Finally, it presents empirical and analytical results to demonstrate the effectiveness and the advantage of composing systemic behaviors in component middleware. The work in this dissertation has a broader impact beyond the CCM in which it was developed, as it can be applied to other component-base middleware technologies which wish to support DRE applications

    User modeling servers - requirements, design, and evaluation

    Get PDF
    Softwaresysteme, die ihre Services an Charakteristika individueller Benutzer anpassen haben sich bereits als effektiver und/oder benutzerfreundlicher als statische Systeme in mehreren Anwendungsdomänen erwiesen. Um solche Anpassungsleistungen anbieten zu können, greifen benutzeradaptive Systeme auf Modelle von Benutzercharakteristika zurück. Der Aufbau und die Verwaltung dieser Modelle wird durch dezidierte Benutzermodellierungskomponenten vorgenommen. Ein wichtiger Zweig der Benutzermodellierungsforschung beschäftigt sich mit der Entwicklung sogenannter ?Benutzermodellierungs-Shells?, d.h. generischen Benutzermodellierungssystemen, die die Entwicklung anwendungsspezifischer Benutzermodellierungskomponenten erleichtern. Die Bestimmung des Leistungsumfangs dieser generischen Benutzermodellierungssysteme und deren Dienste bzw. Funktionalitäten wurde bisher in den meisten Fällen intuitiv vorgenommen und/oder aus Beschreibungen weniger benutzeradaptiver Systeme in der Literatur abgeleitet. In der jüngeren Vergangenheit führte der Trend zur Personalisierung im World Wide Web zur Entwicklung mehrerer kommerzieller Benutzermodellierungsserver. Die für diese Systeme als wichtig erachteten Eigenschaften stehen im krassen Gegensatz zu denen, die bei der Entwicklung der Benutzermodellierungs-Shells im Vordergrund standen und umgekehrt. Vor diesem Hintergrund ist das Ziel dieser Dissertation (i) Anforderungen an Benutzermodellierungsserver aus einer multi-disziplinären wissenschaftlichen und einer einsatzorientierten (kommerziellen) Perspektive zu analysieren, (ii) einen Server zu entwerfen und zu implementieren, der diesen Anforderungen genügt, und (iii) die Performanz und Skalierbarkeit dieses Servers unter der Arbeitslast kleinerer und mittlerer Einsatzumgebungen gegen die diesbezüglichen Anforderungen zu überprüfen. Um dieses Ziel zu erreichen, verfolgen wir einen anforderungszentrierten Ansatz, der auf Erfahrungen aus verschiedenen Forschungsbereichen aufbaut. Wir entwickeln eine generische Architektur für einen Benutzermodellierungsserver, die aus einem Serverkern für das Datenmanagement und modular hinzufügbaren Benutzermodellierungskomponenten besteht, von denen jede eine wichtige Benutzermodellierungstechnik implementiert. Wir zeigen, dass wir durch die Integration dieser Benutzermodellierungskomponenten in einem Server Synergieeffekte zwischen den eingesetzten Lerntechniken erzielen und bekannte Defizite einzelner Verfahren kompensieren können, beispielsweise bezüglich Performanz, Skalierbarkeit, Integration von Domänenwissen, Datenmangel und Kaltstart. Abschließend präsentieren wir die wichtigsten Ergebnisse der Experimente, die wir durchgeführt haben um empirisch nachzuweisen, dass der von uns entwickelte Benutzermodellierungsserver zentralen Performanz- und Skalierbarkeitskriterien genügt. Wir zeigen, dass unser Benutzermodellierungsserver die vorbesagten Kriterien in Anwendungsumgebungen mit kleiner und mittlerer Arbeitslast in vollem Umfang erfüllt. Ein Test in einer Anwendungsumgebung mit mehreren Millionen Benutzerprofilen und einer Arbeitslast, die als repräsentativ für größere Web Sites angesehen werden kann bestätigte, dass die Performanz der Benutzermodellierung unseres Servers keine signifikante Mehrbelastung für eine personalisierte Web Site darstellt. Gleichzeitig können die Anforderungen an die verfügbare Hardware als moderat eingestuft werden

    Processes driving the networked economy

    Get PDF
    corecore