IST Results - 17/11/2005
Já estamos perto do momento no qual novos tipos de rotinas automatizadas e programas de computador poderão operar independentemente do controle humano direto, para desempenhar tarefas pré-definidas. Ajudando a alcançar esse objetivo, pesquisadores desenvolveram um modelo que auxilia o desenvolvimento de aplicações construídas a partir de objetos móveis capazes de ter noção de si próprios, ou sencientes.
Antes de mais nada, os programadores precisam vencer as limitações das arquiteturas e das camadas intermediárias atuais, largamente baseadas em modelos de programação seqüenciais. Este é o objetivo do programa de pesquisas europeu CORTEX, que planeja também explorar as questões teóricas fundamentais e as questões práticas relacionadas ao uso de "objetos sencientes". "De um lado nós temos os sistemas clássicos de controle, programados em um formato estritamente seqüencial, para responder a uma seqüência precisamente definida de eventos," explica o coordenador do projeto Paulo Veríssimo, da Universidade de Lisboa.
"De outro lado, nós temos o mundo real, onde os ambientes interagem e pouca coisa pode ser prevista com precisão. Se desejamos construir coisas altamente interativas, como robôs móveis, equipamentos de vestir que possam interagir de forma inteligente com seu ambiente, sistemas de realidade ampliada, etc., nós precisamos saber como programar essas aplicações."
Os pesquisadores já criaram um modelo de programação para apoiar o desenvolvimento de aplicações móveis sencientes, ou conscientes de si mesmas. Eles criaram uma arquitetura de sistemas aberta e escalável que permite o mapeamento de vários tipos de redes, de redes CAN até LANs e WANs, especialmente aquelas que utilizam tecnologias de comunicações móveis. Eles também prototiparam a camada intermediária necessária para suportar o modelo, que garante o funcionamento dos protocolos e serviços necessários ao funcionamento dos objetos sencientes.
Para apresentar os resultados da pesquisa, os cientistas desenvolveram vários protótipos de demonstração, incluindo um que mostra como dispositivos robóticos podem assinar e cancelar a assinatura em listas de distribuição de informações, tanto como provedores de informação quanto como usuários da informação.
De forma geral, robôs móveis individuais são incapazes de avaliar o ambiente ao seu redor simplesmente a partir dos seus próprios sensores - eles precisam cooperar com outros. Na demonstração, um sistema supervisor externo monitorava suas ações e mostrava como a base de conhecimentos de cada robô individual se expande por meio da cooperação com outros.
A demonstração de cooperação entre automóveis mostrou como os carros podem comunicar-se uns com os outros e reagirem aos movimentos dos demais para evitar acidentes. Os pesquisadores montaram um simulador de cruzamento, com uma série de carros se aproximando a diferentes velocidades. Permitindo que os veículos se comunicassem uns com os outros, utilizando conexões sem fios, todos passaram pelo cruzamento em um fluxo contínuo, sem que nenhum precisasse parar, simplesmente ajustando suavemente suas velocidades à medida em que se aproximavam da esquina. A mesma técnica pode ser aplicada para trens, aviões e qualquer outra forma de transporte, segundo Veríssimo.
A fim de testar perfeitamente sistemas críticos quanto à segurança, é normalmente necessário construir e testar as ações dos equipamentos prontos, assim como testar o software. Entretanto, em muitas aplicações em larga escala, como veículos se aproximando de um cruzamento, por exemplo, esses testes podem não apenas ter um custo proibitivo, como também ser muito perigosos.
Para resolver esse problema, os cientistas desenvolveram e demonstraram uma plataforma de software para emular ambientes reais para o testes de aplicações relacionadas à segurança. A plataforma foi projetada especificamente para complementar metodologias tradicionais de engenharia de software, tais como métodos formais para a especificação, desenvolvimento e verificação de redundância em sistemas de hardware e software.
"Nós demos sensibilidade ao contexto a essas aplicações, capacitando-as a entender o que está acontecendo nas suas imediações. Por exemplo, um robô que possa ir a uma área de acidente sem conhecimento anterior da área e de suas cercanias," explica Veríssimo. "Aplicações como esta são capazes de cooperar para analisar autonomamente seu ambiente, e reagir conforme a necessidade."
O projeto CORTEX chamou a atenção de várias empresas. Seus resultados estão agora servindo como ponto de partida para uma nova etapa de pesquisas mais práticas, quando os pesquisadores já trabalharão diretamente com parceiros da indústria para o desenvolvimento de produtos finais, que poderão chegar ao mercado.