Verificação de modelos para programas em um subconjunto de JCSP
Autor(a) principal: | |
---|---|
Data de Publicação: | 2006 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFPE |
dARK ID: | ark:/64986/001300000ct7c |
Texto Completo: | https://repositorio.ufpe.br/handle/123456789/2581 |
Resumo: | A verificação de modelos formais gerados a partir de programas concorrentes tem sido bem aceita na indústria e na academia durante a fase de testes. A busca por qualidade de software tem motivado este uso, principalmente pelo fato de que testar programas concorrentes não é uma tarefa trivial e é suscetível a erros. Os modelos são descritos através de linguagem de especificação formal para sistemas concorrentes como, por exemplo, CSP. Esta linguagem possui padrões para a descrição de interação entre sistemas concorrentes. Ela é baseada na troca de mensagens entre os componentes do sistema especificado, os processos. Cada processo é descrito através de eventos e operadores. Eventos representam as possíveis ações do usuário para com o processo ou com o ambiente (O ambiente representa o conjunto de todos os eventos visíveis aos usuários do sistema, assim como tudo o que possa interagir com os processos envolvidos no sistema { outros processos ou usuários). A biblioteca JCSP é uma biblioteca Java que possui construtores baseados em CSP. Ela provê um bom nível de abstração para a escrita de programas concorrentes sem precisarmos utilizar a estrutura de semáforos que Java oferece. Neste trabalho propomos um mapeamento entre JCSP e CSP com o intuito de estudarmos as propriedades do modelo formal gerado. Utilizamos o famoso exemplo do Jantar dos Filósofos para demonstrar a aplicação das regras, bem como suas particularidades. Propomos como estudo de caso uma modelagem para uma rede de celulares. Neste estudo apresentamos a derivação de processo regra a regra a partir de JCSP. Então analisamos o modelo gerado com o uso de FDR, um verificador de modelos para especificações concorrentes, com o objetivo de estudarmos suas propriedades clássicas (detecção de deadlocks, livelocks e não-determinismo) ou específicas da aplicação. Como principais contribuições deste trabalho podemos destacar o mapeamento de comandos Java/JCSP que possuem um maior grau de complexidade durante o mapeamento (while, atribuição, composição sequencial de comandos), visto que CSP não oferece o conceito de passagem de estado entre os comandos, como as linguagens de programação o fazem. Também podemos mencionar os construtores JCSP que não são mapeados diretamente para CSP (Alternative) |
id |
UFPE_d6af9ea58ed30cd3a49faccb3f727ac2 |
---|---|
oai_identifier_str |
oai:repositorio.ufpe.br:123456789/2581 |
network_acronym_str |
UFPE |
network_name_str |
Repositório Institucional da UFPE |
repository_id_str |
2221 |
spelling |
NASCIMENTO, Carla Maria Pinheiro doMOTA, Alexandre Cabral2014-06-12T15:59:26Z2014-06-12T15:59:26Z2006Maria Pinheiro do Nascimento, Carla; Cabral Mota, Alexandre. Verificação de modelos para programas em um subconjunto de JCSP. 2006. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2006.https://repositorio.ufpe.br/handle/123456789/2581ark:/64986/001300000ct7cA verificação de modelos formais gerados a partir de programas concorrentes tem sido bem aceita na indústria e na academia durante a fase de testes. A busca por qualidade de software tem motivado este uso, principalmente pelo fato de que testar programas concorrentes não é uma tarefa trivial e é suscetível a erros. Os modelos são descritos através de linguagem de especificação formal para sistemas concorrentes como, por exemplo, CSP. Esta linguagem possui padrões para a descrição de interação entre sistemas concorrentes. Ela é baseada na troca de mensagens entre os componentes do sistema especificado, os processos. Cada processo é descrito através de eventos e operadores. Eventos representam as possíveis ações do usuário para com o processo ou com o ambiente (O ambiente representa o conjunto de todos os eventos visíveis aos usuários do sistema, assim como tudo o que possa interagir com os processos envolvidos no sistema { outros processos ou usuários). A biblioteca JCSP é uma biblioteca Java que possui construtores baseados em CSP. Ela provê um bom nível de abstração para a escrita de programas concorrentes sem precisarmos utilizar a estrutura de semáforos que Java oferece. Neste trabalho propomos um mapeamento entre JCSP e CSP com o intuito de estudarmos as propriedades do modelo formal gerado. Utilizamos o famoso exemplo do Jantar dos Filósofos para demonstrar a aplicação das regras, bem como suas particularidades. Propomos como estudo de caso uma modelagem para uma rede de celulares. Neste estudo apresentamos a derivação de processo regra a regra a partir de JCSP. Então analisamos o modelo gerado com o uso de FDR, um verificador de modelos para especificações concorrentes, com o objetivo de estudarmos suas propriedades clássicas (detecção de deadlocks, livelocks e não-determinismo) ou específicas da aplicação. Como principais contribuições deste trabalho podemos destacar o mapeamento de comandos Java/JCSP que possuem um maior grau de complexidade durante o mapeamento (while, atribuição, composição sequencial de comandos), visto que CSP não oferece o conceito de passagem de estado entre os comandos, como as linguagens de programação o fazem. Também podemos mencionar os construtores JCSP que não são mapeados diretamente para CSP (Alternative)porUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessJCSPCSPFDRAbstraçãoRegrasRefinamentoVerificação de modelos para programas em um subconjunto de JCSPinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILarquivo5125_1.pdf.jpgarquivo5125_1.pdf.jpgGenerated Thumbnailimage/jpeg1230https://repositorio.ufpe.br/bitstream/123456789/2581/4/arquivo5125_1.pdf.jpg9478904d4e8867f5d0c29a16204a4358MD54ORIGINALarquivo5125_1.pdfapplication/pdf944608https://repositorio.ufpe.br/bitstream/123456789/2581/1/arquivo5125_1.pdfb3965877c4e7cb64788c8157f6ca6838MD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2581/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo5125_1.pdf.txtarquivo5125_1.pdf.txtExtracted texttext/plain222588https://repositorio.ufpe.br/bitstream/123456789/2581/3/arquivo5125_1.pdf.txt1b6b2d9dae60daef492116df2cd945a4MD53123456789/25812019-10-25 16:57:29.36oai:repositorio.ufpe.br:123456789/2581Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T19:57:29Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
dc.title.pt_BR.fl_str_mv |
Verificação de modelos para programas em um subconjunto de JCSP |
title |
Verificação de modelos para programas em um subconjunto de JCSP |
spellingShingle |
Verificação de modelos para programas em um subconjunto de JCSP NASCIMENTO, Carla Maria Pinheiro do JCSP CSP FDR Abstração Regras Refinamento |
title_short |
Verificação de modelos para programas em um subconjunto de JCSP |
title_full |
Verificação de modelos para programas em um subconjunto de JCSP |
title_fullStr |
Verificação de modelos para programas em um subconjunto de JCSP |
title_full_unstemmed |
Verificação de modelos para programas em um subconjunto de JCSP |
title_sort |
Verificação de modelos para programas em um subconjunto de JCSP |
author |
NASCIMENTO, Carla Maria Pinheiro do |
author_facet |
NASCIMENTO, Carla Maria Pinheiro do |
author_role |
author |
dc.contributor.author.fl_str_mv |
NASCIMENTO, Carla Maria Pinheiro do |
dc.contributor.advisor1.fl_str_mv |
MOTA, Alexandre Cabral |
contributor_str_mv |
MOTA, Alexandre Cabral |
dc.subject.por.fl_str_mv |
JCSP CSP FDR Abstração Regras Refinamento |
topic |
JCSP CSP FDR Abstração Regras Refinamento |
description |
A verificação de modelos formais gerados a partir de programas concorrentes tem sido bem aceita na indústria e na academia durante a fase de testes. A busca por qualidade de software tem motivado este uso, principalmente pelo fato de que testar programas concorrentes não é uma tarefa trivial e é suscetível a erros. Os modelos são descritos através de linguagem de especificação formal para sistemas concorrentes como, por exemplo, CSP. Esta linguagem possui padrões para a descrição de interação entre sistemas concorrentes. Ela é baseada na troca de mensagens entre os componentes do sistema especificado, os processos. Cada processo é descrito através de eventos e operadores. Eventos representam as possíveis ações do usuário para com o processo ou com o ambiente (O ambiente representa o conjunto de todos os eventos visíveis aos usuários do sistema, assim como tudo o que possa interagir com os processos envolvidos no sistema { outros processos ou usuários). A biblioteca JCSP é uma biblioteca Java que possui construtores baseados em CSP. Ela provê um bom nível de abstração para a escrita de programas concorrentes sem precisarmos utilizar a estrutura de semáforos que Java oferece. Neste trabalho propomos um mapeamento entre JCSP e CSP com o intuito de estudarmos as propriedades do modelo formal gerado. Utilizamos o famoso exemplo do Jantar dos Filósofos para demonstrar a aplicação das regras, bem como suas particularidades. Propomos como estudo de caso uma modelagem para uma rede de celulares. Neste estudo apresentamos a derivação de processo regra a regra a partir de JCSP. Então analisamos o modelo gerado com o uso de FDR, um verificador de modelos para especificações concorrentes, com o objetivo de estudarmos suas propriedades clássicas (detecção de deadlocks, livelocks e não-determinismo) ou específicas da aplicação. Como principais contribuições deste trabalho podemos destacar o mapeamento de comandos Java/JCSP que possuem um maior grau de complexidade durante o mapeamento (while, atribuição, composição sequencial de comandos), visto que CSP não oferece o conceito de passagem de estado entre os comandos, como as linguagens de programação o fazem. Também podemos mencionar os construtores JCSP que não são mapeados diretamente para CSP (Alternative) |
publishDate |
2006 |
dc.date.issued.fl_str_mv |
2006 |
dc.date.accessioned.fl_str_mv |
2014-06-12T15:59:26Z |
dc.date.available.fl_str_mv |
2014-06-12T15:59:26Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
Maria Pinheiro do Nascimento, Carla; Cabral Mota, Alexandre. Verificação de modelos para programas em um subconjunto de JCSP. 2006. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2006. |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/2581 |
dc.identifier.dark.fl_str_mv |
ark:/64986/001300000ct7c |
identifier_str_mv |
Maria Pinheiro do Nascimento, Carla; Cabral Mota, Alexandre. Verificação de modelos para programas em um subconjunto de JCSP. 2006. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2006. ark:/64986/001300000ct7c |
url |
https://repositorio.ufpe.br/handle/123456789/2581 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
instname_str |
Universidade Federal de Pernambuco (UFPE) |
instacron_str |
UFPE |
institution |
UFPE |
reponame_str |
Repositório Institucional da UFPE |
collection |
Repositório Institucional da UFPE |
bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/2581/4/arquivo5125_1.pdf.jpg https://repositorio.ufpe.br/bitstream/123456789/2581/1/arquivo5125_1.pdf https://repositorio.ufpe.br/bitstream/123456789/2581/2/license.txt https://repositorio.ufpe.br/bitstream/123456789/2581/3/arquivo5125_1.pdf.txt |
bitstream.checksum.fl_str_mv |
9478904d4e8867f5d0c29a16204a4358 b3965877c4e7cb64788c8157f6ca6838 8a4605be74aa9ea9d79846c1fba20a33 1b6b2d9dae60daef492116df2cd945a4 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
repository.mail.fl_str_mv |
attena@ufpe.br |
_version_ |
1815172792152227840 |