cin.ufpe.br sistema de comunicação celular controle de usuários e recursos sistema de...

32
CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. [email protected] Leonilson Barboza [email protected] Renata Braga [email protected]

Upload: internet

Post on 22-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Sistema de Comunicação CelularControle de usuários e recursos

Disciplina: Especificação de Sistemas Distribuídos

Mestrado em Ciências da ComputaçãoAleciano Jr.

[email protected]

Leonilson [email protected]

Renata [email protected]

Page 2: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Agenda• Introdução

– Histórico

• Características do sistema– Antenas– Canais– Células– Sinal– Chamada

• Objetivos do projeto• Dados• Código• Refinamento• Demonstração

Page 3: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Histórico

• “Inventado” em 1940 por Hedy Lamarr, atriz e inventora austríaca;

• Objetivo inicial era despistar radares nazistas na época da 2ª guerra mundial.

Page 4: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Histórico

• Em 1956 a Ericsson desenvolveu o Ericsson MTA (Mobile Telephony A);

• Mas, a Motorola por meio do Dynatac 8000X, permitiu a primeira ligação no ano de 1973;

• A primeira chamada foi feita pelo pesquisador Martin Cooper em Nova Iorque.

Page 5: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Histórico

• No Brasil, a primeira rede foi lançada pela TELERJ em 1990;

• Home somos o 4º maior utilizador de telefonia celular no mundo, perdendo para China, Índia e EUA (segundo a União Internacional de Telecomunicações);

• No mundo, ao final de 2014, segundo a ONU: celulares ~ pessoas

Page 6: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

• Antena: emite sinal por meio de radiação eletromagnética;

• Existe uma antena tanto na estação rádio base quanto no celular (interna)!

Page 7: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

• Canal: porção de frequência utilizada por um dado usuário de sistema de telecomunicações;

• Canais de TV, Rádio, Internet Sem fio, Celular...

• Cada canal em um sistema celular possuirá partes interessadas nas informações que ali são transmitidas, e para isso, sincronizarão nos mesmos afim de obter o serviço desejado.

Page 8: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

Page 9: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

• Células: área geográfica coberta por uma dada estação rádio base de telefonia celular;

• O formato hexagonal é didático, na prática seria próximo de um círculo (se a área for plana);

Page 10: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

• Tipos de células:

Antena Omnidirecional Antena setorial

• •Setor A

Setor B Setor C

Page 11: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

• Área de serviço: região coberta por um conjunto de células.

Page 12: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

• Intensidade do sinal: pode ser aceitável, fraca ou inexistente.

Page 13: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Características do sistema

• Chamada: usuário ocupando um dos canais de sua célula durante determinado tempo.

Page 14: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Objetivos

• Especificar o comportamento de um sistema de comunicação celular no que se refere ao controle de usuários e recursos de canais;

• Modelar operações básicas de controle das estações rádio base e de requisições por parte dos celulares.

Page 15: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Dados

• Número de células: 12• Número de celulares: 20• Canais disponíveis por célula: 4• Máximo de celulares por célula: 8

É possível ter um número de entidades maior que essas, mas para fins de simplificação dos testes no ProBE e FDR, o número foi reduzido.

Page 16: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Dados

• Operações suportadas:

• Celular ingressar em uma dada célula;• Celular em modo de ligação;• Celular encerrar ligação em andamento;• Troca de canal devido a falha no sinal;• Terminação forçada devido a indisponibilidade de canais

com qualidade aceitável;• Celular sair de uma determinada célula.

Page 17: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Dados

• Considerações em relação a um sistema real:

• Operações de handoff, paging, roaming apesar de interessantes, não estavam no escopo original;

• Agrupamento por cluster (reutilização de frequência em células adjacentes) necessitaria de uma camada de complexidade a mais para incluir questões de localização espacial;

• Uso de dois canais durante uma ligação (uplink e downlink). Como os canais são utilizados e liberados em pares, decidimos simplificar e considerar como um recurso único.

Page 18: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Trechos do código - declarações

• CELULAS = {1..12} -- nº de células (torres)

• IDS = {1..20} -- identificadores de cada celular (usuário)

• LIMITE_USUARIOS = 8 -- por torre

• LIMITE_CANAIS = 4 -- por torre

• DADOS = < > -- matriz (unidimensional) de dados

• CONJ_CANAIS = {1..LIMITE_CANAIS} -- nº de canais

Page 19: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Trechos do código - declarações

• A matriz começa vazia e vai sendo atualizada.

– Exemplo: usuário de ID 15 entra na torre, a matriz fica <<0,15,0>>

– Exemplo: usuário de ID 1 entra na torre, a matriz fica <<0,15,0>,<0,1,0>>

• Novos usuários precisam que a torre tenha espaço livre para entrada de

usuários.

• O usuário pode estar ocupando um slot mas não estar ligando.

• Quando usuário liga a matriz fica:

– Exemplo: usuário de ID 1 faz ligação, a matriz fica <<0,15,0>,<1,1,nº do canal>>

– O primeiro “1” indica ligação, o terceiro número da sequência é o canal em uso (Se

houver).

Page 20: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Trechos do código - canais

• Interface = {|entrarNaCelula, respostaSolicitacao,

entradaUsuario, realizarLigacao, informaCanalLigacao,

encerrarLigacao, saidaUsuario, novoCanal |}

• Hidden = {| semEspacoNaRede, usuarioConversa,

semCanaisDisponiveis, ofereceDesligar, ofereceSaida|}

Page 21: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Trechos do código - principal

• CELS_REF = ||| i:IDS @ CELULAR_REF(i, 0, 0, 0)

