28 research outputs found

    Flexible management of bandwidth and redundancy in fieldbuses

    Get PDF
    Doutoramento em Engenharia ElectrotécnicaOs sistemas distribuídos embarcados (Distributed Embedded Systems – DES) têm sido usados ao longo dos últimos anos em muitos domínios de aplicação, da robótica, ao controlo de processos industriais passando pela aviónica e pelas aplicações veiculares, esperando-se que esta tendência continue nos próximos anos. A confiança no funcionamento é uma propriedade importante nestes domínios de aplicação, visto que os serviços têm de ser executados em tempo útil e de forma previsível, caso contrário, podem ocorrer danos económicos ou a vida de seres humanos poderá ser posta em causa. Na fase de projecto destes sistemas é impossível prever todos os cenários de falhas devido ao não determinismo do ambiente envolvente, sendo necessária a inclusão de mecanismos de tolerância a falhas. Adicionalmente, algumas destas aplicações requerem muita largura de banda, que também poderá ser usada para a evolução dos sistemas, adicionandolhes novas funcionalidades. A flexibilidade de um sistema é uma propriedade importante, pois permite a sua adaptação às condições e requisitos envolventes, contribuindo também para a simplicidade de manutenção e reparação. Adicionalmente, nos sistemas embarcados, a flexibilidade também é importante por potenciar uma melhor utilização dos, muitas vezes escassos, recursos existentes. Uma forma evidente de aumentar a largura de banda e a tolerância a falhas dos sistemas embarcados distribuídos é a replicação dos barramentos do sistema. Algumas soluções existentes, quer comerciais quer académicas, propõem a replicação dos barramentos para aumento da largura de banda ou para aumento da tolerância a falhas. No entanto e quase invariavelmente, o propósito é apenas um, sendo raras as soluções que disponibilizam uma maior largura de banda e um aumento da tolerância a falhas. Um destes raros exemplos é o FlexRay, com a limitação de apenas ser permitido o uso de dois barramentos. Esta tese apresentada e discute uma proposta para usar a replicação de barramentos de uma forma flexível com o objectivo duplo de aumentar a largura de banda e a tolerância a falhas. A flexibilidade dos protocolos propostos também permite a gestão dinâmica da topologia da rede, sendo o número de barramentos apenas limitado pelo hardware/software. As propostas desta tese foram validadas recorrendo ao barramento de campo CAN – Controller Area Network, escolhido devido à sua grande implantação no mercado. Mais especificamente, as soluções propostas foram implementadas e validadas usando um paradigma que combina flexibilidade com comunicações event-triggered e time-triggered: o FTT – Flexible Time- Triggered. No entanto, uma generalização para CAN nativo é também apresentada e discutida. A inclusão de mecanismos de replicação do barramento impõe a alteração dos antigos protocolos de replicação e substituição do nó mestre, bem como a definição de novos protocolos para esta finalidade. Este trabalho tira partido da arquitectura centralizada e da replicação do nó mestre para suportar de forma eficiente e flexível a replicação de barramentos. Em caso de ocorrência de uma falta num barramento (ou barramentos) que poderia provocar uma falha no sistema, os protocolos e componentes propostos nesta tese fazem com que o sistema reaja, mudando para um modo de funcionamento degradado. As mensagens que estavam a ser transmitidas nos barramentos onde ocorreu a falta são reencaminhadas para os outros barramentos. A replicação do nó mestre baseia-se numa estratégia líder-seguidores (leaderfollowers), onde o líder (leader) controla todo o sistema enquanto os seguidores (followers) servem como nós de reserva. Se um erro ocorrer no nó líder, um dos nós seguidores passará a controlar o sistema de uma forma transparente e mantendo as mesmas funcionalidades. As propostas desta tese foram também generalizadas para CAN nativo, tendo sido para tal propostos dois componentes adicionais. É, desta forma possível ter as mesmas capacidades de tolerância a falhas ao nível dos barramentos juntamente com a gestão dinâmica da topologia de rede. Todas as propostas desta tese foram implementadas e avaliadas. Uma implementação inicial, apenas com um barramento foi avaliada recorrendo a uma aplicação real, uma equipa de futebol robótico onde o protocolo FTT-CAN foi usado no controlo de movimento e da odometria. A avaliação do sistema com múltiplos barramentos foi feita numa plataforma de teste em laboratório. Para tal foi desenvolvido um sistema de injecção de faltas que permite impor faltas nos barramentos e nos nós mestre, e um sistema de medida de atrasos destinado a medir o tempo de resposta após a ocorrência de uma falta.Distributed embedded systems (DES) have been widely used in the last few decades in several application domains, from robotics, industrial process control, avionics and automotive. In fact, it is expectable that this trend will continue in the next years. In some of these application fields the dependability requirements are very important since the fail to provide services in a timely and predictable manner may cause important economic losses or even put humans in risk. In the design phase it is impossible to predict all the possible scenarios of faults, due to the non deterministic behaviour of the surrounding environment. In that way, the fault tolerance mechanisms must be included in the distributed embedded system to prevent failures occurrence. Also, many application domains require a high available bandwidth to perform the desired functions, or to turn possible the scaling with the addition of new features. The flexibility of a system also plays an important role, since it improves the capability to adapt to the surrounding world, and to the simplicity of the repair and maintenance. The flexibility improves the efficiency of all the system by providing a way to efficiently manage the available resources. This is very important in embedded systems due to the limited resources often available. A natural way to improve the bandwidth and the fault tolerance in distributed systems is to use replicated buses. Commercial and academic solutions propose the use of replicated fieldbuses for a single purpose only, either to improve the fault tolerance or to improve the available bandwidth, being the first the most common. One illustrative exception is FlexRay where the bus replica can be used to improve the bandwidth of the overall system, besides enabling redundant communications. However, only one bus replica can be used. In this thesis, a flexible bus replication scheme to improve both the dependability and the throughput of fieldbuses is presented and studied. It can be applied to any number of replicated buses, provided the required hardware support is available. The flexible use of the replicated buses can achieve an also flexible management of the network topology. This claim has been validated using the Controller Area Network (CAN) fieldbus, which has been chosen because it is widely spread in millions of systems. In fact, the proposed solution uses a paradigm that combines flexibility, time and event triggered communication, that is the Flexible Time- Triggered over CAN network (FTT-CAN). However, a generalization to native CAN is also presented and studied. The inclusion of bus replication in FTT-CAN imposes not only new mechanisms but also changes of the mechanisms associated with the master replication, which has been already studied in previous research work. In this work, these mechanisms were combined and take advantage of the centralized architecture and of the redundant masters to support an efficient and flexible bus replication. When considering the system operation, if a fault in the bus (or buses) occurs, and the consequent error leads to a system failure, the system reacts, switching to a degraded mode, where the message flows that were transmitted in the faulty bus (or buses) change to the non-faulty ones. The central node replication uses a leader-follower strategy, where the leader controls the system while the followers serve as backups. If an error occurs in the leader, a backup will take the system control maintaining the system with the same functionalities. The system has been generalized for native CAN, using two additional components that provide the same fault tolerance capabilities at the bus level, and also enable the dynamic management of the network topology. All the referred proposals were implemented and assessed in the scope of this work. The single bus version of FTT-CAN was assessed using a real application, a robotic soccer team, which has obtained excellent results in international competitions. There, the FTT-CAN based embedded system has been applied in the low level control, where, mainly it is responsible for the motion control and odometry. For the case of the multiple buses system, the assessment was performed in a laboratory test bed. For this, a fault injector was developed in order to impose faults in the buses and in the central nodes. To measure the time reaction of the system, a special hardware has been developed: a delay measurement system. It is able to measure delays between two important time marks for posterior offline analysis of the obtained values

    Packet scheduling algorithms for a software-defined manufacturing environment

    Get PDF
    With the vision of Industry 4.0, Internet of things (IoT) and Internet of Services (IoS) are making their way to the modern manufacturing systems and industrial automation. As a consequence, modern day manufacturing systems need wider product variation and customization to meet the customer's demands and survive in the competitive markets. Traditional, dedicated systems like assembly lines cannot adapt the rapidly changing requirement of today's manufacturing industries. A flexible and highly scalable infrastructure is needed to support such systems. However, most of the applications in manufacturing systems require strict QoS guarantees. For instance, time-sensitive networks like in industrial automation and smart factories need hard real-time guarantees. Deterministic networks with bounded delay and jitter are essential requirement for such systems. To support such systems, non-deterministic queueing delay has to be eliminated from the network. To this end, we present Time-Sensitive Software-Defined Networks (TSSDN) with a logically centralized controller which computes transmission schedules based on the global view of the network. SDN control logic computes optimized transmission schedules for the end hosts to avoid in network queueing delay. To compute transmission schedules, we present Integer Linear Programming and Routing and Scheduling Algorithms with heuristics that schedule and route unicast and multicast flows. Our evaluations show that it is possible to compute near optimal transmission schedules for TSSDN and bound network delays and jitter

    Comunicações sem-fios de tempo-real para ambientes abertos

    Get PDF
    Doutoramento em Engenharia InformáticaWireless communication technologies have become widely adopted, appearing in heterogeneous applications ranging from tracking victims, responders and equipments in disaster scenarios to machine health monitoring in networked manufacturing systems. Very often, applications demand a strictly bounded timing response, which, in distributed systems, is generally highly dependent on the performance of the underlying communication technology. These systems are said to have real-time timeliness requirements since data communication must be conducted within predefined temporal bounds, whose unfulfillment may compromise the correct behavior of the system and cause economic losses or endanger human lives. The potential adoption of wireless technologies for an increasingly broad range of application scenarios has made the operational requirements more complex and heterogeneous than before for wired technologies. On par with this trend, there is an increasing demand for the provision of cost-effective distributed systems with improved deployment, maintenance and adaptation features. These systems tend to require operational flexibility, which can only be ensured if the underlying communication technology provides both time and event triggered data transmission services while supporting on-line, on-the-fly parameter modification. Generally, wireless enabled applications have deployment requirements that can only be addressed through the use of batteries and/or energy harvesting mechanisms for power supply. These applications usually have stringent autonomy requirements and demand a small form factor, which hinders the use of large batteries. As the communication support may represent a significant part of the energy requirements of a station, the use of power-hungry technologies is not adequate. Hence, in such applications, low-range technologies have been widely adopted. In fact, although low range technologies provide smaller data rates, they spend just a fraction of the energy of their higher-power counterparts. The timeliness requirements of data communications, in general, can be met by ensuring the availability of the medium for any station initiating a transmission. In controlled (close) environments this can be guaranteed, as there is a strict regulation of which stations are installed in the area and for which purpose. Nevertheless, in open environments, this is hard to control because no a priori abstract knowledge is available of which stations and technologies may contend for the medium at any given instant. Hence, the support of wireless real-time communications in unmanaged scenarios is a highly challenging task. Wireless low-power technologies have been the focus of a large research effort, for example, in the Wireless Sensor Network domain. Although bringing extended autonomy to battery powered stations, such technologies are known to be negatively influenced by similar technologies contending for the medium and, especially, by technologies using higher power transmissions over the same frequency bands. A frequency band that is becoming increasingly crowded with competing technologies is the 2.4 GHz Industrial, Scientific and Medical band, encompassing, for example, Bluetooth and ZigBee, two lowpower communication standards which are the base of several real-time protocols. Although these technologies employ mechanisms to improve their coexistence, they are still vulnerable to transmissions from uncoordinated stations with similar technologies or to higher power technologies such as Wi- Fi, which hinders the support of wireless dependable real-time communications in open environments. The Wireless Flexible Time-Triggered Protocol (WFTT) is a master/multi-slave protocol that builds on the flexibility and timeliness provided by the FTT paradigm and on the deterministic medium capture and maintenance provided by the bandjacking technique. This dissertation presents the WFTT protocol and argues that it allows supporting wireless real-time communication services with high dependability requirements in open environments where multiple contention-based technologies may dispute the medium access. Besides, it claims that it is feasible to provide flexible and timely wireless communications at the same time in open environments. The WFTT protocol was inspired on the FTT paradigm, from which higher layer services such as, for example, admission control has been ported. After realizing that bandjacking was an effective technique to ensure the medium access and maintenance in open environments crowded with contention-based communication technologies, it was recognized that the mechanism could be used to devise a wireless medium access protocol that could bring the features offered by the FTT paradigm to the wireless domain. The performance of the WFTT protocol is reported in this dissertation with a description of the implemented devices, the test-bed and a discussion of the obtained results.As tecnologias de comunicação sem fios tornaram-se amplamente adoptadas, surgindo em aplicações heterógeneas que vão desde a localização de vítimas, pessoal médico e equipamentos em cenários de desastre à monitorização da condição física de máquinas em ambientes industrials. Muito frequentemente, as aplicações exigem uma resposta limitada no tempo que, geralmente, em sistemas distribuídos, é substancialmente dependente do desempenho da tecnologia de comunicação utilizada. Estes sistemas tendem a possuir requisitos de tempo-real uma vez que a comunicação de dados tem de ser conduzida dentro de limites temporais pré-definidos que, quando não cumpridos, podem comprometer o correcto funcionamento do sistema e resultar em perdas económicas ou colocar em risco vidas humanas. A potencial adopção de tecnologias sem-fios para um crescente número de cenários traduz-se num aumento da complexidade e heterogeneidade dos requisitos operacionais relativamente às tecnologias cabladas. A acompanhar esta tendência verifica-se uma crescente procura de sistemas distribuídos, caracterizados quer por uma boa relação custo-eficácia, quer pela simplicidade de instalação, manutenção e adaptação. Ao mesmo tempo, estes sistemas tendem a requerer flexibilidade operacional, que apenas pode ser assegurada se a tecnlogia de comunicação empregue supportar transmissões de dados dispoletadas quer por eventos (event-triggered), quer por tempo (timetriggered) e se, ao mesmo tempo, em funcionamento, permitir a alteração dos parâmetros de comunicação correspondentes. Frequentemente, as aplicações com comunicações sem fios caracterizam-se por exigências de instalação que apenas podem ser endereçadas usando alimentação através de baterias e/ou mecanismos de recolha de energia do ambiente envolvente. Estas aplicações têm tipicamente requisitos exigentes de autonomia e de tamanho, impedindo o recurso a baterias de grande dimensão. Dado que o suporte de comunicações pode representar uma parte significativa dos requisitos de energia da estação, o uso de tecnologias de comunicação de elevado consumo não é adequado. Desta forma, nestas aplicações, as tecnologias de comunicação de curto-alcance tornaram-se amplamente adoptadas uma vez que, apesar de se caracterizarem por taxas de transmissão inferiores, consomem apenas uma fracção da energia das tecnologias de maior alcance. resumo Em geral, os requisitos de pontualidade da comunicação de dados podem ser cumpridos através da garantia da disponibilidade do meio no instante em que qualquer estação inicie uma transmissão. Em ambientes controlados esta disponibilidade pode ser garantida, na medida em que existe um controlo de quais as estações que foram instaladas na área e qual a sua função. Contrariamente, em ambientes abertos, tal controlo é difícil de garantir uma vez que não existe conhecimento a priori de que estações ou tecnologias podem competir pelo meio, tornando o suporte de comunicações de temporeal um desafio difícil de implementar em cenários com estações de comunicação não controladas. As comunicações de baixo consumo têm sido o foco de um esforço de investigação bastante amplo, por exemplo, no domínio das redes de sensores sem fios. Embora possam permitir uma maior autonomia a estações baseadas em baterias, estas tecnologias são reconhecidas como sendo negativamente influenciadas por tecnologias semelhantes competindo pelo mesmo meio e, em particular, por tecnologias que utilizem níveis de potência de transmissão mais elevados em bandas de frequências comuns. De forma cada vez mais acentuada, a banda industrial, científica e médica (ISM) dos 2.4 GHz tem-se tornado mais saturada com tecnologias que competem entre si pelo acesso ao meio tais como, por exemplo, Bluetooth e ZigBee, dois padrões de comunicação que são a base de vários protocolos de tempo-real. Apesar destas tecnologias aplicarem mecanismos para melhorar a sua coexistência, são vulneráveis a transmissões de estações não controladas que usem as mesmas tecnologias ou que usem tecnologias com níveis de potência de transmissão mais elevados, impedindo, desta forma, o suporte de comunicações de tempo-real fiáveis em ambientes abertos. O protocolo de comunicação sem fios flexível disparado por tempo (WFTT) é baseado numa arquitectura mestre/múltiplo escravo alavancado na flexibilidade e pontualidade promovidas pelo paradigma FTT e na captura e manutenção determinística do meio suportadas pela técnica de bandjacking (captura de banda). Esta tese apresenta o protocolo WFTT e argumenta que este permite suportar serviços de comunicação de tempo-real com requisitos elevados de fiabilidade em ambientes abertos onde várias tecnologias de comunicação baseadas em contenção disputam o acesso ao meio. Adicionalmente, esta tese reivindica que é possível suportar comunicações sem-fios simultaneamente flexíveis e pontuais em ambientes abertos. O protocolo WFTT foi inspirado no paradigma FTT, do qual importa os serviços de alto nível como, por exemplo, o controlo de admissão. Após a observação da eficácia da técnica de bandjacking em assegurar o acesso ao meio e a correspondente manutenção, foi reconhecida a possibilidade de utilização deste mecanismo para o desenvolvimento de um protocolo de acesso ao meio, capaz de oferecer as funcionalidades do paradigma FTT em meios de comunicação sem-fios. O desempenho do protocolo WFTT é reportado nesta tese com uma descrição dos dispositivos implementados, da bancada de ensaios desenvolvida e dos resultados obtidos

    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

    Ingeniería basada en modelos aplicada a sistemas distribuidos sensibles al contexto.

    Get PDF
    239 p.En esta Tesis Doctoral se plantea una metodología, soportada por mecanismos y herramientas, que da soporte al ciclo de desarrollo de aplicaciones distribuidas sensibles al contexto, aquéllas que supervisan su entorno físico con objeto de detectar cambios en él y reaccionar rápida y adecuadamente. Son aplicaciones presentes en diferentes campos de aplicación que demandan requisitos tales como ejecución en entornos distribuidos y heterogéneos, personalización de la supervisión, adaptación a cambios relevantes en su contexto, gestión de la calidad específica de cada aplicación, disponibilidad y recuperación ante situaciones de fallo. En concreto, se propone una aproximación de modelado genérica que permite la especificación y diseño de estas aplicaciones, independientemente de la plataforma de gestión responsable de su ejecución y atendiendo a los diferentes expertos que participan: expertos de dominio y desarrolladores de software. Se hace uso de la ingeniería dirigida por modelos para lograr la separación de dominios necesaria. Así, el experto de dominio realiza el diseño arquitectónico en el que se especifican todos sus requisitos, mientras que el desarrollador de software se centra en el diseño e implementación de la solución software correspondiente. Por tanto, la aproximación de modelado recoge los requisitos de las aplicaciones que una plataforma de gestión debe cumplir en tiempo de ejecución, al mismo tiempo que captura la información necesaria para la generación de su código. También se plantea un entorno de desarrollo integrado, basado en dicha aproximación, que da soporte al ciclo de desarrollo, cuyo prototipo se ha validado en un demostrador en el campo de la asistencia domiciliaria

    On the orchestration of operations in flexible manufacturing

    Get PDF
    Tese de doutoramento em Engenharia Mecânica (Controlo e Gestão) apresentada à Faculdade de Ciências e Tecnologia da Universidade de CoimbraDomínio A capacidade de produzir bem é a chave da riqueza. Uma boa produção concretiza-se pela transformação competitiva de matérias-primas em produtos de qualidade para o mercado global. Tal transformação inclui uma série de operações coordenadas de modo a obter a produtividade que permite o aumento da competitividade. Embora algumas operações possam requerer pessoal especializado, a tendência é para uma crescente automatização. A coordenação das operações automatizadas é também automatizada (através de uma variedade de transportadores, comunicação digital, etc.). Contudo, e embora a produção seja automatizada, a configuração do equipamento é feita manualmente. Situação A necessidade de automatização foi inicialmente sentida e aplicada na produção de longas séries, como no caso da indústria automóvel. Com a necessidade de redução de custos e aumento de flexibilidade, a inclusão de máquinas/equipamentos controlados por computador, assim como de interligações por computadores/redes tem sido extensiva. O aumento de software nestes sistemas, as restrições físicas e as (indesejáveis) interconecções lógicas conduzem a um aumento da complexidade, que em empresas de produção em grande escala é obviado por especialistas. O aumento na procura de produtos personalizados e a rapidez para a sua comercialização determinam a necessidade de uma produção flexível. Contudo, a referida indesejável complexidade constitui um grande obstáculo para o recurso a soluções (semi)-automatizadas, e postos de trabalho (de alta qualidade) são deslocados para países de mão-de-obra mais barata. O caso mais difícil prende-se com a utilização de robôs (que é o tipo de máquina mais flexível) nas empresas mais flexíveis, como sejam as Pequenas e Médias Empresas (PMEs). Deste modo, as condições para a utilização de robôs (juntamente com outro tipo de equipamento) em PMEs (incluindo operações manuais e configuração) representam o maior desafio, uma vez que os sistemas técnicos têm de ser estruturados de forma a suportarem a desejada flexibilidade. À semelhança da incapacidade de uma boa gestão em compensar a falta de competência em actividades como a do comércio ou da investigação cientifica, as etapas de produção têm de ser apropriadamente construídas e mantidas. Estas últimas representam aquilo em que o produtor se deve concentrar e especializar. Assim, sejam quais forem os avanços que facilitem a produção, as práticas de produção competitiva deverão ser mantidas. Especificamente, processos de trabalho com conhecimentos valiosos não devem ser prejudicados por detalhes técnicos irrelevantes. Novas tecnologias que possam aumentar a competitividade e/ou melhorar as condições de trabalho são obviamente desejáveis. Contudo, estas deverão ser combinadas com princípios de utilização simples para os quais os sistemas de produção são construídos. Tópico A complexidade surge tanto na operação como na coordenação, mas também na sua configuração manual. Esta é parcialmente compreensível e gerenciável, uma vez que uma determinada máquina ou processo de fabrico pode ser bastante avançado e complexo. Assim, a complexidade será local. Contudo, e em particular com software envolvido, dependências adhoc acidentais entre operações e coordenação tornam a situação actual mais difícil. Adicionalmente, a configuração de cada máquina e subsistema envolve uma variedade de interfaces de utilizador e ferramentas de configuração/programação. Uma vez mais, as grandes empresas podem contar com engenheiros altamente qualificados para lidar com estes problemas, enquanto que nas PMEs a situação fica facilmente ingovernável. Consideramos que podemos referir o problema como uma questão de orquestração. Orquestração é então definida como o arranjo, coordenação e gestão (semi-) automatizada de complexos sistemas de produção, incluindo as suas interacções em termos de comunicação e os seus serviços em termos de controlo por computador. O tópico pode então ser formulado como a procura de princípios óptimos, ou pelo menos exequíveis, para a orquestração de processos produtivos de pequena escala. Na realidade, existem aspectos fundamentais envolvidos que não representam apenas uma questão de engenharia a ser solucionada. Ao contrário, a situação requer uma abordagem científica com especial atenção para a recente tecnologia de suporte proveniente de outras áreas. Abordagem cientifica - A procura de princípios apropriados a PMEs para a orquestração de processos de produção não se presta a uma análise teórica, que por sua vez requer a utilização de modelos formais e derivação das soluções (sub-)óptimas e suas propriedades. Embora tivesse sido preferível obter provas formais de uma solução óptima, a complexidade do equipamento, o envolvimento de humanos, a considerável desorganização das PMEs, a necessidade de aderir às práticas industriais, assim como a variedade de PMEs existentes, dificultam uma abordagem teórica. Deste modo, foi seguida uma abordagem empírica. A dificultar o teste e a avaliação de uma abordagem empírica estão as possíveis variações no software envolvido, juntamente com a constante mudança que ocorre na produção em sistemas de produção flexíveis. Adicionalmente, a experimentação não pode ser conduzida em ambientes industriais (onde esta iria perturbar a produção). Assim sendo, as experiências deverão ser cuidadosamente seleccionadas e conduzidas em laboratório com recurso a equipamento industrial. Ainda assim, dadas as condições e singularidade de algum equipamento, não é fácil reproduzir os resultados noutros locais, o que constitui um problema para a validação e aceitação dos mesmos. Contudo, caso a solução sugerida em termos de princípios técnicos possa ser encontrada ou confirmada por resultados publicados de investigação independente, ou se técnicas relacionadas derem origem a novos produtos, tal pode desejavelmente contribuir para a validação de resultados. Isto é, embora resultados semelhantes para outros laboratórios sejam válidos, as diferenças actuais vão revelar a existência de variações que merecem estudo detalhado. Abordagem técnica - Os sistemas de produção flexíveis consistem em equipamento distribuído do ponto de vista computacional. Tipicamente, os diferentes aparelhos não foram concebidos para operarem em conjunto, mas devem, no entanto, ser de fácil configuração no local de trabalho. Uma abordagem básica passaria pela utilização de plataformas de software que suportassem componentes distribuídos de uma forma flexível. Contudo, as plataformas computacionais existentes podem não satisfazer com eficiência a necessidade do equipamento integrado, podendo revelar falta de robustez, nomeadamente nas interconecções. Deste modo, é necessário combinar com algum cuidado a tecnologia existente e confrontar as soluções sugeridas com as necessidades actuais das empresas. A abordagem seguida encontra-se dividida em quatro partes: 1. Suportar o acoplamento fraco entre componentes de forma a obter simples composição quando o equipamento é instalado ou substituído. As interacções necessitam ser assíncronas e baseadas em eventos através de interfaces bem definidas e auto-explicativas, contendo serviços definidos em termos de operações de produção (e não em termos de software interno). 2. Produzir princípios unificados para interacção com utilizador e interfaces, permitindo que utilizadores não especializados possam (re)configurar e (re)programar o sistema de produção. Uma interacção com o utilizador que permita combinar operações básicas que resultem num novo serviço, o qual deverá idealmente estar facilmente acessível através de interfaces programadas e manuais. 3. As abordagens baseadas em modelos têm-se revelado eficazes para desempenho e reutilização. No entanto, os modelos consistem em elevado nível de conhecimento e são dispendiosos de obter no âmbito da flexibilidade e desorganização das PMEs. Uma melhor abordagem é permitir a visibilidade do conhecimento envolvido numa determinada etapa em termos do processo de produção, de modo a que o operador transmita inteligência através de uma interface simples. 4. O software é por defeito não descritivo, assim como a execução sequencial de código imperativo não se compõe. Conhecimento no metanível e descrições declarativas deverão ser utilizadas, se possível, sem comprometimento dos itens anteriores. O objectivo é gerar software ao nível de aplicação, partindo de descrições de alto nível. A avaliação experimental deverá verificar técnicas individuais como tal, e os resultados deverão ser comparados com investigação relacionada. A abordagem global consiste em combinar os resultados das diferentes partes em princípios aplicáveis a futuros processos de produção das PMEs. Resultados O uso de arquitecturas orientadas a serviços (SOA) nas redes empresariais resolveu as limitações das arquitecturas orientadas a componentes no que diz respeito ao acoplamento através da standarização das interfaces, protocolos de comunicação, gestão de transacções, e segurança, entre outros. SOA ao nível do dispositivo é o resultado da importação de princípios SOA para os sistemas embebidos com algumas importantes diferenças, nomeadamente: inclusão de padrões de mensagens publish/subscribe, descoberta e descrição directa entre dispositivos, e modelos descritivos genéricos. Numa primeira fase, este trabalho validou os inúmeros trabalhos realizados sobre a aplicação de SOA ao nível do dispositivo em ambiente industrial com o teste num protótipo de célula de trabalho. De seguida foi levado a cabo um trabalho de avaliação comparativa entre duas SOA ao nível do dispositivo com estilos de arquitectura diferentes, servindo como base aos restantes desenvolvimentos da tese. Ainda que os resultados desta avaliação tenham mostrado o grande avanço proporcionado pelo uso de SOA, nomeadamente no que diz respeito ao desacoplamento entre componentes atingido, alguns aspectos críticos para o seu uso efectivo ainda estavam por resolver, designadamente: 1. A geração e a especificação dos serviços ao nível da tarefa 2 A definição de uma linguagem de orquestração adequada às SOA ao nível do dispositivo. Uma abordagem baseada em tarefas, quando relacionadas com processos de manufactura, consubstancia-se na capacidade de disponibilizar um mecanismo flexível (e amigável para o utilizador de uma PME) para a especificação das interfaces de rede. Os programas de robô são um elemento chave na flexibilidade do robô e este trabalho mostrou que o seu uso para a definição de interfaces vai elevar a fasquia da flexibilidade para o nível das interligações. A natureza procedimental de muitas linguagens de robô encaixa-se perfeitamente com o padrão de mensagens definido nas plataformas SOA, com uma mistura de variáveis de estado definidas a partir de variáveis do robô, e com acções definidas a partir de métodos da linguagem robô. A definição de uma linguagem de orquestração preencheu uma lacuna nos padrões de orquestração: sistemas conduzidos a eventos. Estes sistemas definem estados e transições de uma forma clara, potenciando a capacidade do utilizador de acompanhar o estado do sistema. Statecharts constituem um par adequado para a arquitectura SOA, uma vez que as transições de estado são baseadas em eventos, que no nosso caso são eventos na rede, mas os estados (e também as transições) incluem igualmente acções, que podem ser mapeadas para operações. A avaliação empírica efectuada mostrou uma previsível boa curva de aprendizagem para estes sistemas, em parte devido às vantagens associadas à sua semelhança a técnicas de automação tradicionais, como os Sequential Function Charts. Os resultados desta avaliação são positivos e justificam esforços suplementares para efectuar testes em aplicações reais, o que neste caso implica utilizadores de PME reais. Conclusões Três conclusões devem ser retiradas desta tese: A estratégia proposta para a especificação de serviços é um elemento chave no futuro do uso de SOA ao nível dos dispositivos, devido à importância da definição das interfaces no sucesso destas arquitecturas. A programação ao nível da tarefa é desta forma transferida da programação dos robôs para o nível da rede. Uma linguagem conduzida a eventos foi definida para a orquestração. Testes revelaram o seu uso e compatibilidade com as necessidades das células de fabrico das pequenas e médias empresas, nomeadamente estados explícitos e transições baseadas em eventos. Esta abordagem preenche uma lacuna nos padrões de orquestração existentes na indústria e constitui uma excelente base de trabalho para o futuro. Finalmente, foram abordadas técnicas baseadas em conhecimento, e avaliada a sua integração com a arquitectura definida anteriormente. Estes estudos mostraram a importância das estratégias descritivas e as inúmeras possibilidades abertas quando a semântica é adicionada aos sistemas industriais baseados em software, especialmente quando suportados em bem estabelecidas tecnologias de rede, como as descritas anteriormente.Our ability to manufacture well is the key to our wealth. Obtaining a wider range of different (and better) products in a sustainable way in terms of labour and environment is the big challenge faced by modern manufacturing. In the last few decades, automation has played a key role in the enhanced productivity of mass-production industries, but there has been a paradigm shift: global consumers ask for customization, leading manufacturers to target mass customization and consequently requiring new levels of flexibility for automation. An industrial robot is usually considered to be a flexible machine, which is only true within the large plant scenario. Small enterprises, which are by nature the most flexible ones, do not make use of robot systems as they could, because robot flexibility, which relies on reprogramming and reconfiguring, cannot be taken on by the SME (Small Medium Enterprises) worker at the workshop, and hiring specialists is unacceptable in terms of costs. The easy reconfiguration of a robotic work-cell, which is a distributed environment with computation in different platforms that are coordinated by software, is hindered greatly by the dependencies between cell components. This thesis addresses the problem of dependencies by proposing principles and mechanisms for the orchestration of complex manufacturing systems, i.e., the (semi-) automated coordination of their interactions in terms of communications and computer control. The industrial environment, especially regarding robotics, does not lend itself to theoretical analysis due to the amount of work needed to reach formal models. This is exacerbated in the unstructured SME environment and when working with user-in-the-loop systems. Therefore, the approach used in this thesis was mainly empirical, with validation through laboratory prototypes used by some representative users. The approach consisted of the following parts: 1. supporting loose coupling between components to promote simple composition of services to enable an easier reconfiguration; 2. defining unifying principles in terms of user interaction, by taking into account current robot technologies and improvements from other scientific areas, namely enterprise level networking; 3. enabling a task-based view of knowledge in terms of the manufacturing processes to promote the reconfiguration of the system by process rather than robotics specialists; 4. proposing declarative techniques that support easy configuration of the work-cell in terms understandable by the SME user. The use of service-oriented architectures (SOAs) in the business world has tackled the limitations of component-oriented architectures in terms of coupling through the standardization of interfaces, communication protocols, transaction management, and security, among others. Device-level SOA are the result of the porting of SOA principles to the embedded level with the addition of several important features, namely: publish/subscribe messaging patterns, peer-to-peer discovery description and generic templates. At an initial stage, this work has validated the current trend of using device-level SOA in industrial environments by testing their use against a prototype work-cell. Following this, a comparison was made between device-level SOA platforms that embodied two different architectural styles. This served as a basis for the rest of the thesis. Although the results from this evaluation have shown the great advances brought about by the use of device-level SOA, for instance in terms of decoupling, some critical issues for their effective use remained unchallenged, namely: 1. The generation and the specification of task-level services (contracts), with transparent and easy-to-use techniques for the SME user. 2. The definition of orchestration techniques adapted to the device-level SOA, with adequate expressiveness and simplicity for the SME user. A task-based view of knowledge in terms of manufacturing processes relies on the ability to provide a flexible (SME user-friendly) mechanism for the specification of network interfaces. Robot programs are the key element for robot flexibility. This work has shown that their use in interface definition will feature flexibility also at the interconnection level. The procedural nature of many robot programming languages copes perfectly with the device-level SOA messaging style, with a mixture of evented state variables defined by robot variables, and with actions defined by robot methods. The definition of an orchestration language has addressed a missing pattern in service orchestration: event-driven systems. These systems define states and transitions in a clear way, thus enhancing the user’s ability to predict the state of the system. Statecharts provide a perfect match for the device-level SOA since the state-transitions are event-based, but the states (and the transitions) embody actions, which can be mapped to operations. The empiric evaluation made with several types of users has shown the predictable steep learning curve of these systems, partly due to their resemblance to traditional automation techniques like SFCs. The results are therefore positive and justify the effort of testing the system against real applications, which in this case means with real SME users. Descriptive techniques for software are one of the keys to establish the bridge between humans and computer programs. Despite recent evolutions, these techniques are not yet ready for use, and supportive technologies and methodologies need to be tested. In this work, a cell specification language has been defined and software developed that configures a programming-by-demonstration robotic work-cell. In conclusion, there are three main outcomes from this thesis. The proposed strategy for the specification of services is a key enabler in the future use of device-level SOA in industrial robotics, due to the importance of interface definition in the success of these architectures. Task-level programming is in this way extended from the robot programming level to networked devices. An event-driven language has been defined for the orchestration. Tests revealed its ease of use and compatibility with the orchestration needs of SME work-cells, namely: explicit states and event-based transitions. This approach fulfils a missing orchestration pattern in the industry, and provides an excellent basis for future work. A descriptive robotic cell specification has been introduced that supports the automatic workcell (re)configuration. This work has shown the importance of descriptive knowledge in automation, especially when supported by the networking integration techniques described previously.Project SMERobot, Integrated project funded under the European Union’s Sixth Framework Programme (FP6

    Perfomance Analysis and Resource Optimisation of Critical Systems Modelled by Petri Nets

    Get PDF
    Un sistema crítico debe cumplir con su misión a pesar de la presencia de problemas de seguridad. Este tipo de sistemas se suele desplegar en entornos heterogéneos, donde pueden ser objeto de intentos de intrusión, robo de información confidencial u otro tipo de ataques. Los sistemas, en general, tienen que ser rediseñados después de que ocurra un incidente de seguridad, lo que puede conducir a consecuencias graves, como el enorme costo de reimplementar o reprogramar todo el sistema, así como las posibles pérdidas económicas. Así, la seguridad ha de ser concebida como una parte integral del desarrollo de sistemas y como una necesidad singular de lo que el sistema debe realizar (es decir, un requisito no funcional del sistema). Así pues, al diseñar sistemas críticos es fundamental estudiar los ataques que se pueden producir y planificar cómo reaccionar frente a ellos, con el fin de mantener el cumplimiento de requerimientos funcionales y no funcionales del sistema. A pesar de que los problemas de seguridad se consideren, también es necesario tener en cuenta los costes incurridos para garantizar un determinado nivel de seguridad en sistemas críticos. De hecho, los costes de seguridad puede ser un factor muy relevante ya que puede abarcar diferentes dimensiones, como el presupuesto, el rendimiento y la fiabilidad. Muchos de estos sistemas críticos que incorporan técnicas de tolerancia a fallos (sistemas FT) para hacer frente a las cuestiones de seguridad son sistemas complejos, que utilizan recursos que pueden estar comprometidos (es decir, pueden fallar) por la activación de los fallos y/o errores provocados por posibles ataques. Estos sistemas pueden ser modelados como sistemas de eventos discretos donde los recursos son compartidos, también llamados sistemas de asignación de recursos. Esta tesis se centra en los sistemas FT con recursos compartidos modelados mediante redes de Petri (Petri nets, PN). Estos sistemas son generalmente tan grandes que el cálculo exacto de su rendimiento se convierte en una tarea de cálculo muy compleja, debido al problema de la explosión del espacio de estados. Como resultado de ello, una tarea que requiere una exploración exhaustiva en el espacio de estados es incomputable (en un plazo prudencial) para sistemas grandes. Las principales aportaciones de esta tesis son tres. Primero, se ofrecen diferentes modelos, usando el Lenguaje Unificado de Modelado (Unified Modelling Language, UML) y las redes de Petri, que ayudan a incorporar las cuestiones de seguridad y tolerancia a fallos en primer plano durante la fase de diseño de los sistemas, permitiendo así, por ejemplo, el análisis del compromiso entre seguridad y rendimiento. En segundo lugar, se proporcionan varios algoritmos para calcular el rendimiento (también bajo condiciones de fallo) mediante el cálculo de cotas de rendimiento superiores, evitando así el problema de la explosión del espacio de estados. Por último, se proporcionan algoritmos para calcular cómo compensar la degradación de rendimiento que se produce ante una situación inesperada en un sistema con tolerancia a fallos

    The Virtual Bus: A Network Architecture Designed to Support Modular-Redundant Distributed Periodic Real-Time Control Systems

    Get PDF
    The Virtual Bus network architecture uses physical layer switching and a combination of space- and time-division multiplexing to link segments of a partial mesh network together on schedule to temporarily form contention-free multi-hop, multi-drop simplex signalling paths, or 'virtual buses'. Network resources are scheduled and routed by a dynamic distributed resource allocation mechanism with self-forming and self-healing characteristics. Multiple virtual buses can coexist simultaneously in a single network, as the resources allocated to each bus are orthogonal in either space or time. The Virtual Bus architecture achieves deterministic delivery times for time-sensitive traffic over multi-hop partial mesh networks by employing true line-speed switching; delays of around 15ns at each switching point are demonstrated experimentally, and further reductions in switching delays are shown to be achievable. Virtual buses are inherently multicast, with delivery skew across multiple destinations proportional to the difference in equivalent physical length to each destination. The Virtual Bus architecture is not a purely theoretical concept; a small research platform has been constructed for development, testing and demonstration purposes

    Automated water monitor system field demonstration test report. Volume 2: Technical summary

    Get PDF
    The NASA Automatic Water Monitor System was installed in a water reclamation facility to evaluate the technical and cost feasibility of producing high quality reclaimed water. Data gathered during this field demonstration test are reported
    corecore