• Nenhum resultado encontrado

IV1Escola1de1Sistemas Embarcados – ESSE120161 João Pessoa-– 01-de-Novembro de-2016

N/A
N/A
Protected

Academic year: 2022

Share "IV1Escola1de1Sistemas Embarcados – ESSE120161 João Pessoa-– 01-de-Novembro de-2016"

Copied!
24
0
0

Texto

(1)

Engenharia Guiada por

Modelos no1(co4)Projeto de1Sistemas Embarcados de1Tempo4Real

Marco1A.1Wehrmeister

IV1Escola1de1Sistemas Embarcados – ESSE120161 João Pessoa-– 01-de-Novembro de-2016

Federal-University-of-Technology-– Paraná

Sumário

! Introdução

◦ Revisão de-conceitos

◦ Motivação

! A-abordagem:-AMoDELRT

◦ Usando-a-UML-para-especificar-Sistemas-TempoL Real e-Embarcados

◦ Ferramentas-de-suporte:-geração-de-código-+- aspect weaver

! Resultados

! Considerações-finais

Introdução

Federal-University-of-Technology-– Paraná

Sistemas1de1Tempo4Real

! Na-computação1em1tempo4real,-a-correção de-um-sistema-não-depende somente-no- resultado1lógico da-computação,-mas- também-no-tempo em-que-os-resultados1são1 produzido1 (Stankovic,11988)

! O-que-isso-quer-dizer-realmente?

◦ Um-sistema-de-tempoLreal produz1resultados1 quase-instantaneamente (em-ns)?!?

◦ É-um-sistema-com1rápido1tempo1de1resposta1 (em-ms)?!?

4

Sistemas1de1Tempo4Real

! Em-um-Sistema1de1Tempo4Real,-sabeLse- precisamente as-propriedades-temporais1 envolvidas na-execução de-seus-serviços

◦ Tempo-do-pior1caso1de-execução1de1tarefas

Período1de-ativação1de-tarefas-cíclicas

Jitter:1variação1máxima-de-uma-propriedade1temporal

Validade1temporal1de-um-dado/informação

Atraso1máximo-tolerado

! Granularidade1do-tempo-DEPENDE dos-requisitos da-aplicação-de-tempoLreal

◦ Usualmente-de-minutos-(60s)-até-nanosegundos (10

L9

s)

Sistemas1Embarcados

! Não1existe1definição1universalmente1aceita!

! Qualquer-dispositivo1eletrônico1que-inclui um- computador1programável1que-NÃO1é-destinado-a- ser-um-computador-de propósito1geral (Wolf,12000)

! Sistema1de1processamento1de1informações embutido em-produtos1 (Marwedel,12006)

◦ Carros,-telefonia,-máquinas-industriais,-eletrônicos,-etc.

(2)

Federal-University-of-Technology-– Paraná

Sistemas1Embarcados

! Sistema1computacional1desenvolvido-para- um-propósito1específico,-oferecendo-um- conjunto1limitado1de1serviços

! Forte-acoplamento-e-integração-entre-os- componentes-de-hardware e-de-software

! Geralmente,-opera-sobre-um-hardware1com1 recursos1limitados

◦ baixa-capacidade-de-processamento,-pouca- memória,-baixo-consumo-de-energia

7 Federal-University-of-Technology-– Paraná

Sistemas1Embarcados

! Sistema1computacional1desenvolvido-para- um-propósito1específico,-oferecendo-um- conjunto1limitado1de1serviços

! Forte-acoplamento-e-integração-entre-os- componentes-de-hardware e-de-software

! Geralmente,-opera-sobre-um-hardware1com1 recursos1limitados

◦ baixa-capacidade-de-processamento,-pouca- memória,-baixo-consumo-de-energia

8

Esta1apresentação aborda

Sistemas de Tempo-Real

Sistemas + Embarcados

Federal-University-of-Technology-– Paraná

Projeto1de1Sistemas1Embarcados1 de1Tempo4Real

Projeto de Sistema Embarcados

VHDL C/C++

1 .S a m p le 1S e n s o rs 2 .C o n tro l1m o v e m e n t 3 .A c tu a te 4 .P ro v id e 1m o v e m e n t1in fo rm a tio n 5 .P la y 1M o v ie s /M P 3 6 .G P S 1n a v ig a tio n 7 .Im a g e 1re c o g n itio n 8 .D riv e 4a s s is ta n c e 1s y s te m s 9 .S e lf4D ia g n o s e 1 0 . S e lf4R e p a ir 1 1 . R e c o n fig u ra tio n 1 2 . R e s p e c t1tim in g 1re q u ire m e n ts 1 3 . S a v e 1e n e rg y 1 4 . R e d u c e d 1s ize ...1m a n y 1o th e rs !!!

9 Federal-University-of-Technology-– Paraná

Projeto1de1Sistemas1Embarcados1 de1Tempo4Real

Projeto de Sistema Embarcados

VHDL C/C++

1 .S a m p le 1S e n s o rs 2 .C o n tro l1m o v e m e n t 3 .A c tu a te 4 .P ro v id e 1m o v e m e n t1in fo rm a tio n 5 .P la y 1M o v ie s /M P 3 6 .G P S 1n a v ig a tio n 7 .Im a g e 1re c o g n itio n 8 .D riv e 4a s s is ta n c e 1s y s te m s 9 .S e lf4D ia g n o s e 1 0 . S e lf4R e p a ir 1 1 . R e c o n fig u ra tio n 1 2 . R e s p e c t1tim in g 1re q u ire m e n ts 1 3 . S a v e 1e n e rg y 1 4 . R e d u c e d 1s ize ...1m a n y 1o th e rs !!!

Complexidade

10

Federal-University-of-Technology-– Paraná

(co4)Projeto dos1Componentes de1 Hardware1e1Software

! O-coLprojeto de-Hardware/Software-é-o- desenvolvimento1concorrente1dos- componentes-de-hardware e-software de- um-sistema-embarcado

◦ usualmente-aqueles-implementados-através de- um SystemLonLChip-(SoC)

! UsaLse-uma-especificação-de-altoLnível-(e.g.- modelo),-sobre-a-qual-são-feitas-simulações- ou-são-gerados-protótipos-ou-emuladores

11 Federal-University-of-Technology-– Paraná

Requisitos1Não4Funcionais

Non-Functional Requirements

Generic Specific

Embedded

AreaPower Consumption Total Energy Memory Allocation Time

Timing

Precision Deadline Period Cost

Jitter Tolerated Delay Laxity Release Time Start and End

Freshness Resolution Drift Activation Latency

