Anda di halaman 1dari 45

Engenharia de Software para Sistemas Embarcados

(Introdução)

Prof. Julio Arakaki (jarakaki@pucsp.br)

Depto. de Computação
Faculdade de Ciências Exatas e Tecnologia
Pontifı́cia Universidade Católica de São Paulo

August 2016

Prof. Julio Arakaki (jarakaki@pucsp.br) Engenharia de Software para Sistemas Embarcados


Roteiro

Motivação
Sistemas Embarcados
Sistemas em Tempo Real
O que é? (Eng. Software para Sistemas Embarcados)
Eng. Software para Sistemas Embarcados
SysML
Exemplo
Referências

2 / 45
Motivação

Iniciação Cientifica (vários alunos)


Sistemas Embarcados
IOT (Internet Of Things)
Possibilidade de integração de grupos: Poli-USP
Integração com outros trabalhos (SoS, Prof. Carlos)
Competição sobre Sistemas Embarcados (Intel)

3 / 45
Motivação

Disciplina: Introdução de Engenharia de Software (Engenharia


Elétrica)
Como abordar?
O que os alunos aprenderam sobre isso?
programação básica de linguagem C (equivalente a LP1 na
computação)
Utilização do microcontrolador 8051 (Intel) - em Assembler

4 / 45
Motivação-Simulador
Como motivar os alunos a usar Softwares? Como mostrar a
importância de se ter uma Engenharia para isso?
123D Circuits (AutoDesk): https://123d.circuits.io/
Simulador

5 / 45
Motivação-Circuito

Circuito

6 / 45
Motivação-Implementação
Implementação

Vı́deo
7 / 45
Motivação-Código Fonte

8 / 45
Sistemas Embarcados

Sistemas (hardware e Software) integrados em


Equipamentos/Dispositivos de diferentes tipos.
Para a realização de um controle especı́fico.
Exemplos:
Computador de bordo (carro, avião, mı́ssil, drones,
geladeira,...)
Smartphones, PDAs, Tablets,...
Sistemas de Controle (Edifı́cios inteligentes, sistemas
Integrados de Manufatura, . . .
Equipamentos Médicos
IOT (Internet das Coisas)
entre outras

9 / 45
Sistemas Embarcados

Outra definição

10 / 45
Sistemas Embarcados

11 / 45
Sistemas Embarcados

12 / 45
Sistemas Embarcados

13 / 45
Sistemas Embarcados
”Real Time Systems”
Deve processar as informações e produzir uma resposta num tempo
(perı́odo) especı́fico, finito e bem determinado. Falha pode ser
desastroso. Normalmente, Sistemas em Tempo Real mantém
interação (de temporização) contı́nua com o ambiente.

14 / 45
Sistemas Embarcados
”Real Time Systems: Hard and Soft”
Depende das consequências que podem causar após a ocorrência
de falhas.

15 / 45
Sistemas Embarcados

Outras Caracterı́sticas (relacionadas com a computação):


Interação com ambiente fı́sico (onde está embarcado)
o mal funcionamento pode acarretar danos não recuperáveis
Interação com o usuário e a manutenção: nenhuma ou muito
restrita
Recursos (computacionais) restritos
Hardware especı́fico ...
Estas e outras caracterı́sticas implicam no Software! (precisamos
de Eng. Software?)

16 / 45
O que é? (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 a
manutenção em etapas.
Define artefatos (documentos/produtos intermediários) de
cada etapa.
Especifica as sequências e repetições necessárias de cada
etapa.
Define papéis e responsabilidades dos participantes no
processo de desenvolvimento e manutenção.

17 / 45
O que é? (Eng. de Software para Sistemas Embarcados)
Utilização de modelos de processo de design, como:

The V model has the same strict serial structure as the waterfall
model, but it suggests that, before going to a more detailed design
level, one should already test all the system features and properties
that can be tested at the current level of design abstraction.
18 / 45
O que é? (Eng. de Software para Sistemas Embarcados)

Model-Driven Engineering is an emerging design process, that


improves on the V-Model by supporting the test phases at each
design level by software models that simulate the system before
real implementations exist already.

19 / 45
Eng. Software para Sistemas Embarcados
HarmonyTM Systems to Software Process (IBM)
Bruce Powel Douglass, PhD, Chief Evangelist (Telelogic)

20 / 45
Eng. Software para Sistemas Embarcados

HarmonyTM Systems to Software Process (IBM) Hans-Peter


Hoffman, PhD, Chief Systems Methodologist (IBM)

21 / 45
Eng. Software para Sistemas Embarcados

”Como aplicar UML para Real-Time?”


Bruce Powel Douglass

22 / 45
Eng. Software para Sistemas Embarcados

”Os Objetos podem ser: ”


Bruce Powel Douglass

23 / 45
Eng. Software para Sistemas Embarcados

”Use Case Diagram”


Bruce Powel Douglass

24 / 45
Eng. Software para Sistemas Embarcados

”Class Diagram”
Bruce Powel Douglass

25 / 45
Eng. Software para Sistemas Embarcados

”Class Structured”
Bruce Powel Douglass

26 / 45
Eng. Software para Sistemas Embarcados

”Activity Diagram”
Bruce Powel Douglass

27 / 45
Eng. Software para Sistemas Embarcados
”Deployment Diagram”
Bruce Powel Douglass

28 / 45
SYSML
Versão atual: 1.4

29 / 45
SYSML
”Essential SysML Artifacts of Model-based Systems Engineering”
Hans-Peter Hoffman

30 / 45
SYSML
”Block Definition Diagram”
Descreve relacionamento entre os blocos

31 / 45
SYSML

”Internal Block Definition Diagram”


Descreve a estrutura interna dos blocos

32 / 45
SYSML
”Standard Ports and Flow Ports”
Standard Ports - Especifica serviços oferecidos (”provides”) e
requisitados (”requires”) e Flow Ports - epecifica o fluxo de itens
entre os blocos e seus ambientes.

33 / 45
SYSML
”Parametric Diagram”
Representa as restrições entre as propriedades dos blocos

34 / 45
SYSML
”Requirements Diagram”
Representa os requisitos e seus relacionamentos (conteúdos da
especificação)

35 / 45
SYSML - Ferramentas

36 / 45
SYSML - Ferramentas (Astah)

37 / 45
SYSML - Ferramentas (Astah)

38 / 45
SYSML - Ferramentas

39 / 45
SYSML - Ferramentas (Papyrus)

40 / 45
SYSML - Ferramentas (Rhapsody - IBM/Rational)

41 / 45
SYSML - Ferramentas (Rhapsody - IBM/Rational)

42 / 45
SYSML - Exemplo (Vı́deo)

https://www.youtube.com/watch?v=5BjFBldwlhU

43 / 45
Eng. Software para Sistemas Embarcados
Referências:

utilizada sugerida

sugerida sugerida

44 / 45
Referências

[1] OMG-Object Management Group, OMG Systems Modeling


Language, Version 1.4, OMG, 2015.
site:http://www.omg.org/spec/SysML/1.4/
[2] Robert Oshana and Mark Kraeling, Software Engineering for
Embedded Systems - Methods, Practical Techiniques and
applications, Elsevier, 2013.
[3] Leslie Lamport, LATEX A Document Preparation System, 2nd
Edition, Addisson-Wesley, 1994.
[4] Embedded Control System Design
https://en.wikibooks.org/wiki/

45 / 45

Anda mungkin juga menyukai