6 research outputs found

    Adaptability and Survivability in Spaceborne Time-and Space-Partitioned Systems

    Get PDF
    Abstract-Future space missions call for innovative computing system architectures, meeting strict requisites of size, weight, power consumption (SWaP), cost, safety and timeliness. To answer the aerospace industry interests, especially the European Space Agency (ESA), the AIR (ARINC 653 in Space Real-Time Operating System) architecture has been defined, following the advanced notion of time and space partitioning (TSP). In order to achieve adaptability and survivability in the face of environmental changes or new mission requirements, it is of paramount importance that onboard computing systems are reconfigurable. In this paper we present recent and ongoing developments on AIR Technology to achieve adaptability and survivability of AIRbased systems, and a methodology for onboard software update in order to add new features to the mission plan

    Run-time Variability with First-class Contexts

    Get PDF
    Software must be regularly updated to keep up with changing requirements. Unfortunately, to install an update, the system must usually be restarted, which is inconvenient and costly. In this dissertation, we aim at overcoming the need for restart by enabling run-time changes at the programming language level. We argue that the best way to achieve this goal is to improve the support for encapsulation, information hiding and late binding by contextualizing behavior. In our approach, behavioral variations are encapsulated into context objects that alter the behavior of other objects locally. We present three contextual language features that demonstrate our approach. First, we present a feature to evolve software by scoping variations to threads. This way, arbitrary objects can be substituted over time without compromising safety. Second, we present a variant of dynamic proxies that operate by delegation instead of forwarding. The proxies can be used as building blocks to implement contextualization mechanisms from within the language. Third, we contextualize the behavior of objects to intercept exchanges of references between objects. This approach scales information hiding from objects to aggregates. The three language features are supported by formalizations and case studies, showing their soundness and practicality. With these three complementary language features, developers can easily design applications that can accommodate run-time changes

    TOWARDS CHANGE VALIDATION IN DYNAMIC SYSTEM UPDATING FRAMEWORKS

    Get PDF
    Dynamic Software Updating (DSU) provides mechanisms to update a program without stopping its execution. An indiscriminate update that does not consider the current state of the computation, potentially undermines the stability of the running application. Determining automatically a safe moment, the time that the updating process could be started, is still an open crux that usually neglected from the existing DSU systems. The program developer is the best one who knows the program semantics and the logical relations between two successive versions as well as the constraints which should be respected in order to proceed with the update. Therefore, a set of meta-data has been introduced that could be exploited to explain the constraints of the update. These constraints should be considered at the dynamic update time. Thus, a runtime validator has been designed and implemented to verify these constraints before starting the update process. The validator is independent of existing DSU systems and can be plugged into DSUs as a pre-update component. An architecture for validation has been proposed that includes the DSU, the running program, the validator, and their communications. Along with the ability to describe the restrictions by using meta-data, a method has been presented to extract some constraints automatically. The gradual transition from the old version to the new version requires that the running application frequently switches between executing old and new code for a transient period. Although this swinging execution phenomenon is inevitable, its beginning can be selected. Considering this issue, an automatic method has been proposed to determine which part of the code is unsafe to participate in the swinging execution. The method has been implemented as a static analyzer which can annotate the unsafe part of the code as constraints. This approach is demonstrated in the evolution of the various versions of three different long-running software systems and compared to other approaches. Although the approach has been evaluated by evolving various programs, the impact of different changes in the dynamic update is not entirely clear. In addition, the study of the effect of these changes can identify code smells on the program, regarding the dynamic update issue. For the first time, the code smells have been introduced that may cause a run-time or syntax error on the dynamic update process. A set of candidate error-prone patterns has been developed based on programming language features and possible changes for each item. This set of 75 patterns is inspected by three distinct DSUs to identify problematic cases as code smells. Additionally, error- prone patterns set can be exploited as a reference set by other DSUs to measure own flexibility

    On Forgetting Relations in Relational Databases

    Get PDF
    Although not usually acknowledged as such, forgetting is a crucial aspect of human reasoning. It allows us to deal with large amounts of information, pushing irrelevant details out of our consciousness so that we can focus on the essential knowledge. Motivated by its beneficial effect on the human brain, this operation has been emulated in many formalisms in the field of Knowledge Representation and Reasoning, where several approaches to forgetting have been proposed. In common, these support computer systems dealing with inaccurate or excessive information without negatively affecting the remaining knowledge. More recently, the General Data Protection Regulation’s ‘right to be forgotten’ has given additional impetus to the study of this operation. Surprisingly, forgetting has not yet been studied in relational databases, the most widespread technology for knowledge representation. This is a serious drawback that needs to be addressed, considering the prominence of databases in our society and the relevance of the operation in numerous knowledge processing tasks. In this dissertation, we take the first steps to tackle this need, proposing a theoretical investigation of forgetting relations in relational databases. We start by introducing an alternative formalisation of the relational model, which includes a novel notion of equivalence between databases. Afterwards, we look further into the problem of forgetting. We formally define the general concept of a relation forgetting operator and present concrete operators, each aligned with a distinct view on the operation and thus with its unique features. Moreover, we illustrate the operators with examples inspired by realistic situations. Finally, we evaluate them. For that, we formalise in the form of properties the requirements that guided the definition of the operators and prove that they satisfy desirable properties. Ultimately, with this work, we motivate the importance of forgetting in relational databases and lay the foundations for its study.Embora nem sempre reconhecido como tal, o esquecimento é um aspeto crucial do raciocínio humano, pois permite-nos lidar com grandes quantidades de informação, ajudandonos a concentrar no conhecimento essencial. Motivada pelo seu efeito benéfico no cérebro humano, esta operação tem sido emulada em diversos formalismos na área da Representação do Conhecimento e Raciocínio, onde várias abordagens ao esquecimento têm sido propostas. Em comum, estas apoiam sistemas informáticos a lidar com informação imprecisa ou excessiva sem afetar negativamente o restante conhecimento. Mais recentemente, o ‘direito ao esquecimento’ do Regulamento Geral sobre a Proteção de Dados deu um impulso extra ao estudo desta operação. Surpreendentemente, o esquecimento ainda não foi estudado em bases de dados relacionais, a tecnologia mais utilizada para representação de conhecimento. Este é um grave inconveniente a resolver, tendo em conta a proeminência das bases de dados na nossa sociedade e a relevância da operação em inúmeras tarefas de processamento de conhecimento. Nesta dissertação, damos os primeiros passos no sentido de fazer frente a esta necessidade, propondo uma investigação teórica do esquecimento de relações em bases de dados relacionais. Começamos por introduzir uma formalização alternativa do modelo relacional, que inclui uma nova noção de equivalência entre bases de dados. Posteriormente, analisamos mais aprofundadamente o problema do esquecimento. Definimos formalmente o conceito geral de um operador de esquecimento de relações e apresentamos operadores concretos, cada um alinhado com uma visão distinta sobre a operação e, portanto, com as suas características únicas. Ademais, ilustramos os operadores com exemplos inspirados em situações reais. Finalmente, avaliamo-los. Para isso, formalizamos sob a forma de propriedades os requisitos que orientaram a definição dos operadores e provamos que estes satisfazem propriedades desejáveis. Em última análise, com este trabalho, motivamos a importância do esquecimento em bases de dados relacionais e estabelecemos as bases para o seu estudo

    Safe and automatic live update

    Get PDF
    Tanenbaum, A.S. [Promotor
    corecore