http://gaph sdl uma linguagem de especificação de sistemas luís henrique leal ries...
TRANSCRIPT
![Page 1: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/1.jpg)
http://www.inf.pucrs.br/~gaph
SDLSDL
Uma Linguagem
de Especificação de Sistemas
Luís Henrique Leal [email protected]
![Page 2: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/2.jpg)
2
http://www.inf.pucrs.br/~gaph
SumárioSumá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
![Page 3: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/3.jpg)
3
http://www.inf.pucrs.br/~gaph
IntroduçãoIntroduçã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.
![Page 4: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/4.jpg)
4
http://www.inf.pucrs.br/~gaph
HistóricoHistó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.
![Page 5: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/5.jpg)
5
http://www.inf.pucrs.br/~gaph
SumárioSumário
• Introdução e 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
![Page 6: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/6.jpg)
6
http://www.inf.pucrs.br/~gaph
ComponentesComponentes
• Estrutura: system, block, process e procedure.
• Dados: Tipos abstratos de dados, Pacotes.
• Comunicação: sinais e canais (rotas de sinais).
![Page 7: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/7.jpg)
7
http://www.inf.pucrs.br/~gaph
Componentes - HierarquiaComponentes - Hierarquia
• Árvore hierárquica da estrutura de SDL
Procedure
System
Block
Process
Package
![Page 8: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/8.jpg)
8
http://www.inf.pucrs.br/~gaph
Componentes - SystemComponentes - System
No sistema se insere a especificação do circuitoatravés dos blocos e da comunicação entre este
e com o ambiente.
![Page 9: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/9.jpg)
9
http://www.inf.pucrs.br/~gaph
Componentes - BlocksComponentes - Blocks
A função do bloco é fazer a comunicação interna dos sinais.Os objetivos dos blocos são: reduzir a complexidade atravésda estruturação hierárquica e permitir a inserção de rotas de
sinais entre blocos e com outros níveis de hierarquia.
![Page 10: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/10.jpg)
10
http://www.inf.pucrs.br/~gaph
Componentes - ProcessComponentes - Process
O processo especifica um comportamento concorrente do programa, ou seja, é nele que são descritos a recepçãoe envio de sinais e a relação e operações entre estes sinais.
![Page 11: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/11.jpg)
11
http://www.inf.pucrs.br/~gaph
Componentes - Process (Comandos Internos)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
![Page 12: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/12.jpg)
12
http://www.inf.pucrs.br/~gaph
Componentes - ProcedureComponentes - Procedure
O procedimento é uma chamada de uma subrotinaque contém a descrição de uma função que será
utilizada em um processo.
![Page 13: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/13.jpg)
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”
![Page 14: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/14.jpg)
14
http://www.inf.pucrs.br/~gaph
Componentes - Sinais e Canais Componentes - Sinais e Canais (Comunicação) (Comunicação)
Canais - responsáveis pela comunicação dos sinais (enviar e/ou receber) entre dois ou mais processos, blocos ou sistemas.
![Page 15: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/15.jpg)
15
http://www.inf.pucrs.br/~gaph
SumárioSumá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
![Page 16: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/16.jpg)
16
http://www.inf.pucrs.br/~gaph
MSCMSC
• MSC (Message Sequence Chart Language) é uma forma gráfica que serve para representar os sinais enviados e recebidos pelos componentes (processos, blocos).
![Page 17: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/17.jpg)
17
http://www.inf.pucrs.br/~gaph
SumárioSumá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
![Page 18: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/18.jpg)
18
http://www.inf.pucrs.br/~gaph
EditoresEditores
• 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
![Page 19: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/19.jpg)
19
http://www.inf.pucrs.br/~gaph
Editores - Tau SDL 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
![Page 20: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/20.jpg)
20
http://www.inf.pucrs.br/~gaph
Tau SDL - Ambiente de ediçãoTau SDL - Ambiente de edição
![Page 21: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/21.jpg)
21
http://www.inf.pucrs.br/~gaph
Tau SDL - Simulador
![Page 22: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/22.jpg)
22
http://www.inf.pucrs.br/~gaph
Tau SDL - Validator
![Page 23: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/23.jpg)
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
![Page 24: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/24.jpg)
24
http://www.inf.pucrs.br/~gaph
Cinderella SDL - Ambiente de Edição
![Page 25: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/25.jpg)
25
http://www.inf.pucrs.br/~gaph
SumárioSumá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
![Page 26: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/26.jpg)
26
http://www.inf.pucrs.br/~gaph
Co-Síntese - ArchimateCo-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)
![Page 27: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/27.jpg)
27
http://www.inf.pucrs.br/~gaph
Archimate - Ferramenta de SínteseArchimate - 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 SW
Hardware Gerado Software GeradoInterface
![Page 28: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/28.jpg)
28
http://www.inf.pucrs.br/~gaph
Archimate - Etapas da Geração de HW/SWArchimate - 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.
![Page 29: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/29.jpg)
29
http://www.inf.pucrs.br/~gaph
Archimate - Síntese de HardwareArchimate - 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
![Page 30: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/30.jpg)
30
http://www.inf.pucrs.br/~gaph
Archimate - Síntese de SoftwareArchimate - 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)
![Page 31: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/31.jpg)
31
http://www.inf.pucrs.br/~gaph
Archimate - Ambiente de SínteseArchimate - Ambiente de Síntese
• Bloco SW
• Blocos HW
• Bloco Clock
• Bloco compilado SW
![Page 32: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/32.jpg)
32
http://www.inf.pucrs.br/~gaph
SumárioSumá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
![Page 33: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/33.jpg)
33
http://www.inf.pucrs.br/~gaph
SDL - Comparações com outras LinguagensSDL - Comparações com outras Linguagens
Características VHDL
VHDLCaracterísticas CSDL
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
PoucoSim
Alta
Baixo
Baixo
Excelente
Sim
Hardware
Médio
Média
Médio
Médio
Sim
Alta
Alto
Excelente
Baixo
Sim
Software
Médio
Variável*
Baixo
Muito
Não
Baixa
Alto
Alto
Médio
Não
* O nível pode ser alto (bons programadores) ou baixo (maus programadores)
![Page 34: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/34.jpg)
34
http://www.inf.pucrs.br/~gaph
SumárioSumá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
![Page 35: Http://gaph SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc133497959413d8d6f89/html5/thumbnails/35.jpg)
35
http://www.inf.pucrs.br/~gaph
ConclusõesConclusõ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.