Uma Linguagem de Especificação de Sistemas

Slides:



Advertisements
Apresentações semelhantes
Programa das Aulas 20/09/05 - Apresentação da disciplina
Advertisements

VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Raphael Gatti Thomás Bryan
Protótipo de Simulador de Elevadores
03/08/2011 Professor Leomir J. Borba- –
Dispositivos lógicos programáveis (DLP)
ISO/IEC – 6 Avaliação do Produto – Módulos de Avaliação
Pontifícia Universidade Católica do Rio Grande do Sul
Software Básico Silvio Fernandes
Fernando Moraes e Ney Laert Vilar Calazans
Excel Profa. Cristina M. Nunes.
Ney Laert Vilar Calazans
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Camila R. Rocha RA: Silvia C. M. Soares RA: Disciplina: Engenharia de Software I Professora: Eliane Martins SDL Specification and Description.
Arquiteturas Diferentes
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
DIAGRAMA DE ATIVIDADES
Informática Industrial
April 05 Prof. Ismael H. F. Santos - 1 Módulo II Introdução a XML DTD Prof. Ismael H F Santos.
April 05 Prof. Ismael H. F. Santos - 1 Módulo II XML Processing: XSLT, SAX e DOM Prof. Ismael H F Santos.
Avaliação de Desempenho
Descrição de hardware em SystemC
INTRODUÇÃO À PROGRAMAÇÃO
Co-simulação Régio Michelin.
Capítulo 1 Introdução 1.1 O que é um sistema operacional
9. Modelos de Alta Freqüência Pequenos Sinais:
Estruturas de Controle
Aula 4 Nomes, Vinculações, Tipos e Escopos
Aula 8 Orientação à Objetos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Linguagens de Programação
Registro Eletrônico para Acompanhamento Médico de Pacientes em uma UTI Rafael Charnovscki (1), Jacques R. Nascimento Filho (2,3) Giancarlo Bianchin.
Fraction Action FRACÇÕES.
Gerenciamento do Escopo
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Introdução a Programação JAVA
DIAGRAMA DE COMPONENTES
Desenvolvimento de Projetos e Aplicações Web
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Engenharia de Requisitos
PROGRAMAÇÃO I UNIDADE 1.
Object Oriented Software Construction (MEYER, Bertrand)
Algoritmos Culturais.
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Modos de Configuração do Dispositivo VIRTEX II XC2V1000 Eduardo Wenzel Brião
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
É u m e l e m e n t o f u n d a m e n t a l
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
BRAZIL IP The BrazilIP Network Verilog Curso do Brazil-IP Elmar Melcher UFCG
Ritornello Um Framework para Representação de Conhecimento Musical
1.
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Curso: Cerimonial, Protocolo e Eventos
Rio Verde - Goiás - Brasil
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
GeoPB Envio de Informações de Obras Públicas
UML - Unified Modeling Language
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Profª. Patrícia Barreto
Transcrição da apresentação:

Uma Linguagem de Especificação de Sistemas 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 Conclusões

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.

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.

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

Componentes Estrutura: system, block, process e procedure. Dados: Tipos abstratos de dados, Pacotes. Comunicação: sinais e canais (rotas de sinais).

Componentes - Hierarquia Árvore hierárquica da estrutura de SDL System Package Block Process Procedure

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.

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.

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.

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

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.

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”

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.

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

MSC MSC (Message Sequence Chart Language) é uma forma gráfica que serve para representar os sinais enviados e recebidos pelos componentes (processos, blocos).

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

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

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

Tau SDL - Ambiente de edição

Tau SDL - Simulador

Tau SDL - Validator

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

Cinderella SDL - Ambiente de Edição

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

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)

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

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.

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

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)

Archimate - Ambiente de Síntese Bloco SW Blocos HW Bloco Clock Bloco compilado SW

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

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)

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

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.