DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos...

38
DESENVOLVIMENTO DE DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES JOÃO MIGUEL FERNANDES Email: [email protected] Email: [email protected] URL: http://www.di.uminho.pt/~miguel URL: http://www.di.uminho.pt/~miguel UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA 2000/01 DEP. INFORMÁTICA

Transcript of DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos...

Page 1: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

DESENVOLVIMENTO DE DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS SISTEMAS EMBEBIDOS

(MESTRADO EM INFORMÁTICA) (MESTRADO EM INFORMÁTICA)

- SESSÃO 1: Introdução aos Sistemas Embebidos -- SESSÃO 1: Introdução aos Sistemas Embebidos -

JOÃO MIGUEL FERNANDESJOÃO MIGUEL FERNANDESEmail: [email protected]: [email protected]

URL: http://www.di.uminho.pt/~miguelURL: http://www.di.uminho.pt/~miguel

UNIVERSIDADE DO MINHO

ESCOLA DE ENGENHARIA 2000/01 DEP. INFORMÁTICA

Page 2: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

2

SumárioSumário

1. Enquadramento1. Enquadramento

2. Sistemas Embebidos2. Sistemas Embebidos

3. Taxinomia 3. Taxinomia

4. Motivação4. Motivação

Page 3: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

3

1. Enquadramento 1. Enquadramento (1/3)(1/3)

Apresentação pessoalApresentação pessoal– docente do DI/EE/UMdocente do DI/EE/UM– coordenador C&T do IDITE-Minhocoordenador C&T do IDITE-Minho– membro do SIG-ES do IFIPmembro do SIG-ES do IFIP

Doutoramento Doutoramento (Fev/2000)(Fev/2000)

– TítuloTítulo ““MIDAS: Metodologia Orientada ao Objecto para MIDAS: Metodologia Orientada ao Objecto para

Desenvolvimento de Sistemas Embebidos”Desenvolvimento de Sistemas Embebidos”

– Área científicaÁrea científica Engenharia de Sistemas Baseados em ComputadorEngenharia de Sistemas Baseados em Computador

– Área aplicacionalÁrea aplicacional Sistemas de Informação IndustriaisSistemas de Informação Industriais

Page 4: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

4

1. Enquadramento 1. Enquadramento (2/3)(2/3)

Objectivos desta sessãoObjectivos desta sessão– apresentar a disciplina apresentar a disciplina – introduzir definições e terminologia a usar na introduzir definições e terminologia a usar na

disciplinadisciplina

Audiência alvoAudiência alvo– licenciados (com ou sem formação na área das TSI) licenciados (com ou sem formação na área das TSI)

com responsabilidades e experiência comprovada com responsabilidades e experiência comprovada (desejável!) na análise, concepção e implementação (desejável!) na análise, concepção e implementação de sistemas baseados em softwarede sistemas baseados em software

Page 5: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

5

1. Enquadramento 1. Enquadramento (3/3)(3/3)

Bibliografia recomendadaBibliografia recomendada– Wolf W. (2001). “Wolf W. (2001). “Computers as Components: Principles of Computers as Components: Principles of

Embedded Computing System DesignEmbedded Computing System Design”. Morgan Kaufman ”. Morgan Kaufman Publishers. Publishers. ISBN 1-55860-541-XISBN 1-55860-541-X..

– Gajski D., Vahid F., Narayan S., Gong J. (1994). “Gajski D., Vahid F., Narayan S., Gong J. (1994). “Specification Specification and Design of Embedded Systemsand Design of Embedded Systems”. Prentice-Hall.”. Prentice-Hall. ISBN 0-13-ISBN 0-13-

150731-1150731-1..– Kumar S., Aylor J.H., Johnson B.W., Wulf, W.A. (1996). “Kumar S., Aylor J.H., Johnson B.W., Wulf, W.A. (1996). “The The

Codesign of Embedded Systems: A Unified Hardware / Codesign of Embedded Systems: A Unified Hardware / Software RepresentationSoftware Representation”. Kluwer Academic Publishers. ”. Kluwer Academic Publishers. ISBN ISBN 0-0-

201-49834-0201-49834-0..– Morris D., Evans G., Green P., Theaker C. (1996). “Morris D., Evans G., Green P., Theaker C. (1996). “Object-Object-

Oriented Computer Systems EngineeringOriented Computer Systems Engineering”. Applied Computing. ”. Applied Computing. Springer-Verlag, Londres, Reino Unido.Springer-Verlag, Londres, Reino Unido. ISBN 3-540-76020-2ISBN 3-540-76020-2..

– Douglass B.P. (1998). “Real-Time UML: Developing Efficient Douglass B.P. (1998). “Real-Time UML: Developing Efficient Objects for Embedded SystemsObjects for Embedded Systems”. Object Technology. Addison-”. Object Technology. Addison-Wesley.Wesley. ISBN 0-201-32579-9ISBN 0-201-32579-9..

Page 6: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

6

2. Sistemas Embebidos 2. Sistemas Embebidos (1/13)(1/13)

Definição de sistema computacionalDefinição de sistema computacional– conjunto de elementos que são organizados para conjunto de elementos que são organizados para

