Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Uma Linguagem de Especificação de Sistemas
SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries
2
Sumário Introduçã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
Introduçã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
Histórico 1972- Início da criação da linguagem pela CCITT (Comité Consultatif International Telegraphique e Telephonique). especificação de um único processo inter-comunicação de processos. recebeu técnica de definição formal. Adição de conceitos de Orientação a Objetos. Revisão e clareza da linguagem. Conceitos novos como utilização de UML.
5
Sumário Componentes(sistemas,blocos,processos) Introdução e Histórico
MSC (Message Sequence Chart) Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões
6
Componentes Estrutura: system, block, process e procedure.
Dados: Tipos abstratos de dados, Pacotes. Comunicação: sinais e canais (rotas de sinais).
7
Componentes - Hierarquia
Árvore hierárquica da estrutura de SDL System Package Block Process Procedure
8
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
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
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
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 Stop - para a execução Start - Inicio do Process Texto ou especificação de sinais Task - Utilizado para fazer cálculos, declarações Decisão Salvar um sinal
12
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
A função do Package é permitir
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
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
Sumário Introdução e Histórico
Componentes (sistemas, blocos, processos) MSC (Message Sequence Chart) Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões
16
MSC MSC (Message Sequence Chart Language) é uma forma gráfica que serve para representar os sinais enviados e recebidos pelos componentes (processos, blocos).
17
Sumário Editores (Cinderella, Tau) Introdução e Histórico
Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau) Archimate - uma ferramenta de Co-Síntese Comparações com outras linguagens Conclusões
18
Editores 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
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
Tau SDL - Ambiente de edição
21
Tau SDL - Simulador
22
Tau SDL - Validator
23
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
Cinderella SDL - Ambiente de Edição
25
Sumário Introdução e Histórico Co-Síntese (Archimate)
Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões
26
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
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 SW Síntese de HW Interface Hardware Gerado Software Gerado
28
Archimate - Etapas da Geração de HW/SW
Especificação em alto nível (SDL) código gerado e provavelmente testado Particionamento estrutural redefine a estrutura do sistema, selecionando manualmente quais serão os blocos em Hw e Sw Síntese da comunicação transforma canais abstratos para canais concretos que implementam os protocolos especificados pelo projetista.
29
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
Archimate - Síntese de Software
Gera um arquivo C/C++ Compila-o Mapeia a síntese para um mP Específico (IBM Power PC 603e, Motorola MC68040, Motorola M68000 e STMicroelectronics ST10)
31
Archimate - Ambiente de Síntese
Bloco SW Blocos HW Bloco Clock Bloco compilado SW
32
Sumário Introdução e Histórico Comparações com outras linguagens
Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões
33
SDL - Comparações com outras Linguagens
Características VHDL C SDL 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 Pouco Sim Alta Baixo Excelente Hardware Médio Software Variável* Muito Não Baixa * O nível pode ser alto (bons programadores) ou baixo (maus programadores)
34
Sumário Conclusões Introdução e Histórico
Componentes (sistemas, blocos, processos) Formas MSC Editores (Cinderella, Tau) Co-Síntese (Archimate) Comparações com outras linguagens Conclusões
35
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.