22 research outputs found

    An approach to implementing dynamic adaptation in c

    Get PDF
    This paper describes TRAP/C++, a software tool that enables new adaptable behavior to be added to existing C++ programs in a transparent fashion. In previous investigations, we used an aspectoriented approach to manually define aspects for adaptation infrastructure, which were woven into the original application code at compile time. In follow-on work, we developed TRAP, a transparent shaping technique for automatically generating adaptation aspects, where TRAP/J is a specific instantiation of TRAP. This paper presents our work into building TRAP/C++, which was intended to be a port of TRAP/J into C++. Designing TRAP/C++ required us to overcome two major hurdles: lack of reflection in C++ and the incompatibility between the management of objects in C++ and the aspect weaving technique used in TRAP/J. We used generative programming methods to produce two tools, TrapGen and TrapCC, that work together to produce the desired TRAP/C++ functionality. Details of the TRAP/C++ architecture and operation are presented, which we illustrate with a description of a case study that adds dynamic auditing capabilities to an existing distributed C++ application

    Using Process Technology to Control and Coordinate Software Adaptation

    Get PDF
    We have developed an infrastructure for end-to-end run-time monitoring, behavior/performance analysis, and dynamic adaptation of distributed software. This infrastructure is primarily targeted to pre-existing systems and thus operates outside the target application, without making assumptions about the target's implementation, internal communication/computation mechanisms, source code availability, etc. This paper assumes the existence of the monitoring and analysis components, presented elsewhere, and focuses on the mechanisms used to control and coordinate possibly complex repairs/reconfigurations to the target system. These mechanisms require lower level effectors somehow attached to the target system, so we briefly sketch one such facility (elaborated elsewhere). Our main contribution is the model, architecture, and implementation of Workflakes, the decentralized process engine we use to tailor, control, coordinate, etc. a cohort of such effectors. We have validated the Workflakes approach with case studies in several application domains. Due to space restrictions we concentrate primarily on one case study, briefly discuss a second, and only sketch others

    Towards a Taxonomy of Aspect-Oriented Programming.

    Get PDF
    As programs continue to increase in size, it has become increasingly difficult to separate concerns into well localized modules, which leads to code tangling- crosscutting code spread throughout several modules. Thus, Aspect-Oriented Programming (AOP) offers a solution to creating modules with little or no crosscutting concerns. AOP presents the notion of aspects, and demonstrates how crosscutting concerns can be taken out of modules and placed into a centralized location. In this paper, a taxonomy of aspect-oriented programming, as well as a basic overview and introduction of AOP, will be presented in order to assist future researchers in getting started on additional research on the topic. To form the taxonomy, over four-hundred research articles were organized into fifteen different primary categories coupled with sub-categories, which shows where some of the past research has been focused. In addition, trends of the research were evaluated and paths for future exploration are suggested

    State Controlled Object Oriented Programming

    Get PDF
    In this thesis, we examine an extension to the idea of object oriented programming to make programs easier for people and compilers to understand. Often objects behave differently depending on the history of past operations as well as their input that is their behavior depends on state. We may think of the fields of an object as encoding two kinds of information: data that makes up the useful information in the object and state that controls its behavior. Object oriented languages do not distinguish these two. We propose that by specifying these two, programs become clearer for people to write and understand and easier for machines to transform and optimize. We introduce the notion of state controlled object oriented programming, abbreviated as “SCOOP”, which encompasses explicit support of state in objects. While introducing an extension to object oriented programming, our objective is to minimize any burden on the programmer while programming with SCOOP. Static detection of the current state of an object by programming languages has been a challenge. To overcome this challenge without compromising our objective, a technique is presented that advances contemporary work. We propose an implementation scheme for a SCOOP compiler that effectively synchronizes the external and internal representation of state of objects. As an implication of this scheme, SCOOP would provide the memento design pattern by default. We also show how a portion of an object particular to its state can be replaced dynamically, allowing state dependent polymorphism. Further, we discuss how programs coded in SCOOP can be model checked

    Separating Introspection and Intercession to Support Metamorphic Distributed Systems

    No full text
    Many middleware platforms use computational reflection to support adaptive functionality. Most approaches intertwine the activity of observing behavior (introspection) with the activity of changing behavior (intercession). This paper explores the use of language constructs to separate these parts of reflective functionality. This separation and "packaging" of reflective primitives is intended to facilitate the design of correct and consistent adaptive middleware. A prototype implementation is described in which this functionality is realized through extensions to the Java programming language. A case study is described in which "metamorphic" socket components are created from regular socket classes and used to realize adaptive behavior on wireless network connections

    Spiritual formation in theological education utilizing classical spiritual disciplines

    Get PDF
    https://place.asburyseminary.edu/ecommonsatsdissertations/1637/thumbnail.jp

    A framework for configuration and management of resources and components in open distributed multimedia systems

    Get PDF
    Orientador: Mauricio Ferreira MagalhãesTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de ComputaçãoResumo: Em sistemas multimídia distribuídos existe uma diversidade de dispositivos de hardware, sistemas operacionais e tecnologias de comunicação. Para tratar os requisitos destas aplicações, os componentes do sistema precisam interagir entre eles considerando os aspectos de QoS de cada um dos elementos envolvidos. Neste contexto, esta tese apresenta o Cosmos ? um framework baseado em componentes proposto para dar suporte à configuração e gerenciamento de recursos em sistemas multimídia. Como prova de conceito do Cosmos, o framework definido foi usado no projeto do middleware AdapTV ? um middleware para sistemas de televisão digital interativa. O projeto do AdapTV explora os principais componentes dos modelos que foram definidos no Cosmos: o modelo de descrição de aplicações de forma independente de linguagens; o modelo de interconexão, que trata as questões de comunicação entre componentes heterogêneos usando diferentes tecnologias de comunicação; e o modelo de gerenciamento de QoS, que permite o monitoramento e a adaptação do sistema. Estes modelos foram explorados na implementação de um protótipo do middleware AdapTV e de uma aplicação distribuída que realiza a captura, transmissão e apresentação de um fluxo de vídeo. Para dar suporte à reusabilidade, o modelo explora o conceito de propriedades para estabelecer acordos de configuração (estáticos e dinâmicos) envolvendo negociações entre os requisitos dos componentes e as características da plataformaAbstract: Distributed multimedia applications involve a diversity of hardware devices, operating systems and communication technologies. In order to fulfill the requirements of such applications, their constituting components need to interact with each other, as well as to consider QoS issues related to devices and transmission media. In such a context, this thesis presents the Cosmos component-based framework for configuration and management of resources of open, distributed multimedia systems. As a proof of concept, the framework was used in the design of the AdapTV middleware ? a middleware for interactive television which explores the major components of the Cosmos, including: the model to describe and represent applications independently of language aspects; the interconnection model that allows communication between components in heterogeneous and distributed multimedia environments; and the QoS management model that provides support for adaptation in the middleware player, triggered by QoS and user requirements changes. These models have been explored in the implementation of a prototype, which includes the AdapTV middleware and a distributed application example that captures, transmits and presents a video flow. In order to provide a generic and reusable approach, and to establish configuration agreements among component requirements and platform features, the framework explores the concept of propertiesDoutoradoEngenharia de ComputaçãoDoutor em Engenharia Elétric
    corecore