A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries

Apresentações semelhantes


Apresentação em tema: "SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries"— Transcrição da apresentação:

1 http://www.inf.pucrs.br/~gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br

2 2 http://www.inf.pucrs.br/~gaphSumário Introdução e HistóricoIntrodução e Histórico Componentes (sistemas, blocos, processos) MSC (Message Sequence Chart) Editores SDL (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões

3 3 http://www.inf.pucrs.br/~gaphIntrodução Definição: É uma linguagem formal orientada a objetos que serve para especificar o comportamento de sistemas de tempo real. Vantagens: sintaxes gráficas (.GR) e textuais (.PR), definição de tipos de dados, reutilização do código, simulações em alto nível, geração de códigos em alto e baixo nível, concorrência, fácil especificação da comunicação de processos. Desvantagens: Dificuldade de criação, manipulação e visualização, quando a complexidade espacial for enorme para a representação gráfica.

4 4 http://www.inf.pucrs.br/~gaph Histórico 1972- Início da criação da linguagem pela CCITT (Comité Consultatif International Telegraphique e Telephonique). 1976 - especificação de um único processo 1982 - inter-comunicação de processos. 1988 - recebeu técnica de definição formal. 1992 - Adição de conceitos de Orientação a Objetos. 1996 - Revisão e clareza da linguagem. 2000 - Conceitos novos como utilização de UML.

5 5 http://www.inf.pucrs.br/~gaphSumário eIntrodução e Histórico Componentes(sistemas,blocos,processos)Componentes(sistemas,blocos,processos) MSC (Message Sequence Chart) Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões

6 6 http://www.inf.pucrs.br/~gaph Componentes Estrutura: system, block, process e procedure. Dados: Tipos abstratos de dados, Pacotes. Comunicação: sinais e canais (rotas de sinais).

7 7 http://www.inf.pucrs.br/~gaph Componentes - Hierarquia Árvore hierárquica da estrutura de SDL Procedure System Block Process Package

8 8 http://www.inf.pucrs.br/~gaph Componentes - System No sistema se insere a especificação do circuito através dos blocos e da comunicação entre este e com o ambiente.

9 9 http://www.inf.pucrs.br/~gaph Componentes - Blocks A função do bloco é fazer a comunicação interna dos sinais. Os objetivos dos blocos são: reduzir a complexidade através da estruturação hierárquica e permitir a inserção de rotas de sinais entre blocos e com outros níveis de hierarquia.

10 10 http://www.inf.pucrs.br/~gaph Componentes - Process O processo especifica um comportamento concorrente do programa, ou seja, é nele que são descritos a recepção e envio de sinais e a relação e operações entre estes sinais.

11 11 http://www.inf.pucrs.br/~gaph Componentes - Process (Comandos Internos) Recebe sinais de dentro de um process Envia sinais de dentro de um process Comentário Estado ou Próximo Estado Texto ou especificação de sinais Decisão Salvar um sinal Task - Utilizado para fazer cálculos, declarações Start - Inicio do Process Stop - para a execução

12 12 http://www.inf.pucrs.br/~gaph Componentes - Procedure O procedimento é uma chamada de uma subrotina que contém a descrição de uma função que será utilizada em um processo.

13 13 http://www.inf.pucrs.br/~gaph Componentes - Componentes - Package A função do Package é permitir que o projetista defina Procedures, sinais, tipos de dados, variáveis, constantes, etc Note que para usar um Package em um dos componentes precisa-se usar o Use Package

14 14 http://www.inf.pucrs.br/~gaph Componentes - Sinais e Canais (Comunicação) Canais - responsáveis pela comunicação dos sinais (enviar e/ou receber) entre dois ou mais processos, blocos ou sistemas.

15 15 http://www.inf.pucrs.br/~gaphSumário Introdução e Histórico Componentes (sistemas, blocos, processos) MSC (Message Sequence Chart)MSC (Message Sequence Chart) Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões

16 16 http://www.inf.pucrs.br/~gaph MSC MSC (Message Sequence Chart Language) é uma forma gráfica que serve para representar os sinais enviados e recebidos pelos componentes (processos, blocos).

17 17 http://www.inf.pucrs.br/~gaphSumário Introdução e Histórico Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau)Editores (Cinderella, Tau) Archimate - uma ferramenta de Co-Síntese Comparações com outras linguagens Conclusões

18 18 http://www.inf.pucrs.br/~gaphEditores Estes editores são ferramentas utilizadas para a descrição gráfica e textual dos sistemas computacionais. Todas estas ferramentas permitem a simulação concorrente da especificação e permitem a visualização da mesma no formato MSC. São eles: –Tau SDL (Telelogic) –Cinderella SDL