Performance Response Time Throughtput Distribution

Task Alocation Hosts Communication Synchronization

12

(3)

Federal-University-of-Technology-– Paraná

Requisitos1Não4Funcionais

Non-Functional Requirements

Generic Specific

Embedded

AreaPower Consumption Total Energy Memory Allocation Time

Timing

Precision Deadline Period Cost

Jitter Tolerated Delay Laxity Release Time Start and End

Freshness Resolution Drift Activation Latency

Performance Response Time Throughtput Distribution

Task Alocation Hosts Communication Synchronization

Embedded

Real4time Distributed

13 Federal-University-of-Technology-– Paraná

[ ] l oop

<< SA resou rce>>

: Mo vemen tI nf ormat io n MR In fo

<< SA sch edR es> >

: Mo vemen tC on tr ol er movC t r l

: Ma inR ot or A ctu at or MR Act

<< NF R _D ist r ibu ti on >>

: S emap hor e se mMR I nf o

<< SA sch edu ler >>

<< NF R _Ti ming >>

: S che dul er sch ed

<< RTcl ock> >

<< NF R _Ti ming >>

: Ti me r f re qC trl

mrRo ta ti on 7:

mrPa ce 9:

2:

se tD el ay( de lay =15 ) 3:<< RTse t> >

<< RTst ar t >>4:st ar t ()

<< GRMa cqui re>>

ac qui re () 5:

ge tR ot ( ) 6:

ge tP ace () 8:

<< GRMrel eas e>>

rel ease () 10:

se tR ot at io n(newVal ue= new MR Ro ta ri on ) 36:

se tP ace (n ewVal ue= new MR Pa ce) 37:

ap ply Pa ra mete rs() 38:

w ai tF orTi me out ( ti mer=f r eqC t rl ) 40:

41:

run( ) 1:

[ ] l oop

Tratamento1de1RNF1em1 Abordagens1Tradicionais

14

Federal-University-of-Technology-– Paraná

[ ] l oop

<< SA resou rce>>

: Mo vemen tI nf ormat io n MR In fo

<< SA sch edR es> >

: Mo vemen tC on tr ol er movC t r l

: Ma inR ot or A ctu at or MR Act

<< NF R _D ist r ibu ti on >>

: S emap hor e se mMR I nf o

<< SA sch edu ler >>

<< NF R _Ti ming >>

: S che dul er sch ed

<< RTcl ock> >

<< NF R _Ti ming >>

: Ti me r f re qC trl

mrRo ta ti on 7:

mrPa ce 9:

2:

se tD el ay( de lay =15 ) 3:<< RTse t> >

<< RTst ar t >>4:st ar t ()

<< GRMa cqui re>>

ac qui re () 5:

ge tR ot ( ) 6:

ge tP ace () 8:

<< GRMrel eas e>>

rel ease () 10:

se tR ot at io n(newVal ue= new MR Ro ta ri on ) 36:

se tP ace (n ewVal ue= new MR Pa ce) 37:

ap ply Pa ra mete rs() 38:

w ai tF orTi me out ( ti mer=f r eqC t rl ) 40:

41:

run( ) 1:

[ ] l oop

Tratamento1de1RNF1em1 Abordagens1Tradicionais

public class MovementControl { ...

public void run { while (true) {

Timer period = new Timer(20);

...

mrRto = mrInfo.getRotation();

...

waitForTimeout(period);

} } ...

}

public class EnvironmentEncoder{

...

public void run { while (true) {

Timer period = new Timer(100);

...

waitForTimeout(period);

} } ...

}

public class MainRotorEncoder { ...

public void run { while (true) {

Timer period = new Timer(50);

...

mvInfo.setMRPace(pace.readSensor);

...

waitForTimeout(period);

} } ...

} public class BackRotorEncoder { ...

public void run { while (true) {

Timer period = new Timer(50);

...

mvInfo.setBRPace(pace.readSensor);

...

waitForTimeout(period);

}} ...

}

15 Federal-University-of-Technology-– Paraná

[ ] l oop

<< SA resou rce>>

: Mo vemen tI nf ormat io n MR In fo

<< SA sch edR es> >

: Mo vemen tC on tr ol er movC t r l

: Ma inR ot or A ctu at or MR Act

<< NF R _D ist r ibu ti on >>

: S emap hor e se mMR I nf o

<< SA sch edu ler >>

<< NF R _Ti ming >>

: S che dul er sch ed

<< RTcl ock> >

<< NF R _Ti ming >>

: Ti me r f re qC trl

mrRo ta ti on 7:

mrPa ce 9:

2:

se tD el ay( de lay =15 ) 3:<< RTse t> >

<< RTst ar t >>4:st ar t ()

<< GRMa cqui re>>

ac qui re () 5:

ge tR ot ( ) 6:

ge tP ace () 8:

<< GRMrel eas e>>

rel ease () 10:

se tR ot at io n(newVal ue= new MR Ro ta ri on ) 36:

se tP ace (n ewVal ue= new MR Pa ce) 37:

ap ply Pa ra mete rs() 38:

w ai tF orTi me out ( ti mer=f r eqC t rl ) 40:

41:

run( ) 1:

[ ] l oop

Tratamento1de1RNF1em1 Abordagens1Tradicionais

public class MovementControl { ...

public void run { while (true) {

Timer period = new Timer(20);

...

mrRto = mrInfo.getRotation();

...

waitForTimeout(period);

} } ...

}

public class EnvironmentEncoder{

...

public void run { while (true) {

Timer period = new Timer(100);

...

waitForTimeout(period);

} } ...

}

public class MainRotorEncoder { ...

public void run { while (true) {

Timer period = new Timer(50);

...

mvInfo.setMRPace(pace.readSensor);

...

waitForTimeout(period);

} } ...

} public class BackRotorEncoder { ...

public void run { while (true) {

Timer period = new Timer(50);

...

mvInfo.setBRPace(pace.readSensor);

...

waitForTimeout(period);

}} ...

}

Nas-abordagem-tradicionais,-o-tratamento-dos-RNF-é- disperso e-misturado em-vários1elementos1 diferentes1artefatos1(diagramas-ou-código fonte)

L Dificulta1o-reuso dos-artefatos

L Dificulta o-entendimento das-especificações-e- do-código-fonte

L Aumenta1o1custo1e1a1complexidade1do1projeto

16

<< SA resou rce>>

: Mo vemen tI nf ormat io n MR In fo

<< SA sch edR es> >

: Mo vemen tC on tr ol er movC t r l

: Ma inR ot or A ctu at or MR Act

<< SA sch edu ler >>

