1 / 35

SDL

SDL. Uma Linguagem de Especificação de Sistemas. Luís Henrique Leal Ries. ries@inf.pucrs.br. 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

fionan
Download Presentation

SDL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SDL Uma Linguagem de Especificação de Sistemas Luís Henrique Leal Ries ries@inf.pucrs.br

  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). • 1976 - especificação de um único processo • 1982 - inter-comunicação de processos. • 1988 - recebeuté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. 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

  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. 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 (Message Sequence Chart Language) é uma forma gráfica que serve para representar os sinais enviados e recebidos pelos componentes (processos, blocos). MSC

  17. Sumário • 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 • 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. Síntese de SW Hardware Gerado 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 Interface 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. Bloco SW Blocos HW Bloco Clock Bloco compilado SW Archimate - Ambiente de Síntese

  32. 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ões

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

  34. 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õ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.

More Related