atingir um objectivo pré-definido, através do atingir um objectivo pré-definido, através do processamento automático de informação.processamento automático de informação.

Nesta disciplina, será tratada uma classe especial Nesta disciplina, será tratada uma classe especial dos sistemas computacionais: os dos sistemas computacionais: os sistemas sistemas embebidosembebidos..

As técnicas e os métodos a tratar nesta disciplina As técnicas e os métodos a tratar nesta disciplina são, na sua maioria, genéricos a outros sistema são, na sua maioria, genéricos a outros sistema computacionais (não são exclusivos de sistemas computacionais (não são exclusivos de sistemas embebidos).embebidos).

Page 7: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

7

2. Sistemas Embebidos 2. Sistemas Embebidos (2/13)(2/13)

Em 1770, o barão van Kempelen apresentou um Em 1770, o barão van Kempelen apresentou um autómato capaz de jogar xadrez contra jogadores autómato capaz de jogar xadrez contra jogadores humanoshumanos..

A máquina ficou conhecida como o A máquina ficou conhecida como o TurcoTurco, pois , pois efectuava os seus movimentos através dum braço efectuava os seus movimentos através dum braço mecânico duma marioneta, com bigode e turbante.mecânico duma marioneta, com bigode e turbante.

A marioneta estava ligada a uma cabina onde, A marioneta estava ligada a uma cabina onde, supostamente, estaria o “cérebro” da máquina.supostamente, estaria o “cérebro” da máquina.

Antes e depois dos jogos, a cabina era aberta para Antes e depois dos jogos, a cabina era aberta para mostrar à audiência que a máquina operava sozinha mostrar à audiência que a máquina operava sozinha sem qualquer intervenção humana.sem qualquer intervenção humana.

Anos mais tarde, descobriu-se que dentro da máquina Anos mais tarde, descobriu-se que dentro da máquina estava, de facto, escondido um xadrezista, estava, de facto, escondido um xadrezista, normalmente de baixa estatura, para mais facilmente normalmente de baixa estatura, para mais facilmente se esconder. se esconder.

Page 8: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

8

2. Sistemas 2. Sistemas Embebidos Embebidos (3/13)(3/13)

Page 9: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

9

2. Sistemas Embebidos 2. Sistemas Embebidos (4/13)(4/13)

Apesar do Turco ter um “processador” humano, Apesar do Turco ter um “processador” humano, vamos usá-lo para ilustrar as características vamos usá-lo para ilustrar as características essenciais que os sistemas embebidos apresentam essenciais que os sistemas embebidos apresentam actualmente. actualmente.

O autómato inclui hardware e software.O autómato inclui hardware e software. O hardware, usado para interactuar com o O hardware, usado para interactuar com o

ambiente, é composto por sensores (detecção das ambiente, é composto por sensores (detecção das peças do adversário) e actuadores (braço peças do adversário) e actuadores (braço mecânico).mecânico).

O software (o intelecto do xadrezista) controla as O software (o intelecto do xadrezista) controla as acções do hardware.acções do hardware.

O sistema responde às jogadas do adversário O sistema responde às jogadas do adversário dentro dum intervalo de tempo aceitável em jogos dentro dum intervalo de tempo aceitável em jogos de xadrez.de xadrez.

Page 10: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

10

2. Sistemas Embebidos 2. Sistemas Embebidos (5/13)(5/13)

Tipos de elementos usados um sistema computacionalTipos de elementos usados um sistema computacional– SoftwareSoftware: Programas e estruturas de dados que realizam : Programas e estruturas de dados que realizam

a funcionalidade requerida.a funcionalidade requerida.

– HardwareHardware: Dispositivos electrónicos que disponibilizam a : Dispositivos electrónicos que disponibilizam a capacidade computacional e os dispositivos electro-capacidade computacional e os dispositivos electro-mecânicos que providenciam o contacto com o exterior.mecânicos que providenciam o contacto com o exterior.

– PessoasPessoas: Utilizadores e operadores que usam o hw e o sw.: Utilizadores e operadores que usam o hw e o sw.

– Base deBase de dadosdados: Repositório de informação usado via : Repositório de informação usado via software.software.

– DocumentaçãoDocumentação: Manuais, relatórios e outros documentos : Manuais, relatórios e outros documentos que descrevem o uso e/ou a operação do sistema.que descrevem o uso e/ou a operação do sistema.

– ProcedimentosProcedimentos: Passos que definem o uso específico de : Passos que definem o uso específico de cada elemento do sistema ou o contexto no qual este cada elemento do sistema ou o contexto no qual este reside.reside.

Page 11: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

11

2. Sistemas Embebidos 2. Sistemas Embebidos (6/13)(6/13)

Sistema embebido é um sistema computacionalSistema embebido é um sistema computacional– Um sistema embebido é concebido para uma aplicação Um sistema embebido é concebido para uma aplicação

específica, contendo componentes de hardware e de específica, contendo componentes de hardware e de software.software.

– Um sistema embebido faz parte, como o próprio nome Um sistema embebido faz parte, como o próprio nome indicia, dum sistema mais complexo e nele se encontra indicia, dum sistema mais complexo e nele se encontra incorporado (embutido, embebido, embarcado).incorporado (embutido, embebido, embarcado).