<< NF R _Ti ming >>

: S che dul er sch ed

mrRo ta ti on 7:

mrPa ce 9:

ge tR ot ( ) 6:

ge tP ace () 8:

se tR ot at io n(newVal ue= new MR Ro ta ri on ) 36:

se tP ace (n ewVal ue= new MR Pa ce) 37:

ap ply Pa ra mete rs() 38:

run( ) 1:

<<S Atr i gger>>

{ SAoccurr ence = (per iodi c, 15, m s)}

Separação1dos1Requisitos

<< SA resou rce>>

: Mo vemen tI nf ormat io n MR In fo

<< SA sch edR es> >

: Mo vemen tC on tr ol er movC t r l

: Ma inR ot or A ctu at or MR Act

<< SA sch edu ler >>

<< NF R _Ti ming >>

: S che dul er sch ed

mrRo ta ti on 7:

mrPa ce 9:

ge tR ot ( ) 6:

ge tP ace () 8:

se tR ot at io n(newVal ue= new MR Ro ta ri on ) 36:

se tP ace (n ewVal ue= new MR Pa ce) 37:

ap ply Pa ra mete rs() 38:

run( ) 1:

<<S Atr i gger>>

{ SAoccurr ence = (per iodi c, 15, m s)}

Separação1dos1Requisitos

: Mov movControl Scheduler

<<TimeEvent>>

run 1:

{ every = “(15, ms)” }

(4)

Federal-University-of-Technology-– Paraná

<< SA resou rce>>

: Mo vemen tI nf ormat io n MR In fo

<< SA sch edR es> >

: Mo vemen tC on tr ol er movC t r l

: Ma inR ot or A ctu at or MR Act

<< SA sch edu ler >>

<< NF R _Ti ming >>

: S che dul er sch ed

mrRo ta ti on 7:

mrPa ce 9:

ge tR ot ( ) 6:

ge tP ace () 8:

se tR ot at io n(newVal ue= new MR Ro ta ri on ) 36:

se tP ace (n ewVal ue= new MR Pa ce) 37:

ap ply Pa ra mete rs() 38:

run( ) 1:

<<S Atr i gger>>

{ SAoccurr ence = (per iodi c, 15, m s)}

Separação1dos1Requisitos

: Mov movControl Scheduler

<<TimeEvent>>

run 1:

{ every = “(15, ms)” }

Como-separar1o1tratamento1dos-requisitos- durante-todas1as-fases1do1projeto,-lidando-

adequadamente-com-o-aumento1da1 complexidade?

Engenharia1Guiada1por1Modelos +1Paradigma1Orientado1a1Aspectos

19

Antes1de1começar...

conceitos1básicos!!!

Engenharia1 Guiada1por1

Modelos

Federal-University-of-Technology-– Paraná

Engenharia1Guiada1por1Modelos1(MDE)

! MDE-promove-o-aumento1do1nível1de1 abstração no-desenvolvimento-do-projeto

◦ Das-linguagens-de-3ª geração-para-modelos

◦ Do-foco1do1projeto1muda:-da-escrita-de-código- para-a-criação1de1modelos

! Modelos são-considerados-os-artefatos1 mais1importantes no-projeto

O1código1fonte1é1gerado1automaticamente1a1 partir1dos1modelos

22

Federal-University-of-Technology-– Paraná

MDE:1Uma1ponte1real

Source:1http://www.visitingdc.com/san4francisco/golden4gate4bridge4picture.asp 23 Federal-University-of-Technology-– Paraná

MDE:1Desenhos da1Ponte

Slide1source:1https://blog.itu.dk/SMDD4E2009/ 24

(5)

Federal-University-of-Technology-– Paraná

MDE:1Planta Baixa da1Ponte

Source:1http://www.ahs4inc.biz/open4spandrel/thomaston4drawing.html 25 Federal-University-of-Technology-– Paraná

MDE:1Maquete1da1Ponte

Slide1source:1https://blog.itu.dk/SMDD4E2009/ 26

Federal-University-of-Technology-– Paraná

MDE:1Modelos de1Simulação

Slide1source:1https://blog.itu.dk/SMDD4E2009/ 27 Federal-University-of-Technology-– Paraná

MDE:1Modelos Matemáticos

Slide1source:1https://blog.itu.dk/SMDD4E2009/ 28

E1para1o1Software?!?

Parte1de1um1Software

(6)

Federal-University-of-Technology-– Paraná

Modelo1Informal1do1Software

Slide1source:1https://blog.itu.dk/SMDD4E2009/ 31 Federal-University-of-Technology-– Paraná

UML1– Diagrama1de1Classes

32

Federal-University-of-Technology-– Paraná

UML1– Diagrama1de1Sequência

33 Federal-University-of-Technology-– Paraná

Engenharia1Guiada1por1Modelos1(MDE)

! Um-modelo é-a-abstração de-“alguma-coisa”

◦ Ex.:-sistema,-componente,-processo,-software,-etc.

! Apresenta-um1perspectiva1em1particular

◦ Ponto-de-vista-ou-visão-específica

! Tem-um-propósito1específico

34

Federal-University-of-Technology-– Paraná

Engenharia1Guiada1por1Modelos1(MDE)

! MDE se-baseia no-conceito-de-Plataforma

◦ Conjunto-de-subsistemas e-tecnologias

◦ Fornece-um-conjunto bem-definido-de-serviços

◦ Serviços-são-fornecidos-através-de-interfaces1 bem1definidas

! Uma-plataforma-é-algo-relativo...

◦ Mainframe/Desktop,-J2EE/.Net,-Java/C/Assembly,- RISC/CISC/VLIW,-Microcontrolador/DSP,-SystemLonL chip/NetworkLonLChip,-ASIP/FPGA,-etc.

35 Federal-University-of-Technology-– Paraná

Engenharia1Guiada1por1Modelos1(MDE)

! Modelo1Independente1de1Plataforma1(PIM)

◦ As-características-de-um-sistema-são-vistas-sem1 considerar1a1implementação em-qualquer- plataforma-alvo

! Modelo1Específico1de1Plataforma1(PSM)

◦ Um-sistema-é-visto-como-conceitos-e-serviços- fornecidos-por-uma-determinada1plataforma1alvo

Combina o-PIM de-um-sistema-com-detalhes de- como esse-sistema-usará os-serviços fornecidos- pela-plataforma1alvo

36

(7)

Federal-University-of-Technology-– Paraná

O1que1é1a1UML?

! UML1=1Unified Modeling Language

! UML1é1uma1linguagem (notação-com-semântica- associada)-para:

