engenharia de software para sistemas embarcados...
TRANSCRIPT
![Page 1: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/1.jpg)
Engenharia de Software para Sistemas Embarcados(Introducao)
Prof. Julio Arakaki ([email protected])
Depto. de ComputacaoFaculdade de Ciencias Exatas e Tecnologia
Pontifıcia Universidade Catolica de Sao Paulo
August 2016
Prof. Julio Arakaki ([email protected]) Engenharia de Software para Sistemas Embarcados
![Page 2: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/2.jpg)
Roteiro
Motivacao
Sistemas Embarcados
Sistemas em Tempo Real
O que e? (Eng. Software para Sistemas Embarcados)
Eng. Software para Sistemas Embarcados
SysML
Exemplo
Referencias
2 / 45
![Page 3: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/3.jpg)
Motivacao
Iniciacao Cientifica (varios alunos)
Sistemas EmbarcadosIOT (Internet Of Things)
Possibilidade de integracao de grupos: Poli-USP
Integracao com outros trabalhos (SoS, Prof. Carlos)Competicao sobre Sistemas Embarcados (Intel)
3 / 45
![Page 4: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/4.jpg)
Motivacao
Disciplina: Introducao de Engenharia de Software (EngenhariaEletrica)
Como abordar?O que os alunos aprenderam sobre isso?
programacao basica de linguagem C (equivalente a LP1 nacomputacao)Utilizacao do microcontrolador 8051 (Intel) - em Assembler
4 / 45
![Page 5: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/5.jpg)
Motivacao-Simulador
Como motivar os alunos a usar Softwares? Como mostrar aimportancia de se ter uma Engenharia para isso?
123D Circuits (AutoDesk): https://123d.circuits.io/Simulador
5 / 45
![Page 6: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/6.jpg)
Motivacao-Circuito
Circuito
6 / 45
![Page 7: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/7.jpg)
Motivacao-Implementacao
Implementacao
Vıdeo
7 / 45
![Page 8: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/8.jpg)
Motivacao-Codigo Fonte
8 / 45
![Page 9: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/9.jpg)
Sistemas Embarcados
Sistemas (hardware e Software) integrados emEquipamentos/Dispositivos de diferentes tipos.Para a realizacao de um controle especıfico.Exemplos:
Computador de bordo (carro, aviao, mıssil, drones,geladeira,...)
Smartphones, PDAs, Tablets,...
Sistemas de Controle (Edifıcios inteligentes, sistemasIntegrados de Manufatura, . . .
Equipamentos Medicos
IOT (Internet das Coisas)
entre outras
9 / 45
![Page 10: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/10.jpg)
Sistemas Embarcados
Outra definicao
10 / 45
![Page 11: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/11.jpg)
Sistemas Embarcados
11 / 45
![Page 12: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/12.jpg)
Sistemas Embarcados
12 / 45
![Page 13: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/13.jpg)
Sistemas Embarcados
13 / 45
![Page 14: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/14.jpg)
Sistemas Embarcados
”Real Time Systems”Deve processar as informacoes e produzir uma resposta num tempo(perıodo) especıfico, finito e bem determinado. Falha pode serdesastroso. Normalmente, Sistemas em Tempo Real manteminteracao (de temporizacao) contınua com o ambiente.
14 / 45
![Page 15: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/15.jpg)
Sistemas Embarcados
”Real Time Systems: Hard and Soft”Depende das consequencias que podem causar apos a ocorrenciade falhas.
15 / 45
![Page 16: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/16.jpg)
Sistemas Embarcados
Outras Caracterısticas (relacionadas com a computacao):
Interacao com ambiente fısico (onde esta embarcado)
o mal funcionamento pode acarretar danos nao recuperaveis
Interacao com o usuario e a manutencao: nenhuma ou muitorestrita
Recursos (computacionais) restritos
Hardware especıfico ...
Estas e outras caracterısticas implicam no Software! (precisamosde Eng. Software?)
16 / 45
![Page 17: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/17.jpg)
O que e? (Eng. de Software para Sistemas Embarcados)
Qualquer projeto (software ou hardware) necessita de um processo(processo de “design”) que:
Permite organizar (estruturar) o desenvolvimento e amanutencao em etapas.
Define artefatos (documentos/produtos intermediarios) decada etapa.
Especifica as sequencias e repeticoes necessarias de cadaetapa.
Define papeis e responsabilidades dos participantes noprocesso de desenvolvimento e manutencao.
17 / 45
![Page 18: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/18.jpg)
O que e? (Eng. de Software para Sistemas Embarcados)
Utilizacao de modelos de processo de design, como:
The V model has the same strict serial structure as the waterfallmodel, but it suggests that, before going to a more detailed designlevel, one should already test all the system features and propertiesthat can be tested at the current level of design abstraction.
18 / 45
![Page 19: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/19.jpg)
O que e? (Eng. de Software para Sistemas Embarcados)
Model-Driven Engineering is an emerging design process, thatimproves on the V-Model by supporting the test phases at eachdesign level by software models that simulate the system beforereal implementations exist already.
19 / 45
![Page 20: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/20.jpg)
Eng. Software para Sistemas Embarcados
HarmonyTMSystems to Software Process (IBM)Bruce Powel Douglass, PhD, Chief Evangelist (Telelogic)
20 / 45
![Page 21: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/21.jpg)
Eng. Software para Sistemas Embarcados
HarmonyTMSystems to Software Process (IBM) Hans-PeterHoffman, PhD, Chief Systems Methodologist (IBM)
21 / 45
![Page 22: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/22.jpg)
Eng. Software para Sistemas Embarcados
”Como aplicar UML para Real-Time?”Bruce Powel Douglass
22 / 45
![Page 23: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/23.jpg)
Eng. Software para Sistemas Embarcados
”Os Objetos podem ser: ”Bruce Powel Douglass
23 / 45
![Page 24: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/24.jpg)
Eng. Software para Sistemas Embarcados
”Use Case Diagram”Bruce Powel Douglass
24 / 45
![Page 25: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/25.jpg)
Eng. Software para Sistemas Embarcados
”Class Diagram”Bruce Powel Douglass
25 / 45
![Page 26: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/26.jpg)
Eng. Software para Sistemas Embarcados
”Class Structured”Bruce Powel Douglass
26 / 45
![Page 27: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/27.jpg)
Eng. Software para Sistemas Embarcados
”Activity Diagram”Bruce Powel Douglass
27 / 45
![Page 28: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/28.jpg)
Eng. Software para Sistemas Embarcados
”Deployment Diagram”Bruce Powel Douglass
28 / 45
![Page 29: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/29.jpg)
SYSML
Versao atual: 1.4
29 / 45
![Page 30: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/30.jpg)
SYSML
”Essential SysML Artifacts of Model-based Systems Engineering”Hans-Peter Hoffman
30 / 45
![Page 31: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/31.jpg)
SYSML
”Block Definition Diagram”Descreve relacionamento entre os blocos
31 / 45
![Page 32: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/32.jpg)
SYSML
”Internal Block Definition Diagram”Descreve a estrutura interna dos blocos
32 / 45
![Page 33: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/33.jpg)
SYSML
”Standard Ports and Flow Ports”Standard Ports - Especifica servicos oferecidos (”provides”) erequisitados (”requires”) e Flow Ports - epecifica o fluxo de itensentre os blocos e seus ambientes.
33 / 45
![Page 34: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/34.jpg)
SYSML
”Parametric Diagram”Representa as restricoes entre as propriedades dos blocos
34 / 45
![Page 35: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/35.jpg)
SYSML
”Requirements Diagram”Representa os requisitos e seus relacionamentos (conteudos daespecificacao)
35 / 45
![Page 36: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/36.jpg)
SYSML - Ferramentas
36 / 45
![Page 37: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/37.jpg)
SYSML - Ferramentas (Astah)
37 / 45
![Page 38: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/38.jpg)
SYSML - Ferramentas (Astah)
38 / 45
![Page 39: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/39.jpg)
SYSML - Ferramentas
39 / 45
![Page 40: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/40.jpg)
SYSML - Ferramentas (Papyrus)
40 / 45
![Page 41: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/41.jpg)
SYSML - Ferramentas (Rhapsody - IBM/Rational)
41 / 45
![Page 42: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/42.jpg)
SYSML - Ferramentas (Rhapsody - IBM/Rational)
42 / 45
![Page 43: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/43.jpg)
SYSML - Exemplo (Vıdeo)
https://www.youtube.com/watch?v=5BjFBldwlhU
43 / 45
![Page 44: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/44.jpg)
Eng. Software para Sistemas Embarcados
Referencias:
utilizada sugerida
sugerida sugerida
44 / 45
![Page 45: Engenharia de Software para Sistemas Embarcados (Introdução)jarakaki/opt2_ES_SE/1_Introducao_EngSoft... · Engenharia de Software para Sistemas Embarcados (Introdu˘c~ao) Prof](https://reader031.vdocuments.com.br/reader031/viewer/2022022717/5c2cafe109d3f29d458d4b72/html5/thumbnails/45.jpg)
Referencias
[1] OMG-Object Management Group, OMG Systems ModelingLanguage, Version 1.4, OMG, 2015.site:http://www.omg.org/spec/SysML/1.4/
[2] Robert Oshana and Mark Kraeling, Software Engineering forEmbedded Systems - Methods, Practical Techiniques andapplications, Elsevier, 2013.
[3] Leslie Lamport, LATEX A Document Preparation System, 2ndEdition, Addisson-Wesley, 1994.
[4] Embedded Control System Designhttps://en.wikibooks.org/wiki/
45 / 45