– O termo “embebido”, foi popularizado pelo DoD e refere-O termo “embebido”, foi popularizado pelo DoD e refere-se ao facto de esses sistemas estarem incluídos em se ao facto de esses sistemas estarem incluídos em sistemas maiores, cuja principal função não é a sistemas maiores, cuja principal função não é a computação.computação.

Definição:Definição: um sistema embebido é qualquer um sistema embebido é qualquer dispositivo que inclua um computador ou dispositivo que inclua um computador ou processador programável, mas que não processador programável, mas que não tenha por finalidade a computação genérica.tenha por finalidade a computação genérica.

Page 12: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

12

2. Sistemas Embebidos 2. Sistemas Embebidos (7/13)(7/13)

Estrutura típica dum sistema embebido Estrutura típica dum sistema embebido

Software Hardware

Sistema EmbebidoActuadores

Sensores

Ambiente

Exemplos de sistemas embebidosExemplos de sistemas embebidos– PDAs, impressoras, telemóveis, televisões, PDAs, impressoras, telemóveis, televisões,

electrodomésticoselectrodomésticos– Sistemas de controlo (indústria, medicina, militar, Sistemas de controlo (indústria, medicina, militar,

domótica)domótica)– Sistemas de monitorização de processos industriasSistemas de monitorização de processos industrias– Sistemas de aquisição de dados (laboratórios)Sistemas de aquisição de dados (laboratórios)

Page 13: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

13

CPU

mem

entrada

saída analógico

analógico

sistemaembebido

2. Sistemas Embebidos 2. Sistemas Embebidos (8/13)(8/13)

Estrutura típica dum sistema embebido Estrutura típica dum sistema embebido

Page 14: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

14

2. Sistemas Embebidos 2. Sistemas Embebidos (9/13)(9/13)

Propriedades relevantes dum sistema embebidoPropriedades relevantes dum sistema embebido– É desenvolvido para realizar uma É desenvolvido para realizar uma função específicafunção específica para para

uma dada aplicação (muitas vezes, será apenas posto a uma dada aplicação (muitas vezes, será apenas posto a funcionar um único sistema).funcionar um único sistema).

– Deve apresentar um Deve apresentar um funcionamento em contínuofuncionamento em contínuo..– Deve manter uma Deve manter uma interacção permanenteinteracção permanente com o com o

respectivo ambiente. Deve responder continuamente a respectivo ambiente. Deve responder continuamente a diferentes eventos provenientes do exterior e cuja diferentes eventos provenientes do exterior e cuja ordem e tempo de ocorrência não são previsíveis.ordem e tempo de ocorrência não são previsíveis.

– Tem de estar Tem de estar correctamente especificadocorrectamente especificado (e (e implementado), pois pode realizar tarefas críticas em implementado), pois pode realizar tarefas críticas em termos de fiabilidade e segurança.termos de fiabilidade e segurança.

– Deve obedecer a imposições ou restrições temporais, Deve obedecer a imposições ou restrições temporais, pelo que questões de pelo que questões de tempo-realtempo-real têm que ser têm que ser equacionadas. equacionadas.

– É É digitaldigital..

Page 15: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

15

2. Sistemas Embebidos 2. Sistemas Embebidos (10/13)(10/13)

Características dum sistema embebidoCaracterísticas dum sistema embebido– Para além dos requisitos funcionais, também Para além dos requisitos funcionais, também

têm de ser considerados os têm de ser considerados os requisitosrequisitos não-não-funcionaisfuncionais..

Peso, tamanho.Peso, tamanho. Custo.Custo. Desempenho (débito ou tempo)Desempenho (débito ou tempo) Requisitos temporais.Requisitos temporais. Tolerância a faltas.Tolerância a faltas. Quantidade de memória.Quantidade de memória. Distribuição dos nós de computação.Distribuição dos nós de computação. Estilo da família de produtos.Estilo da família de produtos. Duração da bateria.Duração da bateria. ......

Page 16: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

16

2. Sistemas Embebidos 2. Sistemas Embebidos (11/13)(11/13)

Sistema reactivoSistema reactivo– Um sistema reactivo é aquele que mantém uma Um sistema reactivo é aquele que mantém uma

interacção permanente ou frequente com o seu interacção permanente ou frequente com o seu ambiente e que responde continuamente, em função ambiente e que responde continuamente, em função do seu estado interno, aos estímulos externos a que do seu estado interno, aos estímulos externos a que está sujeito. está sujeito.

– Os sistemas reactivos não podem ser descritos apenas Os sistemas reactivos não podem ser descritos apenas pela especificação dos sinais de saída em função dos pela especificação dos sinais de saída em função dos sinais de entrada, mas, antes, por especificações que sinais de entrada, mas, antes, por especificações que relacionam as entradas e as saídas ao longo do tempo.relacionam as entradas e as saídas ao longo do tempo.

– Tipicamente, as descrições de sistemas reactivos Tipicamente, as descrições de sistemas reactivos incluem sequências de eventos, acções, condições e incluem sequências de eventos, acções, condições e fluxos de informação, combinadas com restrições fluxos de informação, combinadas com restrições temporais, para definir o comportamento global do temporais, para definir o comportamento global do sistema. sistema.