◦ Visualizar,-Especificar,-Construir-e-Documentar

! UML1não1é1um1método1(ou1metodologia)

◦ Não-diz-quem-deve-fazer-o-quê,-quando-e-como

◦ UML-pode-ser-usado-segundo-diferentes-metodologias,- tais-como-RUP,-FDD-(Feature Driven Development),-etc.

! UML1não1é1uma1linguagem1de1programação

37 Federal-University-of-Technology-– Paraná

Por que usar UML?

! É-um-padrão1aberto1aceito-e-estabelecido-pela-comunidade

◦ versão-1.1-aprovada-pelo-OMG-(Object Management-Group)-em- Novembro-de-1997,-atualmente-versão-2.5-(UML2)-– 7941páginas

! Suporta-todo-o-ciclo-de-vida-do-software

◦ modelagem-do-negócio-(processos-e-objetos-de-negócio)-

◦ modelagem-de-requisitos-alocados-ao-software

◦ modelagem-da-solução-de-software

! Suporta1diversas1áreas1de1aplicação (pode-ser-estendida)

! É-baseada-na-experiência1e1necessidades da-comunidade- de-usuários-e-desenvolvedores-de-software

! É1suportada1por1muitas1ferramentas

38

Federal-University-of-Technology-– Paraná

Origens1da1UML

Booch

Booch method

Meyer

Before and after

conditions

Harel

Statecharts

Gamma, et al

Frameworks and patterns,

HP Fusion

Operation descriptions and message numbering

Embley

Singleton classes and high-level view

Wirfs-Brock

Responsibilities

Odell

Classification

Shlaer - Mellor

Object lifecycles

Rumbaugh

OMT

Jacobson

OOSE

39 Federal-University-of-Technology-– Paraná

Áreas Semânticas da1UML

40

Diagramas da1UML12.5 UML:1Modelos vs.1Diagramas

Use Case DiagramsUse Case

Diagrams Diagramas de Casos de Uso

Scenario DiagramsScenario

Diagrams Diagramas de

Colaboração

State DiagramsState

Diagrams Diagramas de Componentes

Component DiagramsComponent

Diagrams Diagramas de

Distribuição State DiagramsState

DiagramsDiagramas de Objetos

Scenario DiagramsScenario

Diagrams Diagramas de

Estados Use Case DiagramsUse Case

Diagrams Diagramas de

Sequência

State DiagramsState

Diagrams Diagramas de

Classes

Diagramas de Atividades

Modelos

(8)

Federal-University-of-Technology-– ParanáRoman,1Trask 4 Introduction to Model Driven Engineering using Eclipse1Frameworks1 43 Federal-University-of-Technology-– ParanáRoman,1Trask 4 Introduction to Model Driven Engineering using Eclipse1Frameworks1 44

Federal-University-of-Technology-– ParanáRoman,1Trask 4 Introduction to Model Driven Engineering using Eclipse1Frameworks1 45 Federal-University-of-Technology-– Paraná

MDE:1Camadas de1Modelagem

Instância(s) Modelo MetaLModelo

MetaLMeta- Modelo

Respeita1o Respeita1o

Respeita1o

Representado1por

M3 M2

M1

M0 Mundo1Real

Modelo1do1Mundo1Real Gramática1do1Modelo Especificação1da1Gramática

46

Federal-University-of-Technology-– Paraná

MDE:1Camadas1de1Modelagem

Instância(s) Modelo MetaLModelo

MetaLMeta- Modelo

Respeita1o Respeita1o

Respeita1o

Representado1por

M3 M2

M1 M0

DSML1 MOF

Roda-Traseira-Direita Roda-Dianteira-Esquerda

Roda-Dianteira-Direita

SensorRoda Controlador

UML DSML2

Respeita1o

Represented1by Respeita1o

Respeita1o Respeita1o

Estende

MDA

47 Federal-University-of-Technology-– Paraná

MDE:1Transformações1Entre1Modelos

! Converter-um-modelo-em-outro-modelo-do- mesmo-sistema:

◦ com-o-mesmo-nível-de-abstração/detalhamento

◦ para-um-modelo-mais-abstrato

◦ para-um-modelo-mais-detalhado PIM

PSM

Transformação

48

(9)

Federal-University-of-Technology-– Paraná

MDE:1Transformações1Entre1Modelos

M2 M1

Meta4Model da1UML

Meta4Model RT4Java

Anti4lock Bracking System

Modelo RT4Java

Modelo-Fonte MetaLModelo

Fonte Regras1das1

Transformações MetaLModelo- Alvo

Motor1de1

Transformação Modelo-Alvo

Respeita1ao Respeita1ao

Usa Usa

Executado1por

Entrada Saída

49 Federal-University-of-Technology-– Paraná

Eclipse1Modeling1Framework1(EMF)

! EMF-é-um-framework1de1 modelagem1baseada-no-Eclipse

! EMF-fornece-facilidades1para-adicionar-a-geração1 de1código em-ferramentas-e-também-outros- aplicativos,-baseandoLse-em-um-modelo1de1dados1 estruturado

! Ecore é1o1(meta4)modelo1chave1do1EMF e- permite-expressar-outros-modelos-através-de-suas- construções

◦ O-projeto-UML2 é-uma-implementação baseada-em-EMF do-meta4modelo1UML12.x1para-a-plataforma-Eclipse

50

Paradigma1 Orientado1a1

Aspectos

Federal-University-of-Technology-– Paraná

Desenvolvimento1de1Software1 Orientado1a1Aspectos1(AOSD)

! Paradigma-de-programação-que-aumenta1a1 modularidade1através-da-separação das- preocupações1transversais1(crosscutting concerns)

! “Preocupações-Transversais”?!?!?

Partes de-um-sistema1que-depende1de1ou-afetam1 várias1outras1partes1deste-mesmo-sistema

" Não pode-ser-encapsulado em-uma-única1unidade1de1

modularização nas-abordagens-tradicionais

" Ex.:-Log-em-um-software,-controle-de-transações,-controle-de-acesso-

a-recursos-compartilhados,-etc.

52

AOSD:1Conceitos

! Aspecto

Unidade1de1modularização que-lida-com-as- preocupações1transversais

" Adaptações:1alterações no-comportamento ou-na-estrutura do-

sistema-para-tratar as-preocupações1transversais

" Pointcuts:1especificam-as-relações entre-join4points e-as-

adaptações dos-aspectos

! Join4points

Pontos1na1execução de-um-sistema-onde-os-aspectos- aplicam-suas-adaptações

" Chamadas-de-métodos,-execução-de-métodos,-acesso-de-

