• Nenhum resultado encontrado

Software Component Engineering

N/A
N/A
Protected

Academic year: 2021

Share "Software Component Engineering"

Copied!
11
0
0

Texto

(1)

Software

Software

Component

Component

Engineering

Engineering

Generic

Generic

Programming

Programming

DESERT

DESERT ContainersContainers

Roberto de Oliveira Leão

(2)

Contexto

Contexto

„

„ Projeto DESERT Projeto DESERT -- Desenvolvimento de Desenvolvimento de

Ferramentas de Síntese de Sistemas sob

Ferramentas de Síntese de Sistemas sob

Restrições de Tempo Real;

Restrições de Tempo Real;

„

„ A modelagem intermediária das A modelagem intermediária das

ferramentas desenvolvidas no âmbito do

ferramentas desenvolvidas no âmbito do

projeto DESERT são

projeto DESERT são containerscontainers, ,

principalmente GRAFOS que são usados

principalmente GRAFOS que são usados

para modelar toda a estrutura de

para modelar toda a estrutura de

HARDWARE, seus estados e também o

HARDWARE, seus estados e também o

fluxo dos dados.

(3)

Justificativa

Justificativa

„

„ GenericGeneric ProgrammingProgramming possui ótimos possui ótimos

mecanismos para flexibilização da

mecanismos para flexibilização da

estrutura de

estrutura de containerscontainers, o que facilita a , o que facilita a criação de componentes reusáveis para o

criação de componentes reusáveis para o

próprio projeto, já que a modelagem

próprio projeto, já que a modelagem

básica de GRAFOS é sempre a mesma;

básica de GRAFOS é sempre a mesma;

„

„ Um dos objetivos no decorrer da Um dos objetivos no decorrer da

dissertação, é implementar um container

dissertação, é implementar um container

capaz de suportar novos algoritmos, sem

capaz de suportar novos algoritmos, sem

que o responsável pela criação do novo

que o responsável pela criação do novo

algoritmo tenha que conhecer a fundo a

algoritmo tenha que conhecer a fundo a

estrutura de

(4)

Diagrama em blocos*

Diagrama em blocos*

*Este diagrama corresponde ao diagrama da antiga ferramenta do projeto OASIS, a qual será usada como referência em grande parte para implementação das novas ferramentas. Os blocos serão idênticos.

Descrição HDL

Modelo de grafos Ferramentas Escopo deste trabalho

Tradutor HDL->Grafos

(5)

Estrutura GRAFOS*

Estrutura GRAFOS*

«abstract» AbsGraph «template» Graph «inherits» «implementation class» Edge * 1 «implementation class» Node 1 * «implementation class» SMG «implementation class» DFG «implementation class»DPG «inherits» «inherits» «inherits» «implementation class» TRA «implementation class» STA «inherits» 1 * 1 * «implementation class» DFN «implementation class» DFE «inherits» «inherits» 1 * 1 * «implementation class» WIR «implementation class» CMP «inherits» «inherits» 1 * 1 *

(6)

Estrutura GRAFOS

Estrutura GRAFOS

-

-

Continuação

Continuação

„

„ O diagrama de classes pode ser entendido da O diagrama de classes pode ser entendido da

seguinte maneira:

seguinte maneira:

Especialização de

Especialização de EdgeEdge Transition

Transition TRA

TRA

Especialização de

Especialização de NodeNode State

State STA

STA

Especialização de

Especialização de GraphGraph State

State MachineMachine GraphGraph SMG

SMG

Especialização de

Especialização de EdgeEdge Wire

Wire WIR

WIR

Especialização de

Especialização de NodeNode Component

Component CMP

CMP

Especialização de

Especialização de GraphGraph Data

Data PathPath GraphGraph DPG

DPG

Especialização de

Especialização de EdgeEdge Data

Data FlowFlow EdgeEdge DFE

DFE

Especialização de

Especialização de NodeNode Data

Data FlowFlow NodeNode DFN

DFN

Especialização de

Especialização de GraphGraph Data

Data FlowFlow GraphGraph DFG

(7)

Estrutura GRAFOS

Estrutura GRAFOS

-

-

Continuação

Continuação

„

„ Como UML não possui suporte a Como UML não possui suporte a

templates

templates, uma forma de modelar classes , uma forma de modelar classes templates

templates é usando é usando <<stereotypes>>;<<stereotypes>>;

„

„ Ainda com relação a Ainda com relação a templatestemplates, a forma , a forma

encontrada para modelar classes “filhas”

encontrada para modelar classes “filhas”

que definem o

que definem o templatetemplate, foi através de , foi através de agregação.*

agregação.*

*Talvez esta não seja a melhor forma para tal modelagem, mas dessa maneira fica claro a associação entre as classes.