Page 17: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

17

2. Sistemas Embebidos 2. Sistemas Embebidos (12/13)(12/13)

Sistema de monitorização (de controlo)Sistema de monitorização (de controlo)– Os sistemas de monitorização e os sistema de controlo Os sistemas de monitorização e os sistema de controlo

são responsáveis pela supervisão dum dado ambiente são responsáveis pela supervisão dum dado ambiente não “inteligente”, informando constantemente o seu não “inteligente”, informando constantemente o seu utilizador (humano ou não) do estado daquele e utilizador (humano ou não) do estado daquele e actuando em situações críticas.actuando em situações críticas.

– Por exemplo, numa instalação industrial, quando um Por exemplo, numa instalação industrial, quando um dado gás atinge uma determinada concentração (pré-dado gás atinge uma determinada concentração (pré-indicada), o respectivo sistema de controlo deve indicada), o respectivo sistema de controlo deve imediatamente accionar um alarme.imediatamente accionar um alarme.

Page 18: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

18

2. Sistemas Embebidos 2. Sistemas Embebidos (13/13)(13/13)

Sistema de tempo-realSistema de tempo-real– Um sistema de tempo-real é um sistema reactivo, cujo Um sistema de tempo-real é um sistema reactivo, cujo

comportamento deve respeitar, além da funcionalidade comportamento deve respeitar, além da funcionalidade pretendida, um conjunto de restrições temporais pretendida, um conjunto de restrições temporais externamente definidas.externamente definidas.

– No desenvolvimento dum sistema deste tipo, além de No desenvolvimento dum sistema deste tipo, além de ser necessário satisfazer a sua correcção em termos ser necessário satisfazer a sua correcção em termos funcionais, devem identificar-se os requisitos temporais funcionais, devem identificar-se os requisitos temporais e deve assegurar-se que estes são cumpridos durante o e deve assegurar-se que estes são cumpridos durante o desempenho do sistema.desempenho do sistema.

– As restrições temporais a que os sistemas podem estar As restrições temporais a que os sistemas podem estar sujeitos, dividem-se em três categorias principais, sujeitos, dividem-se em três categorias principais, correspondendo cada uma delas a um tipo distinto de correspondendo cada uma delas a um tipo distinto de sistemas (sistemas (hard real-timehard real-time; ; firm real-timefirm real-time; e ; e soft real-soft real-timetime).).

Page 19: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

19

3. Taxinomia 3. Taxinomia (1/15)(1/15)

Hardware e SoftwareHardware e Software– Os circuitos electrónicos dum sistema computacional, bem Os circuitos electrónicos dum sistema computacional, bem

como a memória e os dispositivos de entrada/saída como a memória e os dispositivos de entrada/saída formam o formam o hardwarehardware do sistema. do sistema.

– O hardware dum sistema é constituído por objectos O hardware dum sistema é constituído por objectos tangíveis (circuitos integrados, chips, placas de circuito tangíveis (circuitos integrados, chips, placas de circuito impresso, cabos, fontes de alimentação, memórias, impresso, cabos, fontes de alimentação, memórias, terminais) e não por ideias abstractas, algoritmos ou terminais) e não por ideias abstractas, algoritmos ou instruções.instruções.

– O O softwaresoftware dum sistema consiste em algoritmos dum sistema consiste em algoritmos (instruções que indicam como fazer algo) e respectivas (instruções que indicam como fazer algo) e respectivas representações, nomeadamente os programas. representações, nomeadamente os programas.

– Um programa pode ser representado em diversos suportes Um programa pode ser representado em diversos suportes (cartão perfurado, fita magnética, disquete, disco (cartão perfurado, fita magnética, disquete, disco compacto), mas a sua essência reside no conjunto de compacto), mas a sua essência reside no conjunto de instruções que o constitui e não no meio físico no qual é instruções que o constitui e não no meio físico no qual é armazenado.armazenado.

Page 20: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

20

3. Taxinomia 3. Taxinomia (2/15)(2/15)

Relação entre meta-modelosRelação entre meta-modelos

Sistema

Vista doSistema

Modelo Linguagem

Especificação

Meta-Modelo

Meta-Modelo

Page 21: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

21

3. Taxinomia 3. Taxinomia (3/15)(3/15)

SistemaSistema– Um sistema pode ser definido como uma colecção de Um sistema pode ser definido como uma colecção de

componentes inter-relacionados que actuam como um componentes inter-relacionados que actuam como um todo, para atingir um determinado objectivo. todo, para atingir um determinado objectivo.

– Esta definição permite que praticamente tudo o que Esta definição permite que praticamente tudo o que existe no universo seja entendido como um sistema.existe no universo seja entendido como um sistema.

– O que interessa não é saber se algo é ou não um sistema, O que interessa não é saber se algo é ou não um sistema, mas antes se esse “algo” pode ser visto como um sistema mas antes se esse “algo” pode ser visto como um sistema

– Quando tal se verifica, há um interesse em estudar as Quando tal se verifica, há um interesse em estudar as propriedades desse sistema como um todo.propriedades desse sistema como um todo.

