EventOS - Sistema Operacional Baseado em Eventos para IoT

35
Instituto Nacional de Telecomunicações SISTEMA OPERACIONAL DE TEMPO REAL ORIENTADO A EVENTOS PARA SISTEMAS EMBARCADOS COM FOCO EM APLICAÇÕES PARA INTERNET DAS COISAS Edielson Prevato Frigieri [email protected] Amanda Kelly da Silva [email protected] Samuel Pereira [email protected] Out 2014

Transcript of EventOS - Sistema Operacional Baseado em Eventos para IoT

Page 1: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Instituto Nacional de Telecomunicações

SISTEMA OPERACIONAL DE TEMPO REAL

ORIENTADO A EVENTOS PARA SISTEMAS

EMBARCADOS COM FOCO EM APLICAÇÕES PARA

INTERNET DAS COISAS

Edielson Prevato Frigieri

[email protected]

Amanda Kelly da Silva

[email protected]

Samuel Pereira

[email protected] 2014

Page 2: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Agenda

1

O que éIoT?

2

Desafios para IoT

3

EventOSRTOS baseado

em eventos

4

Resultados

Page 3: EventOS  - Sistema Operacional Baseado em Eventos para IoT

O que é IoT (Internet of Things)?

Page 4: EventOS  - Sistema Operacional Baseado em Eventos para IoT

O que são estas coisas?

internet

Page 5: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Visão de WeiserAs tecnologias mais profundas são aquelas que

desaparecem. Misturam-se no cotidiano da vida até que se tornam indistinguíveis. (Weiser, 1991)

Page 6: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Casos reais

Monitoramento de vagas de estacionamento

http://www.libelium.com/smart_santander_parking_smart_city/

Page 7: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Casos reais

Monitoramento incêndios em florestas

http://www.libelium.com/wireless_sensor_networks_to_detec_forest_fires/

Page 8: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Agenda

1

O que éIoT?

2

Desafios para IoT

3 4

ResultadosEventOSRTOS baseado

em eventos

Page 9: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Desafios da IoT

Locais de armazenamento ilimitados

Preocupações com privacidade

Interação com as pessoas

Conectividade comum

Eficiência energética do ecossistema

Atualização de aplicação

Page 10: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Agenda

1

O que éIoT?

2

Desafios para IoT

3 4

Resultados EventOSRTOS baseado

em eventos

Page 11: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

RTOS

baseado em eventos

Atualização de aplicação

Conectividade comum

Eficiência energética

Page 12: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Conectividade comum

Utilização de protocolos publish/subscribe baseadoem fila de mensagens

Permite a uniformização da comunicação;

Possui características como velocidade, simplicidade,robustez a conexões instáveis;

Alguns exemplos: MQTT

XMPP

Outros...

Page 13: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

http://eecatalog.com/m2m/2013/03/14/m2m-promises-growth-for-embedded-wireless-sensors-and-more/

Page 14: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Atualização de aplicação

Permite o carregamento de um novo aplicativoremotamente e em tempo de execução.

Permite instalar ou desinstalar novas funcionalidades emtempo de execução;

Permite o monitoramento do estado atual, tanto em relaçãoàs funcionalidades instaladas quanto a capacidade dememória;

Page 15: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Page 16: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Page 17: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Eficiência energética

Escalonamento baseado em eventos

Permite que o sistema trabalhe, na maior parte do tempo,em modo de economia de energia (sleep mode)

Sleep mode Entering

Standby

Wakeup

On-Exit

Tail-chaining

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337e/Babjagdg.html

Page 18: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 1Média

Evento 1Média

Lista de tarefas

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

TarefaIdle

Page 19: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 2Baixa

Evento 2Baixa

Evento 1Média

Lista de tarefas

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

TarefaIdle

Page 20: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 3Média

Evento 3Média

Evento 1Média

Evento 2Baixa

Lista de tarefas

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

TarefaIdle

Page 21: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 3Média

Evento 1Média

Evento 2Baixa

Lista de tarefas

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

TarefaIdle

Preempção

Page 22: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 1Evento 1

MédiaEvento 3

MédiaEvento 2

Baixa

Lista de tarefas

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

Tarefa 1

Page 23: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 1Evento 3

MédiaEvento 2

Baixa

Lista de tarefas

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

Tarefa 2

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Page 24: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 1Evento 3

MédiaEvento 2

Baixa

Lista de tarefas

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

Tarefa 5

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Page 25: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 3Evento 3

MédiaEvento 2

Baixa

Lista de tarefas

Tarefa 3Evento 2

Tarefa 4Evento 3

Fila de Eventos

Escalonador

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Page 26: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 3Evento 2

Baixa

Lista de tarefas

Tarefa 3Evento 2

Tarefa 4Evento 3

Fila de Eventos

Escalonador

Tarefa 4Evento 3

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Page 27: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 2Evento 2

Baixa

Lista de tarefas

Tarefa 3Evento 2

Fila de Eventos

Escalonador

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Page 28: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Evento 2

Lista de tarefas

Fila de Eventos

Escalonador

Tarefa 3Evento 2

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Page 29: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Lista de tarefas

Tarefa 1Evento 1

Tarefa 2Evento 1

Tarefa 3Evento 2

Tarefa 4Evento 3

Tarefa 5Evento 1

Fila de Eventos

Escalonador

TarefaIdle

Sleep Mode

Page 30: EventOS  - Sistema Operacional Baseado em Eventos para IoT

EventOS

Garantia de tempo real

Tarefas como máquinas de estado

Garante que não ocorrerá travamentos no sistema;

Permite que os sistema atenda a requisitos de tempo real;

Page 31: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Agenda

1

O que éIoT?

2

Desafios para IoT

3 4

Resultados RTOS baseadoem eventos

Page 32: EventOS  - Sistema Operacional Baseado em Eventos para IoT

RTOS baseado em eventos

EventOS

https://eventos.codeplex.com/

EventOS is an event-driven operating system withfocus on Internet of Things that was built to be flexibleand lightweight, with high power efficiency constraint.Targeted for using in small microcontrollers providingremote access and management.

Page 33: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Referências

• M. Gigli, Internet of Things: Services and Applications Categorization, Adv. Internet Things. 01 (2011) 27–31. doi:10.4236/ait.2011.12004.

• Weiser, M.: The Computer for the 21st Century. Scientific American 265(9):66–75 (1991)

• Takada, H. (2001). Real-time operating system for embedded systems. In: M. Imai and N. Yoshida (eds.): Tutorial 2 – Software Development Methods for Embedded Systems, Asia South-Pacific Design Automation Conference (ASP-DAC).

• Li, Q. (2010). Real-Time Concepts for Embedded Systems. First Edition, p. 294.

• C. Media, Embedded Market Survey, Embedded System Design Magazine, 2013.

• T. Mohamadi, Real Time Operating System for AVR microcontrollers, 2011 9th East-West Des. Test Symp., pp. 376–380, Sep. 2011.

Page 34: EventOS  - Sistema Operacional Baseado em Eventos para IoT

Referências

• T. N. B. Anh and S.-L. Tan, Survey and performance evaluation of real-time operating systems (RTOS) for small microcontrollers, IEEE Micro, vol. PP, no. 99, p. 1, 2009.

• R. Barry, Using the FreeRTOS Real Time Kernel - A Practical Guide, First Edit. 2010, p. 216.

Page 35: EventOS  - Sistema Operacional Baseado em Eventos para IoT

FIM

Amanda Kelly

Samuel Pereira

Edielson Prevato Frigieri