• TORRES_REF = ||| t:CELULAS @ TORRE_REF(DADOS,

<1..LIMITE_CANAIS>, t)

• SISTEMA_REF = TORRES_REF [| Interface |]

CELS_REF \Hidden

Page 22: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Refinamento

• Este refinamento é muito simples: tomamos algumas das escolhas internas presentes na especificação original e as alteramos para escolha interna na implementação.

• Tem-se nesse caso:

Page 23: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoProcesso CELULAR

CELULAR(id, rede, ligando, canal) = if (rede==0)

then(entrarNaCelula?t -> respostaSolicitacao?resposta -> if (resposta == true)

then (entradaUsuario!id -> CELULAR(id, t, ligando, canal))

else semEspacoNaRede -> CELULAR(id, rede, ligando, canal))else

((realizarLigacao!id -> respostaSolicitacao?resposta -> if (resposta == true)

then (informaCanalLigacao?c-> usuarioConversa -> CELULAR(id, rede, 1, c))

else semCanaisDisponiveis -> CELULAR(id, rede, ligando, canal))

[] (encerrarLigacao!id -> respostaSolicitacao?resposta -> CELULAR(id, rede, 0, 0))

[] (saidaUsuario!id -> respostaSolicitacao?resposta -> CELULAR(id, 0, 0, 0) )

|~| (novoCanal!id?c -> CELULAR(id, rede, ligando, c))

)

Page 24: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoCELULAR Refinado

CELULAR_REF(id, rede, ligando, canal) = if (rede==0)

then(entrarNaCelula?t -> respostaSolicitacao?resposta -> if (resposta == true)

then (entradaUsuario!id -> CELULAR(id, t, ligando, canal))

else semEspacoNaRede -> CELULAR(id, rede, ligando, canal))

else ((realizarLigacao!id -> respostaSolicitacao?resposta -> if (resposta == true)

then (informaCanalLigacao?c-> usuarioConversa -> CELULAR(id, rede, 1, c))

else semCanaisDisponiveis -> CELULAR(id, rede, ligando, canal))

[] (encerrarLigacao!id -> respostaSolicitacao?resposta -> CELULAR(id, rede, 0, 0))

[] (saidaUsuario!id -> respostaSolicitacao?resposta -> CELULAR(id, 0, 0, 0) )

[] (novoCanal!id?c -> CELULAR(id, rede, ligando, c))

)

Page 25: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoProcesso TORRE (trecho com escolha interna)

TORRE(dados, canais,t) = ( (entrarNaCelula!t -> if(verificaCapacidade(dados)==true)

then respostaSolicitacao!true -> entradaUsuario?i -> TORRE(dados^<<0,i,0>>, canais, t)

else respostaSolicitacao!false -> TORRE(dados, canais, t) )

[]( realizarLigacao?i:idsValidosOciosos(dados) ->

( (if(#canais>0)

then respostaSolicitacao!true -> informaCanalLigacao?c:funcao(canais) -> TORRE(alocaCanal(dados,i,head(canais)), tail(canais),t)

|~| sinalInsuficiente -> respostaSolicitacao!false -> TORRE(dados, canais, t)

else respostaSolicitacao!false -> TORRE(dados, canais, t) ) ) )

Page 26: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoTORRE Refinada (trecho com escolha externa)

TORRE_REF(dados, canais,t) = ( (entrarNaCelula!t -> if(verificaCapacidade(dados)==true)

then respostaSolicitacao!true -> entradaUsuario?i -> TORRE_REF(dados^<<0,i,0>>, canais, t)

else respostaSolicitacao!false -> TORRE_REF(dados, canais, t) )

[]

( realizarLigacao?i:idsValidosOciosos(dados) -> ( (if(#canais>0)

then respostaSolicitacao!true -> informaCanalLigacao?c:funcao(canais) -> TORRE_REF(alocaCanal(dados,i,head(canais)), tail(canais),t)

[] sinalInsuficiente -> respostaSolicitacao!false -> TORRE_REF(dados, canais, t)

else respostaSolicitacao!false -> TORRE_REF(dados, canais, t) )

) )

Page 27: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoOBS.:

Com os valores e implementações normais não conseguimos observar o refinamento da TORRE, isto é devido a complexidade da simulação, apenas no celular foi possível checar com sucesso o refinamento. Para isso, na TORRE checamos o refinamento em cada trecho do código, comentando outras partes. Ao final, todos os trechos foram verificados e o refinamento foi confirmado.

Unindo os dois códigos e realizando a mesma abordagem acima, pudemos refinar o sistema por completo.

Page 28: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

Refinamento

Page 29: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoTestando no ProBE

Page 30: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoTestando no ProBE

• Observamos que para cada requisição por parte do celular vai haver uma reposta da torre seguida da ação desejada.

• Note que mesmo realizando algumas operações em uma torre, todas vão estar disponíveis para executar suas respectivas ações (inclusive a torre que está recebendo um celular).

• Em seguida podemos realizar uma ligação ou sair do torre que o celular está conectado.

Page 31: CIn.ufpe.br Sistema de Comunicação Celular Controle de usuários e recursos Sistema de Comunicação Celular Controle de usuários e recursos Disciplina: Especificação

CIn.ufpe.br

RefinamentoTestando no ProBE

• Antes de permitir a ligação a torre informa o canal que será utilizado.

• A torre aceitando, o celular faz a ligação e conversa. Esta ação é interna ao celular e aparece como “tau” no ProBe.

• Em seguida a torre pode perceber uma interferência no sinal e tentar realocar o canal em uso.Se não achar canal, a ligação é encerrada.

• Essas dentre outras ações vão ocorrer durante a execução do código.