– É o observador do sistema que define a fronteira deste É o observador do sistema que define a fronteira deste com o seu ambiente, o que torna a definição de sistema com o seu ambiente, o que torna a definição de sistema não intrínseca a este, mas dependente do seu observadornão intrínseca a este, mas dependente do seu observador

– Como consequência, os componentes que, num Como consequência, os componentes que, num determinado contexto, constituem um dado sistema, determinado contexto, constituem um dado sistema, podem, noutro, ser apenas um sub-sistema dum sistema podem, noutro, ser apenas um sub-sistema dum sistema mais amplo.mais amplo.

Page 22: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

22

3. Taxinomia 3. Taxinomia (4/15)(4/15)

Vista dum sistemaVista dum sistema– Uma vista dum sistema é uma perspectiva (total ou Uma vista dum sistema é uma perspectiva (total ou

parcial) do sistema que se pretende representar. parcial) do sistema que se pretende representar. – Por exemplo, a descrição dum livro pode ser feita Por exemplo, a descrição dum livro pode ser feita

segundo duas vistas distintas. segundo duas vistas distintas. – Uma hipótese é descrever o livro como sendo Uma hipótese é descrever o livro como sendo

constituído por várias páginas; cada página é descrita constituído por várias páginas; cada página é descrita como uma série de linhas, podendo eventualmente como uma série de linhas, podendo eventualmente incluir figuras; cada linha, por sua vez, é composta por incluir figuras; cada linha, por sua vez, é composta por símbolos (letras, dígitos, pontuação).símbolos (letras, dígitos, pontuação).

– Outra vista, mais lógica, baseia-se na estrutura do Outra vista, mais lógica, baseia-se na estrutura do conteúdo do livro. Um livro está dividido em capítulos; conteúdo do livro. Um livro está dividido em capítulos; cada um dos capítulos tem um ou mais sub-capítulos; cada um dos capítulos tem um ou mais sub-capítulos; um sub-capítulo pode conter várias secções; finalmente, um sub-capítulo pode conter várias secções; finalmente, chega-se aos parágrafos, em que cada um é composto chega-se aos parágrafos, em que cada um é composto por diversas frases, que, por sua vez, se compõem de por diversas frases, que, por sua vez, se compõem de palavras. As palavras, por seu lado, são constituídas por palavras. As palavras, por seu lado, são constituídas por letras. letras.

Page 23: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

23

3. Taxinomia 3. Taxinomia (5/15)(5/15)

Meta-modeloMeta-modelo– Um meta-modelo (modelo dum modelo) é um conjunto Um meta-modelo (modelo dum modelo) é um conjunto

de elementos, funcionais ou estruturais, de de elementos, funcionais ou estruturais, de composição e de regras de composição que permitem composição e de regras de composição que permitem construir uma representação conceptual para o construir uma representação conceptual para o sistema. sistema.

– Exemplos: fluxogramas, FSMs, redes de Petri, grafos Exemplos: fluxogramas, FSMs, redes de Petri, grafos de fluxo de controlo e dados (CDFG). de fluxo de controlo e dados (CDFG).

– O meta-modelo deve ser formal (preciso, rigoroso), O meta-modelo deve ser formal (preciso, rigoroso), evitando ambiguidades na interpretação da evitando ambiguidades na interpretação da representação do sistema, e deve também ser representação do sistema, e deve também ser completo, permitindo a construção duma completo, permitindo a construção duma representação que descreva totalmente o sistema. representação que descreva totalmente o sistema.

– Um meta-modelo formal designar-se por formalismo.Um meta-modelo formal designar-se por formalismo.

Page 24: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

24

3. Taxinomia 3. Taxinomia (6/15)(6/15)

ModeloModelo– Um modelo é uma representação conceptual dum Um modelo é uma representação conceptual dum

sistema, à luz dum determinado meta-modelo. sistema, à luz dum determinado meta-modelo. – Exemplos: FSM da unidade de controlo dum elevador Exemplos: FSM da unidade de controlo dum elevador

ou o grafo de fluxo de dados e controlo desse ou o grafo de fluxo de dados e controlo desse elevador. elevador.

– O modelo manifesta todas as características do O modelo manifesta todas as características do respectivo meta-modelo.respectivo meta-modelo.

– Parte-se do pressuposto que o projectista explora e Parte-se do pressuposto que o projectista explora e usa todas as características do meta-modelo na usa todas as características do meta-modelo na construção do modelo.construção do modelo.

– Um modelo diz-se formal quando evita ambiguidades Um modelo diz-se formal quando evita ambiguidades na sua interpretação e completo quando representa na sua interpretação e completo quando representa totalmente o sistema. totalmente o sistema.

Page 25: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

25

3. Taxinomia 3. Taxinomia (7/15)(7/15)

LinguagemLinguagem– Uma linguagem (ou notação) é o conjunto de todas as Uma linguagem (ou notação) é o conjunto de todas as

frases válidas que é possível construir utilizando a frases válidas que é possível construir utilizando a respectiva gramática. respectiva gramática.

– Exemplos: Pascal, C, Java, VHDL, assembly i8086.Exemplos: Pascal, C, Java, VHDL, assembly i8086.– Também para linguagens se pode considerar a Também para linguagens se pode considerar a

