Software de Telecomunicações Introdução ao Cinderella Prof RG Crespo Software de Telecomunicações Cinderella : 1/26 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.cbf Prof RG Crespo Software de Telecomunicações Cinderella : 2/26
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. Propriedades do símbolo seleccionado Barras de símbolos estado simulação Prof RG Crespo Software de Telecomunicações Cinderella : 3/26 Zonas de trabalho (2) Explorador Área de especificação Barra de símbolos Barra de estado Propriedades Prof RG Crespo Software de Telecomunicações Cinderella : 4/26
Sistema (1) De início, a AE encontra-se vazia Premir duplamente o rato no símbolo de sistema 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 Prof RG Crespo Software de Telecomunicações Cinderella : 5/26 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 Prof RG Crespo Software de Telecomunicações Cinderella : 6/26
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 +/ -. 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 Prof RG Crespo Software de Telecomunicações Cinderella : 7/26 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 [ ] 3. Identificadores da canal: a. Premir duplamamente o canal no explorador (inicialmente, o Cinderella indica Channel/signal route?namennn) b. Editar nome na caixa de texto Prof RG Crespo Software de Telecomunicações Cinderella : 8/26
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 2. Posicionar no bloco aninhado 1. No explorador, premir duplamente a mensagem ERROR: Symbol text missing 2. CTRL-V Prof RG Crespo Software de Telecomunicações Cinderella : 9/26 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 Sinónimas: Natural Prof RG Crespo Software de Telecomunicações Cinderella : 10/26
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 Analisador corre em background para detectar erros sintácticos e referências inexistentes Para fechar, comando Close do menu File Prof RG Crespo Software de Telecomunicações Cinderella : 11/26 Processo (1) Sub-bloco Processo Prof RG Crespo Software de Telecomunicações Cinderella : 12/26
Processo (2) Início Estado Tarefa Leitura Escrita Stop Decisão Lançamento de processo Ligação Prof RG Crespo Software de Telecomunicações Cinderella : 13/26 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 3. No novo símbolo: 1. Ajustar posição 2. Inserir texto complementar (estado, tarefa, entrada, saída, decisão) Prof RG Crespo Software de Telecomunicações Cinderella : 14/26
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. 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. Prof RG Crespo Software de Telecomunicações Cinderella : 15/26 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 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 3. Inserir dentro do símbolo o identificador do estado Prof RG Crespo Software de Telecomunicações Cinderella : 16/26
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 sinal(param) To inst From inst Prof RG Crespo Software de Telecomunicações Cinderella : 18/26
Simulação (2) Cada processo referido por Ident:Numb Menu View Seleccionar SDL Menu Simulate F5 : Arranque Shift-F5 : Paragem Acção corrente Mensagem a ser lançada Prof RG Crespo Software de Telecomunicações Cinderella : 19/26 Simulação (3) Na simulação, os elementos a apresentar na AE são indicados no comando View/Explorer settings, caixa Simulation Intervalo entre passos indicado opção Schedulling, na caixa Simulation do comando Tools/Options Prof RG Crespo Software de Telecomunicações Cinderella : 20/26
Simulação (4) Estado dos processos Menu View Seleccionar MSC Menu Simulate F5 : Arranque Shift-F5 : Paragem Cada processo referido por Ident:Numb Mensagem a ser lançada Valores de mensagens listados se seleccionada opção Show parameter values associated to exchange signals and RPCs, na caixa Simulation do comando Tools/Options Prof RG Crespo Software de Telecomunicações Cinderella : 21/26 Simulação (5) Sinal lançado do ambiente por 1. Seleccionar bloco e sinal de Input signals 2. Premir tecla direita e executar Send Signal 3. Parâmetros (aleatórios ou por omissão) 4. Premir Send Prof RG Crespo Software de Telecomunicações Cinderella : 22/26
Projectos 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 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. Prof RG Crespo Software de Telecomunicações Cinderella : 23/26 Conversão de formatos (1) O ficheiro em formato gráfico pode ser convertido para formato texto pelo comando Export do menufile 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 ; 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; Prof RG Crespo Software de Telecomunicações Cinderella : 24/26
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 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. Prof RG Crespo Software de Telecomunicações Cinderella : 25/26 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) Executar em modo de compatibilidade Windows XP/SP2 Executar programa com privilégio de administrador Prof RG Crespo Software de Telecomunicações Cinderella : 26/26