leitura/escrita-em-atributos

1.

public class HelloWorld {

2.

public void say(String message){

3.

System.out.println(message); }

4.

public void sayToPerson(String message, String name){

5.

System.out.println(name + ", " + message);}

6.

}

7.

public aspect MannersAspect {

8.

pointcut callSayMessage() :

9.

call(public void HelloWorld.say*(..));

10.

before() : callSayMessage() {

11.

System.out.println("Good day!");}

12.

after() : callSayMessage() {

13.

System.out.println("Thank you!");}

14.

}

AOSD:1Exemplo

(10)

Federal-University-of-Technology-– Paraná 1.

public class HelloWorld {

2.

public void say(String message){

3.

System.out.println(message); }

4.

public void sayToPerson(String message, String name){

5.

System.out.println(name + ", " + message);}

6.

}

7.

public aspect MannersAspect {

8.

pointcut callSayMessage() :

9.

call(public void HelloWorld.say*(..));

10.

before() : callSayMessage() {

11.

System.out.println("Good day!");}

12.

after() : callSayMessage() {

13.

System.out.println("Thank you!");}

14.

}

AOSD:1Exemplo

1.

public class HelloWorld {

2.

public void say(String message){

3.

System.out.println("Good day!");

4.

System.out.println(message);

5.

System.out.println("Thank you!");

6.

}

7.

public void sayToPerson(String message, String name){

8.

System.out.println("Good day!");

9.

System.out.println(name + ", " + message);

10.

System.out.println("Thank you!");

11.

}

12.

}

55

Retornando...

Federal-University-of-Technology-– Paraná

<< SA resou rce>>

: Mo vemen tI nf ormat io n MR In fo

<< SA sch edR es> >

: Mo vemen tC on tr ol er movC t r l

: Ma inR ot or A ctu at or MR Act

<< SA sch edu ler >>

<< NF R _Ti ming >>

: S che dul er sch ed

mrRo ta ti on 7:

mrPa ce 9:

ge tR ot ( ) 6:

ge tP ace () 8:

se tR ot at io n(newVal ue= new MR Ro ta ri on ) 36:

se tP ace (n ewVal ue= new MR Pa ce) 37:

ap ply Pa ra mete rs() 38:

run( ) 1:

<<S Atr i gger>>

{ SAoccurr ence = (per iodi c, 15, m s)}

Separação1dos1Requisitos

: Mov movControl Scheduler

<<TimeEvent>>

run 1:

{ every = “(15, ms)” }

Como-separar1o1tratamento1dos-requisitos- durante-todas1as-fases1do1projeto,-lidando-

adequadamente-com-o-aumento1da1 complexidade?

Engenharia1Guiada1por1Modelos +1Paradigma1Orientado1a1Aspectos

57 Federal-University-of-Technology-– Paraná

Estado1da1Arte:1Resumo1dos1 Problemas1Encontrados

! Uso-de-OO-no-projeto-de-Sist.-Embarcados-de-TempoLReal

◦ Vários-trabalhos,-nenhum1(???)1aborda1o1tratamento1de1RNF

! Uso-de-UML-para-modelar-Sist.-Embarcados-de-TempoLReal

Comportamento é-descrito usando-linguagens de-ação-textuais

◦ Uso-de-perfis1proprietários1– MARTE-vem-sendo-bastante-utilizado

! Separação-do-tratamento-de-RF-e-RNF-em-fases-iniciais

Falta1de1padrões1para-modelar-RF-e-RNF

◦ Poucos-trabalhos-abordam-a-sua-aplicação-no-projeto-de-SETR

Faltam trabalhos-aplicando-aspectos1específicos1no-projeto-de-SETR

! Geração-de-código-a-partir-de-modelos-UML

Não1consideram1RNF

Informação1espalhada em-vários-diagramas-não é combinada

Geração1de1código1limitada do-comportamento1do-SETR

58

Federal-University-of-Technology-– Paraná

MDE1no1(co4)Projeto1de1Sistemas1 Embarcados1de1Tempo4Real

! AspectLoriented ModelLDriven Engineering for-RealLTime- systems-(AMoDELRT)

Combina conceitos-de-AOSD com-técnicas-de-MDE

◦ Segue-alguns-princípios-do-Projeto1Baseado1em1Plataformas1 (Platform0based Design)

! Foco-na-especificação1de1alto1nível do-SETR-– RTLUML

UML anotados-com-estereótipos-do-perfil-MARTE

! Transição1suave1da1especificação1para1a1implementação

◦ Análise-de-Requisitos-(RT4FRIDA)

◦ Framework-de-Aspectos-(DERAF)

◦ Regras-de-Modelagem-+-Regras-de-Transformação-(DERCS)

◦ Verificação automatizada da-especificação (AT4U – casos-de-teste- sobre-o-modelo-UML)

◦ Ferramenta-para-geração-de-código-+-entrelaçamento-de-aspectos- (GenERTiCA)

59 Federal-University-of-Technology-– Paraná

MDE1no1(co4)Projeto1de1Sistemas1 Embarcados1de1Tempo4Real

! AspectLoriented ModelLDriven Engineering for-RealLTime- systems-(AMoDELRT)

Combina conceitos-de-AOSD com-técnicas-de-MDE

◦ Segue-alguns-princípios-do-Projeto1Baseado1em1Plataformas1 (Platform0based Design)

! Foco-na-especificação1de1alto1nível do-SETR-– RTLUML

UML anotados-com-estereótipos-do-perfil-MARTE

! Transição1suave1da1especificação1para1a1implementação

◦ Análise-de-Requisitos-(RT4FRIDA)

◦ Framework-de-Aspectos-(DERAF)

◦ Regras-de-Modelagem-+-Regras-de-Transformação-(DERCS)

◦ Verificação automatizada da-especificação (AT4U – casos-de-teste- sobre-o-modelo-UML)

◦ Ferramenta-para-geração-de-código-+-entrelaçamento-de-aspectos- (GenERTiCA)

60

(11)

Federal-University-of-Technology-– Paraná 61

Visão Geral da1AMoDE4RT

Libraries Mapping Rules

(XML)

Sw/Hw Platforms DERAF Aspects Implementation

(10)

RT-UML Specification

+ DERAF

(5)

RT-UML Model Transformation

(6)

DERCS Model

(7)

GenERTiCA Code Generation

+ Aspects Weaving

(9)

Generated Source Code (12)

Code Compilation

and Synthesis

(11)

Distributed Embedded Real-Time System Modeling

Requirements (4) (2)

Requirements Analysis

(1)

Simulation of Model Execution

