A Survey on Real-time Constraints for Ambient Intelligence
Transcrição
A Survey on Real-time Constraints for Ambient Intelligence
A Survey on Real-time Constraints for Ambient Intelligence Ivan Luiz Salvadori and Patricia Della Méa Plentz Pós-Graduação em Ciência da Computação - PPGCC Departamento de Informática e Estatística - INE Universidade Federal de Santa Catarina - UFSC Florianópolis, Santa Catarina, Brasil [email protected],[email protected] Resumo Através de tecnologias e serviços, Ambient Assisted Living busca proporcionar maior qualidade de vida para pessoas idosas ou pessoas que dependem de algum tipo de assistência. Esse artigo apresenta uma resenha de artigos que utilizam diferentes tipos de abordagens e aplicações, que são apresentadas, comparadas e avaliadas. 1 Introdução O objetivo desse artigo é fazer uma revisão de trabalhos que abordam sistemas para ambientes inteligentes com foco em AAL, sob a perspectiva de sistemas de tempo real. Os trabalhos são organizados em três categorias: Human Behavior Analysis and Recognition, Plataforms, Models, Sensors and Devices e Service-Oriented Communication. O primeiro esforço é apresentar trabalhos relevantes para analise e reconhecimento de atividades realizadas por seres humanos em um ambiente inteligente. As atividades são capturadas por diversos tipos de sensores que constituem uma plataforma capaz de reagir a determinados estímulos. Entretanto, é necessário estabelecer mecanismos de comunicação, pois os sensores e dispositivos embarcados são distribuídos pelo ambiente. Grande parte das plataformas utiliza SOA (arquitetura orientada a serviços) para trasnformar os receptores e atuadores do ambiente em provedores e clientes de serviços. Sistemas AmI são fortemente influenciados pelo domínio de aplicação, pois diferentes domínios exigem diferentes características de reconhecimento de atividades, sensores e restrições temporais. Sendo assim, são apresentados os estudos de caso e protótipos dos trabalhos selecionados, bem como suas restrições temporais. 2 Real-time Systems O termo Tempo Real está sendo amplamente utilizado por uma sociedade que busca rapidez nas comunicações, decisões e nas suas atividades cotidianas. Mesmo que esse termo não seja utilizado com a precisão conceitual necessária, a sua utilização torna clara a importância que o tempo exerce sobre os sistemas computacionais. Exemplos de aplicações que possuem comportamentos diretamente ligados ao tempo são: sistemas de tráfego aéreo e ferroviário, controle de usinas de energia, sistemas de automação industrial, além de sistemas embarcados em aviões, carros e na robótica em geral. Para garantir que os sistemas de tempo real respeitem as restrições temporais impostas, é necessária a utilização de técnicas adequadas, que compreendem algoritmos e metodologias não suportados pelas abordagens tradicionais. Sistemas de tempo real são sistemas computacionais que reagem a estímulos do ambiente em prazos definidos. Nesse tipo de sistemas, além da integridade lógica dos resultados, é esperado que as reações ocorram dentro de um prazo estipulado. Reações que ocorrem fora do prazo especificado podem perder a utilidade, ou em casos mais críticos, podem representar uma ameaça. As reações podem ser vistas como serviços oferecidos a usuários humanos ou computacionais. Dessa forma, sistemas de tempo real devem ser capazes de oferecer garantias de correção temporal a todos os serviços que apresentam restrições temporais. O conceito de previsibilidade é fundamental para os sistemas de tempo real, pois permite conhecer o comportamento do sistema antes da sua execução. Este conceito implica que somente o desempenho computacional não é suficiente para atender os requisitos temporais das atividades. Para alcançar a previsibilidade, deve-se considerar a pior situação de carga computacional, juntamente com os tipos e frequências das possíveis falhas. Hardware, sistemas operacionais e linguagens de programação específicos para sistemas de tempo real também são fatores importantes para garantir a previsibilidade, uma vez que as abordagens tradicionais desses elementos são fontes de não determinismos. Os sistemas de tempo real podem ser classificados em Sistemas de Tempo Real Não Críticos (Soft Real Time Systems) e em Sistemas de Tempo Real Críticos (Hard Real Time Systems). Nos sistemas não críticos as consequências de uma falha, em razão do tempo, são da mesma ordem de magnitude dos benefícios do sistema em operação. Nos sistemas críticos, uma falha temporal ultrapassa significativamente os benefícios do sistema, originando uma falha catastrófica. Aplicações de tempo real, de forma geral, estão sujeitas a prazos. Dessa forma, as tarefas que constituem essas aplicações devem ser concluídas antes de um determinado deadline. Outra característica importante das tarefas em sistemas de tempo real diz respeito à regularidade de ativações (execuções). As Tarefas Periódicas são ativadas dentro de intervalos regulares em uma sequência infinita. As Atividades Aperiódicas ou Assíncronas possuem característica aleatória, pois são ativadas por meio de eventos. 3 Ambient Intelligence Esta seção apresenta uma contextualização de AmI e também AAL. AAL é um subconjunto de AmI. [8] Ambient Intelligence and Smart Environments: A State of the Art. [20] Policies Production System for Ambient Intelligence Environments. [28] System of Systems. Falar sobre AAL. [27] Relevance and perspectives of AAL in Brazil. Um conceito chave é a coordenação dos dispositivos para formar um ambiente inteligente. [5] A Survey on Ambient Intelligence in Healthcare. 4 Human Behavior Analysis and Recognition [32] A survey on ontologies for human behavior recognition. [24] Using Temporal Logic and Model Checking in Automated Recognition of Human Activities for Ambient-Assisted Living. Segundo Magherini et al. [24], o reconhecimento automático das atividades diárias tem um papel fundamental para melhorar a qualidade de vida das pessoas idosas ou pessoas que necessitam de algum tipo de acompanhamento. O reconhecimento das atividades pode ser realizado por meio de sensores que capturam informações de ambientes monitorados. Entretanto, existe um gap semântico entre os dados de baixo nível capturados pelos sensores, e a interpretação de auto nível necessária para a execução de um serviço de saúde específico. Existem diferentes maneiras de classificar as técnicas de reconhecimento de padrões. Entre elas estão: abordagens baseadas em aprendizado e baseadas em especificação, além das abordagens estatísticas, sintáticas e baseadas em descrição. Este artigo apresenta uma nova abordagem baseada em descrição onde o padrão de comportamento é caracterizado, em tempo real, através de fórmulas de lógica temporal proposicional e comparado com fluxos de eventos identificados em ambientes monitorados. O artigo apresenta um estudo de caso onde uma senhora é monitorada por diversos tipos de sensores instalados em sua Smart Home. Os sensores capturam as atividades executadas e um sistema auxilia na execução, além de monitorar situações de risco, emitindo mensagens para pessoas responsáveis em caso de irregularidades. Magherini et al. [24] utilizam uma abordagem baseada em descrição que define padrões de comportamento através de lógica temporal proposicional (Real-time Temporal Logic). Uma ontologia é utilizada para descrever as atividades diárias realizadas por pessoas. Os autores demonstram como a lógica é capaz de especificar padrões reais de ADLs (atividades básicas) que podem ser automaticamente identificadas em um ambiente monitorado por sensores. Os autores propõem uma classificação para ADL, que categoriza as atividades em Atividade, Ação e Observação. Atividade é uma tarefa que busca atingir um objetivo através de vários passos, em diferentes ordens de execução, por exemplo, fazer o café da manhã. Ação representa um passo de uma Atividade, por exemplo, esquentar a água. Observação é o monitoramento da sequência de passos executados durante uma determinada Ação. [7] Human behavioural analysis with self-organizing map for ambient assisted living. Appiah et al. [7] apresentam uma proposta para sistemas inteligentes de vigilância. Este trabalho apresenta um sistema capaz de caracterizar diferentes comportamentos, aprender localizações, além de detectar eventos específicos, como por exemplo queda de pessoas, em tempo real, através de um modelo probabilístico. O sistema executa em um hardware de baixo custo, que contém uma câmera capaz de capturar imagens em um ângulo de 105 graus. O principal objetivo do sistema é identificar a presença de uma pessoa, e determinar a sua localização em um ambiente, com o menor consumo de energia. Appiah et al. [7] apresentam uma abordagem fortemente focada no baixo consumo de energia. O principal objetivo do trabalho é ser capaz de determinar a posição de uma pessoa em um ambiente monitorado, com o menor consumo de energia possível. O sistema é subdivido em três subsistemas. O primeiro subsistema, denominado Detection sub-system possui as fases de identificação dos limites do ambiente, treinamento e retreinamento, e por fim, a fase de identificação de objetos. Quando a câmera sofre alguma movimentação ou existem muitos objetos no ambiente monitorado, é necessário que ocorra o treinamento ou retreinamento do sistema. Os outros dois subsistemas são denominados Behavioural sub-system e Activity level Estimator. [10] A Vision-Based System for Intelligent Monitoring: Human Behaviour Analysis and Privacy by Context. [3] Dynamic sensor data segmentation for real-time knowledge-driven activity recognition. Okeyo, Chen e Wang [29] apresentam uma abordagem híbrida que considera aspectos ontológicos e temporais para a modelagem e reconhecimento de atividades derivadas da abordagem baseada em aprendizado. São apresentados os detalhes da modelagem da ontologia que descreve as atividades e seus relacionamentos. As atividades são classificadas em ações, atividades simples e atividades compostas. Uma ação é indivisível e atômica. Uma atividade simples é uma sequência ordenada de ações. Atividades complexas correspondem à uma coleção de duas ou mais atividades simples que ocorrem em um determinado intervalo de tempo. A abordagem proposta combina o uso de ontologias e conhecimentos temporais que representam as interdependências entre as atividades. A combinação dos formalismos ontológicos e temporais de representação do conhecimento, proporciona uma forma mais adequada para expressar a representação de atividades complexas. O trabalho apresenta a validação da proposta baseada na construção de um protótipo capaz de reconhecer atividades simples e compostas. Okeyo, Chen e Wang [3] desenvolveram um abordagem híbrida para a modelagem e reconhecimento de atividades compostas que combina ontologias e conhecimento temporal para criação de modelos inter-relacionados através de relações temporais. A abordagem baseada em dados é amplamente explorada em mineração de dados e aprendizado de máquina, além de ser capaz de manipular informações temporais de atividades e seus relacionamentos. Entretanto, a abordagem baseada em dados necessita de uma bases de dados significativamente grande, capaz de representar todas as variações das atividades. Por outro lado, a abordagem baseada em conhecimento apresenta todos os formalismos necessários para desenvolver modelos de atividades, que podem ser processados através de inteligência artificial para realização de inferências e reconhecimentos. Os autores utilizam uma abordagem híbrida que combina as abordagens baseadas em dados e em conhecimento. A principal vantagem da abordagem híbrida é a capacidade de modelagem e reconhecimento de atividades enriquecidas com informações de domínio. [33] Online recognition of human activities and adaptation to habit changes by means of learning automata and fuzzy temporal windows. Diversas técnicas de reconhecimento de padrões são descritas pelos trabalhos. Dentre elas estão as técnicas baseadas em aprendizado (ou conhecimento), especificação, estatística (ou baseada em dados), sintaxe, descrição e híbrida. A abordagem estatística apresenta bons resultados com atividades sequenciais, além de ser capaz de representar as restrições temporais. Entretanto, a abordagem estatística necessita de grandes quantidades de informações. A abordagem sintática representa as atividades humanas através de cadeias de símbolos que são interpretadas por algoritmos de análise. Entretanto, a abordagem sintática exige uma definição completa de todas as possíveis regras de formação para cada atividade, especialmente para atividades que podem ser executadas em ordens diferentes. A abordagem baseada em descrição busca especificar as atividades executadas por pessoas através de propriedades que devem ser satisfeitas em diferentes execuções. A abordagem baseada em aprendizado exige que engenheiros do conhecimento, juntamente com especialistas de um determinado domínio, especifiquem modelos de atividades utilizando técnicas de engenharia do conhecimento. A abordagem híbrida combina a abordagem baseada em dados com a abordagem baseada em conhecimento. As diferentes abordagens e aplicações utilizadas pelos trabalhos selecionados pode ser vistas na Tabela 1. Tabela 1. Principais abordagens e aplicações Trabalho Selecionado Appiah et al. [7] Dunkel, Bruns e Stipkovic [11] Magherini et al. [24] Okeyo, Chen e Wang [29] Surie, Partonia e Lindgren [35] 4.1 Abordagem Probabilística Processamento de eventos Descrição (lógica temporal) Conhecimento+dados (híbrido) Visão Computacional Ambiente Smart Home Smart Phone Smart Home Smart Home Smart Kitchen Estudos de Caso e Protótipos Magherini et al. [24] implementam um protótipo chamado Automated Recognizer of ADLs capaz de identificar atividades de uma única pessoa. O estudo de caso fictício monitora uma senhora idosa que mora sozinha em uma casa que foi transformada em Smart Home por meio da instalação de diversos sensores. Os sensores são capazes de identificar portas abertas, presença de pessoas na casa, toque de telefone, além de situações de perigo como forno ligado, dentre outras. Quando o sistema identifica situações de risco que permanecem por um determinado tempo, o sistema envia mensagens de texto informando que a senhora monitorada está em perigo. A Smart Home é capaz de monitorar se as medicações que a pessoa deve tomar foram tomadas. Com o objetivo de treinar o sistema, Appiah et al. [7] instalaram câmeras em quatro salas diferentes, que capturaram imagens durante duas semanas, sem nenhuma interrupção. Para testar as características do sistema, um dos quartos utilizados possui uma ampla janela que recebe luz solar. Durante os finais de semana, o sistema realizou seis vezes o processo de retreinamento. Este fato se deve exclusivamente por mudanças na iluminação e por reflexos na janela, uma vez que durante esses dias não houve registro de uso nas salas monitoradas. Durante a execução do sistema, foi possível identificar as áreas que mais sofreram movimentações. Falta analizar [10] Okeyo, Chen e Wang [3] desenvolveram um protótipo para o reconhecimento de atividades simples e compostas. O protótipo é constituído de uma ontologia ADL e também por um sistema multi-agente desenvolvido em Java, denominado JADE. Quatro diferentes tipos de agentes foram utilizado no experimento. O primeiro tipo de agente é responsável por receber os dados dos sensores e segmentar os fluxos de informação. O segundo agente é responsável por gerenciar a execução de inferências de atividades, além de descrever e sumarizar as atividades. O terceiro agente deve realizar a agregação das atividades simples em atividades compostas, com base nas regras previamente estabelecidas. Por fim, o quarto agente realiza as inferências sobre as atividades. A ontologia ADL utilizada no protótipo foi desenvolvida com o padrão OWL 2 com o editor Protégé. Para possibilitar a execução do experimento, foi gerada uma base de informações ADL através do synthetic data generator, resultando em dados relacionados a sete tipos de atividades, como por exemplo, MakeTea, MakeCoffee, MakeChocolate, MakePasta, WatchTelevision, HaveBath, WashHands, dentre outras. A geração dos dados resultou em oito semanas de atividades, totalizando 104 atividades. Falta analizar [33] 4.2 Restrição Temporal Magherini et al. [24] desenvolveram uma linguagem para especificar que uma determinada sequência de observações pode ser considerada como a execução de uma Ação ou Atividade. A lógica temporal aplica formalismos para possibilitar inferências sobre a ordenação e temporização de eventos. Diversas formulações foram propostas para atender domínios específicos, como sistemas metroviários e aéreos. Entretanto, segundo [24], é preciso ampliar os modelos anteriores para atender as exigências do contexto de ADLs. A abordagem combina operadores booleanos e temporais. Os operadores temporais podem assumir os seguintes valores: Y (Yesterday), O (Once), H (Historically) e S (Since). A restrição de tempo real (Real-time constraints) considera o tempo esperado entre diferentes ações, através do uso de anotações nos operadores temporais. Appiah et al. [7] utilizam mecanismos para verificar medidas de similaridade através de métodos de clusterização hierárquica dinâmica. Esse mecanismo utiliza o modelo gaussiano de dispersão probabilística, que avalia os dados capturados por um determinado período de tempo para realizar o processo de treinamento do sistema. Os autores utilizam o termo real-time/on-line para descrever o processo de treinamento de detecção de atividades anormais, cujo o sistema é capaz de desempenhar. Falta analizar [10] Okeyo, Chen e Wang [3] citam que, de forma geral, as atividades executadas por seres humanos são caraterizadas por informações fortemente vinculadas ao tempo, como por exemplo, intervalos entre atividades, duração, padrões de repetição, dentre outros. As atividades modeladas e reconhecidas pela abordagem proposta é capaz de manipular diversos tipos de informações temporais. A abordagem apresenta o conceito de tempo de transição entre atividades, onde é possível manipular atividades que devem ser executas respeitando uma determinada precedência e também com uma janela temporal. Por exemplo, o padrão WashHands0, MakePastaAndMakeTea-600 define que a primeira atividade deve ser WashHands. A segunda atividade definida como MakePastaAndMakeTea600, deve ocorrer 600 segundos após a finalização da atividade WashHands. Falta analizar [33] 5 Plataforms, Models, Sensors and Devices [17] A Survey on Cache Management Mechanisms for Real-Time Embedded Systems. [8] diz que é mais importante estudar o processo de integração das tecnologias existentes, que desenvolver mecanismos especificos para um único dispositivo. Isso enfatiza a importancia das plataformas e middlewares. Além disso as plataformas oferecem um cenário de aplicação para AmI (eu to dizendo isso). [6] Evaluation of AAL Platforms According to Architecture-Based Quality Attributes. Apresenta uma avaliação das plataformas para AAL mais utilizadas. A avaliação tem foco nas proriedades não funcionais. O trabalho identifica e descreve um conjunto de atributos de qualidade relevantes ao contexto de AAL. Os atributos de qualidade identificados são: Recoverability Encryption Mechanisms User Role Security Profile Changeability Installability Adequacy for Small Devices Resource Consumption Communication Overhead Presence of Single Point of Failure: A single point of failure corresponds to a system component that, if it fails, will compromise the proper functioning of the system. Safety Patterns Usage: Safety patterns are measures applied to the system architecture that will assure that the system will always be in a safe state. Examples of safety patterns are Homogeneous/Heterogeneous Redundancy, Watch Dog, and Triple Modular Redundancy. A maioria das plataformas utilizam a abordagem SOA. Dessa forma, seria importante aprofundar os estudos em SOA Real Time. Além de SOA, algumas abordagens são baseadas em ontologias. Ontologias são utilizadas para facilitar a interoperabilidade e compartilhamento de conteúdo entre os diferentes serviços. A plataforma OpenALL além de possuir uma ontologia compartilhada, utiliza descoberta de serviços semânticos. Sendo assim, seria importante pesquisar sobre os impactos de tecnologias semânticas em sistemas de tempo real. Os atributos de qualidade que mais se aproximam de sistemas de tempo real são os relacionados à categoria SAFETY (Os dois ultimos atributos em destaque). Com exceção apenas da plataforma UniversAAL, todas as outras plataformas apresentam pontos que resultam na falha de todo o sistema (Presence of Single Point of Failure). Aponta que a utilização de safety patterns não é adequadamente considerada, mesmo conhecendo os riscos que as possíveis falhas podem resultar na integridade física das pessoas assistidas. [25] Ambient Assisted Living Healthcare Frameworks, Platforms, Standards, and Quality Attributes. [38] OpenCare project: An open, flexible and easily extendible infrastructure for pervasive healthcare assisted living solutions. [12] HYDRA: A Development Platform for Integrating Wireless Devices and Sensors into Ambient Intelligence Systems. Hydra is also a serviceoriented platform, but it intends to support the develop- ment of AAL systems that operate in environments with limited resources, such as energy, memory, and computational processing (Hydra Project, 2011). Hydra is a service-oriented platform built for operating in environments with limited resources, such as energy, memory, and computational processing. It is a peer-to-peer based system that offers, among others, mechanisms for allowing (Antonino2011). [2] The universal Reference Model for AAL. UniversAAL includes a middleware and a set of general-purpose components; it also includes a runtime-support environment, development support, and community support (training and an online store of AAL services) (UniversAAL, 2011). UniversAAL is based on a service-oriented architecture that reuses many components of PERSONA. The platform includes three main parts: (i) a runtime-support environment that provides core services for the execution of AAL services, (ii) a development support that provides documentation, tools, and development resources, and (iii) community support, including training and an online store, a one-stop shop for AAL services and applications (Antonino2011). [23] A Reactive and Proactive Approach for Ambient Intelligence. Segundo os autores, não existe suporte adequado em sistemas de AAL para incorporar comportamentos reativos e proativos. Dessa forma, este artigo aborda questões para o processamento de eventos para detectar e predizer siatuações futuras. O sistema proposto é capas de tomar decisões baseadas em evidencias que demonstram a possibilidade de acontecimento de situações futuras. O sistema utiliza dados capturados pode sensores que são processados semanticamente para gerar entidades que caracterizam o estado atual do ambiente. As ações executadas pelo sistema são implementadas através de Web Services implandados diretamento em dispositivos físicos como smartphones. Este artigo analisa os estudo de caso de pessoas idosas que devem tomar uma determinada medicação. O sistema deve ser capa de monitorar essa atividade e agir proativamente para garantir a execução das atividades necessárias, garantindo a saúde das pessoas monitoradas. A abordagem proposta utiliza o conceito de Situation as a Service. Através de aplicações pervasivas, são coletadas informações sobre situações situações que são importantes que necessitam que alguma ação seja tomada. Além disso, as sitações coletadas são associadas à informações contextuais necessárias para a tomada de decisão. O sistema é baseado na arquitetura orientada a serviços com um complexo processamento de eventos auxiliado por um modulo proativo. O modulo preditivo possui o conhecimento sobre as possíveis ações proativas que podem ser tomadas diante de uma situação adversa. Após uma etapa de treinamento, o sistema pode ser utilizado para capturar informações, processar eventos que correspondem a situações atuais do ambeinte e executar ações proativas para evitar situações indesejadas. OBS: Os autores utilizam o termo real time para caracterizar a coleta de informações de forma online. Não existe nenhuma garantia que as ações serão tomadas em tempo adequado. Existe a preocupação apenas de identificação dos comportamentos em tempo adequado. Está faltando essa premissa de atuação com deadline definidos. O uso de cameras IP e arquitetura SOA é mais um reforço para pesquisas em Web Real-Time. [11] Event-based smartphone sensor processing for ambient assisted living. Dunkel, Bruns e Stipkovic [11], apresentam uma abordagem inovadora para o processamento de dados gerados por sensores presentes em smarphones. A abordagem realiza o processamento de eventos complexos diretamente no smartphone. A utilização de smartphones nesse contexto se justifica pela possibilidade de utilizar diversos tipos de sensores presentes no dispositivo, bem como utilizar sensores externos conectados via bluetooth. A abordagem proposta realiza a combinação de diversos sensores, que produzem um fluxo contínuo de dados, que são associados à um contexto específico de um domínio de aplicação. O artigo apresenta um estudo de caso onde uma pessoa idosa sofre uma queda, e como o sistema é capaz de identificar esse evento complexo. Dunkel, Bruns e Stipkovic [11] utilizam uma abordagem que realiza o processamento de eventos complexos (CEP). Eventos complexos realizam o processamento de grandes volumes de informações contínuas (streams). O processamento de eventos complexos busca identificar padrões de eventos que podem ser relacionados a um conceito de um domínio específico. Agentes de processamento de eventos (EPA) são componentes que possuem um conjunto de regras específico que podem ser interligados à uma rede de processamento de eventos (EPN), que permite a comunicação entre diferentes agentes. Diversas abordagens utilizam os sensores de dispositivos móveis para capturar eventos, porém o processamento é realizado por um servidor. Os autores propõem uma abordagem onde o processamento ocorre no próprio dispositivo móvel. A abordagem manipula eventos em diferentes níveis de abstração. O nível mais baixo de abstração é a informação originada pelo sensor. O próximo nível é a transformação do evento do sensor para um evento de domínio, onde o evento é enriquecido com informações externas. o nível mais alto de abstração ocorre quando um evento de domínio é sintetizado para um evento de comportamento. Nesse nível de abstração, é possível identificar um determinado comportamento executado pela pessoa portadora do dispositivo móvel. [35] Human Sensing Using Computer Vision for Personalized Smart Spaces. Surie, Partonia e Lindgren [35] buscam melhorar a experiência na execução de atividades cotidianas, através do reconhecimento de diferentes pessoas, bem como seus padrões de comportamento. Dessa forma, é possível aplicar diferentes ações para diferentes pessoas, atendendo diferentes expectativas. Entretanto, para melhorar a experiência das pessoas é preciso que as informações sejam identificadas em tempo real. Esse tra- balho apresenta uma infraestrutura baseada em visão computacional para o monitoramento de pessoas em ambientes Smart. O artigo apresenta um estudo de caso, onde uma cozinha é capaz de ajudar seus ocupantes com as suas limitações. Neste exemplo, as pessoas executam atividades que abrangem a preparação de um café da manhã. Para identificar os ocupantes da cozinha, o sistema utiliza o Microsoft Kinect. O sistema realiza os processos de identificação e reconhecimento de face, analisando as características físicas como olhos, nariz, lábios, etc. Surie, Partonia e Lindgren [35] apresentam mais detalhes relacionados a identificação de pessoas que estão em um Smart Space. O foco está nos mecanismos para identificar e diferenciar os ocupantes, onde os autores apresentam várias abordagens, como por exemplo, biometria, reconhecimento de voz, postura corporal, dentre outras. O reconhecimento de pessoas necessita identificar em qual posição do ambiente as pessoas estão. Entretanto, a abordagem que utiliza câmeras RGB tem dificuldades em reconhecer pessoas devido as grandes variações de posições possíveis que os ocupantes podem realizar. Desafios maiores estão presentes quando é necessário reconhecer movimentos faciais, onde variações de iluminação, distância da câmera e posição do rosto exercem grande impacto no processe de reconhecimento. Uma alternativa é o reconhecimento de pessoas através da identificação de seus objetos pessoais, uma vez que o processo de reconhecimento de objetos, em muitos casos é um processo mais simplificado. A abordagem proposta pelos autores combina o reconhecimento facial e postural dos ocupantes. A fusão de informações foi fator fundamental para garantir bons resultados, mesmo quando a pessoa monitorada não se encontra em posição frontal a câmera. Mesmo com a captura de imagens em mais de um canal, quando duas pessoas estão sendo monitoras simultaneamente, a abordagem encontrou diversas ocorrências de confusão, principalmente quando as duas pessoas se aproximavam uma da outra. Nesta situação, o reconhecimento facial é mais adequado para identificar e diferenciar as pessoas. [13] CoCaMAAL: A cloud-oriented context-aware middleware in ambient assisted living. O foco deste trabalho é facilitar o fluxo de dados entre os sensores e os locais de processamento das informações. Os autores dizem que existe uma grande desafio e complexidade em derivar informações provenientes dos sensores em informações contextualizadas. Dessa forma estre trabalho apresenta um modelo baseado em SOA para geração de contextos. Apresentam como desafios a aquisição de dados em tempo real provenientes de diversos sensores corporais, processamento de dados heterogênios, integração de tarefas em sistemas distribuídos. A justificativa para usar coputação em núvem é para atenuar esses desafios. O artigo apresenta uma compração com outros modelos baseados em contexto. O artigo apresenta os detalhes do modelo. Context-aware middleware é o componente pricipal da proposta. É responsável por manipular os dados coletados. [19] WhatsUpNow: urban social application with real-time peer-topeer ambient and sensory data exchanges. [4] Predictable and reliable time triggered platform for Ambient Assisted Living. falar sobre The BOnSAI ontology (a Smart Building Ontology for Ambient Intelligence). 5.1 Estudos de Caso e Protótipos [23] [11] [35] [19] [4] 5.2 Restrição Temporal [23] [11] [35] [19] [4] 6 Real-time Service-Oriented Communication [18] Trends and Challenges in Formal Specification and Verification of Services Composition in Ambient Assisted Living Applications. [34] A survey of service composition in ambient intelligence environments. Algoritmo de escalonamento de chamadas Um WS: [14] Achieving Predictability and Service Differentiation in Web Services. Diversos WSs: [15] com versão extendida em [16] Building Web services middleware with predictable execution times. [26] Web services on deeply embedded devices with real-time processing. Até mesmos os dispositivos embarcados devem ter sistema soperacionais com suporte a tempo real, como é o caso do FreeRTOS. [1] Time-constrained services: a framework for using real-time web services in industrial automation. [22] A smart communication architecture for ambient assisted living. [31] Using SOA in Critical-Embedded Systems. In this paper we discuss whetherWeb services are suitable or not for embedded systems. Descoberta de serviços tem potencial para ser não determinístico, contrario aos requisitos de sistemas de tempo real. Neste trabalho, são os sensores que tomam a decisão, um pouco esquisito, mas válido. Sistemas criticos devem utilizar apenas cconfiguações estáticas, pois a dinamicidade tem potencial para não determinismos. Sendo assim, a característica de autoadaptação não pode ser usada em AmI crítico. [39] A RESTful framework for Internet of things based on software defined network in modern manufacturing. [9] Event-driven modeling and testing of real-time web services. Apresenta o conceito de deadline para execução de uma função do WS, mas não trabalha com escalnamento de tarefas. [40] Real-time service process admission control with schedule reorganization. [37] Autonomous Composition and Execution of REST APIs for Smart Sensors. Sensores também podem ser Web APIs que expõem o estado dos sensores e serviços. [36] Managing Real-Time Web Services through Agents. [21] Reliable Web service composition based on QoS dynamic prediction. [30] RESTful Discovery and Eventing for Service Provisioning in Assisted Living Environments. A questão de QoS é fundamental para AmI. QoS é estabelecido pelo usuário, e não pelo serviço. QoS é dinámico [21], e no caso de [36] pode ser negociado com o cliente. A própria composição de WS deve possuir deadlines bem definidos. Não achei propostas de composição de WS com restrições temporais. Segungo [21] as abordagens para composição de WS com base em QoS possuem complexidade exponencial. Pare reduzir essa complexidade, o uso de algoritmos genéticos e Ant colony optimizations are used. Um parágrafo para analisar os trabalhos com a perspectiva de tempo real. 6.1 [14] Estudos de Caso e Protótipos [26] [1] [22] [31] [39] [9] [40] [37] [36] [21] [30] 6.2 Restrição Temporal [14] [26] [1] [22] [31] [39] [9] [40] [37] [36] [21] [30] 7 Discussão Uma discussão geral sobre os três aspectos estudados. Falar sobre o conflito entre imprevisibilidade dos Sistemas de sistemas com a necessidade de previsibilidade de sistemas de tempo real. Ambientes inteligentes destinados ao cuidado de pessoas doentes e idosas devem ser projetadas de forma diferente de ambientes com outros propósitos. Atividades de monitoramento e resposta as possíveis emergências devem ser executadas dentro de um tempo adequado e previamente especificado, atendendo assim à restrições de sistemas de tempo real. Smart Spaces enhance user capabilities and comfort by providing new services and automated service execution based on sensed user activity. Though, when becoming really “smart”, such spaces should not only provide some service automation, but further learn and adapt their behavior during use [8]. O processo de aprendizado ao longo da execução em uma plataforma de AmI é dito como requisito para um ambiente ser considerado inteligente. Entretanto, técnicas de aprendizado, especialmente redes neurais, tornam o processo imprevisível, pois não é possível saber como o aprendizado ocorreu, apenas os resultados são tangíveis. Deve-se separar sistemas AmI em partes criticas e não criticas. Sistemas criticos devem utilizar apenas cconfiguações estáticas, pois a dinamicidade tem potencial para não determinismos. Sendo assim, a característica de autoadaptação não pode ser usada em AmI crítico [31]. Os fatores criticos de AmI podem ser modelados de acordo com missions, descrito por [31]. Ao mesmo tempo que sistemas AmI precisam ser dinâmicos, assumindo um comportamento auto-evolutivo e admitindo novos componentes em tempo de execução, é necessário garantir determinadas restrições temporais, que exigem comportamento previsível. Esta situação representa claramente um conflito, que pode ser solucionado através da separação das funcionalidades críticas das demais funcionalidades do sistema. Na parte crítica devem ser adotadas todas as medidas para garantir a execução dentro dos deadlines especificados, enquanto na parte não crítica podem ser execucatdas as funcionalidades que exigem aprendizado, análise dos dados coletados pelos sensores, ajustes de sensorens e padrões de comportamento. Um desafio é organizar estes dois módulos (critico e não crítico) de modo que a interação entre eles alcance os objetivos dos sistemas de AmI com a segurança e confiabilidade necessárias. As partes não críticas dos sistemas AmI, que envolvem o aprendizado, análise, auto-adaptação e evolução, devem auxiliar e traçar diretrizes para as partes críticas. Uma questão em aberto é como utilizar os resultados não criticos nas partes que exigem restrições temporais. As plataformas são as responsaveis por definir so módulos críticos e não críticos que compõem o sistema. A plataforma tem o conhecimento necessário para atingir os objetivos de um determinado domínio. Um parágrafo sobre tendências e caminhos para futuras pesquisas. 8 Conclusão Referências 1. Time-constrained services: a framework for using real-time web services in industrial automation. Service Oriented Computing and Applications 3(4), 239–262 (dec 2009), http://dx.doi.org/10.1007/s11761-009-0050-y 2. The universal Reference Model for AAL. In: Juan Carlos Augusto, Michael Huch, Achilles Kameas, Julie Maitland, Paul McCullagh, Jean Roberts, Andrew Sixsmith, R.W. (ed.) Handbook of Ambient Assisted Living, vol. 11, pp. 610 – 625. IOS Press (2012) 3. Dynamic sensor data segmentation for real-time knowledge-driven activity recognition. Pervasive and Mobile Computing 10(PART B), 155–172 (feb 2014), http://dx.doi.org/10.1016/j.pmcj.2012.11.004 4. Predictable and reliable time triggered platform for Ambient Assisted Living. In: 2014 8th International Symposium on Medical Information and Communication Technology (ISMICT). pp. 1–5. No. Vl, IEEE (apr 2014), http://ieeexplore. ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6825212 5. Acampora, G., Cook, D.J., Rashidi, P., Vasilakos, A.V.: A Survey on Ambient Intelligence in Healthcare. Proceedings of the IEEE 101(12), 2470– 2494 (dec 2013), http://www.pubmedcentral.nih.gov/articlerender. fcgi?artid=3890262{\&}tool=pmcentrez{\&}rendertype=abstracthttp: //ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6579688 6. Antonino, P.O., Schneider, D., Hofmann, C., Nakagawa, E.Y.: Evaluation of AAL Platforms According to Architecture-Based Quality Attributes. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 7040 LNCS, pp. 264–274 (2011) 7. Appiah, K., Hunter, A., Lotfi, A., Waltham, C., Dickinson, P.: Human behavioural analysis with self-organizing map for ambient assisted living. In: Fuzzy Systems (FUZZ-IEEE), 2014 IEEE International Conference on. pp. 2430–2437 (July 2014), http://dx.doi.org/10.1109/FUZZ-IEEE.2014.6891833 8. Augusto, J.C., Nakashima, H., Aghajan, H.: Ambient Intelligence and Smart Environments: A State of the Art. In: Nakashima, H., Aghajan, H., Augusto, J.C. (eds.) Handbook of Ambient Intelligence and Smart Environments, pp. 3–31. Springer US, Boston, MA (2010), http://link.springer.com/10.1007/ 978-0-387-93808-0 9. Belli, F., Linschulte, M.: Event-driven modeling and testing of real-time web services. Service Oriented Computing and Applications 4(1), 3–15 (mar 2010), http://dx.doi.org/10.1007/s11761-010-0056-5 10. Chaaraoui, A., Padilla-López, J., Ferrández-Pastor, F., Nieto-Hidalgo, M., FlórezRevuelta, F.: A Vision-Based System for Intelligent Monitoring: Human Behaviour Analysis and Privacy by Context. Sensors 14(5), 8895–8925 (may 2014), http: //www.mdpi.com/1424-8220/14/5/8895/ 11. Dunkel, J., Bruns, R., Stipkovic, S.: Event-based smartphone sensor processing for ambient assisted living. In: Autonomous Decentralized Systems (ISADS), 2013 IEEE Eleventh International Symposium on. pp. 1–6 (March 2013), http://dx. doi.org/10.1109/ISADS.2013.6513422 12. Eisenhauer, M., Rosengren, P., Antolin, P.: HYDRA: A Development Platform for Integrating Wireless Devices and Sensors into Ambient Intelligence Systems. In: The Internet of Things, pp. 367–373. Springer New York, New York, NY (2010) 13. Forkan, A., Khalil, I., Tari, Z.: CoCaMAAL: A cloud-oriented context-aware middleware in ambient assisted living. Future Generation Computer Systems 35, 114–127 (jun 2014), http://dx.doi.org/10.1016/j.future.2013.07.009http: //linkinghub.elsevier.com/retrieve/pii/S0167739X13001544 14. Gamini Abhaya, V., Tari, Z., Bertok, P.: Achieving Predictability and Service Differentiation in Web Services. In: Differentiation, pp. 364–372 (2009) 15. Gamini Abhaya, V., Tari, Z., Bertok, P.: Using Real-Time Scheduling Principles in Web Service Clusters to Achieve Predictability of Service Execution. pp. 197–212 (2010) 16. Gamini Abhaya, V., Tari, Z., Bertok, P.: Building Web services middleware with predictable execution times. World Wide Web 15(5-6), 685–744 (sep 2012) 17. Gracioli, G., Alhammad, A., Mancuso, R., Fröhlich, A.A., Pellizzoni, R.: A Survey on Cache Management Mechanisms for Real-Time Embedded Systems. ACM Computing Surveys 48(2), 1–36 (nov 2015), http://dl.acm.org/citation.cfm? doid=2830539.2830555 18. Hilia, M., Chibani, A., Djouani, K.: Trends and Challenges in Formal Specification and Verification of Services Composition in Ambient Assisted Living Applications. Procedia Computer Science 19, 540–547 (2013), http://www.sciencedirect.com/ science/article/pii/S1877050913006807 19. Karam, M., Safa, H., Masud, M.: WhatsUpNow: urban social application with real-time peer-to-peer ambient and sensory data exchanges. Multimedia Tools and Applications (aug 2015) 20. Kotsiopoulos, N.P., Vrakas, D.: Policies Production System for Ambient Intelligence Environments. In: Artificial Intelligence: Methods and Applications, pp. 251–263. Springer International Publishing (2014) 21. Liu, Z.Z., Jia, Z.P., Xue, X., An, J.Y.: Reliable Web service composition based on QoS dynamic prediction. Soft Computing 19(5), 1409–1425 (may 2015), http: //link.springer.com/10.1007/s00500-014-1351-4 22. Lloret, J., Canovas, A., Sendra, S., Parra, L.: A smart communication architecture for ambient assisted living. IEEE Communications Magazine 53(1), 26–33 (jan 2015), http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=7010512 23. Machado, A., Lichtnow, D., Pernas, A.M., Wives, L.K.: A Reactive and Proactive Approach for Ambient Intelligence. In: Proceedings of the 16th International Conference on Enterprise Information Systems. pp. 501–512. SCITEPRESS Science and and Technology Publications (2014), http://www.scitepress.org/ DigitalLibrary/Link.aspx?doi=10.5220/0004884205010512 24. Magherini, T., Fantechi, A., Nugent, C., Vicario, E.: Using temporal logic and model checking in automated recognition of human activities for ambient-assisted living. Human-Machine Systems, IEEE Transactions on 43(6), 509–521 (Nov 2013), http://dx.doi.org/10.1109/TSMC.2013.2283661 25. Memon, M., Wagner, S., Pedersen, C., Beevi, F., Hansen, F.: Ambient Assisted Living Healthcare Frameworks, Platforms, Standards, and Quality Attributes. Sensors 14(3), 4312–4341 (mar 2014), http://www.mdpi.com/1424-8220/14/3/4312/ 26. Moritz, G., Pruter, S., Timmermann, D., Golatowski, F.: Web services on deeply embedded devices with real-time processing. In: 2008 IEEE International Conference on Emerging Technologies and Factory Automation. pp. 432–435. IEEE (sep 2008), http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm? arnumber=4638429 27. Nakagawa, E.Y., Antonino, P.O., Becker, M., Maldonado, J.C., Storf, H., Villela, K.B., Rombach, D.: Relevance and perspectives of AAL in Brazil. Journal of Systems and Software 86(4), 985–996 (apr 2013), http://dx.doi.org/10.1016/j. jss.2012.10.013 28. Nielsen, C.B., Larsen, P.G., Fitzgerald, J., Woodcock, J., Peleska, J.: Systems of Systems Engineering. ACM Computing Surveys 48(2), 1–41 (sep 2015), http: //dl.acm.org/citation.cfm?doid=2830539.2794381 29. Okeyo, G., Chen, L., Wang, H.: Combining ontological and temporal formalisms for composite activity modelling and recognition in smart homes. Future Generation Computer Systems 39(0), 29 – 43 (2014), http://www.sciencedirect.com/ science/article/pii/S0167739X14000399 30. Parra, J., Hossain, M., Uribarren, A., Jacob, E.: RESTful Discovery and Eventing for Service Provisioning in Assisted Living Environments. Sensors 14(5), 9227–9246 (may 2014), http://www.mdpi.com/1424-8220/14/5/9227/ 31. Rodrigues, D., Pires, R.d.M., Estrella, J.C., Marconato, E.A., Junior, O.T., Branco, K.R.L.J.C.: Using SOA in Critical-Embedded Systems. In: 2011 International Conference on Internet of Things and 4th International Conference on Cyber, Physical and Social Computing. pp. 733–738. IEEE (oct 2011), http: //ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6142164 32. Rodríguez, N.D., Cuéllar, M.P., Lilius, J., Calvo-Flores, M.D.: A survey on ontologies for human behavior recognition. ACM Computing Surveys 46(4), 1–33 (mar 2014), http://dl.acm.org/citation.cfm?doid=2597757.2523819 33. Ros, M., Cuéllar, M., Delgado, M., Vila, A.: Online recognition of human activities and adaptation to habit changes by means of learning automata and fuzzy temporal windows. Information Sciences 220, 86–101 (jan 2013), http://dx.doi.org/10. 1016/j.ins.2011.10.005 34. Stavropoulos, T.G., Vrakas, D., Vlahavas, I.: A survey of service composition in ambient intelligence environments. Artificial Intelligence Review 40(3), 247–270 (oct 2013), http://link.springer.com/10.1007/s10462-011-9283-1 35. Surie, D., Partonia, S., Lindgren, H.: Human sensing using computer vision for personalized smart spaces. In: Ubiquitous Intelligence and Computing, 2013 IEEE 10th International Conference on and 10th International Conference on Autonomic and Trusted Computing (UIC/ATC). pp. 487–494 (Dec 2013), http://dx.doi. org/10.1109/UIC-ATC.2013.24 36. del Val, E., Navarro, M., Julián, V., Rebollo, M.: Managing Real-Time Web Services through Agents. In: Trends in Practical Applications of Agents and Multiagent Systems, vol. 71, pp. 61–68 (2010) 37. Ventura, D., Verborgh, R., Catania, V., Mannens, E.: Autonomous Composition and Execution of REST APIs for Smart Sensors. Joint Proceedings of the 1st Joint International Workshop on Semantic Sensor Networks and Terra Cognita and the 4th International Workshop on Ordering and Reasoning (2015) 38. Wagner, S., Nielsen, C.: OpenCare project: An open, flexible and easily extendible infrastructure for pervasive healthcare assisted living solutions. In: Proceedings of the 3d International ICST Conference on Pervasive Computing Technologies for Healthcare. ICST (2009), http://eudl.eu/doi/10.4108/ICST. PERVASIVEHEALTH2009.5992 39. Wen, Z., Liu, X., Xu, Y., Zou, J.: A RESTful framework for Internet of things based on software defined network in modern manufacturing. The International Journal of Advanced Manufacturing Technology (dec 2015), http://link.springer.com/ 10.1007/s00170-015-8231-7 40. Zhou, S., Lin, K.J.: Real-time service process admission control with schedule reorganization. Service Oriented Computing and Applications 7(1), 3–14 (mar 2013), http://link.springer.com/10.1007/s11761-012-0123-1