(8)

Estrutura GRAFOS

Estrutura GRAFOS

Associações*

Associações*

«implementation class» STA «implementation class» DFN «implementation class» CMP ASSIGNMENT * * BINDING * * «implementation class» STA «implementation class» CMP ACTIVATION * *

Neste diagrama temos as classes resultantes das “associações”

resultantes de tarefas do processo de síntese

BINDING – Classe que modela a relação de uma operação ser escalonada para executar em um X componente de Hardware ASSIGNMENT – Classe

que modela a relação de uma operação ser

escalonada para executar em um X estado.

ACTIVATION – Classe que modela a relação de, em que estados um

componente X está sendo utilizado.

(9)

Conclusões

Conclusões

„

„ ContainersContainers implementados eficientemente implementados eficientemente

e robustos para os

e robustos para os requisistosrequisistos do sistema;do sistema;

„

„ Porém falta generalização de alguns Porém falta generalização de alguns

aspectos dos

aspectos dos containerscontainers, que permitam , que permitam um reuso em futuras ferramentas, sem

um reuso em futuras ferramentas, sem

que seja necessário um conhecimento à

que seja necessário um conhecimento à

fundo dos

fundo dos containerscontainers já implementados;já implementados;

„

„ Uma vantagem desta modelagem é de ser Uma vantagem desta modelagem é de ser

bastante simples e sendo assim, facilita o

bastante simples e sendo assim, facilita o

entendimento de quem nunca trabalhou

entendimento de quem nunca trabalhou

com estes

(10)

Perspectivas

Perspectivas

„

„ Generalizar ainda mais a implementação, Generalizar ainda mais a implementação,

principalmente nos grafos especializados para as

principalmente nos grafos especializados para as

ferramentas de síntese(DFG, SMG e DPG). Uma

ferramentas de síntese(DFG, SMG e DPG). Uma

possibilidade de generalização seria utilizar

possibilidade de generalização seria utilizar

conceitos de

conceitos de FunctionFunction ObjectsObjects que permitiriam que permitiriam agregar algoritmos novos de síntese, sem a

agregar algoritmos novos de síntese, sem a

necessidade de recriar todo o container.

necessidade de recriar todo o container.

„

„ Gerar um primeiro protótipo já no TI para que Gerar um primeiro protótipo já no TI para que

na dissertação e em futuras ferramentas do

na dissertação e em futuras ferramentas do

projeto DESERT, possamos usufruir dos

projeto DESERT, possamos usufruir dos

benefícios de uma Engenharia de Software bem

benefícios de uma Engenharia de Software bem

aplicada.

(11)

Referências Bibliográficas

Referências Bibliográficas

„

„ SANTOS, L. C. V. dos: ”A Síntese de Alto Nível na SANTOS, L. C. V. dos: ”A Síntese de Alto Nível na Automação do Projeto de Sistemas Computacionais”,

Automação do Projeto de Sistemas Computacionais”,

cap. 8, livro

cap. 8, livro--texto da VIII Escola de Informática da texto da VIII Escola de Informática da SBCSBC- -Sul

Sul, p. 211, p. 211--231, maio de 2000.231, maio de 2000.

„

„ DE MICHELI , G. “DE MICHELI , G. “SynthesisSynthesis andand OptimizationOptimization of Digital of Digital Circuits

Circuits, , McGrawMcGraw--HillHill, 1994., 1994.

„

„ STROUSTRUP, B.; ELLIS, Margaret. “C++”, EUA: STROUSTRUP, B.; ELLIS, Margaret. “C++”, EUA: Campus, 1993, 546p.

Campus, 1993, 546p.

„

„ WEISS, M. A. “WEISS, M. A. “AlgorithmsAlgorithms, Data , Data StructuresStructures, , AndAnd Problem

Problem SolvingSolving WithWith CC++”, USA, 1996.++”, USA, 1996.

„

„ FRÖHLICH, A. A. M. Notas de Aula FRÖHLICH, A. A. M. Notas de Aula –– INE 65100 INE 65100 –– Software

Software ComponentsComponents EngineringEnginering –– 20032003/2 /2 -

-http://www.lisha.ufsc.br/~guto/teaching/sce/index.html

http://www.lisha.ufsc.br/~guto/teaching/sce/index.html

(consultado em Setembro/2003

Referências

Documentos relacionados

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Nas últimas décadas, os estudos sobre a fortificação alimentar com ferro no país têm sido conduzidos na tentativa de encontrar uma maneira viável para controle da anemia

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...

Como já destacado anteriormente, o campus Viamão (campus da última fase de expansão da instituição), possui o mesmo número de grupos de pesquisa que alguns dos campi