existência do respectivo meta-modelo.existência do respectivo meta-modelo.– O meta-modelo duma linguagem é o modelo O meta-modelo duma linguagem é o modelo

conceptual, seguido na definição da linguagem.conceptual, seguido na definição da linguagem.– Qualquer especificação escrita numa linguagem segue Qualquer especificação escrita numa linguagem segue

obrigatoriamente o meta-modelo por obrigatoriamente o meta-modelo por ela imposto. ela imposto. – A linguagem manifesta todas as características do seu A linguagem manifesta todas as características do seu

meta-modelo. meta-modelo.

Page 26: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

26

3. Taxinomia 3. Taxinomia (8/15)(8/15)

EspecificaçãoEspecificação– Uma especificação é uma representação concreta Uma especificação é uma representação concreta

(real) do modelo do sistema numa dada linguagem. (real) do modelo do sistema numa dada linguagem. – Exemplos: FSMs da unidade de controlo do elevador Exemplos: FSMs da unidade de controlo do elevador

escritas em VHDL ou em C. escritas em VHDL ou em C. – As características da especificação dependem As características da especificação dependem

simultaneamente das características da linguagem simultaneamente das características da linguagem (i.e. meta-modelo da linguagem) e do modelo do (i.e. meta-modelo da linguagem) e do modelo do sistema (i.e. meta-modelo do sistema). sistema (i.e. meta-modelo do sistema).

– Em termos práticos, não há grandes diferenças, ao Em termos práticos, não há grandes diferenças, ao nível conceptual, entre uma especificação e um modelo nível conceptual, entre uma especificação e um modelo dum dado sistema, pois ambos são representações dum dado sistema, pois ambos são representações deste.deste.

Page 27: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

27

3. Taxinomia 3. Taxinomia (9/15)(9/15)

As fases do ciclo de vida dum sistemaAs fases do ciclo de vida dum sistema

ImplementaçãoConcepçãoAnálise

Utilização

Manutenção

Estudos deViabilidade

Teste

Desenvolvimento

ciclo de vida

projecto

Page 28: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

28

3. Taxinomia 3. Taxinomia (10/15)(10/15)

Ciclo de vidaCiclo de vida– Em sistemas de software, usa-se o termo ciclo de vida Em sistemas de software, usa-se o termo ciclo de vida

((life cyclelife cycle) para referir o conjunto de actividades que ) para referir o conjunto de actividades que se inicia no momento em que o sistema é mentalmente se inicia no momento em que o sistema é mentalmente conceptualizado até ao instante em que ele é retirado conceptualizado até ao instante em que ele é retirado definitivamente de uso.definitivamente de uso.

– O ciclo de vida representa todo o conjunto de actos O ciclo de vida representa todo o conjunto de actos válidos, realizados, durante a vida útil do sistema, com válidos, realizados, durante a vida útil do sistema, com o objectivo de o idealizar, desenvolver e usar. o objectivo de o idealizar, desenvolver e usar.

DesenvolvimentoDesenvolvimento– O desenvolvimento inclui as fases do ciclo de vida O desenvolvimento inclui as fases do ciclo de vida

responsáveis pela construção do sistema, (a análise, a responsáveis pela construção do sistema, (a análise, a concepção e a implementação).concepção e a implementação).

– Excluem-se, por exemplo, os estudos de viabilidade Excluem-se, por exemplo, os estudos de viabilidade económica, as tarefas de manutenção e a utilização económica, as tarefas de manutenção e a utilização efectiva do sistema. efectiva do sistema.

Page 29: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

29

3. Taxinomia 3. Taxinomia (11/15)(11/15)

ProjectoProjecto– O termo projecto é usado para referir as actividades O termo projecto é usado para referir as actividades

anteriores à utilização prática do respectivo sistema.anteriores à utilização prática do respectivo sistema.– Projectista (equipa de projecto) é usado para indicar Projectista (equipa de projecto) é usado para indicar

os indivíduos responsáveis por qualquer das fases do os indivíduos responsáveis por qualquer das fases do projecto dum dado sistema (ou por uma parte deste). projecto dum dado sistema (ou por uma parte deste).

– Podem usar-se termos como analista ou programador Podem usar-se termos como analista ou programador para referir um projectista especialista numa dada para referir um projectista especialista numa dada fase do projecto. fase do projecto.

– Os termos utilizador e cliente são usados para indicar, Os termos utilizador e cliente são usados para indicar, respectivamente, o indivíduo que interage respectivamente, o indivíduo que interage directamente com o sistema final e a pessoa que directamente com o sistema final e a pessoa que encomenda o desenvolvimento do sistema à equipa de encomenda o desenvolvimento do sistema à equipa de projecto. projecto.

Page 30: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

30

3. Taxinomia 3. Taxinomia (12/15)(12/15)

ProcessoProcesso– Chama-se processo à sequência de factos que Chama-se processo à sequência de factos que

conduzem a certo resultado (exemplos: processo de conduzem a certo resultado (exemplos: processo de fabrico, processo químico, processo judicial), mais fabrico, processo químico, processo judicial), mais particularmente, à sequência de actos ordenados para particularmente, à sequência de actos ordenados para a consecução de certa finalidade.a consecução de certa finalidade.