and Testing

(8)

Aspects Framework

(DERAF)

(3)

Federal-University-of-Technology-– Paraná

Estudo1de1Caso:1Helicóptero1não4Tripulado

! Unmanned Aerial Vehicle (UAV)

Voa1sem1piloto1a1bordo

! Várias-aplicações

◦ Resgate/Monitoramento

◦ Aplicações-Militares

◦ Vigilância,-etc. ! UAV1tem1vários1RNF

Tempo/temporização

Acesso1concorrente1a- recursos-compartilhado

◦ Várias-tarefas1executando- em1CPUs diferentes

Recursos1limitados,-etc.

62

Federal-University-of-Technology-– Paraná

Especificação1do1Sistema

! Regras-de-modelagem-devem-ser-obedecidas

◦ Diagramas-UML versão-2.x

◦ Estereótipos-do-perfil-MARTE

" Time1

" General1Resource Modeling (GRM)

" Hardware1Resource Model (HW_General)1(HRM)

! Requisitos-Funcionais

Estrutura:-Classest-Estruturas-compostat-e-de- Distribuição-(deployment)

Comportamento:-Sequênciat-Atividadest-e- Estados

63 Federal-University-of-Technology-– Paraná

Estereótipos1do1perfil1MARTE

64

Sistema1de1Controle1de1Movemento:1

Diagrama1de1Casos1de1Uso Tratamento1dos1RF:1Especificação-da-

Estrutura com-Diagrama1de1Classes*

(12)

Federal-University-of-Technology-– Paraná

Tratamento1dos1RF:1Especificação-do- Comportamento-com-Diag.1de1Sequência*

*1Diagrama1do1modelo1do1UAV1a1nível1de1projeto 67 Federal-University-of-Technology-– Paraná

Especificação1dos1RNF

! Preocupações-Transversais

Diagramas1de1casos1de1uso mostram-quais1 funcionalidades são-afetadas pelas- preocupações1transversais

68

Federal-University-of-Technology-– Paraná

Diagrama1de1Casos1de1uso:1 Preocupações Transversais

69 Federal-University-of-Technology-– Paraná

Especificação1dos1RNF

! Aspectos

Aspects Crosscutting Overview1Diagram(ACOD)

" É-uma-especialização-do-diagrama-de-classes

" Mostra-aspectos1afetando1as1classes do-sistema

" Especifica-os-pointcuts relacionados-ao-aspectos

Distributed Embedded Real4time1Aspects Framework (DERAF)

! Join Points

Join Point1Designation Diagram (JPDD)

" Especializações-dos-diagramas-de-sequência-e-classes

◦ Descrevem-a-seleção dos-elementos que-serão-afetados pelas-adaptações-dos-aspectos

" Analogia:-comando-‘select’ do-SQL com-clausula-‘where’

70

Federal-University-of-Technology-– Paraná

Framework1de1Aspectos1para1 Níveis1mais1Altos1de1Abstração

! Distributed Embedded Real4time1Aspects Framework1(DERAF)

Aspectos voltados-para o-domínio de-Sistemas- Embarcados-de-TempoLReal

◦ Regras-de-adaptação

" Adaptações1Estruturais1e1Comportamentais

" Seleção-dos-elementos-afetados:-Join Points e-Pointcuts

! Aspectos1abstratos1(semântica-em-alto-nível)

◦ Define-O1QUE1um-aspecto-deve-fazer-(i.e.- adaptações)

NÃO define-COMO implementar

71 Federal-University-of-Technology-– Paraná

Framework1de1Aspectos1para1 Níveis1mais1Altos1de1Abstração

! DERAF é-usado-em-modelos-RT4UML e- também-na-geração1de1código

! Regras1de1mapeamento:-de-aspectos-do- DERAF-para-serviços-da-plataforma-alvo

Já1foram1especificadas1regras1de1mapeamento1 para1plataformas1de1software1e,1inclusive,1 regras1de1DERAF1para1VHDL1(!!!)

72

(13)

Federal-University-of-Technology-– Paraná

<<Non-Functional>>

Embedded

<<Aspect>>

MemoryUsageMonitoring

<<Aspect>>

MemoryUsageControl

<<Aspect>>

HwAreaMonitoring

<<Aspect>>

EnergyMonitoring

<<Aspect>>

HwAreaControl

<<Aspect>>

EnergyControl

<<Non-Functional>>

Timing

<<Aspect>>

TimeBoundedActivity <<Aspect>>

SchedulingSupport

<<Aspect>>

TimingAttributes <<Aspect>>

PeriodicTiming

<<Non-Functional>>

Communication

<<Aspect>>

MessageCompression

<<Aspect>>

MessageIntegrity

<<Aspect>>

MessageAck

<<Non-Functional>>

TaskAllocation

<<Aspect>>

NodeStatusRetrieval

<<Aspect>>

TaskMigration

<<Non-Functional>>

Synchronization

<<Aspect>>

ConcurrentAccessControl

<<Aspect>>

MessageSynchronization

<<Non-Functional>>

Precision

<<Aspect>>

DataFreshness

<<Aspect>>

ToleratedDelay

<<Aspect>>

ClockDrift

<<Aspect>>

Jitter

<<use>>

<<use>>

<<use>>

<<use>>

<<use>>

<<use>>

<<use>>

<<use>> <<use>>

<<use>>

<<use>>

<<use>>

<<use>>

DERAF

73 Federal-University-of-Technology-– Paraná

<<Non-Functional>>

Embedded

<<Aspect>>

MemoryUsageMonitoring

<<Aspect>>

MemoryUsageControl

<<Aspect>>

HwAreaMonitoring

<<Aspect>>

EnergyMonitoring

<<Aspect>>

HwAreaControl

<<Aspect>>

EnergyControl

<<Non-Functional>>

Timing

<<Aspect>>

TimeBoundedActivity <<Aspect>>

SchedulingSupport

<<Aspect>>

TimingAttributes <<Aspect>>

PeriodicTiming

<<Non-Functional>>

Communication

<<Aspect>>

MessageCompression

<<Aspect>>

MessageIntegrity

<<Aspect>>

MessageAck

<<Non-Functional>>

TaskAllocation

<<Aspect>>

NodeStatusRetrieval

<<Aspect>>

TaskMigration

<<Non-Functional>>

Synchronization

<<Aspect>>

ConcurrentAccessControl

<<Aspect>>

MessageSynchronization

<<Non-Functional>>

Precision

<<Aspect>>

DataFreshness

<<Aspect>>

ToleratedDelay

<<Aspect>>

ClockDrift

<<Aspect>>