19 19 http://www.inf.pucrs.br/~gaph Editores - Tau SDL Vantagens: Mais conhecido e utilizado Maior compatibilidade para a ferramenta de co- síntese Validator - uma simulação avançada e uma análise da implementação MSC de alto nível - MSC em forma de árvore Gera uma representação UML do sistema computacional

20 20 http://www.inf.pucrs.br/~gaph Tau SDL - Ambiente de edição

21 21 http://www.inf.pucrs.br/~gaph Tau SDL - Simulador

22 22 http://www.inf.pucrs.br/~gaph Tau SDL - Validator

23 23 http://www.inf.pucrs.br/~gaph Editores - Cinderella SDL Vantagens: Mais facilidade de programação Mais facilidade de simulação Gera uma representação UML Geração de arquivos para outros editores

24 24 http://www.inf.pucrs.br/~gaph Cinderella SDL - Ambiente de Edição

25 25 http://www.inf.pucrs.br/~gaphSumário Introdução e Histórico Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau) Co-Síntese (Archimate)Co-Síntese (Archimate) Comparações com outras linguagens Conclusões

26 26 http://www.inf.pucrs.br/~gaph Co-Síntese - Archimate Archimate é uma ferramenta de síntese específica para codesign, pois gera Hw e Sw a partir de uma especificação SDL. Gera arquivos C (C++), VHDL(Verilog). Fornece ambiente de co-simulação Não suporta todas as construções da linguagem (ex. Save)

27 27 http://www.inf.pucrs.br/~gaph Archimate - Ferramenta de Síntese Etapas da geração de Hw/Sw: Descrição em alto nível (SDL) Particionamento estrutural Síntese da Comunicação Síntese de HW Síntese de SWHardware Gerado Software Gerado Interface

28 28 http://www.inf.pucrs.br/~gaph Archimate - Etapas da Geração de HW/SW Especificação em alto nível (SDL)Especificação em alto nível (SDL) »código gerado e provavelmente testado Particionamento estruturalParticionamento estrutural »redefine a estrutura do sistema, selecionando manualmente quais serão os blocos em Hw e Sw Síntese da comunicaçãoSíntese da comunicação »transforma canais abstratos para canais concretos que implementam os protocolos especificados pelo projetista.

29 29 http://www.inf.pucrs.br/~gaph Archimate - Síntese de Hardware Cria o clock e o reset Gera VHDL (ou Verilog) Síntese lógica e física Gera interface entre Hw e Sw

30 30 http://www.inf.pucrs.br/~gaph Archimate - Síntese de Software Gera um arquivo C/C++ Compila-o Mapeia a síntese para um P Específico (IBM Power PC 603e, Motorola MC68040, Motorola M68000 e STMicroelectronics ST10)

31 31 http://www.inf.pucrs.br/~gaph Archimate - Ambiente de Síntese Bloco SW Blocos HW Bloco Clock Bloco compilado SW

32 32 http://www.inf.pucrs.br/~gaphSumário Introdução e Histórico Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagensComparações com outras linguagens Conclusões

33 33 http://www.inf.pucrs.br/~gaph SDL - Comparações com outras Linguagens Características VHDL CaracterísticasCSDL Tipo de Especificação Idealizada para a Linguagem Poder de Abstração Facilidade de Alteração e Manutenção Poder de Documentação Público Alvo Descrição de Sinais e Variáveis Suporte à Concorrência Descrição Hierárquica Suporte à Descrição Síncrona Suporte a Descrição de Sistemas de Telecomunicação em Baixo Nível Suporte a Descrição de Sistemas de Telecomunicação Interativos Sistemas Assíncronos Alto Média Alto Pouco Sim Alta Baixo Excelente Sim Hardware Médio Média Médio Sim Alta Alto Excelente Baixo Sim Software Médio Variável* Baixo Muito Não Baixa Alto Médio Não * O nível pode ser alto (bons programadores) ou baixo (maus programadores)

34 34 http://www.inf.pucrs.br/~gaph Sumário Introdução e Histórico Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens ConclusõesConclusões

35 35 http://www.inf.pucrs.br/~gaph Conclusões SDL é uma excelente linguagem para especificar a comunicação assíncrona entre processos Tem um grande potencial para a especificação completa de Sist. de Telecomunicações Interativos Possui boas e diferentes formas de representar sua linguagem É uma linguagem pouco usada atualmente, mas com grandes chances de entrar no mercado futuramente Existe incompatibilidade entre seus editores tanto na representação gráfica quanto na textual.


Carregar ppt "SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries"

Apresentações semelhantes


Anúncios Google