lua-esc-brazil-2014-presentation

130 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
130
No SlideShare
0
A partir de incorporações
0
Número de incorporações
21
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

lua-esc-brazil-2014-presentation

  1. 1. 26 e 27 de Agosto, 2014 Transamérica Expo Center, São Paulo/SP Lua em Sistemas Embarcados Linux Vinicius Zein – Fundação CERTI
  2. 2. Fundação CERTI - Direitos Reservados Quem somos • Vinicius Zein • Coordenador da Área de Sistemas Embarcados, Centro de Convergência Digital da Fundação CERTI
  3. 3. Fundação CERTI - Direitos Reservados Quem somos • Instituição de Pesquisa, Tecnologia e Inovação • Criada em 1984 com a missão de desenvolver soluções tecnológicas para produtos e processos • Possui cerca de 500 colaboradores no grupo • Privada, que reinveste o resultado em P&D • Credenciada no MCTI e SUFRAMA, estando apta a captar projetos de Lei de Informática, Lei do Bem e Cooperação Internacional • Mais de 500 empresas clientes no Brasil e exterior • Crescimento de mais de 20% ao ano nos últimos 5 anos • Reconhecimento e conquista de diversos prêmios, como o Prêmio FINEP Nacional
  4. 4. Fundação CERTI - Direitos Reservados Agenda • O quê é Lua? • Lógica de negócios em Lua • Integração Lua e C++ • Lua em sistemas embarcados: vantagens e desvantagens • Testes em Lua
  5. 5. Fundação CERTI - Direitos Reservados O quê é Lua?
  6. 6. Fundação CERTI - Direitos Reservados O quê é Lua? Fonte: http://www.lua.org/
  7. 7. Fundação CERTI - Direitos Reservados Onde está a Lua?
  8. 8. Fundação CERTI - Direitos Reservados Onde está a Lua?
  9. 9. Fundação CERTI - Direitos Reservados Onde está a Lua?
  10. 10. Fundação CERTI - Direitos Reservados Onde está a Lua?
  11. 11. Fundação CERTI - Direitos Reservados Business Logic with script • Motivação: • Processo de desenvolvimento e.g. em C++: 1. Alterar código 2. Compilar 3. Deploy
  12. 12. Fundação CERTI - Direitos Reservados Business Logic with script • Processo de desenvolvimento com script: 1. Alterar código 2. Compilar 3. Deploy
  13. 13. Fundação CERTI - Direitos Reservados Business Logic with script • Linguagens de script são simples de se apreender • Menor complexidade • Importante • Precisa ser integrável à linguagem compilada (C, C++)
  14. 14. Fundação CERTI - Direitos Reservados Business Logic with script Lua Por que Lua?
  15. 15. Fundação CERTI - Direitos Reservados Porque Lua é leve
  16. 16. Fundação CERTI - Direitos Reservados … robusta e estabelecida
  17. 17. Fundação CERTI - Direitos Reservados … portátil e livre
  18. 18. Fundação CERTI - Direitos Reservados e também poderosa • permite orientação a objetos • permite estender aplicações em outras linguagens • pode ser estendida por bibliotecas escritas em outras linguagens
  19. 19. Fundação CERTI - Direitos Reservados Business Logic with script Lua • Exemplo 1 – User interface do Set-Top Box CERTI
  20. 20. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  21. 21. Fundação CERTI - Direitos Reservados Business Logic with script Lua • Exemplo 2 – Modificação do menu do STB Certi
  22. 22. Fundação CERTI - Direitos Reservados Business Logic with script Lua • Exemplo 1 – Modificação do menu do STB Certi
  23. 23. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  24. 24. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  25. 25. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  26. 26. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  27. 27. Fundação CERTI - Direitos Reservados Business Logic with script Lua • Exemplo 3 – Modificação da interface do IP Phone
  28. 28. Fundação CERTI - Direitos Reservados Business Logic with script Lua • Exemplo 2 – Modificação da interface do IP Phone
  29. 29. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  30. 30. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  31. 31. Fundação CERTI - Direitos Reservados Business Logic with script Lua
  32. 32. Fundação CERTI - Direitos Reservados Integração Lua e C++ Linux Módulo C++ Módulo C++ Módulo C++ Módulo C++ Lua Bind Bind Bind Bind
  33. 33. Fundação CERTI - Direitos Reservados Integração Lua e C++ • 2 flavors – Aplicação C++ inicializa scripts Lua – Script Lua carrega biblioteca nativa • É possível ter a combinação dos dois
  34. 34. Fundação CERTI - Direitos Reservados Integração Lua e C++ • Aplicação C++ inicializa máquina Lua • lua_State *lua_newstate (lua_Alloc f, void *ud); • void luaL_openlibs (lua_State *L); • int luaL_dofile (lua_State *L, const char *filename); • int lua_pcall (lua_State *L, int nargs, int nresults, int msgh); • void lua_close (lua_State *L);
  35. 35. Fundação CERTI - Direitos Reservados Integração Lua e C++ • Inicialização da máquina Lua
  36. 36. Fundação CERTI - Direitos Reservados Integração Lua e C++ • Bind para ser usado em Lua
  37. 37. Fundação CERTI - Direitos Reservados Integração Lua e C++ • Bind para ser usado em Lua
  38. 38. Fundação CERTI - Direitos Reservados Integração Lua e C++
  39. 39. Fundação CERTI - Direitos Reservados Integração Lua e C++
  40. 40. Fundação CERTI - Direitos Reservados Integração Lua e C++
  41. 41. Fundação CERTI - Direitos Reservados Integração Lua e C++ • Biblioteca C++ (?) em Lua
  42. 42. Fundação CERTI - Direitos Reservados Lua e C++ - Vantagens • Flexibilidade • Separation of concerns • Facilidade de reuso dos binds • Facilidade de criar mocks e testes • Facilidade de criar spikes
  43. 43. Fundação CERTI - Direitos Reservados Lua e C++ - Atenção! • GC Lua não vê recursos alocados em objetos C++ • Conversão de tipos C++ em tipos Lua e vice-versa • Lua é single thread
  44. 44. Fundação CERTI - Direitos Reservados Testes • Testes unitários em Lua • Uso de scripts para testar os binds em C++ • Rodar testes em servidor de CI
  45. 45. Fundação CERTI - Direitos Reservados Teste unitário - Lunity
  46. 46. Fundação CERTI - Direitos Reservados Links úteis www.lua.org site principal para todas as coisas Lua lua-users.org/wiki/ wiki da comunidade Lua www.lua.org/lua-l.html Lua mailing list
  47. 47. Fundação CERTI - Direitos Reservados Perguntas?
  48. 48. Fundação CERTI - Direitos Reservados Vinicius Zein vtz@certi.org.br

×