22 research outputs found

    Tolerância a falhas em sistemas de comunicação de tempo-real flexíveis

    Get PDF
    Nas últimas décadas, os sistemas embutidos distribuídos, têm sido usados em variados domínios de aplicação, desde o controlo de processos industriais até ao controlo de aviões e automóveis, sendo expectável que esta tendência se mantenha e até se intensifique durante os próximos anos. Os requisitos de confiabilidade de algumas destas aplicações são extremamente importantes, visto que o não cumprimento de serviços de uma forma previsível e pontual pode causar graves danos económicos ou até pôr em risco vidas humanas. A adopção das melhores práticas de projecto no desenvolvimento destes sistemas não elimina, por si só, a ocorrência de falhas causadas pelo comportamento não determinístico do ambiente onde o sistema embutido distribuído operará. Desta forma, é necessário incluir mecanismos de tolerância a falhas que impeçam que eventuais falhas possam comprometer todo o sistema. Contudo, para serem eficazes, os mecanismos de tolerância a falhas necessitam ter conhecimento a priori do comportamento correcto do sistema de modo a poderem ser capazes de distinguir os modos correctos de funcionamento dos incorrectos. Tradicionalmente, quando se projectam mecanismos de tolerância a falhas, o conhecimento a priori significa que todos os possíveis modos de funcionamento são conhecidos na fase de projecto, não os podendo adaptar nem fazer evoluir durante a operação do sistema. Como consequência, os sistemas projectados de acordo com este princípio ou são completamente estáticos ou permitem apenas um pequeno número de modos de operação. Contudo, é desejável que os sistemas disponham de alguma flexibilidade de modo a suportarem a evolução dos requisitos durante a fase de operação, simplificar a manutenção e reparação, bem como melhorar a eficiência usando apenas os recursos do sistema que são efectivamente necessários em cada instante. Além disto, esta eficiência pode ter um impacto positivo no custo do sistema, em virtude deste poder disponibilizar mais funcionalidades com o mesmo custo ou a mesma funcionalidade a um menor custo. Porém, flexibilidade e confiabilidade têm sido encarados como conceitos conflituais. Isto deve-se ao facto de flexibilidade implicar a capacidade de permitir a evolução dos requisitos que, por sua vez, podem levar a cenários de operação imprevisíveis e possivelmente inseguros. Desta fora, é comummente aceite que apenas um sistema completamente estático pode ser tornado confiável, o que significa que todos os aspectos operacionais têm de ser completamente definidos durante a fase de projecto. Num sentido lato, esta constatação é verdadeira. Contudo, se os modos como o sistema se adapta a requisitos evolutivos puderem ser restringidos e controlados, então talvez seja possível garantir a confiabilidade permanente apesar das alterações aos requisitos durante a fase de operação. A tese suportada por esta dissertação defende que é possível flexibilizar um sistema, dentro de limites bem definidos, sem comprometer a sua confiabilidade e propõe alguns mecanismos que permitem a construção de sistemas de segurança crítica baseados no protocolo Controller Area Network (CAN). Mais concretamente, o foco principal deste trabalho incide sobre o protocolo Flexible Time-Triggered CAN (FTT-CAN), que foi especialmente desenvolvido para disponibilizar um grande nível de flexibilidade operacional combinando, não só as vantagens dos paradigmas de transmissão de mensagens baseados em eventos e em tempo, mas também a flexibilidade associada ao escalonamento dinâmico do tráfego cuja transmissão é despoletada apenas pela evolução do tempo. Este facto condiciona e torna mais complexo o desenvolvimento de mecanismos de tolerância a falhas para FTT-CAN do que para outros protocolos como por exemplo, TTCAN ou FlexRay, nos quais existe um conhecimento estático, antecipado e comum a todos os nodos, do escalonamento de mensagens cuja transmissão é despoletada pela evolução do tempo. Contudo, e apesar desta complexidade adicional, este trabalho demonstra que é possível construir mecanismos de tolerância a falhas para FTT-CAN preservando a sua flexibilidade operacional. É também defendido nesta dissertação que um sistema baseado no protocolo FTT-CAN e equipado com os mecanismos de tolerância a falhas propostos é passível de ser usado em aplicações de segurança crítica. Esta afirmação é suportada, no âmbito do protocolo FTT-CAN, através da definição de uma arquitectura tolerante a falhas integrando nodos com modos de falha tipo falha-silêncio e nodos mestre replicados. Os vários problemas resultantes da replicação dos nodos mestre são, também eles, analisados e várias soluções são propostas para os obviar. Concretamente, é proposto um protocolo que garante a consistência das estruturas de dados replicadas a quando da sua actualização e um outro protocolo que permite a transferência dessas estruturas de dados para um nodo mestre que se encontre não sincronizado com os restantes depois de inicializado ou reinicializado de modo assíncrono. Além disto, esta dissertação também discute o projecto de nodos FTT-CAN que exibam um modo de falha do tipo falha-silêncio e propõe duas soluções baseadas em componentes de hardware localizados no interface de rede de cada nodo, para resolver este problema. Uma das soluções propostas baseiase em bus guardians que permitem a imposição de comportamento falhasilêncio nos nodos escravos e suportam o escalonamento dinâmico de tráfego na rede. A outra solução baseia-se num interface de rede que arbitra o acesso de dois microprocessadores ao barramento. Este interface permite que a replicação interna de um nodo seja efectuada de forma transparente e assegura um comportamento falha-silêncio quer no domínio temporal quer no domínio do valor ao permitir transmissões do nodo apenas quando ambas as réplicas coincidam no conteúdo das mensagens e nos instantes de transmissão. Esta última solução está mais adaptada para ser usada nos nodos mestre, contudo também poderá ser usada nos nodos escravo, sempre que tal se revele fundamental.Distributed embedded systems (DES) have been widely used in the last few decades in several application fields, ranging from industrial process control to avionics and automotive systems. In fact, it is expectable that this trend will continue over the years to come. In some of these application domains the dependability requirements are of utmost importance since failing to provide services in a timely and predictable manner may cause important economic losses or even put human life in risk. The adoption of the best practices in the design of distributed embedded systems does not fully avoid the occurrence of faults, arising from the nondeterministic behavior of the environment where each particular DES operates. Thus, fault-tolerance mechanisms need to be included in the DES to prevent possible faults leading to system failure. To be effective, fault-tolerance mechanisms require an a priori knowledge of the correct system behavior to be capable of distinguishing them from the erroneous ones. Traditionally, when designing fault-tolerance mechanisms, the a priori knowledge means that all possible operational modes are known at system design time and cannot adapt nor evolve during runtime. As a consequence, systems designed according to this principle are either fully static or allow a small number of operational modes only. Flexibility, however, is a desired property in a system in order to support evolving requirements, simplify maintenance and repair, and improve the efficiency in using system resources by using only the resources that are effectively required at each instant. This efficiency might impact positively on the system cost because with the same resources one can add more functionality or one can offer the same functionality with fewer resources. However, flexibility and dependability are often regarded as conflicting concepts. This is so because flexibility implies the ability to deal with evolving requirements that, in turn, can lead to unpredictable and possibly unsafe operating scenarios. Therefore, it is commonly accepted that only a fully static system can be made dependable, meaning that all operating conditions are completely defined at pre-runtime. In the broad sense and assuming unbounded flexibility this assessment is true, but if one restricts and controls the ways the system could adapt to evolving requirements, then it might be possible to enforce continuous dependability. This thesis claims that it is possible to provide a bounded degree of flexibility without compromising dependability and proposes some mechanisms to build safety-critical systems based on the Controller Area Network (CAN). In particular, the main focus of this work is the Flexible Time-Triggered CAN protocol (FTT-CAN), which was specifically developed to provide such high level of operational flexibility, not only combining the advantages of time- and event-triggered paradigms but also providing flexibility to the time-triggered traffic. This fact makes the development of fault-tolerant mechanisms more complex in FTT-CAN than in other protocols, such as TTCAN or FlexRay, in which there is a priori static common knowledge of the time-triggered message schedule shared by all nodes. Nevertheless, as it is demonstrated in this work, it is possible to build fault-tolerant mechanisms for FTT-CAN that preserve its high level of operational flexibility, particularly concerning the time-triggered traffic. With such mechanisms it is argued that FTT-CAN is suitable for safetycritical applications, too. This claim was validated in the scope of the FTT-CAN protocol by presenting a fault-tolerant system architecture with replicated masters and fail-silent nodes. The specific problems and mechanisms related with master replication, particularly a protocol to enforce consistency during updates of replicated data structures and another protocol to transfer these data structures to an unsynchronized node upon asynchronous startup or restart, are also addressed. Moreover, this thesis also discusses the implementations of fail-silence in FTTCAN nodes and proposes two solutions, both based on hardware components that are attached to the node network interface. One solution relies on bus guardians that allow enforcing fail-silence in the time domain. These bus guardians are adapted to support dynamic traffic scheduling and are fit for use in FTT-CAN slave nodes, only. The other solution relies on a special network interface, with duplicated microprocessor interface, that supports internal replication of the node, transparently. In this case, fail-silence can be assured both in the time and value domain since transmissions are carried out only if both internal nodes agree on the transmission instant and message contents. This solution is well adapted for use in the masters but it can also be used, if desired, in slave nodes

    Passive optical network (PON) monitoring using optical coding technology

    Get PDF
    Les réseaux optiques passifs (PON) semblent être la technologie gagnante et ultime du futur pour les "fibres jusqu'au domicile" ayant une haute capacité. L'écoute de contrôle de ce genre de système est nécessaire pour s'assurer un niveau de qualité de service prédéterminé pour chaque client. En outre, l'écoute de contrôle réduit considérablement les dépenses en capital et de fonctionnement (CAPEX et OPEX), tant pour le fournisseur du réseau que les clients. Alors que la capacité des PON est croissante, les gestionnaires de réseau ne disposent pas encore d'une technologie efficace et appropriée pour l'écoute de contrôle des réseaux de capacité aussi élevée. Une variété de solutions a été proposée. Toutes ces dernières solutions ne sont pas pratiques à cause de leur faible capacité (nombre de clients), d'une faible évolutivité, d'une grande complexité et des défis technologiques. Plus important encore, la technologie souhaitable pour l'écoute de contrôle devrait être rentable car le marché des PON est très sensible aux coûts. Dans cette thèse, nous considérons l'application de la technologie du codage optique passif (OC) comme une solution prometteuse pour l'écoute de contrôle centralisée d'un réseau optique ramifié tels que les réseaux PON. Dans la première étape, nous développons une expression pour le signal détecté par l'écoute de contrôle et étudions ses statistiques. Nous trouvons une nouvelle expression explicite pour le rapport signal utile/signal brouillé (SIR) comme outil de mesure métrique de performance. Nous considérons cinq distributions PON géographiques différentes et étudions leurs effets sur l'SIR pour l'écoute de contrôle d'OC. Dans la prochaine étape, nous généralisons notre modèle mathématique et ses expressions pour le contrôle des signaux détectés par un détecteur quadratique et des paramètres réalistes. Nous évaluons ensuite les performances théoriques de la technologie basée sur l'écoute de contrôle selon le rapport signal/bruit (SNR), le rapport signal/bruit plus coefficient d'interférence (SNIR), et la probabilité de fausse alarme. Nous élaborons l'effet de la puissance d'impulsion transmise, la taille du réseau et la cohérence de la source lumineuse sur le rendement des codes unidimensionnels (ID) et bidimensionnels (2D) de l'écoute de contrôle d'OC. Une conception optimale est également abordée. Enfin, nous appliquons les tests de Neyman-Pearson pour le récepteur de notre système d'écoute de contrôle et enquêtons sur la façon dont le codage et la taille du réseau affectent les dépenses de fonctionnement (OPEX) de notre système d'écoute de contrôle. Malgré le fait que les codes ID et 2D fournissent des performances acceptables, elles exigent des encodeurs avec un nombre élevé de composants optiques : ils sont encombrants, causent des pertes, et ils sont coûteux. Par conséquent, nous proposons un nouveau schéma de codage simple et plus approprié pour notre application de l'écoute de contrôle que nous appelons le codage périodique. Par simulation, nous évaluons l'efficacité de l'écoute de contrôle en terme de SNR pour un PON employant cette technologie. Ce système de codage est utilisé dans notre vérification expérimentale de l'écoute de contrôle d'OC. Nous étudions expérimentalement et par simulation, l'écoute de contrôle d'un PON utilisant la technologie de codage périodique. Nous discutons des problèmes de conception pour le codage périodique et les critères de détection optimale. Nous développons également un algorithme séquentiel pour le maximum de vraisemblance avec une complexité réduite. Nous menons des expériences pour valider notre algorithme de détection à l'aide de quatre encodeurs périodiques que nous avons conçus et fabriqués. Nous menons également des simulations de Monte-Carlo pour des distributions géographiques de PON réalistes, avec des clients situés au hasard. Nous étudions l'effet de la zone de couverture et la taille du réseau (nombre d'abonnés) sur l'efficacité de calcul de notre algorithme. Nous offrons une borne sur la probabilité pour un réseau donné d'entraîner l'algorithme vers un temps exorbitant de surveillance du réseau, c'est à dire le délai d'attente de probabilité. Enfin, nous soulignons l'importance du moyennage pour remédier aux restrictions budgétaires en puissance/perte dans notre système de surveillance afin de supporter de plus grandes tailles de réseaux et plus grandes portées de fibres. Ensuite, nous mettrons à niveau notre dispositif expérimental pour démontrer un m PON avec 16 clients. Nous utilisons un laser à modulation d'exploitation directement à 1 GHz pour générer les impulsions sonde. Les données mesurées par le dispositif expérimental est exploité par l'algorithme de MLSE à détecter et à localiser les clients. Trois déploiements PON différents sont réalisés. Nous démontrons une surveillance plus rigoureuse pour les réseaux ayant une répartition géographique à plusieurs niveaux. Nous étudions aussi le budget de la perte de notre dispositif de soutien plus élevés de capacités du réseau. Enfin, nous étudions le budget total admissible de la perte d'exploitation du système de surveillance dans la bande de fréquences à 1650 nm en fonction des spécifications de l'émetteur/récepteur. En particulier, la limite totale de la perte de budget est représentée en fonction du gain de l'amplicateure de transimpédance (TIA) et le résolution de la conversion analogique-numérique (ADC). Par ailleurs, nous enquêtons sur le compromis entre la distance portée et la capacité (taille de fractionnement au niveau du noeud distant) dans notre système de suivi

    Computer Aided Verification

    Get PDF
    The open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 30th European Symposium on Programming, ESOP 2021, which was held during March 27 until April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The 24 papers included in this volume were carefully reviewed and selected from 79 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems

    Computer Aided Verification

    Get PDF
    The open access two-volume set LNCS 11561 and 11562 constitutes the refereed proceedings of the 31st International Conference on Computer Aided Verification, CAV 2019, held in New York City, USA, in July 2019. The 52 full papers presented together with 13 tool papers and 2 case studies, were carefully reviewed and selected from 258 submissions. The papers were organized in the following topical sections: Part I: automata and timed systems; security and hyperproperties; synthesis; model checking; cyber-physical systems and machine learning; probabilistic systems, runtime techniques; dynamical, hybrid, and reactive systems; Part II: logics, decision procedures; and solvers; numerical programs; verification; distributed systems and networks; verification and invariants; and concurrency

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 31st European Symposium on Programming, ESOP 2022, which was held during April 5-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 21 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems
    corecore