28 research outputs found
Flexible management of bandwidth and redundancy in fieldbuses
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
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
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
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.
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
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
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
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
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