Jitter

<<use>>

<<use>>

<<use>>

<<use>>

<<use>>

<<use>>

<<use>>

<<use>> <<use>>

<<use>>

<<use>>

<<use>>

<<use>>

Embedded

Real4time Distributed

DERAF

74

Federal-University-of-Technology-– Paraná

Tratamento-dos-RNF:-Aspects Crosscutting Overview1Diagram (ACOD)

75 Federal-University-of-Technology-– Paraná

Tratamento-dos-RNF:-Aspects Crosscutting Overview1Diagram (ACOD)

Adaptações

Pointcuts Informação Transversal

76

Tratamento-dos-RNF:-Aspects1Crosscutting1 Overview1Diagram1(ACOD)

Join1Point

Posição1Relativa Pointcut

Adaptação

Ferramentas1de1Suporte1da1AMoDE4RT

! Apoio1de1ferramentas1CASE1é1essencial para-qualquer1 metodologia

◦ Principalmente,-as-que-seguem-a-MDE

Reuso de-artefatos-previamente-criados-e-automação1das1tarefas do- projeto-diminui o-esforço necessário-para-completar o-projeto

! AT4U – Automated Testing for-UML

◦ Executa-automaticamente-um-conjunto-de-casos-testes-sobre-um- modelo-DERCS

◦ Nenhuma-implementação-(de-partes-do)-sistema-é-necessária-para- verificar-o-comportamento-funcional-do-sistema

! GenERTiCA:-Generation of Embedded RealLTime-Code based on Aspects

◦ Síntese-e-transformação-dos-modelos

◦ Geração-automática-de-código

◦ Entrelaçamento-de-aspectos-(Aspects Weaving)

(14)

Federal-University-of-Technology-– Paraná

p u b l i c c l a s s M o v e m e n t C o n t r o l e r e x t e n d s R e a l t i m e T h r e a d { . . .p r i v a t e s t a t i c R e l a t i v e T i m e _ P e r i o d

= n e w R e l a t i v e T i m e ( 0 , 0 , 0 ) ; p r i v a t e s t a t i c P e r i o d i c P a r a m e t e r s _ P e r i o d i c P a r a m s = n e w P e r i o d i c P a r a m e t e r s ( n u l l , n u l l , n u l l , n u l l , n u l l ) ; . . .p u b l i c v o i d r u n ( ) {

/ / V a r i a b l e s i n t n e w M R R o t a t i o n ; . . . / / A c t i o n s w h i l e ( i s R u n n i n g ( ) ) {

m r R o t a t i o n = M R I n f o . g e t R o t a t i o n ( ) ;

m r P a c e = M R I n f o . g e t P a c e ( ) ; . . . w a i t F o r N e x t P e r i o d ( ) ; } } . . . }

p u b l i c c l a s s M o v e m e n t C o n t r o l e r e x t e n d s R e a l t i m e T h r e a d { . . .p r i v a t e s t a t i c R e l a t i v e T i m e _ P e r i o d

= n e w R e l a t i v e T i m e ( 0 , 0 , 0 ) ; p r i v a t e s t a t i c P e r i o d i c P a r a m e t e r s _ P e r i o d i c P a r a m s = n e w P e r i o d i c P a r a m e t e r s ( n u l l , n u l l , n u l l , n u l l , n u l l ) ; . . .p u b l i c v o i d r u n ( ) {

/ / V a r i a b l e s i n t n e w M R R o t a t i o n ; . . . / / A c t i o n s w h i l e ( i s R u n n i n g ( ) ) {

m r R o t a t i o n = M R I n f o . g e t R o t a t i o n ( ) ;

m r P a c e = M R I n f o . g e t P a c e ( ) ; . . . w a i t F o r N e x t P e r i o d ( ) ; } } . . . }

p u b l i c c l a s s M o v e m e n t C o n t r o l e r e x t e n d s R e a l t i m e T h r e a d { . . .p r i v a t e s t a t i c R e l a t i v e T i m e _ P e r i o d

= n e w R e l a t i v e T i m e ( 0 , 0 , 0 ) ; p r i v a t e s t a t i c P e r i o d i c P a r a m e t e r s _ P e r i o d i c P a r a m s = n e w P e r i o d i c P a r a m e t e r s ( n u l l , n u l l , n u l l , n u l l , n u l l ) ; . . .p u b l i c v o i d r u n ( ) {

/ / V a r i a b l e s i n t n e w M R R o t a t i o n ; . . . / / A c t i o n s w h i l e ( i s R u n n i n g ( ) ) {

m r R o t a t i o n = M R I n f o . g e t R o t a t i o n ( ) ;

m r P a c e = M R I n f o . g e t P a c e ( ) ; . . . w a i t F o r N e x t P e r i o d ( ) ; } } . . . }

Entrelaçamento de-Aspectos

Code1Generation

+

Aspects1Weaving Transformation

Synthesis

DERCS

Source1 Code RTLUML

Diagrams RTLUML Diagrams

79

Mapping Rules (XML)

DERAF1Aspects Implementation

+

Federal-University-of-Technology-– Paraná

GenERTiCA:1Elementos-Principais

! “Síntese” do-modelo-UML

Distributed Embedded Real4time1Compact Specification (DERCS)

◦ Modelo-Independente-de-Platforma (PIM)

" Estrutura-+-Comportamento-+-Tratamento-dos-RNF

◦ Adequado-para-geração1de1código1(completo)1e- outras1tarefas1que-exigem-“precisão”-na- semântica-da-especificação

! Regras1de1Mapeamento descritas-em-XML

◦ Scripts-para-a-geração-de-código

" Velocity Template Engine

80

Federal-University-of-Technology-– Paraná

DERCS:1Overview1dos1Pacotes

81 Federal-University-of-Technology-– Paraná

DERCS:1Overview1dos1Pacotes

BehavioralAdaptation StructuralAdaptation

<<enumeration>>

RelativePosition

MODIFY_STRUCTURE ADD_NEW_FEATURE AROUND BEFORE AFTER

AspectAdaptation NamedElement

Crosscutting Aspect

Crosscutting Information BaseElement

Pointcut Joinpoint

−StructuralAdaptations 0..*

1

−BehavioralAdaptations 0..*

1

−SelectedElements 0..*

1

−AffectedElement 1

0..*

−RelativePosition 1 1

−Crosscuting0..*

−Pointcuts 0..*

1

−AspectAdaptation 1 1

−CrosscutingInfo 1 0..*

1..*

Elementos1que1podem1

1

ser1selecionados:

L Classes LAtributos L Métodos L Objetos L Nós

