Software de Telecomunicações
Prof RG Crespo Software de Telecomunicações Cinderella : 1/26
Introdução ao Cinderella
Descrição
• Ambiente de desenvolvimento, que inclui:
– Editor gráfico em SDL – Analisador
– Simulador
• Versão 1.4 cobre SDL-2000
• Corre em Windows
• Versão demo em http://www.cinderella.dk
• Ficheiros de especificações possuem extensão
Zonas de trabalho (1)
• O Cinderella contém zonas de trabalho
– Área de especificação: representação gráfica de um elemento do sistema (sistema, bloco, processo). – Explorador: para seleccionar elemento do sistema a
colocar na área de especificação.
Prof RG Crespo Software de Telecomunicações Cinderella : 3/26
colocar na área de especificação.
– Propriedades do símbolo seleccionado – Barras de • símbolos • estado • simulação
Zonas de trabalho (2)
Área de especificação Explorador Barra de símbolos Barra de estadoSistema (1)
• De início, a AE encontra-se vazia
– Premir duplamente o rato no símbolo de sistema
– Editar título para inserir
Prof RG Crespo Software de Telecomunicações Cinderella : 5/26 – Editar título para inserir
identificador de sistema – Se necessário, alterar
dimensões do rectângulo de sistema
– Premir duplamente o rato no rectângulo para nova janela do sistema
Sistema (2)
Bloco
Caixa de texto (ex: declaração de tipos, sinais, variáveis) Inserção de canal
1. Seleccionar botão. 2. Premir rato no bloco de
partida.
3. Arrastar rato, premir rato em pontos de flexão e premir rato no bloco destino.
4. Editar nome, sinais, canais internos e externos. Tipo bloco
Sistema (3)
• Para colocar na AE um componente (sistema,
bloco ou processo), seleccionar esse componente
no explorador (se necessário, expandir/ comprimir
níveis premindo rato no +/ -.
Prof RG Crespo Software de Telecomunicações Cinderella : 7/26
• Para subir um nível na hierarquia
– executar comando Parent diagram do menu View (no topo mantém-se no mesmo nível), ou
– Seleccionar directamente nível no Explorador
Canais de comunicação (1)
• Há 3 elementos a indicar:
1. Sentido: premir rato no canal, surgindo caixa de
diálogo com opções de direcção (Bidireccional e troca de sentido)
2. Sinais: indicados na caixa [ ] 2. Sinais: indicados na caixa [ ] 3. Identificadores da canal:
a. Premir duplamamente o canal no explorador (inicialmente, o Cinderella indica Channel/signal route?nameNNN)
Canais de comunicação (2)
• Nos blocos interiores é necessário indicar o
identificador do canal no nível superior
1. Posicionar no nível superior
1. seleccionar identificador de canal 2. CTRL-C
Prof RG Crespo Software de Telecomunicações Cinderella : 9/26 2. CTRL-C
2. Posicionar no bloco aninhado
1. No explorador, premir duplamente a mensagem ERROR:
Symbol text missing
2. CTRL-V
Declarações (1)
• Caixa de texto para declarações textuais
– Tipos de dados (NEWTYPE, SYNTYPE) – Sinais (SIGNAL)
– Variáveis (DCL)
– Temporizadores (TIMER)
• Cinderella pré-define as seguintes espécies no
pacote predefined
– Novas: Boolean, Integer, Real, Character, CharString, Time, Duration, Pid
Declarações (2)
• Conteúdo de qualquer caixa de texto pode ser
manipulado numa janela àparte
– Para abrir janela com conteúdo
1. Seleccionar caixa
2. Premir botão direito do rato, executar comando Edit Window
Prof RG Crespo Software de Telecomunicações Cinderella : 11/26 2. Premir botão direito do rato, executar comando Edit Window
– Analisador corre em “background” para detectar erros sintácticos e referências inexistentes
– Para fechar, comando Close do menu File
Processo (1)
• Sub-bloco
• Sub-bloco
• Processo
Processo (2)
• Início
• Estado
• Tarefa
Prof RG Crespo Software de Telecomunicações Cinderella : 13/26 • Tarefa • Leitura • Escrita • Stop • Decisão • Lançamento de processo • Ligação
Processo (3)
• A inserção de um elemento do processo é feita na
seguinte sequência:
1. Seleccionar elemento prévio (excepto Início e Caixa de texto)
2. “Clicar” no símbolo a inserir de seguida 2. “Clicar” no símbolo a inserir de seguida 3. No novo símbolo:
1. Ajustar posição
2. Inserir texto complementar (estado, tarefa, entrada, saída, decisão)
Parâmetros
• Para estabelecer os parâmetros num processo ou
numa rotina
1. Posicionar-se na primeira página
2. Executar comando Heading do menu View.
Prof RG Crespo Software de Telecomunicações Cinderella : 15/26
3. Surgem caixas a tracejado, ondem deve ser inseridos textualmente os parâmetros.
Nota: por omissão, os parâmetros das rotinas são
passados por valor.
Excepções (1)
• A declaração de novas excepções exception… deve ser precedida pelo comentário /*!SDL2000*/
• Para indicar o estado inicial do tratamento de excepções, executar a seguinte sequência de passos:
1. Seleccionar o agente
2. Premir tecla direita do rato e seleccionar o comando Insert -> Handler 2. Premir tecla direita do rato e seleccionar o comando Insert -> Handler 3. Inserir dentro do símbolo o identificador do estado.
• Para indicar que um inicia o tratamento de excepções, executar a seguinte sequência de passos:
1. Seleccionar o estado
2. Premir tecla direita do rato e seleccionar o comando Exception Handler Symbol
Excepções (2)
• Para inserir o comando Raise de geração de uma excepção, executar a seguinte sequência de passos:
1. Inserir a acção OUTPUT, indicando o nome da excepção.
2. Premir tecla direita do rato e seleccionar o comando Attributes -> Raise
Prof RG Crespo Software de Telecomunicações Cinderella : 17/26
Simulação (1)
• Um processo encontra-se sempre num dos
seguintes estados:
– Em execução (“Running”)
– Pronto, à espera do CPU (“Ready”)
– Bloqueado à espera de uma mensagem (“Waiting”)
• O lançamento de mensagem indicado na barra de
simulação na forma
Simulação (2)
• Menu View – Seleccionar SDL • Menu Simulate – F5 : Arranque – Shift-F5 :Cada processo referido por Ident:Numb
Prof RG Crespo Software de Telecomunicações Cinderella : 19/26 – Shift-F5 : Paragem Acção corrente Mensagem a ser lançada
Simulação (3)
• Na simulação, os elementos a apresentar na AE são indicados no comandoView/Explorer settings, caixa
Simulation
• Intervalo entre passos
indicado opção Schedulling, na caixa Simulation do comando Tools/Options…
Simulação (4)
• Menu View – Seleccionar MSC • Menu Simulate – F5 : Arranque – Shift-F5 : Paragem Estado dos processosProf RG Crespo Software de Telecomunicações Cinderella : 21/26 – Shift-F5 : Paragem
Valores de mensagens listados se seleccionada opção Show parameter values associated to exchange signals and RPCs, na caixa Simulation do comando Tools/Options…
Cada processo referido por Ident:Numb
Mensagem a ser lançada
Simulação (5)
•
Sinal lançado do
ambiente por
1. Seleccionar bloco e sinal de Input signals signals 2. Premir tecla direita e executar Send Signal… 3. Parâmetros (aleatórios ou por omissão) 4. Premir SendProjectos grande dimensão
• Blocos podem residir em ficheiros separados:
– Facilita reutilização de especificações – Permite desenvolvimento separado
• Para estabelecer a ligação de um bloco/processo/serviço de um ficheiro para outro
1. Seleccionar o elemento
Prof RG Crespo Software de Telecomunicações Cinderella : 23/26 1. Seleccionar o elemento
2. “Clicar” o botão direito do rato e executar Create link to file 3. Indicar localização do ficheiro alvo (se necessário, pesquisar com
auxílio do botão Browse…)
Nota: a referência é absoluta, pelo que a localização deve ser actualizada se ficheiros Cinderella foram transportados para outro directório.
Conversão de formatos (1)
• O ficheiro em formato gráfico pode ser convertido para formato texto pelo comando Export… do menu File SYSTEM Interactivo ;
CHANNEL dados.in
NODELAY FROM ENV TO meio WITH DadosA ; ENDCHANNEL;
CHANNEL interactivo.ord
NODELAY FROM ENV TO meio WITH Change ; ENDCHANNEL;
CHANNEL dados.out
NODELAY FROM meio TO destino WITH DadosB ; NODELAY FROM meio TO destino WITH DadosB ; ENDCHANNEL;
Signal Change(Boolean),DadosA(Character),DadosB(Character) ; BLOCK destino ;
SIGNALROUTE destinoEinteractivoAname157__i FROM ENV TO receptador WITH DadosB ; PROCESS Receptador (1,1); DCL Buffer Character; START; NEXTSTATE Loop ; STATE Loop ; INPUT DadosB(Buffer) ; NEXTSTATE - ; ENDSTATE; ENDPROCESS;
CONNECT dados.out AND destinoEinteractivoAname157__i; ENDBLOCK;
Conversão de formatos (2)
• O Cinderella abre directamente apenas ficheiros de extensão .cif
• Para trabalhar ficheiros em representação textual devem ser seguidos os passos:
1. Lançar o Cinderella.
2. Executar o comando New do menu .
Prof RG Crespo Software de Telecomunicações Cinderella : 25/26 2. Executar o comando New do menu File.
3. Executar o comando Import… do menu File, indicando o ficheiro textual (ficheiros de extensão .pr ou .sdl).
4. Se o utilizador pretender trabalhar em modo gráfico, executar o comando PR to GR do menu Tools.
Restrições
• Restrições na versão Demo
– Simula, no máximo, 3 processos (incluindo Environment) – Não trata Undos
• Restrições na versão 1.4 no Windows Vista: alterar as
propriedades do programa (menu Compatibilidades) propriedades do programa (menu Compatibilidades)
– Executar em modo de compatibilidade Windows XP/SP2 – Executar programa com privilégio de administrador