– Por exemplo, o processo industrial, numa dada fábrica, Por exemplo, o processo industrial, numa dada fábrica, representa o conjunto de actos executados para representa o conjunto de actos executados para produzir um determinado bem de consumo, desde a produzir um determinado bem de consumo, desde a chegada das matérias primas até à embalagem para chegada das matérias primas até à embalagem para carregamento. carregamento.

– No âmbito da construção metódica de sistemas, No âmbito da construção metódica de sistemas, processo significa o conjunto de tarefas executadas ao processo significa o conjunto de tarefas executadas ao longo do ciclo de vida do sistema.longo do ciclo de vida do sistema.

– O termo processo de desenvolvimento tem um âmbito O termo processo de desenvolvimento tem um âmbito menos abrangente e restringe-se às tarefas realizadas menos abrangente e restringe-se às tarefas realizadas durante o desenvolvimento do sistema. durante o desenvolvimento do sistema.

Page 31: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

31

3. Taxinomia 3. Taxinomia (13/15)(13/15)

Modelo do processoModelo do processo– Um modelo de processo é um esquema que organiza, Um modelo de processo é um esquema que organiza,

ordena e relaciona a forma como as várias fases e tarefas ordena e relaciona a forma como as várias fases e tarefas devem ser prosseguidas ao longo do ciclo de vida do devem ser prosseguidas ao longo do ciclo de vida do sistema.sistema.

– A função principal dum modelo de processo é determinar a A função principal dum modelo de processo é determinar a ordem das fases envolvidas no desenvolvimento de ordem das fases envolvidas no desenvolvimento de sistemas e estabelecer os critérios de transição para sistemas e estabelecer os critérios de transição para progredir entre fases.progredir entre fases.

– Quais as diferenças entre um processo e o respectivo Quais as diferenças entre um processo e o respectivo modelo?modelo?

– Um modelo de processo pode, por exemplo, considerar a Um modelo de processo pode, por exemplo, considerar a existência de duas tarefas que, potencialmente, poderão existência de duas tarefas que, potencialmente, poderão ser executadas em paralelo.ser executadas em paralelo.

– No entanto, durante a real execução dum processo, que No entanto, durante a real execução dum processo, que segue esse modelo, essas tarefas são executadas em segue esse modelo, essas tarefas são executadas em sequência, enquanto que noutro processo são executadas sequência, enquanto que noutro processo são executadas em paralelo. em paralelo.

Page 32: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

32

3. Taxinomia 3. Taxinomia (14/15)(14/15)

Fases do ciclo de vidaFases do ciclo de vida– Uma fase é uma abstracção, ao longo do tempo, dum Uma fase é uma abstracção, ao longo do tempo, dum

conjunto de actividades, ou seja, é um conceito útil conjunto de actividades, ou seja, é um conceito útil para agregar actividades e relacioná-las para agregar actividades e relacioná-las temporalmente. temporalmente.

– O ciclo de vida dum sistema complexo é dividido nas O ciclo de vida dum sistema complexo é dividido nas seguintes fases genéricas:seguintes fases genéricas:

O propósito do O propósito do estudo de viabilidadeestudo de viabilidade consiste na avaliação consiste na avaliação dos custos e benefícios do sistema proposto.dos custos e benefícios do sistema proposto.

Na Na análiseanálise são levantados os requisitos do sistema e são levantados os requisitos do sistema e produz-se um modelo abstracto que descreve os aspectos produz-se um modelo abstracto que descreve os aspectos fundamentais do domínio de aplicação e que permite fundamentais do domínio de aplicação e que permite captar a essência do sistema em causa.captar a essência do sistema em causa.

Na Na concepçãoconcepção, com base no modelo obtido na análise, é , com base no modelo obtido na análise, é criado um modelo que especifica os componentes que criado um modelo que especifica os componentes que realizam uma determinada solução para o sistema.realizam uma determinada solução para o sistema.

Page 33: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

33

3. Taxinomia 3. Taxinomia (15/15)(15/15)

Fases do ciclo de vida (cont.)Fases do ciclo de vida (cont.)– O ciclo de vida dum sistema complexo é dividido nas O ciclo de vida dum sistema complexo é dividido nas

seguintes fases genéricasseguintes fases genéricas Na Na implementaçãoimplementação, realiza-se uma solução, descrita numa , realiza-se uma solução, descrita numa

dada linguagem de programação, transformando o modelo dada linguagem de programação, transformando o modelo de concepção.de concepção.

Durante o desenvolvimento do sistema, o Durante o desenvolvimento do sistema, o testeteste decorre decorre em paralelo, a fim de se tentar encontrar todas as falhas em paralelo, a fim de se tentar encontrar todas as falhas que o sistema possa conter.que o sistema possa conter.

A A utilizaçãoutilização ocorre quando o sistema é posto a funcionar ocorre quando o sistema é posto a funcionar em ambiente real.em ambiente real.

A A manutençãomanutenção procura corrigir todas as anomalias que procura corrigir todas as anomalias que não foi possível detectar durante o desenvolvimento e não foi possível detectar durante o desenvolvimento e pretende também fazer evoluir o sistema de modo a que pretende também fazer evoluir o sistema de modo a que continue a ser útil aos seus utilizadores.continue a ser útil aos seus utilizadores.