L Comportamentos LAções

82

Federal-University-of-Technology-– Paraná

Relembrando:1

Transformações1Entre1Modelos

Modelo-Fonte MetaLModelo

Fonte

M2 M1

Regras-das- Transformações

MetaLModelo- Alvo

Motor-de-

Transformação Modelo-Alvo

Respeita1ao Respeita1ao

Usa Usa

Executado1por

Entrada Saída

Meta4Modelo da1UML

Meta4Modelo DERCS

UAV UAV

UML para DERCS

83 Federal-University-of-Technology-– Paraná

Transformação1UML!DERCS:

Elementos1Estruturais

84

(15)

Federal-University-of-Technology-– Paraná

Transformação1UML!DERCS:

Elementos1Estruturais

85 Federal-University-of-Technology-– Paraná

Transformação1UML!DERCS:

Elementos1Comportamentais

86

Federal-University-of-Technology-– Paraná

Transformação1UML!DERCS:

Elementos1Comportamentais

87 Federal-University-of-Technology-– Paraná

Transformação UML4DERCS

88

Behavior-(loop)

CreateObjectAction (msg 3) Behavior-(branch)

SendMessageAction (msg 4) AssignmentAction (msg 5) SendMessageAction (msg 6) Behavior-(branch-alternative)

SendMessageAction (msg 7) AssignmentAction (msg 8) AssignmentAction (msg 9)---

(sched,-ctrl,-behav_run) (ctrl,-act,-behav_setActValue)

SendMessageAction (msg 2) Transformação

UML4DERCS

SendMessageAction (msg 2) SendMessageAction (msg 10) (sched,-ctrl,-behav_run)

(ctrl,-act,-behav_setActValue) (ctrl,-ctrl,-behav_processInfo) SendMessageAction (msg 10)--- Behavior-(branch)

SendMessageAction (msg 11) AssignmentAction (msg 12) SendMessageAction (msg 13) AssignmentAction (msg 14) Transformação

UML4DERCS

(16)

Federal-University-of-Technology-– Paraná

Transformações-Modelo-para-Texto

Modelo-Fonte MetaLModelo

Fonte

M2 M1

Regras-das-

Transformações MetaLModelo- Alvo

Motor-de-

Transformação Código Fonte

Respeita1ao Respeita1ao

Usa Usa

Executado1por

Entrada Saída

Meta4Modelo da1DERCS

Meta4Modelo PSM

UAV Implementação

do1UAV DERCS1para

PSM1(XML)

91 Federal-University-of-Technology-– Paraná

+-Entrelaçamento-de-Aspectos

! Regras-são-descritas-em-formato-XML

Facilita1o1reuso das-regras-individuais

◦ Permite-a-criação1de1repositórios de-regras

! Cada-folha-na-árvore-XML-contem-scripts1concisos,1 e1com1objetivo1bem1delimitados

◦ Produzem-fragmentos1de1código1fonte

Executam as-adaptações feitas-pelos-aspectos

! Implementação dos-aspectos1do1DERAF para-a- plataforma1alvo escolhida

92

Federal-University-of-Technology-– Paraná

Regras1de1Mapeamento:1 Organização-da-Árvore-XML

Software

Hardware

Classes

Interrupts

Idem-Software Platforms

Platform

1

Platform

2

Platform

n

Application

Platform-Configuration

Source-Options Primary-Elements

Behavior

Aspects

Software

Hardware Used services

Used components Essa-abordagem de-geração de-

código é flexível e-suporta diferentes tipos de1linguagens alvo tanto para-componentes de- software como para-hardware

93 Federal-University-of-Technology-– Paraná

Processo1de1Geração1do1Código

! Resumo:-Aplicar1as1regras de-mapeamento- em-cada1elemento do-metaLmodelo-DERCS

! Fragmentos (de-código-fonte)-gerados-são- combinados em-arquivos1de1código1fonte

! Aspectos-DERAF-(especificados-no-modelo)

Adaptam/modificam-os-fragmentos1de1código1 gerados conforme-a-semântica-das-adaptações

◦ Adaptam/configuram os-serviços necessários- na-plataforma1alvo

94

Federal-University-of-Technology-– Paraná

Geração1do1Código1da1Aplicação

95 Federal-University-of-Technology-– Paraná

Is Class affected by any

Aspect?

Is it affected by model level aspect

adaptations?

Is it affected by model level aspect

adaptations?

Is it affected by model level aspect

adaptations?

Is it affected by model level aspect

adaptations?

Is there any Class to

analyse?

Search mapping rule that fits with the selected Class

Select next Message Is there

any Attibute to analyse?

Select next Attribute Is there any Message to

analyse?

Is it Aspect?

Select next Action

Is there any Action to

analyse?

Select next Class Combine source code fragments Generate source code file

Execute script

Execute script Search script

to execute Search script

to execute

Search script to execute Initialization

Apply adaptations

Apply

adaptations Apply

adaptations

Apply adaptations Apply adaptations Apply

adaptations Apply adaptations

Apply adaptations

No

No

No

Yes Yes

No No

No No

No

Yes Yes

No

No

Yes

Yes Yes

No

No Yes

Yes

Yes

Yes Yes

affected by any Is it

Aspect?

affected by any Execute script

Is it Aspect?

affected by any selected

96

Referências

Documentos relacionados

An increase of NADPH concentration was observed in the green algae (Chlamydomonas reinhardtii); however, the researcher used different reagents, and the observed difference might

O burnout foi pesquisado e estudado nos professores por ser uma profissão propícia ao aparecimento dessa síndrome. O burnout aparece principalmente em profissões de ajuda, ou

Os «Zagorski mlinci» adquirem o seu aspeto típico e a consistência frágil devido à cozedura específica da massa, em chapas quentes planas ou curvas, durante não

Doutorando em Química (PPGQ) pela Universidade Federal Rural de Pernambuco (UFRPE) Instituição: Departamento de Química, Universidade Federal Rural de Pernambuco Endereço: R..

Concentrações séricas de glicose (mg/dL) e plasmáticas de insulina (ng/mL) de ratos após seis semanas recebendo dieta balanceada (N) ou hiperlipídica

A presente pesquisa teve como objetivo analisar as práticas de gestão de energia e água nas operações de serviço em três Instituições de Ensino Superior da Rede

Sendo a região portuguesa que autoriza o maior número de castas (116) para a produção dos seus vinhos, a RDD testemunhou uma erosão significativa da sua diversidade de castas à

A grande variabilidade dos eventos odontológicos e das alterações dentárias, bem como a especialidade e unicidade dessas características encontradas nas pessoas,