Home
Interfaces de Comunicação para o software CPN Tools
Contents
1. Se amp Dst Header Controle 1EJOILXIXIXIX lt p 1 byte 1 byte Num da conex o Tamanho do nome 1 2 bytes Nome do dispositivo conectado Figura A 24 Distribui o OSI do bloco de dados ap s a conex o 1 124 bytes Se o n mero da conex o for menor ou igual a 15 ou se o tamanho do nome for menor a 15 car teres ser utilizado o formato n o estendido E ser 0 Se alguma das duas condi es anteriores n o se efetuar se ativar o formato estendido E ser 1 permitindo assim que o n mero da conex o seja de no m ximo 255 e o tamanho do nome da conex o de 124 Carlos Arias Fern ndez 86 Interfaces de Comunica o para o software CPN Tools CRTi X Construir uma fun o de de codificac o Procede se a explicar passo a passo como construir uma fun o de codifica o ou decodifica o na aplica o para utiliz la depois junto com as instru es de Send ou Receive segundo o caso A interface cria um arquivo XML durante sua instala o chamado SMLFunctions xml Este arquivo cont m a biblioteca desenvolvida neste projeto e lido cada vez que uma CPN visualizada pela aplica o Portanto se novas fun es s o adicionadas neste arquivo ser o incorporadas na aplica o Ver abaixo XI Arquivo SMLFunctions xml o arquivo simplificado Primeiramente vai se definir o tipo de fun o A fun o a explicar ser de decodifica o e
2. eessoesssesssesssoessoossoossosssssesssosssoossoossssesssesssesssoese LT Figura 2 7 Arquitetura da biblioteca Comms CPN css ces srerrererrrerreraoes 19 Figura 2 8 Signature da camada de comunica o em SML oocccccccocnnonnnccnunoconancononanos 19 Figura 2 9 Signature da camada de mensagem em SML ssessoesoossessossooesesssssooeseese 20 Figura 2 10 Distribui o da mensagem eesesssesooesosssesooesocssesoossosssessoseosssessossosssesso 20 Figura 2 11 Signature da Camada de ger ncia de comunica o em SML 21 Figura 3 1 Distribui o OSI a implementar eseesoesessossesossossesossossossossesossossesossossesse Z Figura 3 2 Distribui o do byte Header sessseessocssoossoossssesssesssocssoosssossosesssesssesssoose 27 Figura 3 3 Descri o do byte de Controle sessesesseesessossesossossesossossossossesossossesossossesse 27 Figura 3 4 Descri o do byte Sre amp Dst n o estendido sseosoosoossessossoossesssssoossesse 28 Figura 3 5 Descri o do byte Sre amp Dst estendido e sessesoosossesossossossossesossossesossossesee ZO Figura 3 6 Comunica es simples ocnooncoonnnonnononncnncnonancononccconancnoncncononacccnancnoncncononacos 29 Figura 3 7 CPN para o envio de dados ooccoononooncnncnonnncononcnconncnonanocnonaccconncnonanccnoncos SU Figura 3 8 CPN na pr conex o essessesesccssesosecssesocsossesoosossosoossesossossesocsossesoossssossossesee DO Figura 3 9
3. Figura A 2 Confirma o da instala o Carlos Arias Fern ndez 69 Interfaces de Comunica o para o software CPN Tools CRTi WI Ap s aceitar o programa abrir automaticamente havendo se criando um no menu de inicio Jo CPN Tools Elo mara aran tt Figura A 3 Aspecto da instala o no menu de inicio Aspecto visual Servidor Conex es Barra de menu 7 al CPN Tools Connections Interface Options DTD f Local Client Server Cliente local Port Eh Connect Host a 9 Locali Local2 n Disconnect Vos a Cliente remoto jarama tt O Broadcast 1 O Broadcast 2 iio P 1922 168 1 113 P i E f Envio de dados Port Port String to send Port lo Protocolo selecionado Ena Visualizar CPN nsert a Port and press Connect Console Figura A 4 Aspecto inicial da aplica o e Barra de menu Aqui pode se mudar o protocolo entre outras op es e Clientes locais e remotos Para conectar se como cliente a uma porta e a uma dire o IP unicamente no caso de remoto Embora s ter 2 campos aceita at 256 conex es e Envio de dados Para enviar dados comandado pelo aplicativo uma conex o aberta O seletor num rico indica que n mero de conex o teria o programa ao enviar a string simulando uma conex o j aberta Carlos Arias Fern ndez 70 Interfaces de Comunica o para o software CPN Tools CRTi e Visualizar CPN Para visualizar a CPN o que perm
4. Figura 3 3 Descri o do byte de Controle e First Packet Se este bit estiver ativado indica que o primeiro dos pacotes a ser transmitido Al m de isso indica que o byte de Controle e o de Src amp Dst est o habilitados ou seja que o protocolo adaptado est habilitado Os seguintes pacotes no caso de uma transmiss o fragmentada n o possuir o nem byte de Controle nem de Src amp Dst Como os dados a transmitir s o normalmente codificados em ASCII nenhum deles supera o n mero 127 e conseqiientemente n o ativado o primeiro bit do byte de Controle e Src amp Dst Extended A ativa o deste bit denota que a origem e o destino da transmiss o tenham 1 byte cada at 256 destina es ou 4 bits cada at 16 destina es e Monitor A ativa o deste bit serve para indicar que o pacote transmitido tem o objetivo de monitorar a atividade da CPN Estes dados n o precisam ser enviados a outro destino j que meramente tem como prop sito monitorar e Connection info Quando habilitado indica que os dados cont m informa o da rede rec m conectada n mero de rede e nome Essa informa o s transmitida apenas ap s a conex o ser efetuada Carlos Arias Fern ndez 27 Interfaces de Comunica o para o software CPN Tools CRTi e O resto dos bits s o provisoriamente reservados para um eventual uso futuro Poderiam ser utilizados para identificar o tipo de dados transferidos string inteiro ou outros ou p
5. X Tabela 6 1 Cronograma do projeto Carlos Arias Fern ndez 61 Interfaces de Comunica o para o software CPN Tools CRTi 6 2 Ferramentas utilizadas As ferramentas utilizadas foram escolhidas acomodando se as j dispon veis ou as indicadas pelo CRTi As mesmas est o listadas a seguir Desenvolvimento e CPN Tools Ferramenta principal de modelagem e an lise de CPN e Visual Studio 2005 Ferramenta preferencialmente utilizada no CRTi para desenvolvimento de software e Standard ML of New Jersey 110 0 7 Ferramenta de desenvolvimento em SML para facilitar o desenvolvimento das bibliotecas de comunica o incorporadas depois em CPN Tools e Notepad Ferramenta de edi o de arquivos de diversa extens o que facilita a pesquisa e a edi o dos mesmos e Compare it Aplica o para a compara o de arquivos especialmente til na manipula o de arquivos XML Documenta o e Microsoft Word 2007 Ferramenta editora de textos e Visual Paradigm for UML Ferramenta para constru o de diagramas UML Carlos Arias Fern ndez 62 Interfaces de Comunica o para o software CPN Tools CRTi 7 Conclus es e perspectivas futuras Este projeto foi desenvolvido com a finalidade de estabelecer a capacidade de comunica o entre diferentes m dulos que formam parte de um sistema que seja modelado por uma CPN Desta maneira pode se analis lo monitorar o andamento e at
6. Carlos Arias Fern ndez 13 Interfaces de Comunica o para o software CPN Tools CRTi crit rios de parada apropriados e para as an lises de desempenho se introduzem coletores de dados que geram os correspondentes informes Com isso os seguintes conceitos que possibilitam o disparo de uma transi o s o definidos e assim a din mica do sistema Previamente define se por EXPR e lt b gt a avalia o da express o EXPR no elemento da CPN e relativa liga o b Para uma CPN P T A 2 V C G E I definem se os seguintes conceitos 1 Uma marca o marking uma fun o M que atribui a cada lugar p e P um multiset de tokens M p C p ms 2 A marca o inicial initial marking Mo definida por MO p I p lt gt para todo lugar p e P lt gt denota uma liga o vazia 3 As vari veis de uma transi o t v m definidas Var t E V e s o as vari veis livres que aparecem na guarda de t e nas express es dos arcos ligadas a ela 4 Uma liga o binding de uma transi o t uma fun o b que atribui a cada vari vel v e Var t um valor b v Type v O conjunto de todas as liga es de uma transi o t denomina se B 1 5 Um elemento de liga o binding element um par t b tal que te Te b e B t O conjunto de todos os elementos de liga o BE t de uma transi o t definido BE t t b b B t O conjunto de todos os elementos de liga o de uma CPN denomina se BE 6 Um passo
7. Linhas azuis 1 Limitar o numero de rings no Assembly Chute atraves do contadori max 5 que faz o papel de arco inibidor 2 Limitar o numero de rings na Assembly area para no maximo 1 fazendo uso do anti lugar contador2 Linhas vermelhas 1 quando o assembly Chute esta cheio o lugar Ativa descarta Rings possue 5 tokens ativando a transicao descartar RINGS Figura 5 4 Descri o do buffer ring da rede de manufatura Carlos Arias Fern ndez 55 Interfaces de Comunica o para o software CPN Tools CRTi 7 Area de montagem assembly area PEGS INTXDATA assembly area RINGS INTXDATA 10 1 RING Montagem bem sucedida falha na montagem 1 token 1 token 1 token D 1 3 peca_OK INTXDATA Figura 5 5 Subrede CPN da rea de montagem rede de manufatura Sempre que existirem PEG s e RING s disponiveis monta a peca criando a variavel peca ok caso contrario ocorre falha na montagem linhas vermelhas e encaminha o PEG a frente Figura 5 6 Descri o da rea da rede de manufatura Carlos Arias Fern ndez 56 Interfaces de Comunica o para o software CPN Tools CRTi Sensor 1 2 Sub rede responsavel por gerar aleatoriamente as fichas usadas no processo podendo elas ser RING s ou PEGs Os sensores1 2 sao responsaveis por identificar cada uma delas e direciona las para a linha de producao correta 10 1 rin
8. Word8Vector length received 2 extended fn n gt Word8Vector sub received n 2 extended in Data end Figura A 26 Fun o receiveSimpleDecode No ltimo passo tem que se incorporar esta fun o no arquivo SMLFunctions xml Devido a esta fun o ser de decodifica o ser colocada no tag chamado decode e se criar um tag novo com o nome da fun o nova Al m disso tem que se introduzir mais um tag chamado ml Ver abaixo para maiores esclarecimentos lt decode gt lt stringDecode gt lt integerDecode gt lt receiveDecode gt lt receiveDecode gt lt receiveSimpleDecode gt lt ml id gt fun receiveSimpleDecode received let val Control addZeros check bin Word8 toInt Word8Vector sub received 0 val extended List nth Control 6 val Data Byte bytesToString Word8Vector tabulate Word8Vector length received 2 extended fn n gt Word8Vector sub received n 2 extended in Data end lt ml gt lt receiveSimpleDecode gt lt decode gt Comprove se que aparece como op o a escolher dentro da Interface Carlos Arias Fern ndez 88 Interfaces de Comunica o para o software CPN Tools vars Carlos Arias Fern ndez Figura A 27 Fung o receiveSimpleDecode incorporada CRTi 89 Interfaces de Comunica o para o software CPN Tools XI Arquivo SMLFunctions xml l
9. mor Mo Mon As RdP possuem as seguintes caracter sticas a EUA o grafo n o vazio e n o tem elementos isolados b ENA seus conjuntos de estados e de a es s o disjuntos c Existe uma nota o gr fica das RdP que determina que o Os estados s o representados por elipses q o As a es s o representadas por ret ngulos Do o Os elementos de representa o de fluxo s o setas ou arcos gt Ao longo da evolu o das RdP apareceram diferentes tipos mas o passo mais importante aconteceu quando apareceram as RdP de alto n vel nos anos 70 Estas se diferenciam das outras no token que at esse momento podia ter um estado definido por um n mero inteiro ou na maioria dos casos at por um booleano Com as RdP de alto n vel os tokens s o objetos complexos definidos arbitrariamente que podem descrever tanto o estado de um processo complexo como uma base de dados 9 Kurt Jensen compara esta evolu o com o surgimento das linguagens de alto n vel a partir das linguagens montadoras Embora os dois tipos de linguagens montadoras e orientados a objetos tenham o mesmo poder expressivo as linguagens e as RdP de alto n vel permitem uma estrutura o melhor e m todos abstratos mais adequ veis complexidade de grandes sistemas 10 Um destes tipos de RdP de alto n vel a Rede de Petri Colorida Carlos Arias Fern ndez 9 Interfaces de Comunica o para o software CPN Tools CRTi
10. p INGENIER A INDUSTRIAL AUTOMATICA Y ELECTRONICA INDUSTRIAL PROYECTO FIN DE CARRERA INTERFACES DE COMUNICACI N PARA EL SOFTWARE CPN TOOLS RESUMEN EN ESPA OL Autor Carlos Arias Fern ndez Tutor Luiz Edival de Souza Instituci n UNIFEI Universidad Federal de Itajub Brasil Coordinador acad mico Elisa Mar a Ruiz Navas Cotutor Esther Guerra S nchez Fecha de lectura 1 09 2010 Tribunal Guilherme Sousa Bastos Kleber Roberto da Silva Santos Interfaces de Comunicaci n para el software CPN Tools CRTi El presente Proyecto Final de Carrera fue realizado en el Centro de Referencia de las Tecnolog as de Informaci n CRTi de la Universidad Federal de Itajub UNIFED en Brasil El proyecto consiste en el desarrollo de un interfaz que comunique el software CPN Tools con el exterior mediante el protocolo TCP IP A continuaci n se da una breve explicaci n sobre las redes de Petri coloreadas CPN el software CPN Tools y la necesidad de desarrollar este proyecto Palabras clave redes de Petri CPN CPN Tools interfaz protocolo TCP IP INTRODUCCI N Desde la aparici n de las redes de Petri el modelado de sistemas distribuidos discretos tom forma y se ha venido usando como herramienta para modelar analizar y evaluar el comportamiento de estos desde entonces Una red de Petri consta de 4 elementos estados representados por elipses transiciones por rect ngulos o l neas en algunos ca
11. encode g stringEncode integerEncode F Edit Instruction action acceptConnection Conn 1 9001 send ConName SisendVariable stringEncode Figura A 20 Inclus o de um par metro na instru o Send Ver que no campo de texto abaixo foi alterado automaticamente Outra op o consiste em alterar este campo diretamente mediante a op o Edit Instruction Uma vez introduzidas as instru es pertinentes clicar em Save e a janela ser fechada Carlos Arias Fern ndez 82 Interfaces de Comunicac o para o software CPN Tools CRTi VI Salvar as modifica es da CPN Ap s adicionar a biblioteca de comunica es selecionar a op o de monitorar e introduzir instru es de comunica es Faltaria por incluir estas no arquivo semelhante a XML cpn Para isso clicar no bot o Save Changes aco LE era RightFirst q Gauss Cros D GORD Leftscnd Figura A 21 Salvar altera es na CPN Recomenda se veemente que ap s salvar com as altera es desejadas a CPN ser aberta utilizando CPN Tools e ser salva neste programa pois a CPN Tools checa com maior robustez as poss veis falhas Carlos Arias Fern ndez 83 Interfaces de Comunica o para o software CPN Tools VII Tabela da rede para as provas CRTi Archivo Num Rede Porta Protocolo ReceiveProtocolClient cpn 4 9009 Enabled e Debug ReceiveProtocolServer cpn 124 9001 Enabl
12. o que transforma esse objeto no vector de bytes No caso da conex o colset de tipo product formado por uma string e um n mero O colset vem definido na seguinte linha onde do tipo product formado por uma string e um inteiro colset SendData product STRING INT fun connectEncode data2send SendData let val Data 1 data2send val Destination 2 data2send val stringVector Byte stringToBytes Data val extended if Destination gt 15 orelse String size Data gt 15 then 1 else 0 val Control Word8 fromInt 128 64 extended 16 val SrcDst if extended lt 1 then Word8 fromInt NetNumber 16 String size Data else Word8 fromInt NetNumber val Dst if extended gt 0 then Word8 fromInt String size Data else SrcDst in Word8Vector tabulate Word8Vector length stringVector 2 fn 0 gt Control 1 gt SrcDst n gt Word8Vector sub stringVector n 2 end Figura 3 21 Codificag o para a conex o Primeiramente como se descreve na Figura 3 21 s o extra dos os dois elementos do colset por separado Depois constr i se a camada de controle de acordo com a Figura 3 3 onde se habilita o bit do primeiro pacote de dados First Packet e o da informa o da conex o Connection info No cabe alho que indica a origem codifica se o n mero da rede e no de destino indica se o tamanho do nome da String Portanto se o n mero for maior do que 15 ou se o tamanho do nome em car teres for maior
13. step Y e BEms um multiset n o vazio e finito de elementos de liga o Para que aconte a o passo de um estado lugar a outro precisam se das seguintes condi es Avalia o positiva da guarda e a exist ncia dos tokens requeridos pelas express es de arco que v o desde o lugar transi o correspondente Nota se que as avalia es produzem se uma por vez e de maneira aleat ria Um passo step Y e BEys habilitado em uma marca o M se e somente se 1 Y t b E Y G t b true 2 VpEP Deer EP Ob lt M p Se um passo step Y BEys est habilitado pode dar se a ocorr ncia dando lugar a uma nova marca o M definida por Carlos Arias Fern ndez 14 Interfaces de Comunica o para o software CPN Tools CRTi Mp Mp9 gt EmOb gt EEPO vper ms tb er ms tb er Resumindo esta equa o a nova marca o ser igual primeira menos os tokens consumidos pelos arcos de entrada mais os produzidos pelos arcos de sa da Exemplo A seguinte CPN mostra uma rep blica que h 4 moradores representados por per e dois pratos para comer Possui dois colour sets os pratos e os moradores Como condi o os moradores t m que lavar o prato para poder comer Um desses moradores per 3 quebra s vezes o prato por enquanto que est lavando o Conseguintemente chegar um momento que n o haver mais pratos dispon veis Inicialmente a casa come a com dois pratos sujos na pilha e os
14. 3 2 3 A fun o Send precisa de dois par metros que s o a vari vel a enviar e a fun o de codifica o A fun o Receive precisa da fun o de decodifica o unicamente Para adicionar uma fun o basta arrast la da esquerda para a direita Ap s adicionar a fun o Send ou Receive a aplica o detecta que falta determinar dois par metros ou um respectivamente ressaltando eles em laranja ou vermelho Carlos Arias Fern ndez 81 Interfaces de Comunica o para o software CPN Tools CRTi ai COMMS Instructions li 2 oi COMMS Instructions Ea LM Waiting Available Instr Selected Instr E Action Instruction Receive Instruction OpenConnection B Receive pelo AcceptConnection Decode Function Missing CloseConnection H encode H decode E vars Reset Edit Instruction Reset action acceptConnection Conn 1 9001 acceptConnection Conn 1 9001 send ConName SisendVariable Slencode Type receive ConName S decode Type Figura A 19 Inclus o de uma instru o Atendendo mensagem ressaltada falta adicionar uma vari vel e uma fun o de codifica o no caso de Send e de uma fun o de decodifica o Simplesmente procede se arrastando ela desde o grupo correspondente encode decode ou vars ad COMMS Instructions Available Instr Receive OpenConnection AcceptConnection CloseConnection
15. 5 6 Descri o da rea da rede de manufatura soesesossoesesoossesosecssesossossesoe 56 Figura 5 7 Subrede CPN do sensor 1 2 oocnocccoonoconncoononccnonccccnnncnoncncononcccnnncnoncncononacos 57 Figura 5 8 Subrede CPN de um dos sensores da rede de manufatura 58 Figura 5 9 Software externo de representa o gr fica da CPN da rep blica Estado A E E 59 Figura 5 10 Software externo de representa o gr fica da CPN da rep blica Estado Intermedia noia coians doce raid caos roiston osoro osto SSs 59 Figura A 1 Verifica o dos requisitos durante a instala o oooooononooncoonoconnscononnoss 69 Figura A 2 Confirma o da instala o oocoocoooonoooncnonnncnnononccnnncnoncncononoccconccnonanccnonacss 69 Figura A 3 Aspecto da instala o no menu de inicio mooocomom 70 Figura A 4 Aspecto inicial da aplica o ocomooooooncsonnocnoncocconnconncnccnonccccnncconnconoconacss 70 Figura A 5 Ferramentas de simula o de CPN Tools cess see sressrrrerreraees 71 Figura A 6 Conex o entre a aplica o e CPN Tools ssesoossessoesocesessoesoossosssesooesosso 72 Figura A 7 Indicador do estado das Conex es occcooccooonononccnoncnonancononacccnnncncncococonaccconos 72 Figura A 8 Lista de conex es ativas ssessoeseessssoossocssessoesocssessossoossessossoossesssssoossesss 73 Figura A 9 Caixa de sa da das transfer ncias ooooosoos 73 Figura A 10 Aspecto gr fico durante
16. CPN no pr envio ii doses esses ac ica J Figura 3 10 CPN na pr desconex o ssesesccssesoseossesocsossesoossssosoossssossossesoessssesoossssee JL Figura 3 11 Aspecto da aplica o ap s receber a string 31 Figura 3 12 CPN para a recep o de dados ssesooesosssesooesocssesoossoossessossoossessossoossesse JZ Figura 3 13 CPN na pr recep o ssesessessesessossesocsossesocsoesesoossssocsossesocsossesocssssossossesee DX Figura 3 14 Aspecto da aplica o enviando a string e ssescessessoesocssessossoossessossooeseese JZ Figura 3 15 CPN ap s a recep o eessesesecssesessossesossossesoosoesosoosossossossesocsossesocssssossossesee J2 Figura 3 16 CPN com envio e recep o de dados ssessoesoessesoossosssessossoossessossosesesse II Figura 3 17 Aspecto da Interface durante o envio e a recep o de dados 33 Figura 3 18 CPN ap s receber uma string da interface e antes de enviar outra para Interface cocionotoci nicanocacocicocincconociccntaciductocacicniociiauncacacicioleniicc colaci n cosaiuccio naciona tenis S Figura 3 19 Fun o connect como servidor eessessoesoessessossoossessossoossessoesoossoesoesoosseese S Figura 3 20 Fun o connect como cliente ommommmsmsssssmsmss lt S Figura 3 21 Codifica o para a conex o seeseessescossesssecooesocssesoossocssessoseoossessossoossesss DT Figura 3 22 Fun o sendEncode moooooconooocoonoccococccnonccccancononncc
17. Informa o MIT Massachussets Institue of Technology UML Unified Media Language post WIMP post Window Icon Menu Pointing Device SML Standard Meta Language ASCII American Standard Code for Information Interchange XML eXtended Markup Language HTTP HiperText Transfer Protocol OSI Open Systems Interconnection model Carlos Arias Fern ndez xii Interfaces de Comunica o para o software CPN Tools CRTi 1 Introdu o 1 1 Motiva o Devido ao alto potencial de uso da modelagem de sistemas din micos a eventos discretos baseado em redes de Petri a Universidade de Aahrus desenvolveu uma ferramenta chamada CPN Tools para o projeto an lise e simula o de redes de Petri coloridas A RdP uma linguagem gr fica para o projeto especifica o simula o e verifica o de sistemas dentre os quais s o destacados os sistemas concorrentes pela sua complexidade Estes possuem devido a sua concorr ncia lugares de comportamento n o determin stico ou seja no decorrer do funcionamento do sistema podem acontecer v rias situa es n o previs veis O uso das CPN bem difundido tanto no meio industrial como no acad mico utilizado para diversos tipos de sistemas compreendendo software hardware protocolos de comunica o sistemas de workflow de processos de neg cio controle de sistemas sistemas de ind stria militar e aeron utica entre outros A CPN Tools j possui instru es que tornam poss vel a comuni
18. OSI do bloco de dados ap s a conex o 86 Figura A 25 Fun o receiveDecode simplificada esseseesossesoosoesossossesossossesossossesoo 87 Figura A 26 Fun o receiveSimpleDecode oooocoonnoonoconcnnncononononocoononononncconocononacoononoss 88 Figura A 27 Fun o receiveSimpleDecode incorporada cccccssseserresses 89 Carlos Arias Fern ndez X Interfaces de Comunica o para o software CPN Tools CRTi Lista de tabelas Tabela 3 1 Descri o das camadas de distintos pacotes c cccsescesssrerserreneso Ll Tabela 3 2 Descri o especifica dos pacotes de conex o e monitor 41 Tabela 4 1 Detalhe dos arquivos para os tesSteS ooococomoccscoornocconroroccccnnonccccccnacaconanasa DO Tabela 4 2 Tempos de processamento de dados para a prova E ccec SL Tabela 4 3 Tempos de processamento de dados para a prova F 51 Tabela 6 1 Cronograma do projet OL Tabela A 1 Requisitos e limita es ooooooommmsssse OS Tabela A 2 Arquivos para teste das comunicacO6S moccmomsmsss BA Carlos Arias Fern ndez xi Interfaces de Comunica o para o software CPN Tools CRTi Lista de Abreviaturas RdP Rede de Petri CPN Coloured Petri Net Rede de Petri colorida TCP IP Transmission Control Protocol Iternet Protocol UNIFEI Universidade Federal de Itajub CRTi Centro de Refer ncia das Tecnologias da
19. diagrama de segii ncia da Figura 3 27 mostra se no caso supondo que a conex o j foi estabelecida e validada sd CPN Interface CPN User E 2 sparchConnexion Eltry f 3 founded 5 end Message Figura 3 27 Diagrama de seq ncia de envio de dados CPN 3 2 6 Recep o de dados de CPN Tools A Figura 3 28 mostra o diagrama de seq ncia da recep o de dados na aplica o Basta destacar que toda conex o ativada e avaliada encontra se esperando dados assincronamente O envio de dados da CPN executa a fun o OnDataReceived onde se manipula o pacote de acordo com o protocolo e se coloca na lista de espera QueueList da caixa de sa da da conex o o representado no diagrama ou se encaminha para outros usos Assim como o pacote de dados destinado volta se a executar a fun o WaitForData esperando mais pacotes Carlos Arias Fern ndez 43 Interfaces de Comunica o para o software CPN Tools CRTi CPN sdCPN Interface 1 send Msg 6 WaitforData 2 onDatafrrived Figura 3 28 Diagrama de seqii ncia de recep o de dados desde a CPN 3 2 7 Comunicac o entre v rias CPN O seguinte diagrama de segii ncia apresenta o funcionamento da comunica o que mais interessa j que a aplica o est atuando como interface de comunica o entre duas CPN A mensagem enviada adicionada na caixa de sa da e uma vez nela seja por estar esperando mais pacotes que componham a mensagem
20. do que 15 car teres automaticamente ser habilitado o bit de Src amp Dst Extended no cabe alho de Controle alocando ent o um byte m ximo 255 para a origem e outro para indicar o tamanho da string Cabe destacar que a aplica o n o deixar alocar um identificador interno para a rede cujo conte do precise enviar mais de um pacote tendo no m ximo 124 car teres Carlos Arias Fern ndez 37 Interfaces de Comunica o para o software CPN Tools CRTi 3 2 3 3 Fun o sendEncode Equivalente ao caso anterior trata se de uma fun o de codifica o O par metro de entrada um colset do tipo product j definido anteriormente e denominado SendData Posteriormente s o extra dos os dois elementos o referente ao destino e colocado na segunda parte do byte Src amp Dst e na primeira o n mero da rede No byte de controle habilitado o bit First Packet e o Src amp Dst Extended dependendo se algum dos dois n meros referentes origem ou ao destino fossem maiores de 15 Ver a descri o na Figura 3 22 fun sendEncode data2send SendData let val Data 1 data2send val Destination 2 data2send val stringVector Byte stringToBytes Data val extended if Destination gt 15 orelse NetNumber gt 15 then 1 else 0 val Control Word8 fromInt 128 64 extended val SrcDst if extended lt 1 then Word8 fromInt NetNumber 16 Destination else Word8 fromInt NetNumber val Dst if exten
21. dos arquivos cpn desde a aplica o desenvolvida Este ambiente gr fico poderia ser ent o posteriormente desenvolvido Carlos Arias Fern ndez 64 Interfaces de Comunica o para o software CPN Tools CRTi 8 Refer ncias bibliogr ficas 1 Wiinschmanmn S Identit tbasierte Kryptographie f r sicheres Workflow Management Institut f r Wirtschaftsinformatik Universit t Regensburg Regensburg s n 2007 Disserta o de mestrado 2 Group CPN Comms CPN functions Functions for TCP IP communication between the simulator and external processes Online http wiki daimi au dk cpntools help commscpn_functions wiki cmd get amp anchor Comms CPN functions 3 Petri C A Kommunikation mit Automanten Rheinisch Westf lischen Institues f r Instrumentelle Mathematik Universit t Bonn 1962 Tese de Doutorado 4 Carl Adam Petri and Petri Nets Reisig W 3 2009 Fundamental Concepts in Computer Science pp 129 139 5 Holt A W Final Report of the Information System Theory Project Rome Air Development Center Griffiss Air Force Base New York s n 1968 RADC TR 68 305 6 Holt A W e Commoner F Events and Conditions Applied Data Research Massachusetts Computer Associates New York ACM 1970 Technical Report 7 Reising W Petrinetze Eine Einfiihrung 2 iiberarbeitete und erweiterte Auflage Berlin Springer 1986 8 Petri Nets Properties analysis and applications Murata T 77 4 1989 Proc
22. en una distribuci n estad stica para el disparo de una transici n El software con el que se ha trabajado en este proyecto CPN Tools es una aplicaci n que permite la edici n simulaci n y el an lisis de las CPN Este software fue desarrollado en SML Standard Meta Language en el departamento de inform tica de la Universidad de Aarhus en Dinamarca y se distribuye bajo licencia gratuita Desde el CRTi Centro de Referencia de las Tecnolog as de la Informaci n de la UNIFEI se lleva trabajando y divulgando el uso de las CPN para ambientes de manufactura entre otros Gracias a las CPN se pueden identificar previamente puntos de estrangulamiento calcular rendimientos de fabricaci n de piezas y calcular la probabilidad de que un error ocurra y otros par metros sin tener que recurrir a la construcci n de una instalaci n o prototipo La intenci n preliminar del CRTi es utilizar las CPN para gerenciar el funcionamiento de un sistema en tiempo real para lo cual se utilizar CPN Tools en modo simulaci n de manera que sean los elementos externos de este sistema por ejemplo un sensor los que manden una informaci n para que provoque el disparo de una transici n Para realizar esta comunicaci n tendr que usarse la biblioteca de comunicaciones de CPN Tools La biblioteca de comunicaciones de CPN Tools fue presentada en un congreso sobre CPN en 2001 y permit a por primera vez la comunicaci n a trav s del protocolo TCP IP co
23. fn n gt Word8Vector sub received n 2 extended in Src Dst Data end Figura 3 25 Fung o receiveDecode Esta fung o tem muito potencial para futuros desenvolvimentos Poderia ser utilizada para selecionar o arco segundo a origem para comprovar que o pacote foi recebido na rede certa ou para outros usos Na seguinte tabela mostram se de maneira mais clara as diferentes configura es dos pacotes a enviar Dependendo se o formato do byte de origem e destino estendido ou n o ocupar o dois bytes ou um respectivamente com a exce o dos pacotes de conex o e monitor As fun es anteriormente descritas ser o inclu das dentro da biblioteca de comunica es que ser automaticamente inclu da dentro da CPN pela interface Carlos Arias Fern ndez 40 Interfaces de Comunica o para o software CPN Tools CRTi Estrutura Header Controle Nome 5 eo o je Descri o d IES vl ESA A IE Conex o 0 lt 127 1 X 0 1 X X X X Informa o da CPN Monitor 0 lt 127 1 X 1 0 X X X X S para monitorar Curto 0 lt 127 1 X 0 0 X X XI X Transa o de um pacote Longo 1 1 127 1 X 0 0 X X X X Primeiro pacote Longo 1 127 0 X X Xi X X X X Pacote intermedi rio meio ltimo 0 lt 127 0 x x x xl x x x ltimo pacote Tabela 3 1 Desc
24. lise de sistemas concorrentes Eles formariam parte do projeto MAC Multiple Access Computer do MIT que ajudaria a divulgar a obra e o legado de Petri Como se relata em 4 n o est demonstrado por m Petri possivelmente tenha influenciado a representa o gr fica em desenho de software UML As RdP s o utilizadas para modelar o comportamento din mico de sistemas discretos Informalmente pode se dizer que elas s o formadas por tr s tipos de elementos os lugares Places as transi es Transitions e os arcos Arcs Estes ligam os lugares que representam os estados s transi es que representam os eventos que quando s o disparadas provocam a mudan a do estado dos sistemas Defini o informal A seguir vai se fornecer uma defini o informal das RdP baseada em 7 As RdP compreendem tanto um ponto de vista est tico como din mico Do ponto de vista est tico definem se os seguintes elementos e Lugares places Eles representam objetos ou estados Sua representa o gr fica em forma de elipse e Tokens ou marcas Representam o valor de um lugar ou a ocorr ncia do mesmo lembre se que os lugares podem representar um estado Graficamente apresenta se com uma marca circular e Se nas RdP ocorrerem normalmente situa es nas quais mais de um token se situa num lugar pode se representar s com um c rculo com o n mero de tokens que ocorram nesse momento e nesse lugar e Transi es transitions Rep
25. mesmo remotamente atuar no mesmo Enfim aparecem numerosas possibilidades Portanto este projeto e seu aplicativo t m um esp rito integrador para poder unir distintos elementos previamente desenvolvidos e outros que ainda nem foram concebidos Em rela o aos aspectos da comunica o o aprofundamento para conhecer a din mica do protocolo TCP IP foi muito produtivo n o unicamente para aprender suas caracter sticas e propriedades mas tamb m para solucionar alguns problemas surgidos durante o desenvolvimento do projeto Dificuldades estas que normalmente s o ignoradas no dia a dia apesar de que este protocolo usado por milh es de pessoas diariamente A solu o implementada em rela o capacidade comunicativa tem a inten o de oferecer uma solu o gen rica com o menor n mero de limita es poss veis por parte da aplica o A inten o consiste em conseguir adaptar se aos elementos com os quais estabelece comunica o e n o que estes precisem adaptar se aplica o Assim o protocolo desenvolvido proporciona espa o para incluir novas informa es sem alterar substancialmente o protocolo nem os cabe alhos Contudo ao decorrer do projeto apareceram novos requisitos e teve se que conceber v rias id ias anteriormente trabalhadas e implementar outras novas Este fato bem freqiiente tanto no mundo empresarial como acad mico mostrando assim a relev ncia e a complexidade do mesmo Durante o desenvo
26. monitoramento das conex es assim como a op o de escolha de diferentes protocolos desenvolvidos para efetuar as transa es Al m de possibilitar a comunica o m ltipla tanto como servidor quanto como cliente foram acrescentadas al m das caracter sticas de comunica o inicialmente concebidas outras para facilitar a prepara o dos arquivos pr prios das CPN para adapt los comunica o Estas caracter sticas compreendem desde a inser o das bibliotecas automaticamente at o monitoramento do andamento da CPN remotamente passando pela inclus o das instru es de comunica o na CPN diretamente desde a aplica o Palavras chave CPN CPN Tools TCP IP interface protocolo Carlos Arias Fern ndez iv Interfaces de Comunica o para o software CPN Tools CRTi Abstract CRTi Information Technologies Reference Centre found useful to implement an interface to integrate CPN Tools within a manufacturing cell In order to do that this project consists in an interface that manages connections between CPN Tools and external nodes through TCP IP network protocol developed using CF Although CPN Tools provides a communication set of instructions which operates using TCP IP the possibilities were quite limited therefore it was necessary to develop a protocol which extends the communications capabilities by adding headers with communication related information in a similar way as a fieldbus does In addition ne
27. moradores fora da casa As pessoas podem se encontrar em 5 places Fora da casa Aluga casa sem fome esperando pratos com fome lavando prato ou comendo Os pratos podem se encontrar ou na pilha pratos sujos ou sendo utilizado por uma pessoa quando est o sendo lavados ou se a pessoa est comendo Carlos Arias Fern ndez 15 Interfaces de Comunica o para o software CPN Tools CRTi Pessoa all 1 per 1 1 per 3 Pessoa Aluga casa Prato all Pratos sujos Pessoa D 1500 Lava Prato Esperando pratos Prato livre PERSOA Figura 2 4 CPN exemplo de rep blica 2 2 3 CPN hier rquica As CPN modelam sistemas de processos grandes e complexos Assim se fossem representados todos os estados de um sistema grande em uma CPN acabar se ia perdendo visibilidade e a perspectiva do modelo Al m disso o modelador precisa concentrar se em poucos detalhes ao mesmo tempo e conseq entemente melhor o uso de m dulos Por ltimo se um m dulo vai ser utilizado v rias vezes til usar este tipo de configura o permitindo que a edi o ou as modifica es feitas afetem em todo lugar onde for usada Para evitar isso existe a hierarquia nas CPN podendo se construir m dulos ou sub CPNs pages as quais podem conter CPN normais ou ao mesmo tempo sub CPNs hier rquicas Existem cinco construtores de hierarquia 15 e Substitui o com porta e Substitui o com socket e
28. n en fase de desarrollo Tambi n se da la opci n de no utilizar el protocolo desarrollado y utilizar simplemente el definido en la biblioteca de comunicaciones de CPN Tools anteriormente descrito e Inclusi n autom tica de las funciones en SML y par metros necesarios para el correcto funcionamiento del protocolo en la CPN e Monitoramiento de la simulaci n de la CPN remotamente sin necesidad de tener instalado CPN Tools Adem s se da la opci n de preparar la CPN para su monitorizaci n de manera autom tica desde la interfaz e Edici n de las instrucciones de comunicaci n de una CPN dentro de la interfaz desarrollada sin obligatoriedad de escribir c digo en SML PROTOCOLO DESARROLLADO Para poder incluir informaci n adicional se adicionaron cabeceras de manera compatible con los bloques de 128 bytes de CPN Tools Estas cabeceras fueron incluidas s lo en el primer de los bloques enviados en el caso de que el paquete sea mayor de 128 bytes los siguientes bloques que correspondan al mismo dato seguir n el protocolo de CPN Tools Fueron creadas dos cabeceras una de control del protocolo Control que ocupa 1 byte y otra que contiene la informaci n del origen y el destino de la transacci n Src amp Dst que ocupa entre 1 o 2 bytes Como puede apreciarse en la Figura 2 para conservar la estructura del protocolo de CPN Tools con sus bloques de 128 bytes la longitud del cuerpo de datos se ver reducida hasta en 124 bytes C
29. o envio de dadoS oooomommsms 74 Figura A 11 Lista de conex es ssessossessoesoceseessesoossosssesoossocssessossocssessossoossossssssossosss 74 Figura A 12 Servidor aberto pela aplica o soesocssessoesocssessoesocssessossooesosssesoossosss 75 Figura A 13 Servidor aceitando conex o de entrada oocooncoonancnnonncconncnoncncononcccnnns 75 Figura A 14 Edi o dos par metros da comunica o eessessoesccssessoesoossessoesooesesss 78 Figura A 15 Selec o dos elementos a monitorar e dos par metros da comunicac o ARA RA AR RR EE IRSA ARAS AAA RR AE id A 79 Figura A 16 Sele o de um place a monitorar e sessessesossossesoosossoscsossesossossesossossesoe 79 Figura A 17 Sele o de uma transi o para incluir uma instru o 80 Figura A 18 Aspecto da janela de instru es de comunica es csesressees 81 Figura A 19 Inclus o de uma instru o oooconoonconnconnnoconononccnnncnoncncononccconaconncncononacss 82 Figura A 20 Inclus o de um par metro na instru o Send cesccceeeerereserrersees 82 Figura A 21 Salvar altera es na CPN cocococnoconcconanonncnnnccnneconncccnnccnccconaconncconoccncccones 83 Figura A 22 Distribui o OSI dos blocos de dados para se comunicarem com a T nt rface cratera aa 85 Figura A 23 Distribuic o OSI para se comunicar com a Interface utilizando o protocolo desenvolvido ici ia ci irc 85 Figura A 24 Distribui o
30. of the IEEE pp 541 580 9 Jensen Kurt and Rozenberg Grzegorz High level Petri nets theory and application London Springer Verlag 1991 ISBN 3 540 54125 X 10 Special Section on The Practical Use of High Level Petri Nets Preface by the section editor Jensen K 4 2001 STTT Vol 3 pp 269 371 11 Jensen K Net Modeller i Systembeskrivelse rhus Universitet s l rhus Universitetsforlag 1980 Summary of Ph D thesis 12 Genrich H and Lautenbach K The Analysis of Distributed Systems by Means of Predicate Transition Nets Semantics of Concurrent Computation 1979 pp 123 147 13 Coloured petri nets and the invariant method Jensen K 3 1981 Theoretical Computer Science Vol 14 pp 317 336 Carlos Arias Fern ndez 65 Interfaces de Comunica o para o software CPN Tools CRTi 14 Introdu o s Redes de Petri e Aplica es Maciel P R M Lins R D e Cunha P R F Campinas s n 1996 10 Escola de Computa o 15 Jensen K e Kristensen L M Coloured Petri Nets Modelling and Validation of Concurrent Systems Berlin Springer Verlag 2009 16 Huber P Jensen K e Shapiro R M Hierarchies in coloured petri nets Lecture Notes in Computer Science s l Springer Berlin Heidelberg 1991 pp 313 341 17 Beaudouin Lafon M et al CPN Tools A Post WIMP Interface for Editing and Simulating Coloured Petri Nets Coloured Petri Nets Application and Theory of Petri Nets 2001 Procee
31. ou Broadcast tamb m introduzindo as IP de destino e preencher o n mero da porta que tem que ser o mesmo definido na conex o do servidor Ver as portas de cada arquivo cpn Clicar Connect Cabe salientar que ao clicar em qualquer dos radiobuttons do local o programa autodetecta o IP local informa o que pode ser til CPN Tools Connections Interface Sim Style Insert a Port and press Connect Socket connected O put unVal RA Sended E r Figura A 6 Conex o entre a aplica o e CPN Tools 3 Se a conex o for bem sucedida iluminar se o bot o Socket de verde e aparecer o uns indicadores embaixo dele A label Rx ilumina se em azul mostrando que foi recebido algum dado O n mero que aparece representa o n mero de conex es abertas e a label Tx ilumina se em vermelho quando se envia um dado para o exterior Socket AE Figura A 7 Indicador do estado das conex es 4 O bot o Connections mostra uma janela onde aparecem com mais detalhe as conex es abertas Fazendo duplo clique em uma delas aparece uma lista dos pacotes Carlos Arias Fern ndez 72 Interfaces de Comunica o para o software CPN Tools CRTi de dados prestes a serem enviados Esta funcionalidade s til com o protocolo Debug ativado j que com Enabled os envios s o feitos de maneira autom tica Figura A 8 Lista de conex es
32. ou pelo fato da rede de destino n o se encontrar pronta para receber a transfer ncia transmitida atrav s do socket que est ligado rede de destino sd CPN Interface 10 send Figura 3 29 Diagrama de seqii ncia de comunica o entre duas CPN Carlos Arias Fern ndez 44 Interfaces de Comunica o para o software CPN Tools CRTi 3 3 Monitorar a simula o da CPN O monitoramento um processo de comunica o igual aos anteriores mas que possui um header particular para identificar a mensagem recebida e de monitoramento caso do Monitor na Tabela 3 2 Al m disso o dado recebido precisa ser decodificado e interpretado corretamente Para que isso ocorra necess rio primeiramente ter lido previamente o arquivo cpn que vai ser monitorado a fim de que o aplicativo conhe a a arquitetura da rede a ser monitorada As caracter sticas do dado a ser monitorado se definem a seguir e Recebe se uma string que cont m n meros o s mbolo do d lar e o e comercial ou ampersand amp e A string cont m informa o do n mero de tokens que comp em todos os places da CPN sempre que foram escolhidos para ser monitorados assim como o n mero identificador e nico de cada place e O car ter amp separa a string em informa es referentes a diferentes places e o o identificador do n mero de tokens 3 3 1 Leitura do arquivo cpn A leitura do arquivo cpn onde o progr
33. ou servidor o IP e a porta Neste caso aparece com a cor verde o que indica que estes par metros j foram introduzidos anteriormente e que possu a biblioteca de comunica es Naturalmente podem ser editados nesta janela clicando na op o para edit los Por outro lado a figura seguinte mostra uma rede sem biblioteca nem par metros de comunica es Por isso aparecer sem a cor verde e a op o anterior de edit los e trocada pela de adicion los Carlos Arias Fern ndez 78 Interfaces de Comunicac o para o software CPN Tools CRTi O Client IP 127 0 0 1 Port Figura A 15 Sele o dos elementos a monitorar e dos par metros da comunica o A sele o dos places a serem monitorados pode ser feita nesta janela ou diretamente na rede selecionando um place com o bot o direito Por m o monitoramento parcial de alguns places n o tem muita utilidade normalmente por isso se recomenda selecionar todos os places no caso de querer realizar um monitoramento assembly area RINGS Figura A 16 Sele o de um place a monitorar Carlos Arias Fern ndez 79 Interfaces de Comunica o para o software CPN Tools CRTi V Instru es de comunica o na CPN Como mencionado anteriormente a aplica o desenvolvida permite introduzir instru es de comunica o na CPN sem precisar amplos conhecimentos em SML Ainda mais o fato de introduzir estas instru es na aplica o assegura uma maior seguridade
34. para n o introduzir erros melhorando assim a efici ncia e a comodidade do usu rio Lembre se que unicamente as transi es podem efetuar instru es de comunica o Para adicionar uma instru o basta selecionar uma transi o com o bot o direito e selecionar See instructions Add Send Add Receive Add OpenConnection Add AcceptConnection Add CloseConnection See Instructions Figura A 17 Sele o de uma transi o para incluir uma instru o b aciera cases rior Clicando em qualquer outra instru o adiciona se a instru o selecionada de maneira mais r pida seguindo o mesmo procedimento Sendo este um manual se mostra um exemplo passo a passo e para usu rios principiantes Carlos Arias Fern ndez 80 Interfaces de Comunica o para o software CPN Tools CRTi al COMMS Instructions Er Nome da Transi o A a Waiting x E o ad Available Instr Selected Instr Instru es dispon veis Send e Aciion a TERT ion Acc i Instru es selecionadas AAN E decode t vars Instru es originais 7 Edit Instruction Reset Campo de edi o action a Conn 1 9001 Reset das instru es introduzidas Salvar modifica es Figura A 18 Aspecto da janela de instru es de comunica es Unicamente existem 5 instru es dispon veis As nicas que permitem a customiza o s o a de Send e a de Receive Ver declara o destas fun es na se o
35. rio 3 2 3 1 Fun o connect Esta fun o in cia a conex o bem como cliente ou servidor dependendo da op o escolhida pelo usu rio Al m disso envia uma s rie de dados com informa o relativa conex o A continua o explica se brevemente o funcionamento da fun o de conex o como servidor que n o difere muito da fun o que conecta como cliente Ver Figura 3 19 e Figura 3 20 Primeiramente abre se uma conex o como servidor CPNTools Quando a conex o cliente Interface se conecta a ele procede se a enviar a informa o do Carlos Arias Fern ndez 35 Interfaces de Comunica o para o software CPN Tools CRTi servidor CPN Tools conex o de entrada No envio de informa o da conex o vai se precisar desenvolver uma fun o que agrupe e codifique esta informa o string identificador da conex o interna e identificador num rico da CPN em um colset composto Esta fun o Fun o connectEncode ser explicada posteriormente Esta fun o recebe como par metros de entrada o identificador interno da conex o ConnName e a porta da conex o Primeiramente recopila o n mero que representa o identificador da rede para a conex o com o exterior da vari vel global NetNumber Depois abre uma conex o como servidor na porta indicada e com o identificador interno da conex o em forma de string Ap s receber uma conex o satisfat ria acontece a fun o de envio efetuada sob a conex o refere
36. servidor e receptor TCP e v rias conex es usando a mesma porta A plataforma NET aloca de maneira otimizada as portas internas diferentes com a mesma porta comum Isto tamb m acontece da mesma forma quando se utiliza um navegador j que poss vel utilizar v rias abas ou janelas embora se esteja usando a mesma porta porta 80 HTTP Muita documenta o considera a comunica o TCP IP como uma transfer ncia de pacotes que s o fragmentados e enviados cada um seguindo seu caminho e reordenados no destino Tudo isto certo por m o envio de dados n o feito atrav s de pacotes de dados mas com um stream fluxo de dados Existem um stream de entrada e outro de sa da Os pacotes de dados que chegam ao stream de entrada s o reordenados e ficam esperando a leitura do stream de entrada Por isso importante ter um cabe alho que indique quantos bytes devem ser lidos do stream por isso na biblioteca de comunica o da CPN Tools na se o 2 3 3 fala se de fornecer uma abstra o de troca de mensagens O primeiro byte de cada pacote indica o tamanho do mesmo para uma correta leitura desde o stream de entrada Com isso mesmo que o protocolo TCP IP assegure que os dados s o recebidos na mesma ordem que foram enviados isto n o quer dizer necessariamente que os dados s o transmitidos com a mesma fragmenta o com a que foram enviados Por exemplo se for enviado um dado de 10 bytes e seguidamente outro de 8 pode ser que s
37. vai permitir obter os dados sem cabe alhos utilizando uma transa o com o protocolo desenvolvido Assim sendo a fun o a desenvolver uma mistura entre a receiveDecode e a stringDecode Como par metros de entrada aceita os dados com os cabe alhos do protocolo mas na sa da unicamente devolver os dados sem cabe alhos Basicamente ser igual receiveDecode mas sem decodificar o cabe alho Src amp Dst Chamaremos fun o de receiveSimpleDecode Simplesmente apagam se as linhas de c digo n o necess rias da fun o receiveDecode como se mostra a seguir fun receiveDecode received let val Control addZeros check bin Word8 toInt Word8Vector sub received 0 E A A KA A i AA EE A A o val extended List nth Control 6 q a nto do dose sa dae ted ato wal Bbst f extended then Worde toth herds rector sublreceived 255 s A a val Data Byte bytesToString Word8Vector tabulate Word8Vector length received 2 extended fn n gt Word8Vector sub received n 2 extended in See bst Data end Figura A 25 Fun o receiveDecode simplificada O resultado ser o seguinte Carlos Arias Fern ndez 87 Interfaces de Comunica o para o software CPN Tools CRTi fun receiveSimpleDecode received let val Control addZeros check bin Word8 toInt Word8Vector sub received 0 val extended List nth Control 6 val Data Byte bytesToString Word8Vector tabulate
38. 0 1 RING 10 2 PEG 10 1 RING 10 2 PEG O 100 detector de pecas Acionar esteira superiror INTxDATA 24500 Acionar Esteira inferior INTXxDATA O malhas ligadas a falhas nas montagens O malhas ligadas ao controle dos buffers de O caminho da peca na linha de producao Figura 5 1 CPN principal da rede de manufatura lado esquerdo Carlos Arias Fern ndez 53 Interfaces de Comunica o para o software CPN Tools CRTi INTXDATA a token 1 token contador n p INTXDATA assembly area RINGS IN area de montagem assembly area PEGS Acionar Esteira inferior INTXDATA pecas montadas INTXDATA Figura 5 2 CPN principal da rede de manufatura lado direito A rede possui quatro subredes sendo elas dois sensores uma rea de montagem e um buffer ring Carlos Arias Fern ndez 54 Interfaces de Comunica o para o software CPN Tools CRTi Buffer ring INTXDATA n p n p Atuador1 100 500 1 token 5 token descartar RINGS 1 token n p 5 token Ativa contadorl descarta Rings 5 token ATA INTXDATA n p 1 token 1 token 1 token 1 token contador2 gti INTXDATA Quel INTXDATA Figura 5 3 Subrede CPN do buffer ring da rede de manufatura Bloco responsavel por
39. Abandonou a id ia fict cia do estado global e se aproximou mais s leis da f sica considerando que uma a o discreta normalmente n o afeta todos os componentes do sistema mas s alguns deles Petri sugeriu que a ocorr ncia das a es n o deveria estar ordenada em forma temporal mas em rela o s causas e efeitos que as comandam originando a concorr ncia Baseado na tradi o cient fica sugeriu que os modelos inform ticos deveriam ser revers veis ou seja que a transi o de um estado E a E poderia ser tamb m re calculada para passar de E a E A t cnica de modelagem n o deveria somente ser adequada para descrever o comportamento do sistema mas tamb m o uso pragm tico dos sistemas computacionais pelos humanos Petri incorporou tamb m numerosas representa es gr ficas para desenhar os modelos j definindo o que seria os lugares Places que mais tarde derivariam nos estados e nas transi es Carlos Arias Fern ndez 5 Interfaces de Comunica o para o software CPN Tools CRTi Esses temas expostos estavam adiantados a esse tempo j que o sincronismo governava os computadores nos anos 60 e ningu m pensava em redes de computadores Isso provocou que o trabalho de Petri n o chamara a aten o imediatamente Em considera o os primeiros que utilizaram o seu trabalho foram A W Holt em Nova York escrevendo dois relatorios 5 e 6 que mostravam como as RdP poder am ser aplicadas na modelagem e an
40. Exemplo de RdP Um elevador onde os andares s o representados pelos andares e as transi es s o ativadas pelos bot es do elevador para subir o baixar 3rd floor ground floor 3rd floor ground floor Figura 2 3 Exemplo de uma RdP de um elevador Carlos Arias Fern ndez 10 Interfaces de Comunica o para o software CPN Tools CRTi 2 2 Redes de Petri coloridas Sua primeira vers o fez parte da tese de doutorado de Kurt Jensen em 1979 80 11 baseado no trabalho pioneiro de Genrich ou Lautenbach sobre RdP do tipo Predicate Transition 12 O termo Colored Petri Nets CPN apareceu pouco depois em um artigo publicado tamb m por Jensen 13 A partir da o departamento de computa o da Universidade de Aahrus comandado atualmente por Jensen tem continuado a desenvolver e a consolidar o modelo b sico das CPN adicionando extens es defini o tendo em conta o tempo e a hierarquia e desenvolvendo aplica es de modelagem simula o e an lise das CPN O principal valor adicionado pelas CPN a individualiza o dos tokens atribuindo cores diferentes a eles podendo assim representar diferentes processos recursos ou dados complexos dentro de uma mesma rede As cores representam distintos tipos de dados complexos ou simples por exemplo enumera o ou booleano segundo a sua pr via declara o Cada lugar pode conter um ou mais tokens sendo cada um deles de um tipo de dado associado co
41. Gallasch e Lars M Kristensen no departamento de Engenharia de Sistemas de Computa o da University of South Australia e permite o envio de informa es entre processos e aplica es externas mediante o protocolo TCP IP Esta biblioteca foi apresentada no congresso sobre CPN da Universidade de Aarhus de 2001 19 Esta biblioteca cumpre os seguintes requisitos e Iniciar conex es de sa da com aplica es externas e Aceitar conex es de entrada com aplica es externas e Enviar e receber dados de qualquer tipo polim rficos a uma aplica o externa e Fechar conex es com aplica es externas e Ser capaz de tratar com conex es m ltiplas e simult neas e As transmiss es devem ser feitas sem erros O protocolo TCP IP o mais usado e quase todas as linguagens de programa o fornecem bibliotecas para comunicar usando esse protocolo A arquitetura desta biblioteca Figura 2 7 baseia se em tr s camadas uma que utiliza o m todo de comunica o b sico e implementa um interface TCP IP outra que trabalha com a transmiss o de dados e outra que gerencia as diferentes conex es que houver O prop sito explicado em 19 relata que s o fornecidas duas op es de comunica o uma TCP pura que conecta diretamente a aplica o predecessora de CPN Tools chamada Design CPN relacionada com a camada de comunica o Communication Layer e outra op o de comunica o tipo Messenger Esta citada no site de suporte da bibliotec
42. Substitui o de tipo assignment Carlos Arias Fern ndez 16 Interfaces de Comunica o para o software CPN Tools CRTi e Invoca o e Fus o Sem entrar em detalhes sobre a defini o das RdP hier rquicas Ver 15 para mais informa es encontra se abaixo o exemplo de uma RdP Figura 2 5 na qual aparece uma subrede cujo conte do aparece definido na Figura 2 6 Na segunda figura podem ser observadas as transi es e estados entre o estado p1 e p2 u u u u O me ES nc O ma ER O UNIT EM UNIT UNIT Figura 2 5 CPN hier rquica UNIT UNIT Figura 2 6 Detalhe do subproceso 2 3 CPN Tools CPN Tools uma ferramenta desenvolvida pelo departamento de ci ncias de computa o da Universidade de Aarhus na Dinamarca que consiste em uma interface que permite a edi o simula o e an lise das CPN utilizando um ambiente gr fico do tipo post WIMP 17 e surge como redesenho da anterior aplica o desenvolvida tamb m por eles Design CPN CPN Tools Mantido pelo CPN Group da Universidade de Aarhus est protegido por uma licen a definida por eles 18 mas gratuita Atualmente mais de 9000 organiza es em todo o mundo delas aproximadamente um 6 comerciais possuem uma licen a No caso do Brasil 487 organiza es 14 comerciais utilizam CPN Tools Carlos Arias Fern ndez 17 Interfaces de Comunica o para o software CPN Tools CRTi 2 3 1 Biblioteca Comms CPN A biblioteca foi desenvolvida por Guy
43. Ti La originalidad de este proyecto es notoria ya que no se conoce ning n interfaz parecido para conectar de manera gen rica varias CPNs con el software CPN Tools de manera gen rica Carlos Arias Fern ndez XV UNIVERSIDADE FEDERAL DE ITAJUB IESTI Instituto de Engenharia de Sistemas e Tecnologias da Informa o CRTi Centro de Refer ncia das Tecnologias da Informa o ENGENHARIA DE CONTROLE E AUTOMA O PROJETO FINAL DE GRADUA O Interfaces de Comunica o para o software CPN Tools Autor Carlos Arias Fern ndez Orientador Prof Dr Luiz Edival de Souza ITAJUB AGOSTO 2010 Interfaces de Comunica o para o software CPN Tools CRTi Dedicat ria Dedico este trabalho minha fam lia e a todos que me ajudaram nesta caminhada em especial a todos aqueles que me deram inspira o ou motiva o para prosseguir meus estudos de engenharia Carlos Arias Fern ndez ii Interfaces de Comunica o para o software CPN Tools CRTi Agradecimentos Quero agradecer em primeiro lugar minha Universidade Carlos III de Madri por possibilitar me participar do interc mbio na UNIFEI Universidade Federal de Itajub onde desenvolvi meu projeto final de gradua o al m de outras disciplinas e atividades Agrade o ao meu orientador Prof Dr Luiz Edival de Souza pelas suas dicas indica es recomenda es e corre es feitas Tamb m aos companheiros do CRT pela sua disposi o para resolve
44. a o da CPN e sessessoesoossessoesocesessossooesossossooesossssssossee 45 3 3 1 Leitura do arquivo Cpn ssssscsssssooccssooesesosccesssooesssooseesooecesssecesssesssss 45 3 3 2 Modifica o autom tica do arquivo cpn para ser monitorado 47 3 4 Comunica o entre v rias aplica es oooomommssssss 7 4 A TI dO 4 1 Testes das comunica es eesssesssessseessoosssossssessoesssoossoossoossssesssesssoosssossss ID 4 2 An lise dos resultados oeseesesoossesossossesossossesocssssossossesocsossesoosossossosseseess D S A E E PA AAE E RD 5 1 C lula de mad D2 5 2 CPN conectada a uma interface gr fica seessesccssccsoecocesoessesooesocsseesoesse DD Carlos Arias Fern ndez vii Interfaces de Comunica o para o software CPN Tools CRTi 6 Gest o do projcio seia iai Ru den D 6 1 Seguimento cronol gico moccmosssssssss O 6 2 Ferramentas utilizadas oosssesssesssecssoosssosssssssoesssocssoossoossssssssesssoosssossss OR Conclus es e perspectivas futuraS coomcs OD Refer ncias bibliogr ficas omoomomms OS Ap ndice Manual de usu rio de CPN Communications Interface 67 S UMATIO cu 07 I Requisitos e limita es sessoesoossessossocssessossocssessossoossosssesooesosssessossosssesssse S II Aspecto visual Primeiros passos ommmomss O Instala o do Programa sssessseessoossoossoossssesssesssoossoossoossssesssocssoosssosss
45. a 2 como a melhor op o a utilizar j que oferece identificador da conex o controle sobre o sucesso da transfer ncia e segmenta o das transfer ncias em pacotes de dados de tamanho e codifica o customiz veis Carlos Arias Fern ndez 18 Interfaces de Comunica o para o software CPN Tools CRTi 2 3 2 Camada de comunica es Esta camada fornece a interface para a comunica o b sica com uso do protocolo TCP IP Cumpre os requisitos previamente mencionados al m de ser capaz de gerenciar as m ltiplas conex es e tamb m n o identifica o tipo de dado que estiver sendo transferido unicamente transmitem se bytes Como se pode ver na Figura 2 8 n o se inclui nenhum identificador para uma poss vel conex o m ltipla nem referencia ao tipo de dado a transferir Modelo da CPN Comms CPN Camada de gerencia de comunica o Camada de mensagem Camada de comunica es Figura 2 7 Arquitetura da biblioteca Comms CPN signature COMMS LAYER sig type channel exception BadAddr of string val connect string int gt channel val accept int gt channel val send channel Word8Vector vector gt unit val receive channel int gt Word Vector vector val disconnect channel gt unit end Figura 2 8 Signature da camada de comunica o em SML Carlos Arias Fern ndez 19 Interfaces de Comunica o para o software CPN Tools CRTi 2 3 3 Camada de mensagem O objetivo da camada de men
46. a conexi n debe inmediatamente enviar al interfaz informaci n que identifique a este elemento n mero y string identificadores En la Figura 5 se muestra detalladamente la estructura que tiene que tener esta informaci n de la conexi n Dentro del byte de Control est n habilitados el bit que activa el protocolo as como el de Connection Info El bit Src amp Dst Extended est marcado con una E ya que depender del contenido del byte Src amp Dst para estar habilitado o no Dentro del byte Src amp Dst la primera mitad contiene el n mero identificador de la conexi n Si esta fuera mayor o igual que 16 como ser n necesarios m s de 4 bits para representar este n mero autom ticamente debe ser habilitado el modo extendido Por otro lado la segunda mitad muestra la longitud del string identificador Si esta fuera mayor o igual a 16 caracteres ser habilitado el modo extendido igualmente Por motivos de espacio este string no podr tener m s de 124 caracteres Header Control Nombre del dispositivo conectado 1 E 0 XXXX N m de Longitud de conexi n la string o 1 byte 1 byte 1 2 bytes 1 124 bytes Figura 5 Configuraci n del envio de informaci n de la conexi n Una vez recibida esta informaci n la interfaz aceptar la conexi n si no hubiera otra con el mismo n mero de conexi n En el caso que estuviera ya usada continuar operativa la primera conexi n que utiliz ese n me
47. ais blocos esperam para serem transmitidos Ver maiores detalhes na Figura 3 2 Header Dados 1 byte 1 127 bytes Figura A 22 Distribui o OSI dos blocos de dados para se comunicarem com a Interface Se o objetivo se conectar a dispositivos externos com a interface utilizando o protocolo desenvolvido preciso seguir as seguintes indica es e Os dados ser o tamb m segmentados em blocos de 128 bytes antes de serem enviados Por m ser o reservados mais 2 ou 3 bytes como cabe alhos Se os blocos de dados s o maiores que 124 125 bytes o primeiro ter a estrutura representada na Figura A 23 e os seguintes apresentados na Figura A 22 Ver detalhes de cada cabe alho na se o 3 1 Header Controle Sre amp Dst Dados gt gt 1 byte 1 byte 1 2 bytes 124 125 bytes Figura A 23 Distribuig o OSI para se comunicar com a Interface utilizando o protocolo desenvolvido e Em cada transmiss o deve se tomar em considera o se o formato do cabe alho Src amp Dst seja estendido ou n o e habilitar o bit correspondente no byte Controle e Ap s a conex o se estabelecer deve se enviar informa es com o n mero identificador do m dulo conectado e uma string menor de 124 bytes com o Carlos Arias Fern ndez 85 Interfaces de Comunica o para o software CPN Tools CRTi nome do dispositivo da seguinte forma O bit representando com uma E determina se o cabe alho Src amp Dst ter 1 ou 2 bytes
48. ama CPN Tools constr i a CPN um passo necess rio pr vio para conseguir poder monitorar a rede assim como para poder edit la desde a aplica o desenvolvida O arquivo da CPN tem uma estrutura interna igual de um XML unicamente com outra extens o de arquivo personalizada Internamente l se o arquivo e vai se construindo uma classe com as distintas propriedades que contenha toda a informa o til do arquivo para poder trabalhar com esta classe internamente Carlos Arias Fern ndez 45 Interfaces de Comunicac o para o software CPN Tools CRTi E RrgPrtocolopn E ResourceAlocation con ES SimoleProtocol i lt initmark gt lt place gt lt place id id265 gt lt posattr x 59 000000 y 108 000000 gt lt fillattr colour White pattern solid filled false gt lt lineattr colour Purple thick 1 type solid gt lt textattr colour Purple bold false gt lt text gt S4 lt text gt lt ellipse w 22 000000 h 22 000000 gt lt token x 10 000000 v 0 000000 gt lt marking x 1 000000 v 2 000000 hidden false gt lt type id id267 gt lt posattr x 48 000000 y 90 000000 gt lt fillattr colour White natrern snlida da a Figura 3 30 Constru o de representa o gr fica a partir do arquivo da CPN Carlos Arias Fern ndez 46 Interfaces de Comunica o para o software CPN Tools CRTi 3 3 2 Modifica o autom tica do arquivo cpn para ser monit
49. ara outros usos REQ8 Derivado do requisito REQS Para possibilitar o gerenciamento de m ltiplas conex es com a mesma porta o byte de Src amp Dst que compreende a informa o referente origem e o destino ir configurado como segue Figura 3 4 Descri o do byte Sre amp Dst n o estendido Figura 3 5 Descri o do byte Src amp Dst estendido Carlos Arias Fern ndez 28 Interfaces de Comunica o para o software CPN Tools CRTi 3 2 Implementa o Nesta se o constam se exemplos b sicos de funcionamento da comunica o com a CPN simples Posteriormente mostram se as modifica es introduzidas para cumprir com o REQ6 e os outros relacionados com as conex es m ltiplas Mais a frente ser mostrada como foi desenvolvido o monitoramento 3 2 1 Comunica o simples A seguir nesta se o descrevem se comunica es simples de tipo Servidor Cliente Cliente Servidor e Servidor Cliente Servidor sendo o Cliente a aplica o desenvolvida e o Servidor a aplica o CPN Tools CPN TOOLS INTERFACE servidor cliente INTERFACE CPN TOOLS cliente servidor CPN TOOLS INTERFACE servidor cliente Figura 3 6 Comunica es simples e Conex o de CPN Tools como servidor ou cliente O fato de ser servidor ou cliente n o afeta a transfer ncia de dados em si mas somente na hora de efetuar a conex o e a desconex o Carlos Arias Fern ndez 29 In
50. ara que o motor mude de velocidade Para isso outro sinal ser enviado desde a ferramenta at o bloco controlador do motor O n mero que aparece em cada bloco o identificador num rico para as comunica es Abaixo detalham se as transa es descritas acima N o foram representados os cabe alhos Header e Controle para maior simplicidade e Sinal desde o sensor 2 CPN1 10 e Sinal desde a CPN1 10 ferramenta software 5 e Sinal desde a ferramenta software 5 ao motor 8 Carlos Arias Fern ndez 48 Interfaces de Comunica o para o software CPN Tools CRTi 4 Teste de software Como qualquer projeto de desenvolvimento de software foi realizada uma s rie de provas para verificar o correto funcionamento do mesmo 4 Testes das comunica es A seguir mostram se uma s rie de provas que demonstram o correto funcionamento das comunica es Ap s a verifica o correta do software em rela o s comunica es foi realizada uma fase de testes de uma maneira convencional para avaliar formalmente o correto funcionamento das comunica es Nestas provas provaram se conex es do tipo Rede A envia um dado rede B gerida pela interface ou para monitorar utilizando se os dois protocolos desenvolvidos Debug e Enabled A seguir detalham se estas provas e Prova A As CPN utilizadas s o similares s de envio e recep o j mostradas na Figura 3 7 e Figura 3 12 mas utilizam fun es de co
51. arlos Arias Fern ndez vi Interfaces de Comunicaci n para el software CPN Tools CRTi Header Datos 1 byte hasta 127 bytes Header Control Sre amp Dst Datos 1 1 byte 1 byte 1 2 bytes hasta 124 125 bytes Figura 2 Distribuci n OSI del protocolo desarrollado El byte de control tiene las siguientes funciones identificadas en cada uno de sus bits Como puede verse en la Figura 3 por el momento fueron reservadas 4 funciones dejando 4 libres para usar en el futuro Control 2 q 5 yo yo yo yo AS AS 3 3 D D D D 2 E s o O gt gt gt gt m g S z D E E E a o D 2 g O 3 O D E 3 o E Goa A A A A fa 2 x O O O n Ha p p p p 1 bit Figura 3 Distribuci n OSI del byte de Control e First Packet Este bit habilita el protocolo desarrollado adem s s lo estar presente en el primero de los bloques de un mismo dato utilizando la configuraci n normal de CPN Tools para los siguientes Al habilitar el protocolo es un indicador para la aplicaci n receptora de este dato de que el byte de Control y el Src amp Ext est n habilitados y debe ser recogida informaci n de ellos Es importante que sea este bit el que active el protocolo ya que as es dif cil que se active por accidente porque en general los datos transmitidos son codificados Carlos Arias Fern ndez vii Interfaces de Comunicaci n para el software CPN Tools CRTi en ASCII y ningu
52. ativas 5 S v lido para Debug Fazendo duplo clique ou selecionando Open Queue List ap s pressionar o bot o direito na conex o que vai enviar um pacote de dados aparecer outra janela chamada Queue List onde aparecer o os pacotes prontos a serem enviados Fazendo duplo clique em um deles enviar se o pacote s se estiver pronto para isso Net 140 Name Connection32 CPN Time Status Length Data 4 19 57 Ready 267 As armas e os bares assinalados Que da ocidental praia lusitana Por mares nunca de Figura A 9 Caixa de sa da das transfer ncias 6 Se quiser enviar qualquer dado desde a interface CPN Tools escrever o dado onde aparece String to send selecionar a conex o onde vai ser enviada escolher o n mero de rede de origem e clicar Send Se for clicada Raw Send ser enviado o dado sem informag o de controle e de origem e destino RAW protocol mesmo que estiver ativado o protocolo Carlos Arias Fern ndez 73 Interfaces de Comunica o para o software CPN Tools CRTi String de prova Protocol Debug E Raw Send l je Connected Disconnect Receive Received Figura A 10 Aspecto gr fico durante o envio de dados A Figura A 10 mostra um exemplo para comprovar o correto funcionamento onde se utiliza uma decodifica o especial que mostra o cabe alho Src amp Dst sem separa o diferente da fun o receiveDecode ver Figura 3 25 Nest
53. ca o com o protocolo TCP IP Por m as instru es foram desenvolvidas de uma maneira simples Estas foram concebidas para fornecer unicamente uma comunica o pontual e s ncrona obrigando a personalizar a aplica o conectada CPN Tools necess ria informa o adicional da comunica o como por exemplo o tipo de dado enviado ou conhecer a origem e o destino Possui unicamente informa o do tamanho do pacote de dados a enviar message framing que facilita a recep o correta dos dados no protocolo TCP IP Portanto havia um grande interesse de desenvolver uma aplica o que centralizasse as comunica es que ligassem a CPN Tools ou v rias CPN Tools com outros elementos exteriores Com isso acrescentou se a possibilidade de ligar uma CPN com v rios lugares ao mesmo tempo e possibilitar que a informa o chegasse ao destino desejado de maneira an loga ao comportamento de um fieldbus Com essa finalidade foi necess rio definir um protocolo que complementasse ao TCP IP j existente acrescentando maior flexibilidade de uso e capacidade de comunicar Carlos Arias Fern ndez 1 Interfaces de Comunica o para o software CPN Tools CRTi No CRTi h a inten o entre outras de usar as CPN para modelar sistemas de produ o industrial Concretamente o mestrando Tamati Colm n desenvolve um modelo de uma c lula de manufatura com v rios sensores atuadores e buffers utilizando CPN Tools Gra as a CPN Tools permite s
54. cnnccnanacanonacanonacacanacananaso DO Figura 3 23 Fun o monitorEncode seessessoesoesoesoossoesoesoossoossesoossoossessoesoossoesoesoosseese JD Figura 3 24 Fun es para a convers o de dados de tipo byte inteiros e bin rios 39 Figura 3 25 Fun o receiveDecode ocooonocoonncconnnonocnncconnconccncnacacanccacancnnaconacccooaccnaaos O Figura 3 26 Diagrama de segii ncia da conex o ssessoesocssessoesoossessossoossessossoosseess 2 Figura 3 27 Diagrama de seqii ncia de envio de dados CPN 43 Figura 3 28 Diagrama de segii ncia de recep o de dados desde a CPN 44 Figura 3 29 Diagrama de segii ncia de comunica o entre duas CPN 44 Figura 3 30 Constru o de representa o gr fica a partir do arquivo da CPN 46 Carlos Arias Fern ndez ix Interfaces de Comunica o para o software CPN Tools CRTi Figura 3 31 Arquitetura de um poss vel sistema a conectar mediante a Interface 47 Figura 5 1 CPN principal da rede de manufatura lado esquerdo 53 Figura 5 2 CPN principal da rede de manufatura lado direito 54 Figura 5 3 Subrede CPN do buffer ring da rede de manufatura cccessereesse 55 Figura 5 4 Descri o do buffer ring da rede de manufatura ooccocnononconcnonnncononacos 55 Figura 5 5 Subrede CPN da rea de montagem rede de manufatura 56 Figura
55. comportamento din mico de uma RdP n o e determin stico A sequ ncia de passo das transi es tamb m n o Diz se que duas transi es est o em conflito se seu lugar de entrada comum Nesse caso dever ser a instru o do arco quem determina qual transi o deve ser ativada Um token de um lugar que participa no conflito n o pode ser usado por duas transi es ao mesmo tempo A execu o de uma transi o com diferente n mero de lugares de entrada e de sa da implica a mudan a do n mero global dos tokens da RdP Defini o formal Em rela o defini o formal podem se consultar as seguintes obras para maiores detalhes al m da defini o aqui exposta 7 8 e 9 Uma RdP uma qu drupla RdP E T F Mo que define um grafo bipartido dirigido e conexo onde l E o conjunto finito de estados E fes e en 2 T o conjunto finito de transi es T t t gt tm 3 F o conjunto finito que contem as rela es de fluxo que definem como se d a transforma o de um estado em outro pela ocorr ncia das a es no sistema Carlos Arias Fern ndez 8 Interfaces de Comunica o para o software CPN Tools CRTi Portanto possui as rela es que unem um estado a uma transi o e as que unem uma transi o a um estado Esta rela es de fluxo vem representadas pelo conjunto F xy ExAUAxE 4 Mo o conjunto finito que define a marca o inicial dos estados Mo
56. dados provenientes da CPN Tools a qual mostrada na Figura 3 12 31 Carlos Arias Fern ndez Interfaces de Comunicac o para o software CPN Tools CRTi ZAO E Figura 3 12 CPN para a recep o de dados Para possibilitar o correto funcionamento da CPN foi introduzida a vari vel var receivedStr STRING A seguir mostra se a seqii ncia de funcionamento desta CPN Local Host O Local Local 2 Wan som Broadcast Connected Broadcast 1 Broadcast 2 i1270 o H E 2 Mi RIR Port Port i 1 nd String to Send 900 nd Insert a Port and press Connect Hide Socket connected Figura 3 13 CPN na pr recep o Figura 3 14 Aspecto da aplica o enviando a string Disconnect Figura 3 15 CPN ap s a recep o Carlos Arias Fern ndez 32 Interfaces de Comunicac o para o software CPN Tools CRTi e Comunica o bidirecional entre CPN Tools e a interface Para mostrar a comunica o bidirecional construiu se um uma CPN com 4 places e 4 transi es que se mostra a seguir o O Figura 3 16 CPN com envio e recep o de dados BEL CPN Tools Connections Interface g Options DTD Local Client Hot 0 Locali O Local2 Vere M Broadcast Client Broadcast 1 D Broadcast 2 P 192 168 1 113 P E Port Port o Hs Another string to be sent 50356 0 S E Raw Send Protocol Raw E Raw Send Receiv
57. ded gt 0 then Word8 fromInt Destination else SrcDst in Word8Vector tabulate Word8Vector length stringVector 2 fn 0 gt Control 1 gt SrcDst n gt Word8Vector sub stringVector n 2 end Figura 3 22 Fung o sendEncode 3 2 3 4 Fung o monitorEncode A fun o monitorEncode bem parecida sendEncode s que habilita o bit de monitoramento no byte de controle e n o precisa se enviar a informa o do destino o que sup e uma poupan a de um byte a enviar no caso do formato estendido No caso n o estendido ser repetida a origem duas vezes dentro do byte Src amp Dst O monitoramento ser inserido na rede automaticamente mediante ao uso de monitores por m a fung o mostra se a seguir na Figura 3 23 Carlos Arias Fern ndez 38 Interfaces de Comunica o para o software CPN Tools CRTi fun monitorEncode data2send SendData let val net NetNumber val stringVector Byte stringToBytes data2send val extended if net gt 15 then 1 else 0 val Control Word8 fromInt 128 64 extended 32 val SrcDst if extended lt 1 then Word8 fromInt net 16 net else Word8 fromInt net in Word8Vector tabulate Word8Vector length stringVector 2 fn 0 gt Control 1 gt SrcDst n gt Word8Vector sub stringVector n 2 end Figura 3 23 Fung o monitorEncode 3 2 3 5 Fun o receiveDecode Esta fun o que n o estritamente necess ria para garantir a comunica o per
58. difica o e decodifica o apropriadas para a correta utiliza o do protocolo Sendo esta a primeira das provas foi feita em modo Debug para observar lentamente o funcionamento e Prova B Similar prova A por m esta vez o servidor quem envia a informa o al m de agir com formato de numera o das redes reduzido e Prova C Aqui se testou o monitoramento em modo debug utilizando uma rede similar s dos fil sofos 2 e Prova D Utilizando desta vez a CPN hier rquica que modela a c lula de manufatura Ver se o 5 com um n mero elevado de lugares monitorados e com carga de dados maior testou se em modo Enabled autom tico para certificar o correto funcionamento Carlos Arias Fern ndez 49 Interfaces de Comunica o para o software CPN Tools CRTi Form Arquivo Protocolo Tamanho da Msg Estendido Prova A ReceiveProtocolServer Debug Estendido gt 127 bytes SendProtocolClient Debug Estendido gt 127 bytes Prova B SendProtocolServer Debug Reduzido gt 127 bytes ReceiveProtocolClient Debug Reduzido gt 127 bytes Prova C MonitorTestClient Debug Reduzido lt 127 bytes Prova D Monitor TestServer Enabled Estendido lt 127 bytes Prova E rede7k Enabled Reduzido gt 127 bytes Prova F pratosFil Enabled Reduzido lt 127bytes Tabela 4 1 Detalhe dos arquivos para os testes Al m de estas provas para comprovar o correto funcionamento das con
59. dings of the 22nd International Conference ICATPN 2001 Newcastle upon Tyne s l Springer Verlag 2000 pp 71 80 18 CPN Group Aarhus University CPN Tools License Agreement Online 2004 http wiki daimi au dk cpntools help license agreement wiki 19 Comms CPN A Communication Infrastructure for External Communication with Design CPN Gallasch G e Kristensen L M Aarhus s n 2001 Third Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools pp 75 91 Carlos Arias Fern ndez 66 Interfaces de Comunica o para o software CPN Tools CRTi A Ap ndice Manual de usu rio de CPN Communications Interface Sum rio Requisitos e limita es Aspecto visual Primeiros passos Instala o do programa Aspecto visual Comunica o Interface como cliente CPN Tools como servidor Interface como servidor CPN Tools como cliente Monitoramento Inclus o da biblioteca e par metros de comunica o Instru es de comunica o na CPN Salvar as modifica es da CPN Tabela da rede para as provas Procedimentos incorretos previstos Conectar a Interface com o exterior Construir uma fun o de de codifica o Arquivo SMLFunctions xml Carlos Arias Fern ndez 67 Interfaces de Comunica o para o software CPN Tools CRTi L Requisitos e limita es Sistema operativo Provado em Windows XP Vista e Windows7 Provado em Linux Ubuntu ap s ser compilado com Mono Num de conex es Id
60. e achar e quantizar os pontos de estrangulamento do sistema gargalos assim como avaliar o desempenho achar concorr ncias poss veis condi es de exclus o m tua e mais eventualidades Posto em pr tica a constru o do sistema real permitiria n o s comparar os resultados obtidos com a simula o de CPN Tools como tamb m recolher e analisar dados do sistema em tempo real fazendo uso da interface de comunica o desenvolvida neste projeto 1 2 Objetivos A seguir s o apresentados os objetivos propostos pelo CRTI O objetivo do trabalho viabilizar de forma simplificada a comunica o entre o software CPN Tools e o ambiente externo Para isso dever ser feito o estudo de viabilidade utilizando as linguagens de programa o Java C CA e tamb m o protocolo TCP IP al m do estudo aprofundado do conceito de CPN e do software CPN Tools De acordo com o resultado do estudo dever ser desenvolvido uma ou mais de uma interface entre o CPN Tools e um aplicativo em Java C ou CA prefer ncia CH e tamb m uma interface para comunica o TCP IP Para cada t pico desenvolvido um exemplo pr tico deve ser apresentado Em principio esses exemplos devem Comunicar uma CPN com um aplicativo em CF Comunicar uma CPN com um aplicativo remoto utilizando o protocolo TCP IP O estudo aprofundado das CPN e do software CPN Tools est descrito na se o 2 1 O estudo de viabilidade do uso das linguagens de programa o d
61. e caso o n mero 148 representa o cabe alho Src amp bDst origem e destino 148 em bin rio 10010100 Como j foi descrito na Tabela 3 1 o n mero tem que ser partido em duas partes para uma correta interpreta o 1001 a origem e 0100 o destino A origem foi escolhida ao enviar o dado 9 e o destino foi determinado pela porta escolhida 4 como se pode observar na figura seguinte A porta 50722 coincide com a rede 4 Figura A 11 Lista de conex es 7 Para desconectar todas as conex es abertas pode se clicar no bot o Disconnect e assim pode se ver que o bot o Socket ir se desligar Carlos Arias Fern ndez 74 Interfaces de Comunica o para o software CPN Tools CRTi 2 Interface como servidor CPN Tools como cliente Neste caso ser o utilizados somente os arquivos com extens o cpn cujo nome termina com Client O Servidor sempre quem inicia a comunica o ent o o primeiro passo deve ser efetuado na interface abrindo o servidor e depois na CPN Tools conectando como cliente ao servidor 1 Conectar ao servidor na Interface Primeiramente clicar em Server e preencher o n mero da porta que precisa ser o mesmo definido na conex o do servidor Ver depois as portas de cada arquivo cpn Clicar Connect O servidor continuar esperando sucessivas conex es na mesma porta at fechar a interface mm Eno VERA Disconn Server aa Socket L a Re 0 Tx CL Figu
62. e recebam um stream de 10 e outro de 8 mas por causalidade poderia ter sido tamb m que chegue 14 bytes 10 do primeiro e 4 do segundo e depois os restantes Por isso ser errado processar diretamente os dados quando forem recebidos no stream de entrada e conseqiientemente necess rio o conhecimento do tamanho de cada seqii ncia de dados enviada fazendo o uso do Message framing Ent o n o faz sentido comprovar na recep o de uma segii ncia de bytes que o n mero de bytes recebidos seja igual ao conte do do primeiro byte Este tipo de pr tica errada comum normalmente coincide o n mero de bytes recebidos do stream com os Carlos Arias Fern ndez 24 Interfaces de Comunica o para o software CPN Tools CRTi enviados originariamente se a rede n o tem muita demora nas transa es ou quando o volume de dados pequeno O procedimento que deve ser acometido usando o primeiro byte que indica o tamanho da informa o originariamente enviada deve ser unicamente o de ler o n mero de bytes que este indica do stream de entrada mesmo que n o coincidam com o n mero de bytes que chegaram ao stream Carlos Arias Fern ndez 25 Interfaces de Comunica o para o software CPN Tools CRTi 3 Desenvolvimento da Interface de comunica o 3 1 Requisitos de projeto REQI A linguagem utilizada ser CF REQ2 Criar uma biblioteca que permita a comunica o complementando as fun es de COMMS CPN 18 REQ3 Desenvolver um a
63. eceive string gt bool Esta fun o comprova se a conex o identificada pela string est operativa e devolve um booleano com true no caso afirmativo ou false no contr rio e ConnManagementLayer closeConnection string gt unit Esta fun o fecha a conex o identificada pelo primeiro par metro e stringEncode s e integerEncode i Estas fun es pr definidas s o usadas para a codifica o de string ou inteiro a byte e s o utilizadas na fun o de envio e stringDecode v e integerDecode v Carlos Arias Fern ndez 22 Interfaces de Comunica o para o software CPN Tools CRTi Analogamente estas fun es decodificam o vetor v em string ou inteiro e se utilizam na fun o de recep o Estas duas ltimas fun es de codifica o e decodifica o s o as fornecidas pelo grupo que desenvolveu a biblioteca COMMS CPN mas podem ser desenvolvidas fun es personalizadas que lidem com qualquer tipo de dado Entretanto existem duas exce es que podem ser ativadas nesta biblioteca Elas est o relacionadas com o uso inapropriado dos identificadores das conex es Elas s o DupConnNameExn quando tenta se criar uma conex o com um identificador j usado ea ElementMissingExn quando o identificador desconhecido Carlos Arias Fern ndez 23 Interfaces de Comunica o para o software CPN Tools CRTi 2 4 Comunica o mediante sockets A comunica o usando Sockets permite a diferen a do sistema composto de
64. ed Packet Length 18 Hide String OK received Soo ommon Figura 3 17 Aspecto da Interface durante o envio e a recep o de dados Carlos Arias Fern ndez 33 Interfaces de Comunica o para o software CPN Tools CRTi O a Receive Received Figura 3 18 CPN ap s receber uma string da interface e antes de enviar outra para a interface 3 2 2 Comunicac o entre v rias CPN Tools Para efetuar a comunica o entre v rias CPN ao mesmo tempo necess rio identificar as mesmas CPN Tools atrav s da biblioteca COMMS CPN capaz de identificar distintas conex es internamente em uma CPN mediante a string da conex o Ver se o 2 3 4 Por m devido s instru es de comunica o que s o feitas de maneira pontual e s ncrona bloqueando todo o sistema at terminar com cada instru o o que deriva em uma queda de desempenho Portanto a melhor op o construir uma ferramenta que centralize as comunica es entre as distintas CPN e outros elementos e que consiga trabalhar de maneira ass ncrona e permitindo a multitarefa simult nea Isto poss vel atrav s do protocolo que ser implementado na se o 3 2 3 e descrito a seguir 3 2 3 Comunica o sob Protocolo implementado As camadas do protocolo j foram descritas nos requisitos REQ6 e nos posteriores Al m dessa informa o o protocolo tem as seguintes caracter sticas e Discriminar o tipo de mensagens transmitidas de monitoramento de id
65. ed e Debug SendProtocolServer cpn 140 9009 Enabled e Debug SendProtocolClient cpn 140 9009 Enabled e Debug SendProtocolClient2 cpn 141 9010 Enabled e Debug MonitorTestClient cpn 140 9009 Enabled e Debug MonitorTestServer cpn 140 9009 Enabled e Debug Tabela A 2 Arquivos para teste das comunica es VIII Procedimentos incorretos previstos e Conectar duas redes com um mesmo n mero de rede Aparecer uma mensagem de notifica o e a segunda conex o n o ser aprovada e Receber informa es para enviar a uma rede que n o esteja conectada Aparecer uma mensagem de notifica o e o pacote poder ser enviado manualmente embora o protocolo Enabled autom tico esteja ativado A caixa de sa da ser esvaziada se a rede que enviou a informa o for desconectada perdendo assim essa informa o e Receber informa es para monitorar a CPN sem ter sido visualizada a rede Aparecer uma mensagem de notifica o e Receber informa es sob protocolo diferente ao esperado Aparecer uma mensagem de notifica o Carlos Arias Fern ndez 84 Interfaces de Comunica o para o software CPN Tools CRTi IX Conectar a Interface com o exterior Toda transmiss o de dados com a interface deve ser da seguinte forma e Os dados ser o segmentados em blocos de no m ximo 128 bytes antes de ser enviados e Desses 128 bytes o primeiro deve conter informa es do tamanho do bloco e saber se m
66. entific veis 256 elementos diferentes de O a 255 String identificadora da conex o Tamanho m ximo 124 car teres Places Todos os places t m que ter um nome associado Arcos Todos os arcos t m que ter uma express o que defina o peso de arco Nomes na CPN Os nomes das transi es os places e as subredes hier rquicas unicamente podem ter os seguintes car teres 9 alfanum ricos underline _ e espa o gt Tabela A 1 Requisitos e limita es Carlos Arias Fern ndez 68 Interfaces de Comunica o para o software CPN Tools CRTi IH Aspecto visual Primeiros passos Instala o do programa A instala o simples e consta de tr s passos I Abrir a pasta de instala o do aplicativo CPN Tools Connection Interface e executar setup exe IL O sistema verificar se todos os requisitos necess rios est o dispon veis e pedir a confirma o do usu rio para proceder com a instala o Verifying application requirements This may take a few moments Figura A 1 Verifica o dos requisitos durante a instala o Publisher cannot be verified Are you sure you want to install this application Mame CPNToolsInterface From GACPNToo sCOMMS Interface Publisher Unknown Publisher Install Don t Install While applications can be useful they can potentially harm your computer If you do not trust the source do not install this software More Information
67. entifica o da conex o e de transfer ncia de dados e Validar a conex o e evitar poss veis redund ncias nos identificadores e Protocolo autom tico e manual para seguir a comunica o passo a passo e Adapta se automaticamente para o formato estendido de envio Carlos Arias Fern ndez 34 Interfaces de Comunica o para o software CPN Tools CRTi Altera es na rede CPN Para conseguir as funcionalidades anteriormente citadas e torn las compat veis com a aplica o CPN Tools foram adicionadas as seguintes fun es e connect Estabelece e envia a informa o da CPN e da conex o e connectEncode Constr i e codifica o pacote a enviar para validar a conex o e sendEncode Constr i o pacote a enviar se adaptando ao protocolo e monitor ncode Similar a sendEncode particularizada para o monitoramento e receiveDecode Decodifica e separa os elementos dos pacotes recebidos Al m disso ser inclu da a vari vel global que identificar a rede no ambiente exterior globref NetNumber 5 importante distinguir entre este identificador externo que permite referenciar CPN diferentes ou outros elementos a serem conectados e o identificador interno da conex o que uma string e permite diferenciar v rias conex es com o exterior dentro de uma mesma CPN mesmo identificador num rico No protocolo implementado a string identificadora da conex o ser usada unicamente com car ter informativo para o usu
68. ento s o curtos e dependem em do volume de dados a processar Al m disso as aplica es que v o ser utilizadas n o requerem alto volume de dados na maioria dos casos menor a um bloco menor do que 127 bytes No entanto ser necess rio conhecer em qual aplica o vai se usar a interface para estabelecer uns crit rios melhores para qualificar o desempenho da interface Carlos Arias Fern ndez 51 Interfaces de Comunica o para o software CPN Tools CRTi 5 Aplica es A seguir mostram dois exemplos onde a interface foi usada para se comunicar com uma CPN Primeiramente se apresenta uma c lula de manufatura e depois um exemplo simples de CPN conectado a uma ferramenta de representa o gr fica 5 1 C lula de manufatura A CPN Tools em conjunto com a aplica o desenvolvida nesse projeto permitem o desenvolvimento de diversas aplica es por m a aplica o em c lula de manufatura a motiva o ou o grande incentivo deste projeto A prepara o do arquivo cpn para o monitoramento deste tipo de redes hier rquicas compreende um grau superior de dificuldade Alguns lugares e transi es est o replicados j que pertencem s redes principais e s subredes ao mesmo tempo e deve se evitar a poss vel redund ncia A seguir mostra se uma vers o inicial da CPN hier rquica que modela a c lula Carlos Arias Fern ndez 52 Interfaces de Comunica o para o software CPN Tools CRTi INTXxDATA 1
69. esarrollado Por un lado contiene campos para introducir los par metros y poder conectarse como servidor local remoto o abrir un servidor Adem s tiene la opci n de enviar strings desde la propia interfaz seleccionando el destino y simulando un origen Tambi n existe un indicador con el protocolo escogido Haciendo click en Connections aparecer una lista de de las conexiones establecidas como se puede ver en la Figura 7 Para visualizar una CPN hay que seleccionar el archivo cpn a leer y clicar en Visualize Ver Figura 8 Carlos Arias Fern ndez X Interfaces de Comunicaci n para el software CPN Tools CRTi ASPECTO VISUAL e Ventana inicial Servidor Conexiones Barra de men Cliente local Env o de datos String to send Protocolo seleccionado Visualizar CPN insert a Port and press Connect Consola Figura 6 Aspecto inicial de la aplicaci n e Lista de conexiones ad Connections List Validated Int Pot Rem Pot Creat Time Figura 7 Lista de conexiones y monitorizaci n Carlos Arias Fern ndez xi Interfaces de Comunicaci n para el software CPN Tools CRTi e Monitorizaci n de la CPN y ventana de edici n de par metros y de preparaci n para la monitorizaci n Haciendo click en Monitorize Net se abre la ventana Monitor Options que aparece en el lado izquierdo de la Figura 8 Dentro de ella y en la parte izquierda aparecen las opciones para
70. escrito a seguir Carlos Arias Fern ndez 2 Interfaces de Comunica o para o software CPN Tools CRTi 1 3 Estudo de viabilidade 1 3 1 An lise da linguagem C Oferece uma grande possibilidade j que existe uma biblioteca pronta para gerenciar a conex o como CPN Tools descrita em 1 Por m a car ncia de programa o orientada a objetos nesta linguagem dificulta a implementa o assim como o tratamento de ambiente gr fico 1 3 2 An lise da linguagem Java As possibilidades com a linguagem Java s o bem maiores do que com a linguagem C tendo esta grandes possibilidades com ambientes gr ficos gra as aos elementos framework Al m disso j foram implementadas solu es de comunica o com esta linguagem e ficam em aberto sendo um claro exemplo a CPN dos Dining Philosophers 2 1 3 3 An lise da linguagem CH A linguagem C uma mistura de Java e C al m de adicionar elementos novos como recursos de gerenciamento de eventos e a facilidade de manipula o de gr ficos entre outras caracter sticas 1 3 4 Conclus o Sendo poss vel o desenvolvimento da aplica o nestas tr s linguagens esta ser desenvolvida em C se baseando no forte potencial que oferecido pela gerencia de eventos a facilidade para gerar um ambiente gr fico e a prefer ncia por esta linguagem nos objetivos do CRTi Carlos Arias Fern ndez 3 Interfaces de Comunica o para o software CPN Tools CRTi 1 4 Estrutura do d
71. ex es foram feitas as seguintes provas para averiguar o desempenho da interface em rela o a o tempo requerido para processar os dados Prova E Monitoramento de dados de 199 201 bytes por envio dois blocos obteve se os seguintes resultados contando desde antes de come ar a processar o primeiro bloco recebido at ap s ter processado o segundo Carlos Arias Fern ndez 50 Interfaces de Comunica o para o software CPN Tools CRTi Teste 1 Teste 2 Teste 3 Global Tempo m dio de processamento 26 29 30 11 27 47 27 91 msg milisegundos N m de dados transferidos E sa di Tabela 4 2 Tempos de processamento de dados para a prova E Prova F Similar anterior mas com volume de dados menor com blocos de 10 a 16 bytes Teste 1 Teste 2 Teste 3 Global Tempo m dio de processamento 6 62 6 07 6 77 6 48 msg milisegundos N m de dados 52 48 116 transferidos Tabela 4 3 Tempos de processamento de dados para a prova F 4 2 An lise dos resultados Conclusivamente obtiveram se resultados satisfat rios ap s por m de numerosas provas com pior resultado mas que serviram para detectar falhas no desenho e na concep o da comunica o Exemplos demonstrativos s o por exemplo quando se enviou pela primeira vez uma mensagem com tamanho maior a 127 bytes ou quando se tentou monitorar pela primeira vez uma CPN hier rquica Em rela o aos tempos de processam
72. gs 10 2 PEGS 10 1 RING 10 2 PEG INTXDATA n p sensoresi 2 D 1000 if Ident n 1 if Ident n 2 then 1 n p then 1 n p else empty else empty INTxDATA INTxDATA Figura 5 7 Subrede CPN do sensor 1 2 Carlos Arias Fern ndez 57 Interfaces de Comunica o para o software CPN Tools CRTi Sensor 5 6 Faz a distincao entre uma peca montada com sucesso peca ok ou uma peca incompleta PEG INTxDATA sensor5 6 ifident n 2 then 1 n p else empty ifident n 3 then 1 n p else empty pecas montadas INTxDATA INTxDATA Figura 5 8 Subrede CPN de um dos sensores da rede de manufatura Carlos Arias Fern ndez 58 Interfaces de Comunica o para o software CPN Tools CRTi 5 2 CPN conectada a uma interface gr fica Conectando uma CPN com uma interface gr fica externa atrav s da interface de comunica es consegue se provar a comunica o da ferramenta como elemento encaminhador dos dados transferidos Utilizando a mesma CPN j mostrada na Figura 2 4 elaborou se um ambiente gr fico que representa os estados da CPN de maneira visual COMENDO Figura 5 10 Software externo de representa o gr fica da CPN da rep blica Estado intermedi rio Carlos Arias Fern ndez 59 Interfaces de Comunica o para o software CPN Tools CRTi 6 Gest o do projeto 6 1 Seguimento cronol gico A seguir mostram se as diferentes etapas que foram dese
73. iada como segundo o nome do servidor ou o endere o IP dele e o n mero de porta Carlos Arias Fern ndez 21 Interfaces de Comunica o para o software CPN Tools CRTi e ConnManagementLayer acceptConnection string int gt unit Cria uma conex o como servidor especificando o nome da conex o rec m criada e a porta onde ser o aceitas as novas conex es Esta fun o bloqueia CPN Tools at que uma conex o de entrada tenha lugar e assim o servidor termina a poss vel recep o de conex es de entrada Se for requerido estabelecer uma nova conex o preciso executar de novo esta instru o tendo o cuidado de n o repetir o identificador da conex o cujo caso ativar a exce o DupConnNameExn e ConnManagementLayer send string a a gt Word8Vector vector gt unit Esta a fun o de envio Como primeiro par metro deve ser introduzido o nome da conex o a utilizar como segundo par metro a vari vel a enviar e como terceiro a fun o de codifica o Posteriormente nesta mesma se o ser o descritas estas fun es e ConnManagementLayer receive string Word8Vector vector gt ta gt ha A correspondente fun o de recep o deve ser ativada introduzindo o identificador da conex o dado pelo primeiro par metro Al m disso o outro par metro ser a fun o de decodifica o que determina o tipo de dado que se ter na sa da na pr pria defini o dela e ConnManagementLayer canR
74. ing caracter stica transmiss o de dados polim rficos e codifica o e decodifica o adapt vel aos distintos tipos de dados considerados Estas fun es se comportam de maneira s ncrona ou seja bloqueiam o programa at que seja conclu do seu desempenho at receber uma mensagem do exterior ou at receber uma conex o de entrada por exemplo ou at que uma exce o ativada Na Figura 2 11 descrevem se as fun es da camada chamada Connection Manager no entanto com o posterior desenvolvimento e aperfei oamento foi adicionada alguma como fun o que verifica se uma conex o est aberta e dispon vel canreceive Ver mais detalhes em 2 signature CONN MANAGEMENT LAYER sig type Connection exception ElementMissingExn of string exception DupConnNameExn of string val openConnection Connection string int gt unit val acceptConnection Connection int gt unit val send Connection a a gt Word8Vector vector gt unit val receive Connection Word8Vector vector gt a gt a val closeConnection Connection gt unit end Figura 2 11 Signature da Camada de ger ncia de comunica o em SML Mostram se a seguir as seguintes fun es Para maiores detalhes pode se consultar a refer ncia 18 e ConnManagementLayer openConnection string string int gt unit Estabelece se uma conex o como cliente tomando como primeiro par metro o nome da conex o rec m cr
75. io 27 91 msg Con estos datos obtenidos se puede considerar que no afectan substancialmente a la comunicaci n si los comparamos con velocidades de transferencia de archivos en redes y que adem s dependen de la cantidad de bytes que se transfieren La cantidad de informaci n a transmitir se supone va a ser baja menor de 128 bytes para la aplicaci n en la que se pretende utilizar No obstante para realizar las pruebas de una manera m s rigurosa deber a conocerse exactamente c mo es la aplicaci n CONCLUSIONES Este proyecto cubri sobradamente los objetivos inicialmente planteados ya que adem s de ampliar las opciones de comunicaci n y superar las limitaciones que CPN Tools ten a en este aspecto fueron a adidas muchas m s funcionalidades Gracias a la realizaci n de este proyecto se pueden conectar varias CPNs entre s aparte de otros elementos a trav s del interfaz creado De esta manera el siguiente paso pasar a por hacer efectiva estas conexiones y analizar los resultados El protocolo y las dem s ampliaciones incorporadas en el proyecto tienen un esp ritu integrador y gen rico de manera que permite adaptarse a la cual es conectada y pueden acoger mejoras o nuevas funciones en el futuro Ejemplos son los bits reservados en el byte de control y la opci n de editar el fichero XML para incorporar nuevas funciones Carlos Arias Fern ndez xiv Interfaces de Comunicaci n para el software CPN Tools CR
76. ismo O funcionamento o seguinte Uma vez que o servidor abre a conex o e um cliente conecta com esse servidor atrav s do Socket a aplica o adiciona uma conex o lista de conex es do programa e fica esperando a informa o da CPN para verificar se uma rede v lida A CPN ent o envia sua informa o e a aplica o procura em todas as conex es que tivessem sido adicionadas anteriormente para avaliar se n o existe nenhuma com o mesmo identificador Se assim for a conex o aprovada pelo protocolo e fica pronta para iniciar transfer ncias de dados Em caso contrario a conex o ser rejeitada No diagrama foram apresentadas a classe Socket e a Socket pack como duas classes diferentes somente para dar uma vis o clara do que esta dentro e fora da aplica o Por m a classe Socket pack herdada do Socket sdCPN Interface CPN User 2 connect to socke 10 Validate 11 Validate i Figura 3 26 Diagrama de seq ncia da conex o Carlos Arias Fern ndez 42 Interfaces de Comunica o para o software CPN Tools CRTi 3 2 5 Envio de dados a CPN Tools O envio de dados a uma CPN pode ser realizado de forma ativa desde a aplica o Depois que o usu rio introduz os dados a serem enviados o destino e eventualmente adicionar uma origem simulado a escolha a aplica o procura na lista das conex es a conex o j estabelecida com a rede de destino e envia a informa o de acordo com o protocolo No
77. ite o monitoramento e a edi o de instru es de conex o e Console Onde o programa mostra suas mensagens e Conex es Bot es e indicadores para abrir encerrar e acompanhar as conex es existentes II Comunica o Existem tr s protocolos para serem utilizados e Protocolo Raw o protocolo utilizado pela CPN Tools TCP IP enviando unicamente o cabe alho com o tamanho do pacote enviado e Protocolo Enabled Adiciona um byte de controle e outro de origem e destino e Protocolo Debug uma vers o id ntica a Enabled no entanto paralisa as transa es para poder segui las ativando elas passo a passo A continua o mostra se como realizar conex es simples utilizando os arquivos de exemplo fornecidos pelo programa 1 Interface como cliente CPN Tools como servidor Neste caso ser o utilizados somente os arquivos com extens o cpn cujo nome termina com Server O servidor sempre quem inicia a comunica o ent o o primeiro passo deve ser efetuado na rede CPN abrindo o servidor e depois desde a interface conectando se como cliente ao servidor 1 Iniciar a simula o no CPN Tools Sim Style View Create Sim Style View Create bo DD Dim 44 pod i Figura A 5 Ferramentas de simula o de CPN Tools Carlos Arias Fern ndez 71 Interfaces de Comunica o para o software CPN Tools CRTi 2 Conectar ao servidor na Interface Para isso clicar em Local 1 ou Local 2
78. loqueado indefinidamente Identificaci n local de las conexiones Aunque las conexiones poseen un identificador este s lo es accesible y reconocible dentro de la CPN donde la conexi n fue establecida Por tanto una misma conexi n ser identificada de forma distinta desde la red que abri el servidor y la que se conect a l como cliente DESARROLLO DE LA INTERFAZ Para resolver los problemas que suponen las limitaciones de la conexi n anteriormente planteados fueron establecidos los siguientes requisitos e M ltiples conexiones Posibilitando simult neamente trabajar como cliente en varios puertos y abriendo varios servidores cada uno de ellos aceptando varias conexiones en el mismo puerto e Comportamiento as ncrono La interfaz debe comportarse de forma as ncrona para no bloquear ning n proceso simult neo e Identificando todas las conexiones globalmente con un identificador num rico y string identificativo para mejor diferenciaci n para el usuario e Desarrollo de un protocolo que complemente al existente que incluya informaci n del origen y el destino as como otras informaciones Carlos Arias Fern ndez v Interfaces de Comunicaci n para el software CPN Tools CRTi Adem s de estas posibilidades fueron incluidas otras que facilitan el posterior uso de la aplicaci n e Habilitado un modo debug o paso a paso en el protocolo desarrollado para poder acompafiar las transacciones cuando estas est
79. lvimento do projeto foram tratados diversos t picos do mundo da engenharia desde a geometria anal tica para representar a CPN graficamente at a minera o de dados para unicamente escolher os dados necess rios do arquivo da CPN passando obviamente pelos conceitos de comunica o atrav s de TCP IP Carlos Arias Fern ndez 63 Interfaces de Comunica o para o software CPN Tools CRTi As caracter sticas da aplica o superaram amplamente os objetivos inicialmente fixados facilitando o trabalho posterior feito pelo CRTI incluindo facilidades como a capacidade de monitorar uma CPN remotamente facilitar a edi o da CPN desde a aplica o desenvolvida e a incorpora o autom tica da biblioteca de comunica o nos arquivos que definem a CPN Ap s a finaliza o deste projeto deve ser feita a efetiva integra o da CPN Tools com outras aplica es ou elementos f sicos como sensores ou outros componentes Com rela o ao aspecto comunicativo da aplica o desenvolvida as linhas de trabalho futuras podem compreender por exemplo acrescentar novos canais de envio da informa o como por exemplo Bluetooth ou Zigbee a preparando se para mudan as no formato de comunica o como a transi o dos endere os IP de IPv4 a IPv6 Devido a uma quest o de prioridades foi abandonado o desenvolvimento de um ambiente gr fico que representasse os estados de uma CPN com imagens em troca de uma maior editabilidade autom tica
80. mite no entanto aumentar as possibilidades da mesma O objetivo desta fun o identificar a origem do envio e comprovar que o destino foi correto mediante ao envio dos cabe alhos definidos no protocolo REQ6 Isto permite por exemplo seguir caminhos diferentes na CPN receptora segundo a origem dos dados recebidos Para possibilitar a segmenta o dos cabe alhos que cont m a origem o destino e para detectar se foram enviadas com formato estendido foram desenvolvidas as fun es apresentadas na Figura 3 24 que permitem a manipula o de vectores e listas de n meros inteiros em SML A fun o bin n devolve uma lista de uns e zeros mostrando o valor em bin rio do n mero introduzido A fun o check n elimina o zero restante adicionado na fun o anterior no inicio da lista A fun o addZeros n adiciona zeros at completar um byte 8 elementos A fun o pow x n calcula o n mero x pot ncia n A fun o bit2Int 1 n converte a lista l bin ria criada anteriormente em um n mero inteiro fun bin n if n 0 then 0 lse n mod 2 bin n div 2 fun check n if List last n 0 andalso length n gt 1 then List take n length n 1 else n fun addZeros n if length n lt 8 then addZeros n 0 else n fun pow _ 0 1 pow x n x pow x n 1 fun bit2Int 1 0 List nth 1 0 bit2Int 1 n List nth 1 n pow 2 n bit2Int 1 n 1 Figura 3 24 Fun es para a convers o de dados de tipo byte in
81. n el exterior del aplicativo Est biblioteca permite establecer conexiones m ltiples y simult neas transmitir datos polif rmicos de acuerdo con la estructura definida en alg n colour set ya definido La arquitectura de esta biblioteca se compone de tres capas e Capa de comunicaciones Communications Layer Define las funciones b sicas para realizar la comunicaci n a trav s de sockets TCP IP conexi n como cliente como servidor env o recepci n y cierre de la conexi n e Capa de mensajes Messaging Layer Basada en la anterior proporciona una abstracci n de env o de paquetes de datos Para ello fragmenta la informaci n enviada en bloques de 128 bytes utilizando el primero de ellos como indicador Carlos Arias Fern ndez iii Interfaces de Comunicaci n para el software CPN Tools CRTi tanto de la longitud del paquete como de si se esperan m s paquetes que componen el dato enviado Header Datos 1 byte hasta 127 bytes Figura 1 Distribuci n de un mensaje en CPN Tools e Capa de gesti n de la comunicaci n Communication Management Layer Basada en las anteriores afiade la posibilidad de identificar la conexi n cuando se utilizan varias conexiones al mismo tiempo Adem s necesita como argumento una funci n que codifique en el caso del env o o decodifique recepci n el tipo de dato requerido ajust ndose al definido en el colour set OBJETIVOS Desde el CRT se plantearon los siguientes objetiv
82. nciada como ConnName que envia o colset de tipo product composto do nome interno da rede ConnName e do n mero identificador da rede externo Para possibilitar o envio de um colset deste tipo espec fico preciso definir a fun o de codifica o correspondente cuja descri o se apresenta a seguir fun connect ConnName string port int let val Netnum NetNumber val connection acceptConnection ConnName port val dosend send ConnName ConnName Netnum connectEncode in dosend end Figura 3 19 Fun o connect como servidor A seguinte fun o e similar anterior recebendo mais um par metro de entrada o IP e estabelecendo a conex o como cliente fun connect ConnName string port int Ip string let val Netnum NetNumber val connection openConnection ConnName Ip port val dosend send ConnName ConnName Netnum connectEncode in dosend end Figura 3 20 Fun o connect como cliente Carlos Arias Fern ndez 36 Interfaces de Comunica o para o software CPN Tools CRTi 3 2 3 2 Fun o connectEncode Para construir uma fun o de codifica o qualquer e preciso se referir defini o da fun o na qual vai ser utilizada Neste caso a fun o j descrita ConnManagementLayer send string a a gt Word8Vector vector gt unit onde a representa um colset polim rfico e o elemento entre par nteses a fun
83. nnection gt acceptConnection ConName Port lt AcceptConnection gt lt CloseConnection gt closeConnection ConName lt CloseConnection gt lt ConnInstructions gt lt encode gt lt stringEncode gt lt integerEncode gt lt sendEncode gt lt sendEncode gt lt encode gt lt decode gt lt stringDecode gt lt integerDecode gt lt receiveDecode gt lt receiveDecode gt lt decode gt lt connection gt lt connectEncode gt lt connectEncode gt lt connectClient gt Carlos Arias Fern ndez else 90 Interfaces de Comunica o para o software CPN Tools lt connectClient gt lt connectServer gt lt connectServer gt lt connection gt lt monitor gt lt COMMSMonitor gt lt COMMSMonitor gt lt monitorEncode gt lt monitorEncode gt lt monitor gt lt extra gt lt INT gt color 1d gt lt id gt INT lt id gt lt int gt lt fcoLor s lt INT gt lt STRING gt lt color id gt lt 1d gt STRING lt id gt lt string gt feolor gt lt STRING gt lt connected gt lt globref id gt lt id gt connected lt id gt lt ml gt false lt ml gt lt layout gt globref connected false lt layout gt lt globref gt lt connected gt lt extra gt lt functions gt Carlos Arias Fern ndez CRTi 91
84. no supera el valor 127 con lo que consecuentemente no ser activado e Src amp Dst Extended Este bit indica si el modo extendido del byte Src amp Dst est activo o no En el caso de que est habilitado y por tanto se active el modo extendido el protocolo permitir identificar hasta 256 elementos conectados diferentes En caso contrario solamente 16 e Monitor Este bit habilitado indica que la informaci n es para monitorizaci n por parte de la interfaz Este dato por tanto no tiene que ser enviado a ning n destino e Connection Info Este bit habilitado indica que los datos recibidos contienen informaci n de una conexi n reci n establecida indicando en ellos el n mero de elemento conectado y su string identificador El byte Src amp Dst del ingl s Source and Destiny contiene informaci n sobre el origen y el destino del paquete transmitido Seg n si est habilitado el bit Src amp Dst Extended del byte de Control el byte Src amp Dst ocupar 2 bytes o solamente uno A continuaci n en la Figura 4 pueden verse las configuraciones en formato reducido y extendido Figura 4 Configuraci n reducida y extendida del byte Src amp Dst Carlos Arias Fern ndez viii Interfaces de Comunicaci n para el software CPN Tools CRTi DIN MICA DEL PROTOCOLO Para el correcto funcionamiento del protocolo cada elemento que establezca un
85. nvolvidas ao longo do projeto assim como acontecimentos importantes que direcionaram o decorrer do mesmo Etapas 1 Defini o do Trabalho 2 Estudo das CPN 3 An lise de viabilidade 4 Comunica o Dep Rr A ASR 4 1 Comunica o simples como cliente 4 2 Comunica o m ltipla como cliente 4 3 Comunica o simples como servidor 4 4 Envio de dados 4 5 Comunica o remota 4 6 Implementa o do protocolo pr prio 4 7 Comunica o m ltipla completa Monitoramento 5 1 Monitoramento est tico representa o gr fica da CPN a partir do arquivo 5 2 Monitoramento din mico 5 3 Monitoramento din mico de CPN hier rquica Constru o da biblioteca de comunica o Inclus o autom tica da biblioteca de comunica o nos arquivos cpn Edi o das instru es de comunica o desde a aplica o Documenta o Eventualidades Amplia o do projeto protocolo e edi o dos arquivos cpn desde a aplica o Reavalia o da utiliza o da comunica o com TCP IP stream de dados em lugar de pacotes de dados Carlos Arias Fern ndez 60 Interfaces de Comunica o para o software CPN Tools CRTi M s Sep Out Nov Dec Jan Feb Mar Abr Mai Jun Jul Ago 4 1 X IX X 4 2 X X X 4 3 X 4 4 4 5 X gt K K 4 6 4 7 gt gt gt 5 1 X X X 5 2 X 5 3 K X x I K x x
86. o resultante da express o expr O conjunto de multisets de um conjunto T ser representado como Tys O tipo de dado Booleano vem representado com B true false 2 2 2 CPN n o hier rquica Seas gt E E Uma CPN n o hier rquica um n nuplo CPN P T A 2 V C G E 1 onde P um conjunto finito de lugares Places T um conjunto finito de transi es Transitions ACPxTUT xP um conjunto de arcos direcionados 2 um conjunto finito de colour sets n o vazios V um conjunto finito de tipos de vari veis tais que Type v e X para todas as vari veis v V C P X uma fun o de colour set que atribui um colour set a cada lugar G T EXPRy uma fun o guarda que atribui uma express o guarda guard a cada transi o tal que Type G t Bool E A EXPRy uma fun o de express o de arco que atribui uma express o de arco a cada arco a tal que Type E a C p us onde p o lugar conectado ao arco a I P EXPRy uma fun o de inicializa o que atribui uma express o de inicializa o initial marking a cada lugar p tal que TypelIp C p us As CPN permitem ser analisadas de forma interativa ou autom tica A primeira til para poder depurar passo a passo podendo mudar o modelo e comprovar que o modelo comporta se da forma esperada e da o nome de interativa A forma autom tica serve para testar e para gerar an lises de desempenho Para testar introduzem se os
87. ocumento Este trabalho apresenta se dividido em v rios cap tulos nos quais se tratam todos os aspectos relativos ao projeto Ainda mais inclui se um anexo que complementam e estendem a descri o fornecida na forma de um manual de uso da interface de comunica o A seguir mostram se os diferentes cap tulos assim como o ap ndice 1 Introdu o Sendo este cap tulo inclui a motiva o do projeto os objetivos a cumprir uma an lise para determinar que linguagem de programa o utilizar e a estrutura do documento 2 Estado da arte Aborda um referencial te rico sobre as redes de Petri coloridas CPN Tools e as possibilidades de comunica o neste mbito 3 Desenvolvimento da Interface de comunica o Detalha as fases do desenvolvimento do projeto elabora o de requisitos implementa o e estabelecimento das comunica es e capacidades de monitoramento 4 Teste de software Mostra as provas efetuadas para avaliar o correto funcionamento da ferramenta 5 Aplica es Apresenta se um exemplo de aplica o para o uso da Interface 6 Gest o do projeto Descreve se brevemente a distribui o das tarefas temporalmente e listam se as ferramentas utilizadas na elabora o do projeto mas que n o formam parte dele 7 Conclus es e perspectivas futuras Apresentam se as conclus es com rela o aos resultados al m das propostas de trabalhos futuros 8 Refer ncias bibliogr ficas Detalham se as fontes cons
88. onvertericpn dtd Se a leitura do DTD for bem sucedida a janela da aplica o mudar de tamanho e mostrar a rede Pode se mover a rede arrastando o mouse ou com os bot es representados por setas abaixo da visualiza o da CPN Tamb m se pode dar zoom com e Uma vez desenhada a rede pode se come ar a monitor la sem problemas As redes preparadas para o monitoramento come am por Monitor Para que uma CPN possa ser monitorada dinamicamente devem ser inclu das as bibliotecas de comunica o assim como um monitor que envie as informa es dos tokens cada vez que uma transi o for disparada Carlos Arias Fern ndez 77 Interfaces de Comunica o para o software CPN Tools CRTi IV Inclus o da biblioteca e par metros de comunica o Para aceder nesta fun o uma vez visualizada a CPN clicar no bot o Monitorize Net Aparecer uma janela como a seguinte al MonitorOptions Monitor E Edit COMMS Features Exit O All Places None D Some Places Connections Visualize go E Figura A 14 Edig o dos par metros da comunicag o No lado esquerdo mostram se bot es para o monitoramento din mico onde podem ser escolhidos todos os places nenhum ou alguns A direita aparecem os par metros de comunica o da rede onde pode se introduzir o n mero da rede a string identificadora da conex o definir a conex o como cliente
89. orado Depois de ter constru do um objeto que contenha a informa o relevante do arquivo da CPN j poss vel proceder com a edi o do mesmo Basicamente o programa oferece dois tipos de modifica es e Inclus o da biblioteca de comunica es desenvolvida neste projeto e Edi o da CPN para incluir instru es que desenvolvam comunica es e monitoramento 3 4 Comunica o entre v rias aplica es A implementa o do protocolo desenvolvido permite a comunica o n o s com o aplicativo CPN Tools mas com qualquer aplica o externa sempre que seja respeitado o protocolo desenvolvido Por m pode se utilizar o protocolo TCP IP simples com segmenta o da mensagem Raw Protocol mas se perder a capacidade de identificar a conex o perdendo assim a possibilidade de transferir informa o com o destino pr determinado SENSOR INTERFACE MONITORAR A CPN FERRAMENTA SOFTWARE Figura 3 31 Arquitetura de um poss vel sistema a conectar mediante a Interface Na Figura 3 31 mostra se um exemplo aplicado de um sistema integrado por um bloco que possui um sensor outro bloco com um controlador de motor duas CPN e Carlos Arias Fern ndez 47 Interfaces de Comunica o para o software CPN Tools CRTi uma ferramenta software Por exemplo segundo o decorrer da CPN o motor estar ativado at que o sensor envie um sinal CPN1 Esta ao mudar de estado manda um sinal ferramenta p
90. os e Comunicar de forma simplificada el software CPN Tools con el exterior o An lisis de viabilidad con los lenguajes Java C y CH o An lisis del software CPN Tools en relaci n a sus comunicaciones o Desarrollar una aplicaci n en el lenguaje escogido preferentemente en CH que act e como interfaz de comunicaci n entre CPN Tools y el ambiente externo AN LISIS DE VIABILIDAD Se escogi Cf como lenguaje a utilizar ya que es un lenguaje orientado a objetos respecto a C y era el utilizado y preferido en el CRT respecto a Java LIMITACIONES DE LAS COMUNICACIONES Durante el an lisis del software CPN Tools se descubri alg na deficiencia en las comunicaciones A pesar de que la biblioteca de comunicaciones de CPN Tools Carlos Arias Fern ndez iv Interfaces de Comunicaci n para el software CPN Tools CRTi permite m ltiples conexiones y simultaneas el posterior estudio de la din mica de stas deriv en las siguientes limitaciones Sincronismo Ejecutando las instrucciones de recepci n y de abrir una conexi n como servidor el programa queda bloqueado hasta que se recibe un dato o un cliente se conecta Ejecuci n puntual Estas mismas instrucciones s lo se ejecutan una vez y es necesario ejecutarlas de nuevo si quieren ser usadas nuevamente No existe la posibilidad por ejemplo de dejar un servidor abierto de forma continua Si de todas formas fuera posible debido a la limitaci n anterior el sistema quedar a b
91. ossee 2L 2 4 Comunica o mediante SOCKketS cmoononooncoonocconocononinncnancnonnncnonacccnncnonanosa 24 3 Desenvolvimento da Interface de comunica o sessoesoossessoesosssessossosssesssee Z 3 1 Requisitos de projeto seeesccessocsssccssccssocesocesoocesocessocesoossoosessesssecssocesssssso 20 3 2 A O 20 3 2 1 Comunica o simples sessoesesssesoossocssesoossosssesoossosssessossosssessossosssesssse 29 3 2 2 Comunica o entre v rias CPN Tools esesoossesesoossssossossesossossessese J 3 2 3 Comunica o sob Protocolo implementado mmooconcsonssnssnosn 34 3 2 3 1 Fun o connect eessesssoessoosssossssesssesssocssoosssossssssssessseess DO 3 2 3 2 Fun o connectEncod6 ssesssesssesssoossoossssssssesssesssoess DT 3 2 3 3 Fun o sendEncode eeeseoessoesssesssesssoossoosssossssesssesssoese DO 3 2 3 4 Fun o monitorEncode sessoesessoesoossessossoossossssssossesse IB 3 2 3 5 Fun o receiveDecode seessoesssesssesssocssoosssossssesssesesoese JI 3 2 4 Estabelecimento da conex o sseesseessoossooesssesssesssocssoosssossssesssesesoess AR 3 2 5 Envio de dados a CPN Tools soesoessesooesoessesooesosssesoossosssessossosssesssse AS 3 2 6 Recep o de dados de CPN Tools soesoessessoesoessessoesosssessossosssesssee AS 3 2 7 Comunica o entre v rias CPN sossescssoesesocssesesoossssossossesoesossesoess 44 3 3 Monitorar a simul
92. plicativo que utilize essa biblioteca e que forne a uma comunica o eficaz Requisitos de comunica o REQ4 A comunica o ser feita atrav s de Sockets TCP IP REQS Ser poss vel realizar m ltiplas conex es com o mesmo servidor e com o mesmo cliente e utilizando a mesma porta REQ6 Para cumprir com o REQS ser preciso a adapta o da OSI Layer desde a configura o descrita na Figura 2 10 configura o da seguinte Header Controle Sre amp Dst Dados 1 1 byte 1 byte 1 2 bytes 124 125 bytes Figura 3 1 Distribui o OSI a implementar REQ7 Cumprir as condi es do byte Header para o envio de dados e na recep o comprovar que os bytes indicados pelo Header foram recebidos O primeiro bit Not the last packet serve para detectar se s o esperados mais pacotes do dado ou n o no caso do dado a transferir seja maior de 127 bytes e nesse caso a transfer ncia seria efetuada de forma fragmentada Ver se o 2 3 3 Carlos Arias Fern ndez 26 Interfaces de Comunica o para o software CPN Tools CRTi Header Packet length L6 L5 L4 L3 L gt L1 LO Not the last packet Figura 3 2 Distribui o do byte Header O byte de Controle ter o seguinte conte do Controle RE 5 F o B B B B gt 2 gt 32 gt gt gt gt Rr Y 5 JE D D D D L S D g z A A A A o 5 a O O O v a m 5 p p p p4 1 bit
93. preparar la red para monitorarla En la parte derecha aparecen los par metros de conexi n los cuales pueden ser editados desde aqu ada OO Gram Figura 8 Monitorizaci n de la CPN Carlos Arias Fern ndez xii Interfaces de Comunicaci n para el software CPN Tools CRTi e Edici n de instrucciones de comunicaci n Clicando con el bot n derecho en una transici n aparecen sus instrucciones de comunicaci n Tambi n pueden a adirse las disponibles en la parte izquierda stas son le das del archivo XML anteriormente mencionado hacia el lado derecho apareciendo abajo el texto que ser introducido como instrucci n en la transici n Naturalmente este texto puede ser editado desde aqu Figura 9 Instrucciones de comunicaci n Carlos Arias Fern ndez xiii Interfaces de Comunicaci n para el software CPN Tools CRTi PRUEBAS Y AN LISIS DE RESULTADOS Se realizaron continuas pruebas para la comprobaci n del correcto env o y recepci n de todos los paquetes ya fuera con bloques de informaci n muy grandes m s de tres bloques de 128 bytes o con m ltiples conexiones simult neas Adem s se hicieron pruebas para determinar la velocidad de procesamiento de la informaci n por parte de la interfaz y as valorar si era congruente el uso de la misma y su protocolo Prueba 1 Prueba 2 Longitud del dato 10 16 bytes Longitud del dato 199 201 bytes Tiempo medio 6 48 msg Tiempo med
94. r Finalmente este lugar leva especificada a cole o de cores colour set que pode nele ser contido Assim os lugares com seus tokens representam o estado do sistema Al m do mais os arcos possuem sua express o a qual permite transladar a cole o de cores de maneira parcial se o colour set for composto inteira ou transformando a Esta tamb m pode ser uma express o l gica a ser processada Segundo 14 as CPN s o compostas de tr s diferentes partes estrutura declara es e inscri es Estrutura um grafo dirigido com dois tipos de v rtices lugares e transi es Os lugares s o representados por elipses e as transi es por ret ngulos Declara es compreendem a especifica o dos conjuntos de cores e declara es de vari veis As inscri es s o diferentes dependendo do componente da rede Os lugares possuem tr s tipos nome conjunto de cores e express o de inicializa o initial marking As transi es possuem o nome e a express o guarda guard e os arcos t m sua express o A continua o procede se a dar uma defini o formal das CPN A defini o formal precisa j que ela evita a ambigiidade e fornece uma descri o mais completa Carlos Arias Fern ndez 11 Interfaces de Comunica o para o software CPN Tools CRTi Para isso definir se o baseado em 15 e 1 os conceitos de multiset CPN n o hier rquica e CPN hier rquica 2 2 1 Defini o formal Multiset Um m
95. r qualquer d vida especialmente ao mestrando Tamati Colm n com quem conjuntamente foram resolvidas distintas quest es Agrade o aos membros do f rum CPN Tools Support pelas d vidas esclarecidas e por estarem sempre de prontid o Agrade o minha orientadora Prof Dr Esther Guerra S nchez da Universidade Carlos III pela ajuda com os tr mites burocr ticos e as dicas que me foram dadas Agrade o a meus companheiros de rep blica pela ajuda oferecida especialmente relacionada com quest es idiom ticas Agrade o ARIS Assessoria de Rela es Internacionais da UNIFEI na qual facilitou minha integra o como aluno estrangeiro e me ajudou a resolver qualquer eventualidade que surgisse Carlos Arias Fern ndez iii Interfaces de Comunica o para o software CPN Tools CRTi Resumo O CRTi propus implementar uma interface para integrar a ferramenta CPN Tools em um ambiente industrial de manufatura e para isso foi preciso desenvolver uma interface que centralizasse e controlasse as comunica es mediante o uso protocolo TCP IP utilizando a linguagem de programa o CH As CPN j possuem a capacidade de comunicar se entre si por m era preciso desenvolver um protocolo que possibilitasse a identifica o entre os elementos que comp em a rede do sistema al m de outras informa es relativas comunica o de uma maneira an loga ao funcionamento de um fieldbus Cabe salientar as amplas capacidades de
96. ra A 12 Servidor aberto pela aplica o 2 Iniciar a simula o na CPN Tools Sim Style View Create Figura A 13 Servidor aceitando conex o de entrada 3 4 5 e 6 igual que no caso anterior Carlos Arias Fern ndez 75 Interfaces de Comunica o para o software CPN Tools CRTi 7 Neste caso a desconex o pode ser feita totalmente fechando todas as conex es com o Disconnect ou parcialmente desconectando s as conex es que foram aceitas por uma determinada porta clicando em Disconn Server Para isso deve se indicar tal porta na Textbox localizada acima deste bot o Cabe salientar que s ser o desconectadas as conex es dessa porta selecionada ficando operantes as demais portas Tamb m ser o aceitas futuras conex es na porta desconectada Carlos Arias Fern ndez 76 Interfaces de Comunica o para o software CPN Tools CRTi HI Monitoramento Para monitorar a CPN deve se visualizar o arquivo cpn Para isso clicar em Select file selecionar a rede e clicar em Visualize Esta opera o demora um pouco j que faz a verifica o se o arquivo CPN est em refer ncia ao arquivo de extens o DTD Document Type Definition o qual se encontra na internet www daimi au dk cpntools bin DTD 5 cpn dtd Sem conex o com a internet ocorrer erro na aplica o Pode se substitu la de forma manual j que este arquivo encontra se na pasta C Program FilesiCPN Toolsic
97. resentam a es nas quais os tokens mudam de lugar Representam se normalmente em forma de ret ngulo embora tamb m sejam demonstradas de uma maneira simplificada com uma linha perpendicular ao arco Carlos Arias Fern ndez 6 Interfaces de Comunica o para o software CPN Tools CRTi e Arcos arcs S o as liga es entre um lugar e uma transi o ou vice versa Definem o caminho a ser percorrido pelos tokens Em RdP de maior n vel os arcos possuem outra propriedade chamada peso do arco O peso do arco de entrada de uma transi o define o n mero de tokens necess rios para poder ativar a transi o Se for um arco de sa da de uma transi o este define o n mero de tokens que s o transladados ao lugar seguinte Graficamente os arcos s o representados por setas que indicam o sentido de movimenta o dos tokens O arco pode ter sentido duplo A seguir na Figura 2 1 mostram se duas partes tiradas de uma RdP maior para mostrar em detalhe os elementos anteriormente definidos Pode se observar que na parte esquerda h dois lugares p e p2 cujos arcos de sa da levam at a transi o tj Tamb m existe a possibilidade de que a ocorr ncia de uma transi o produza uma bifurca o do arco e leve este at dois lugares como mostra a sa da da transi o tz aos lugares p e pa N Z N P P E E hi d i Y e p Ap gt E E Figura 2 1 M dulos de uma RdP Desde um ponto de vista din mico h os seg
98. ri o das camadas de distintos pacotes Controle Nome Extended Monitor Reserved Reserved Reserved Reserved First Packtet Connexion Conex o 1101011 Tamanho da String da x x x x N mero da CPN conex o n o est Monitor 1 0 1 0 X X X X N mero da CPN N mero da CPN n o est Conex o 1 11 0111 X X X X N mero da CPN Tamanho da String da conex o estend Monitor 1 1 1 0 X X XX N mero da CPN estend Controle Nome Extended Monitor Reserved Reserved Reserved Reserved First Packtet Connexion Tabela 3 2 Descrig o especifica dos pacotes de conex o e monitor Carlos Arias Fern ndez 41 Interfaces de Comunica o para o software CPN Tools CRTi 3 2 4 Estabelecimento da conex o Para evitar redund ncia no momento de estabelecer a conex o importante comprovar que a nova conex o n o tem um identificador j utilizado Por isso a rede CPN envia uma informa o pr pria que compreende o n mero da CPN e a string identificadora interna da conex o A Figura 3 26 mostra o diagrama de sequ ncia da conex o Neste caso a CPN atua como servidor e a aplica o como cliente mas se fosse o contr rio n o afetaria o mecan
99. ro y la otra quedar conectada aunque el protocolo no la considerar APLICACI N DESARROLLADA Adem s de las capacidades de conexi n ya comentadas la aplicaci n posee las siguientes caracter sticas e Elecci n entre el protocolo de CPN Tools RAW el desarrollado en modo autom tico Enabled y en modo debug Carlos Arias Fern ndez ix Interfaces de Comunicaci n para el software CPN Tools CRTi e Visualizaci n de una lista de las conexiones activas validadas Ver Fig 7 e Monitorizaci n de las conexiones e Monitorizaci n de la simulaci n de una CPN conectada remotamente e Inclusi n de la biblioteca de comunicaciones y de los par metros de conexi n de la CPN Ver Fig 8 e Preparaci n de la CPN para la monitorizaci n de la simulaci n Ver Fig 8 e Edici n de instrucciones de comunicaci n en la CPN Ver Fig 9 e Instrucciones de comunicaci n contenidas en un fichero XML editable Esta ltima caracter stica permite una cierta adaptabilidad ya que lee las instrucciones de un archivo XML creado con la aplicaci n donde se pueden a adir funciones de codificaci n y decodificaci n personalizables Esto permite incorporar funciones adaptadas a las necesidades requeridas sin tener que editar el c digo fuente de la aplicaci n El proyecto incluye un manual de usuario donde figura como crear una funci n de codificaci n o decodificaci n En la Figura 6 puede observarse el aspecto inicial del software d
100. sagem fornecer uma abstra o para a troca de mensagens de forma fidedigna j que a fornecida pelo TCP IP n o suficiente Quando se tem diferentes tipos de dados necess rio segmentar o envio destes para poder diferenci los e controlar o correto envio dos mesmos O signature que descreve a camada da Mensagem est definido na Figura 2 9 Signature da camada de mensagem em SML signature MESSAGING LAYER sig type channel exception InvalidDataExn of string val send channel Word8Vector vector gt unit val receive channel gt Word8Vector vector end Figura 2 9 Signature da camada de mensagem em SML As mensagens s o segmenta es de no m ximo 128 bytes e o mais significativo se utiliza como byte de controle O bit mais significativo estabelece se a transmiss o compreende mais de uma mensagem o n o O resto dos bits deste byte mais significativo mostra o tamanho em bytes da mensagem m ximo 127 bytes de dados A Figura 2 10 mostra a distribui o das mensagens Header Dados A 1 byte at 127 bytes Figura 2 10 Distribuig o da mensagem Carlos Arias Fern ndez 20 Interfaces de Comunica o para o software CPN Tools CRTi 2 3 4 Camada de ger ncia de comunica o Esta camada junto com a de mensagem possibilita a execu o dos requisitos previamente expostos na Biblioteca Comms CPN Esta camada possui as seguintes caracter sticas Identifica o da conex o mediante uma str
101. sesssessseess OJ AAA IE 1 E E ea TU II A T T A 1 Interface como cliente CPN Tools como servidor cccccccceeseeee 71 2 Interface como servidor CPN Tools como cliente sseseessssecessseceess 75 HL AAA sasssa seoir IN T IV Inclus o da biblioteca e par metros de comunica o 0 00 78 vV Instru es de comunica o na CPN esssessossesssesoossosssesooesosssessossosssesssse DU VI Salvar as modifica es da CPN sessessessoesoossessossocssessossoossossossoossossssssossse DO VII Tabela da rede para as provas cccmmcsmsssss D VIII Procedimentos incorretos previstos coooomcmms S4 IX Conectar a Interface com o exterior ooommoomomsssssss DO X Construir uma fun o de de codifica o eeseessessoesoossessossoossessossooesesse S7 XI Arquivo SMLFunctions xml ooooocomossocsscsssss DU Carlos Arias Fern ndez viii Interfaces de Comunica o para o software CPN Tools CRTi Lista de figuras Figura 2 1 M dulos de uma RdP ccrcereoereoressorscresorconeserosressorsorsooesorsseessnescossorsoo 7 Figura 2 2 Ativa o de uma transi o esssesssesssecesoossoossssesssesssecssoossoossosesssesssesssoessso 7 Figura 2 3 Exemplo de uma RdP de um elevador esooossoessseossosssoossoossssesssesssesesoese LO Figura 2 4 CPN exemplo de rep blica ooooomocsmcsossso L Figura 25 CPN hier rquica nr id cc iia L7 Figura 2 6 Detalhe do subproceso
102. sos arcos que unen los arcos a las transiciones y viceversa y los tokens o marcas que indican en que estados se encuentra el sistema En una posterior evoluci n de las redes de Petri aparecieron las redes de Petri coloreadas desde ahora CPN por sus siglas en ingl s Coloured Petri Nets donde fueron a adidos distintos tipos de datos atribuidos a los tokens El t rmino coloreadas en estas redes de Petri viene por la existencia de varios colores de datos en los tokens lo que refleja la existencia de varios tipos de datos y de distinta complejidad cada uno Los tokens van asociados a un color de datos o colour set en donde est definida la estructura del mismo y los componentes Estos datos aparte de poder ser de distinta tipo pueden ser complejos y personalizables de una manera an loga a los objetos de los lenguajes de programaci n orientada a objetos Aparte las CPN combinan las caracter sticas de las redes de Petri con las de un lenguaje de programaci n ya que se permiten editar las expresiones de los arcos y las transiciones as como introducir funciones Las CPN pueden adem s tener estructura jer rquica es decir que pueden construirse subredes que representan un s lo estado o una transici n en la CPN superior Carlos Arias Fern ndez li Interfaces de Comunicaci n para el software CPN Tools CRTi Por ltimo tambi n pueden considerar la variable temporal estableciendo tiempos determinados o basados
103. t functions gt lt block id gt lt id gt COMMS lt id gt lt globref id gt lt id gt NetNumber lt id gt lt ml gt lt m1 gt lt globref gt lt ml id gt val ConName lt ml gt sml id gt val Port 0 lt m1 gt lt ml id gt val IP lt m1 gt lt color id gt lt id gt ReceivedTuple lt id gt lt product gt lt id gt INT lt id gt lt id gt INT lt id gt lt 1d gt STRING lt id gt lt product gt color gt lt color id gt lt id gt SendData lt id gt lt produ t gt lt id gt STRING lt id gt lt id gt INT lt id gt products EFCOLOER lt block id gt lt id gt Extra functions lt id gt CRTi lt ml id gt fun bin n if n 0 then 0 else n mod 2 bin n div 2 lt m gt lt ml id gt fun check n if List last n 0 andalso length n amp gt 1 then List take n length n 1 else n lt ml gt lt ml id gt fun addZeros n if length n amp lt 8 then addzeros n 0 n lt ml gt lt ml id gt fun pow 0 1 pow x n x pow x n 1 lt ml gt lt ml id gt fun bit2Int 1 0 List nth 1 0 bit2Int 1 n List nth 1 n pow 2 n bit2Int 1 n 1 lt ml gt lt fHlock gt s bLock gt lt ConnInstructions gt lt Send gt send ConName S sendVariable S encodeType lt Send gt lt Receive gt receive ConName S decodeType lt Receive gt lt OpenConnection gt openConnection ConName IP Port lt OpenConnection gt lt AcceptCo
104. teiros e bin rios Tendo as fun es anteriores prontas poss vel realizar a decodifica o do vector de bytes a receber discriminando as camadas de controle de origem e destino J Carlos Arias Fern ndez 39 Interfaces de Comunica o para o software CPN Tools CRTi que a fun o receiveDecode vai ser usada como par metro na fun o ConnManagementLayer receive string Word8Vector vector gt a gt a cabe destacar que o colset que vai ter na sa da dessa fun o chamado ReceivedTuple que de tipo product como se mostra a seguir colset ReceivedTuple product INT INT STRING A vari vel Control uma lista bin ria que representa o byte de controle o que nos permite ter acesso para saber se as camadas de origem e destino s o estendidas Segundo isso obteremos o n mero da origem e o destino al m dos dados recebidos unidos no colset de sa da como Src Dst e Data fun receiveDecode received let val Control addZeros check bin Word8 toInt Word8Vector sub received 0 val SecByte Word8 toInt Word8Vector sub received 1 val SrcDst addZeros check bin SecByte val extended List nth Control 6 val Src if extended 1 then SecByte else bit2Int List drop SrcDst 4 3 val Dst if extended 1 then Word8 toInt Word8Vector sub received 2 ls bit2Int SrcDst 3 val Data Byte bytesToString Word8Vector tabulate Word8Vector length received 2 extended
105. terfaces de Comunicac o para o software CPN Tools CRTi e Recep o de dados provenientes de CPN Tools Para poder apresentar esta comunica o criada uma CPN simples com 3 estados e 3 transi es CPN Tools vai agir como servidor na cria o da comunica o e na iniciativa do envio de dados Pode se observar a CPN a seguir o Figura 3 7 CPN para o envio de dados A CPN apresentada mostra tr s estados que representam o estado inicial Init o estado conectado Connected e o estado alcan ado quando o envio da string String to send for feito Sent As transi es executam as a es de conex o envio e desconex o T rd O Figura 3 8 CPN na pr conex o Figura 3 9 CPN no pr envio Carlos Arias Fern ndez 30 Interfaces de Comunica o para o software CPN Tools CRTi o O Figura 3 10 CPN na pr desconex o aid CPN Tools Connections Interface o EE Local ao Port Ga Ot p E a Comet Broadcast Broadcast 1 Broadcast 2 P1272720 lo 311 IP Socket Pot Port Px pm String to send Hide Trancer Figura 3 11 Aspecto da aplica o ap s receber a string Nas Figura 3 8 Figura 3 9 Figura 3 10 e Figura 3 11 mostram se a sequ ncia da CPN assim como o aspecto da recep o da string enviada e Envio de dados para a CPN Tools No caso de recep o de dados por parte da CPN Tools procede se com o uso de uma CPN similar usada na recep o de
106. tudo de viabilidade seoosooesooesoocssscsssccssocesocesoocesscessocesocssocsssoesssesssosssse J 1 3 1 An lise da linguagem C ssessesseessesocesecsoesooesocsseccoesocsscesoesocsscesoesocsseessee J 1 3 2 An lise da linguagem Java ooooommssss J 1 3 3 An lise da linguagem C essesseessescosscescesooesocsseecoesocsscesoesocsscesoesocsseessee J 1 34 AA A E A 1 4 Estrutura do documento sesesssooesssooecesooecesoscoeessooesssoossesooesesooecesosoosssssossss 2 Estado da tte ii id ida Cuica sisone ssov rossos 21 Redes de Peli O 2 2 Redes de Petri coloridas oesosessocsssecssocesocesoosesocessecesocesocesoosesseessesesoessso LL 2 2 1 Defini o formal eeseessesoossoessesoossosssesoossosssesoossosssessossosssessoseosssesssse 12 2 2 2 CPN n o hier rquica ssessosseessescossecsseccoesccssessoesocsseesoesocsseesoesocsseesses 13 2 23 CPN hier rguiCa usei ia ei isa sauna oca L 2 3 CPN DOS A dp ea O a aa aa Cao L7 2 3 1 Biblioteca Comms CPN occcoccccconocccnnnccconoconnnnccnnnccccracccannccnanocananaccnanaso LB 2 3 2 Camada de comunica es ssessossocssesooesocssesooesosssessossoossessossosssesssse 19 2 3 3 Camada de mensagem essssescocsssccssecesocesocesoosesocessocesocesoossssesssesssoses 20 Carlos Arias Fern ndez vi Interfaces de Comunica o para o software CPN Tools CRTi 2 3 4 Camada de ger ncia de comunica o seesosssessoesocssessoesocesessseso
107. twork monitoring features were incorporated as well as the possibility of choosing any of the developed protocols to perform the transfer of data Setting aside that it provides multiple connections either as server or as client additional features not conceived at the beginning were later incorporated to prepare and to adapt the CPN files for the communication These features range from the automatic addition of the communication libraries to the CPN to offering remote monitoring of the CPN and the edition of the communication instructions directly from the developed application Key words CPN CPN Tools TCP IP interface network protocol Carlos Arias Fern ndez v Interfaces de Comunica o para o software CPN Tools CRTi ndice Dedicat ri a edicat ria O RIN A Agradecimentos api Rue call Res MO A Abstrait enres sasbsadio goias sita na dedo Todas asda ns adco Gb a Cote tasas asso oie assi ass Suco sacana A A y Lista de tabelas usasse isesscasisacastasecsteaans even case sinCdono isaasaas Es teto ns esa mad cstcdoiducascaae cs sedont ccas asa KI 2 1 A ARA SERRA EAR ADIA ES ONO PAN AP RD AP ERR ERAS PARRA 11 Motiva 1 J OLIVA O ccccccscerrercrcrcrcrcrcrerererer eres er crer coco coco coco caos co 0a co 00 00 00 00 00 00 00 00 00 00 00 cs cs cs cassada 1 2 Objeti 2 Ze JeLIVOS ciscssaiascscstisissseniosascisiecacsiasasdocatestseSenacsaseieiecacecascacoestenise tese sasc icacac os 1 3 Es
108. uintes fen menos a serem descritos Das ne w CN 3 o y 0 Ed NS pe dd TS p2 6 ple NA NO Figura 2 2 Ativa o de uma transi o e Ativa o ou sensibiliza o de uma transi o Uma transi o ativada quando todo o lugar de entrada conectado a ela tem igual o maior n mero de tokens que os determinados pelo peso do arco que une o lugar com a transi o Ver a Carlos Arias Fern ndez 7 Interfaces de Comunica o para o software CPN Tools CRTi Figura 2 2 onde os dois lugares anteriores transi o pl e p2 cont m um e dois tokens respectivamente Neste caso por n o estar especificado o peso de todos os arcos unit rio Execu o ou disparo da transi o Uma transi o ativada pode executar se Quando isto acontece os tokens do s lugar es de entrada da transi o s o transladados ao s lugar es na sa da da transi o Observa se como na Figura 2 2 os dois lugares de entrada da transi o possuem um e dois tokens cada um O arco do segundo s aceita um token por passo peso unit rio Depois que a transi o for executada um token retirado de cada lugar pl e p2 e um token adicionado no lugar p3 Na fase final a transi o n o ser ativada j que s h token em um dos lugares de entrada Uma transi o ativada pode n o ser executada j que a pr pria transi o pode possuir uma condi o de execu o mas uma transi o n o ativada n o pode ser executada O
109. ultadas A Ap ndice Manual de usu rio de CPN Communications Interface Explica detalhadamente como utilizar a ferramenta desenvolvida Carlos Arias Fern ndez 4 Interfaces de Comunica o para o software CPN Tools CRTi 2 Estado da arte O trabalho foi desenvolvido para comunicar um programa de an lise simula o e modelagem de Redes de Petri coloridas por isso procede se a descrev las sua origem e evolu o 2 1 Redes de Petri As redes de Petri foram desenvolvidas por Carl Adam Petri aparecendo pela primeira vez na sua tese de doutorado 3 Petri foi um dos poucos no campo da inform tica que deu nome a alguma das suas inven es fato que mostra a import ncia e influ ncia A principal vantagem de Petri foi a atribui o din mica de recursos em modelagens de sistemas distribu dos e concorrentes Desta maneira poss vel adicionar m dulos a um sistema arquitetura extens vel sem ter que reiniciar de novo a compila o para a distribui o dos recursos 4 Por m isso tinha um pre o cada componente adicionado precisava agir de forma aut noma e o sistema trabalharia ass ncronamente de forma global Petri estava planejando o contr rio do que estava sendo desenvolvido j que a maioria dos sistemas eram constru dos e desenhados para funcionar de forma s ncrona Al m de desenvolver uma t cnica de modelagem de sistemas distribu dos ass ncronos estabeleceu uma s rie de requisitos e objetivos
110. ultiset um conjunto que agrupa v rios elementos e atribui um n mero em fun o ao n mero de vezes que aparece o mesmo elemento Por exemplo temos o multiset mp seguinte mp 1 1 COL 2 3 ORI 3 2 DAS Este multiset contem 1 elemento de tipo product formado por o inteiro 1 e a string COL dois formados por o inteiro 3 e a string ORT e tr s elementos formados por o inteiro 2 e a string DAS Outra representa o equivalente seria a seguinte 1 se s 1 COL 2 se s 3 ORI 3 se s 2 DAS 0 nos outros casos mg s Formalmente os multiset se definem como segue Um multiset m sobre um conjunto n o vazio S uma fun o m E S gt N O n mero n o negativo m s tamb m chamado de coeficiente de s em m Em geral o multiset vem definido formalmente como m a m s s O elemento s S um membro de um multiset m se m s O Nesse caso diz se tamb m que s em Adi o multiplica o escalar compara o e tamanho definem se como segue considerando que m e mz e m s o multisets e n N 1 Vs E S m mo s m s m s Carlos Arias Fern ndez 12 Interfaces de Comunica o para o software CPN Tools CRTi Vs ES nx xm s nem s m lt m S Vs E S m s lt m gt s Im Xses m s Para definir as CPN preciso definir as seguintes fun es Type v o tipo de dado de uma vari vel v e analogamente Type expr o tipo de dad
Download Pdf Manuals
Related Search
Related Contents
GUIDA PER L`UTENTE "取扱説明書" Samsung Climatizzatore AR3500 12000Btu/h, Classe A++/A; 19 dB User Manual USER GUIDE (4) COMMUNICATIONS SDSポリアクリルアミドゲルの作製方法 保存溶液の調製 1 分離 Easy Gold Pioneer Home Entertainment Preview 2004 Copyright © All rights reserved.
Failed to retrieve file