Page 34: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

34

4. Motivação 4. Motivação (1/5)(1/5)

O modelo de processo tradicionalO modelo de processo tradicional

Análise deRequisitos

EspecificaçãoHardware

EspecificaçãoSoftware

Concepção/TesteHardware

Concepção/TesteSoftware

Integração doSistema

Page 35: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

35

4. Motivação 4. Motivação (2/5)(2/5)

Algumas crençasAlgumas crenças– A interligação é fácil.A interligação é fácil.– O software é maleável (i.e. fácil de alterar), pelo que O software é maleável (i.e. fácil de alterar), pelo que

deficiências encontradas no hardware podem deficiências encontradas no hardware podem rectificar-se no software.rectificar-se no software.

– O desenvolvimento das 2 componentes faz-se em O desenvolvimento das 2 componentes faz-se em paralelo.paralelo.

Na práticaNa prática – Abordagem baseada no software.Abordagem baseada no software.– Abordagem baseada no hardware (a mais usual)Abordagem baseada no hardware (a mais usual)

Page 36: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

36

4. Motivação 4. Motivação (3/5)(3/5)

Típica abordagem baseada no hardwareTípica abordagem baseada no hardware– Escolha dum microprocessadorEscolha dum microprocessador (ou microcontrolador) (ou microcontrolador)

comercial. Esta opção é ditada pelo conhecimento comercial. Esta opção é ditada pelo conhecimento específico dos projectistas no referido processador.específico dos projectistas no referido processador.

– Desenvolvimento duma Desenvolvimento duma versão versão bread boardedbread boarded do do hardwarehardware a projectar, sob o qual o software irá ser, a projectar, sob o qual o software irá ser, posteriormente, desenvolvido.posteriormente, desenvolvido.

– Projecto do hardware e produção de softwareProjecto do hardware e produção de software (decorrem (decorrem paralela e independentemente). Surge uma primeira paralela e independentemente). Surge uma primeira versão do hardware final.versão do hardware final.

– IntegraçãoIntegração do software e do hardware desenvolvidos. do software e do hardware desenvolvidos. Esta fase produz muitos problemas e nela são Esta fase produz muitos problemas e nela são detectadas inúmeras falhas, de que resultam alterações detectadas inúmeras falhas, de que resultam alterações profundas, no hardware e no software.profundas, no hardware e no software.

– Finalmente, após várias iterações e reformulações, é Finalmente, após várias iterações e reformulações, é possível construir um possível construir um protótipoprotótipo do sistema em do sistema em desenvolvimento.desenvolvimento.

Page 37: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

37

4. Motivação 4. Motivação (4/5)(4/5)

Problemas da abordagem baseada no hardwareProblemas da abordagem baseada no hardware– O O tempo de desenvolvimentotempo de desenvolvimento é muito prolongado. é muito prolongado.– O produto final não responde aos O produto final não responde aos requisitos do requisitos do

utilizadorutilizador.. (a (análise do problema muito superficial).nálise do problema muito superficial).– A A documentaçãodocumentação dos diversos elementos do projecto é dos diversos elementos do projecto é

precária.precária.– A A codificaçãocodificação é pouco metódica (código esparguete). é pouco metódica (código esparguete).– A A integraçãointegração do software no hardware é muito do software no hardware é muito

“dolorosa”.“dolorosa”.– A A detecção de errosdetecção de erros não é facilitada. não é facilitada.– É impossível É impossível alterar o hardwarealterar o hardware (passar funcionalidades (passar funcionalidades

dodo software para o hardware, depois da placa estar software para o hardware, depois da placa estar feita).feita).

– A abordagem não produz um A abordagem não produz um sistemasistema optimizadooptimizado (quaisquer que sejam as métricas usadas).(quaisquer que sejam as métricas usadas).

– A A manutençãomanutenção é muito difícil. é muito difícil.

Page 38: DESENVOLVIMENTO DE SISTEMAS EMBEBIDOS (MESTRADO EM INFORMÁTICA) - SESSÃO 1: Introdução aos Sistemas Embebidos - JOÃO MIGUEL FERNANDES Email: miguel@di.uminho.pt.

© 2

001

UM

/EE

/DI/

JMF

38

4. Motivação 4. Motivação (5/5)(5/5)

O que é preciso para desenvolver sistemas O que é preciso para desenvolver sistemas embebidosembebidos– Modelos de especificação multi-vista (UML).Modelos de especificação multi-vista (UML).– Processo de software controlável e repetitível.Processo de software controlável e repetitível.– Métodos de projecto.Métodos de projecto.– Abordagem orientada aos objectos.Abordagem orientada aos objectos.– Mecanismos para atacar a complexidade dos sistemas.Mecanismos para atacar a complexidade dos sistemas.

Nesta disciplina, apresentam-se as necessidades Nesta disciplina, apresentam-se as necessidades metodológicas para desenvolver sistemas metodológicas para desenvolver sistemas embebidos de grande complexidade, pondo especial embebidos de grande complexidade, pondo especial ênfase nas questões associadas à fase de análise ênfase nas questões associadas à fase de análise (não esquecendo a concepção e a implementação).(não esquecendo a concepção e a implementação).