11 research outputs found

    A consistency framework for dynamic reconfiguration in AO-middleware architectures

    No full text
    Aspect-oriented (AO) middleware is a promising technology for the realisation of dynamic reconfiguration in distributed systems. Similar to other dynamic reconfiguration approaches, AO-middleware based reconfiguration requires that the consistency of the system is maintained across reconfigurations. AO middleware based reconfiguration is an ongoing research topic and several consistency approaches have been proposed. However, most of these approaches tend to be targeted at specific narrow contexts, whereas for heterogeneous distributed systems it is crucial to cover a wide range of operating conditions. In this paper we address this problem by exploring a flexible, framework-based consistency management approach that cover a wide range of operating conditions ensuring distributed dynamic reconfiguration in a consistent manner for AO-middleware architectures

    A consistency framework for dynamic reconfiguration in AO-middleware architectures

    Get PDF
    Aspect-oriented (AO) middleware is a promising technology for the realisation of dynamic reconfiguration in distributed systems. Similar to other dynamic reconfiguration approaches, AO-middleware based reconfiguration requires that the consistency of the system is maintained across reconfigurations. AO middleware based reconfiguration is an ongoing research topic and several consistency approaches have been proposed. However, most of these approaches tend to be targeted at specific narrow contexts, whereas for heterogeneous distributed systems it is crucial to cover a wide range of operating conditions. In this paper we address this problem by exploring a flexible, framework-based consistency management approach that cover a wide range of operating conditions ensuring distributed dynamic reconfiguration in a consistent manner for AO-middleware architectures

    AO-OpenCom: an AO-Middleware architecture supporting flexible dynamic reconfiguration

    No full text
    Middleware has emerged as a key technology in the construction of distributed systems. As a consequence, middleware is increasingly required to be highly modular and configurable, to support separation of concerns between services, and, crucially, to support dynamic reconfiguration: i.e. to be capable of being changed while running. Aspect-oriented middleware is a promising technology for the realisation of distributed reconfiguration in distributed systems. In this paper we propose an aspect-oriented middleware platform called AO-OpenCom that builds AO-based reconfiguration on top of a dynamic component approach to middleware system composition. The goal is to support extremely flexible dynamic reconfiguration that can be applied at all levels of the system and uniformly across the distributed environment. We evaluate our platform by the capability in meeting flexible reconfiguration and the impact of these overheads

    Dedicated Programming Support for Context-Aware Ubiquitous Applications

    Full text link

    Pasaulinio saityno paslaugų kompozicijų skaidymas į modulius

    Get PDF
    Straipsnyje aptariami, analizuojami ir vertinami svarbiausi pasiūlymai, kaip spręsti pasaulinio saityno paslaugų kompozicijų skaidymo į modulius uždavinį. Tai yra vienas iš aktualiausių e. verslo sistemų kūrimo uždavinių, kurio neišsprendus neįmanoma adekvačiai apdoroti vykdymo meto įvykių, dinamiškai perplanuoti verslo procesų, atsižvelgti į paslaugų kokybės charakteristikas ir įgyvendinti daugelį kitų svarbių e. verslo sistemos funkcijų. Straipsnyje pateiktas esamos padėties vertinimas ir išryškintos svarbiausios dar neišspręstos problemos, su kuriomis susiduriama skaidant į modulius pasaulinio saityno paslaugų kompozicijas. Tikimasi, kad atlikta analizė bus naudinga visiems šioje srityje dirbantiems mokslininkams ir padės jiems planuoti savo tolesnius tyrimus.Modularization of Web Service CompositionJolanta Miliauskaitė, Albertas Čaplinskas SummaryThe paper discusses, analyzes and evaluates the most important scientific propositions on how to solve the problem of web service composition modularization. This problem is very important in the context of eBusiness systems because it is impossible in such systems to process the run-time events in a flexible way, reconfigure business processes dynamically, to take into account in the service discovery process the quality of services, and to implement effectively many other eBusiness system features without knowing an efficient solution of this problem. The paper discusses the current state of affairs and highlights most important open issues. The authors hope that it will be useful for all researchers involved in the web service studies and helpful when planning their further research.>&nbsp

    Assignment Of Aspects In Heterogeneous Distributed Systems

    Get PDF
    Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Bilişim Enstitüsü, 2011Thesis (M.Sc.) -- İstanbul Technical University, Institute of Informatics, 2011Problemi, nesne adı verilen modüler parçalara ayrıştıran nesneye yönelik programlama günümüzde en sık tercih edilen programlama tekniğidir. Nesneye yönelik programlama her ne kadar ilgilerin ayrıştırılması konusunda büyük imkanlar sağlasa da loglama, performas gözleme, ön bellekleme, kimlik doğrulama ve yetkilendirme gibi dik kesen ilgilerin ele alınmasında zorluklar yaşamaktadır. Cepheye yönelik programlama, dik kesen ilgileri cephe adı verilen parçalara ayrıştıran bir çözüm olarak önerilmiştir. Cephe adlı bu parçalar örme adı verilen bir işlem ile ana programa birleştirilir. Son yıllarda dağıtılmış sistemlerin kullanımının artmasıyla birlikte dağıltılmış cepheye yönelik programlama da popüler hale gelmiştir. Dağıltılmış cepheye yönelik programlamada cepheler, her biri farklı bellek ve işlem gücüne sahip bir dizi düğüme yüklenir. Geleneksel uzak method çağrımına benzer şekilde uzak kesim noktaları tarafından cephe içinde yer alan method benzeri yapılar uzak düğümler üzerinde çalıştırılır. Cephelerin sistem üzerinde nasıl dağıtıldığı önemlidir ve programın performansını etkiler. Çünkü nesneler ile cepheler arasında bir ilişki vardır. Nesneden cepheye bir çağrı olduğunda arada veri transferi gerçekleşir. Bu işlem bir süre gerektirir ve bu süre transfer edilen verinin miktarına ve transfer esnasında kullanılan iletişim yolunun kapasitesine bağlıdır. Dolayısıyla, cepheler dağıtılmış sistem üzerinde düğümlere atanırken düğümlerin işlem kapasiteleri, iletişim yolu parametreleri, transfer edilen veri miktarı gibi sistemin ve programın özellikleri dikkate alınmalıdır. Her ne kadar günümüze kadar çok sayıda iş atama yöntemi tanımlanmış olsa bunların hiç biri cephelerin atanması ile ilgilenmemiştir. Tez kapsamında ilk olarak, heterojen dağıtılmış sistemlerde cephe atama problemi gerekli tüm özellikler dikkate alınarak tanımlanmıştır. Sonrasında dağıtılmış cepheye yönelik programlamada yer alan bu problemi çözmek üzere A*, GA ve PSO algoritmaları uygulanmıştır. Ayrıca dağıtılmış cepheye yönelik program performansını arttırmak üzere cepheleri düğümlere atama işlemi esnasında gerekli cephelerin kopyalarını oluşturan yeni bir algoritma önerilmiştir. Son olarak algoritmaların farklı sistemler ve programlar üzerinde etkinlikleri değerlendirilerek, rastgele atama yapan bir algoritmaya göre sağlamış oldukları performans artışı karşılaştırılmıştır. Yapılan deneyler çok düğüme sahip büyük sistemlerde GA ve PSO algoritmalarının, daha küçük sistemlerde ise A* algoritmasının tercih edilebileceğini göstermiştir. Diğer taraftan cephelerin kopylarının kullanılması belirli bir seviyeye kadar maliyet değerlerini düşürmüş ve performansta artış sağlamıştır. Son olarak cephelerin uygun şekilde atanması dağıtılmış cepheye yönelik program performansını arttırdığı gözlemlenmiştir.Nowadays, object-oriented programming has become the most preferred programming paradigm where a problem is decomposed into modular units called objects. Although object-oriented programming offers greater ability for separation of concerns, it has difficulty to implement crosscutting concerns like logging, pro ? ling, caching, authentication, and authorization. Aspect oriented programming is proposed as a solution for separation of crosscutting concerns into single units called aspects. Aspects are then combined with a base program through a process called weaving. In recent years, with increasing use of distributed systems, distributed AOP has become more popular. In distributed AOP, aspects can be deployed in a set of hosts where each host has unique memory and processing capabilities. Remote pointcuts, which are similar to traditional remote method calls, invoke the execution of method- like constructs called advices in aspects on remote hosts. The way of distributing aspects over the network is critical and affects the performance of the program, because there is a relation between objects and aspects. When there is a call from an object to an aspect, data is exchanged between these object and aspect. This process consumes time and this time depends on the amount of the data and the capacity of the link, which is used during the data transfer. Therefore, while assigning aspects of an AOP to hosts in a distributed system several properties of the physical system and the program must be taken into consideration like processing capabilities of hosts, parameters of communication links, amount of data shared between objects and aspects. Although a large number of task assignment approaches have been identified up to now, none of them is interested in assignment of aspect. In this thesis, first, the aspect assignment problem in heterogeneous distributed systems is formulated by considering all necessary parameters. Then we apply three algorithms namely A*, GA and PSO to solve this problem that occurs in distributed AOPs. Also a new algorithm which creates clones (copies) of necessary aspects while assigning them to hosts is proposed in order to improve the performance of the distributed AOP. Finally, we evaluate the efficiency of these algorithms for different systems and programs and compare the increase in the performance of the AOP obtained by these algorithms with an algorithm that assigns aspects to hosts randomly. Experimental results show that GA and PSO are more favorable than A* algorithm for larger systems with many nodes, while for smaller systems A* may be preferable. On the other hand, using copies of aspects decreases the cost values up to a certain level and makes improvements in the performance. Finally, it is shown that proper assignment of aspects improves performance of the distributed AOPs.Yüksek LisansM.Sc

    Distributed aop middleware for large-scale scenarios

    Get PDF
    En aquesta tesi doctoral presentem una proposta de middleware distribuït pel desenvolupament d'aplicacions de gran escala. La nostra motivació principal és permetre que les responsabilitats distribuïdes d'aquestes aplicacions, com per exemple la replicació, puguin integrar-se de forma transparent i independent. El nostre enfoc es basa en la implementació d'aquestes responsabilitats mitjançant el paradigma d'aspectes distribuïts i es beneficia dels substrats de les xarxes peer-to-peer (P2P) i de la programació orientada a aspectes (AOP) per realitzar-ho de forma descentralitzada, desacoblada, eficient i transparent. La nostra arquitectura middleware es divideix en dues capes: un model de composició i una plataforma escalable de desplegament d'aspectes distribuïts. Per últim, es demostra la viabilitat i aplicabilitat del nostre model mitjançant la implementació i experimentació de prototipus en xarxes de gran escala reals.In this PhD dissertation we present a distributed middleware proposal for large-scale application development. Our main aim is to separate the distributed concerns of these applications, like replication, which can be integrated independently and transparently. Our approach is based on the implementation of these concerns using the paradigm of distributed aspects. In addition, our proposal benefits from the peer-to-peer (P2P) networks and aspect-oriented programming (AOP) substrates to provide these concerns in a decentralized, decoupled, efficient, and transparent way. Our middleware architecture is divided into two layers: a composition model and a scalable deployment platform for distributed aspects. Finally, we demonstrate the viability and applicability of our model via implementation and experimentation of prototypes in real large-scale networks

    Aspects with Program Analysis for Security Policies

    Get PDF

    How To Touch a Running System

    Get PDF
    The increasing importance of distributed and decentralized software architectures entails more and more attention for adaptive software. Obtaining adaptiveness, however, is a difficult task as the software design needs to foresee and cope with a variety of situations. Using reconfiguration of components facilitates this task, as the adaptivity is conducted on an architecture level instead of directly in the code. This results in a separation of concerns; the appropriate reconfiguration can be devised on a coarse level, while the implementation of the components can remain largely unaware of reconfiguration scenarios. We study reconfiguration in component frameworks based on formal theory. We first discuss programming with components, exemplified with the development of the cmc model checker. This highly efficient model checker is made of C++ components and serves as an example for component-based software development practice in general, and also provides insights into the principles of adaptivity. However, the component model focuses on high performance and is not geared towards using the structuring principle of components for controlled reconfiguration. We thus complement this highly optimized model by a message passing-based component model which takes reconfigurability to be its central principle. Supporting reconfiguration in a framework is about alleviating the programmer from caring about the peculiarities as much as possible. We utilize the formal description of the component model to provide an algorithm for reconfiguration that retains as much flexibility as possible, while avoiding most problems that arise due to concurrency. This algorithm is embedded in a general four-stage adaptivity model inspired by physical control loops. The reconfiguration is devised to work with stateful components, retaining their data and unprocessed messages. Reconfiguration plans, which are provided with a formal semantics, form the input of the reconfiguration algorithm. We show that the algorithm achieves perceived atomicity of the reconfiguration process for an important class of plans, i.e., the whole process of reconfiguration is perceived as one atomic step, while minimizing the use of blocking of components. We illustrate the applicability of our approach to reconfiguration by providing several examples like fault-tolerance and automated resource control
    corecore