• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 3
  • Tagged with
  • 3
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Verificação de modelos para programas em um subconjunto de JCSP

NASCIMENTO, Carla Maria Pinheiro do January 2006 (has links)
Made available in DSpace on 2014-06-12T15:59:26Z (GMT). No. of bitstreams: 2 arquivo5125_1.pdf: 944608 bytes, checksum: b3965877c4e7cb64788c8157f6ca6838 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2006 / 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)
2

ALCSP: um complicador baseado em AspectJ para modularizar a programação concorrente em programas Java

Elias Queiroga da Costa Araújo, José 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:01:28Z (GMT). No. of bitstreams: 2 arquivo9411_1.pdf: 1518901 bytes, checksum: d645deca05140af7b59c0d3726ee9757 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2011 / Com o advento de processadores multicore, a programação concorrente ganhou importância e tem se tornado um dos grandes desafios da área de engenharia de software. O paradigma de programação concorrente, implementado por linguagens de programação como Java, C, e C++, oferece um nível de expressividade muito baixo, dificultando a sua utilização. Aliado a isso, o uso de bibliotecas que implementam abstração de concorrência, requer um esforço de aprendizado adicional, como também produz programas cuja lógica da regra de negócio está entrelaçada com chamadas para a biblioteca que implementa concorrência de forma mais abstrata. O presente trabalho propõe separar o código concorrente daquele usado no desenvolvimento de código sequencial Java. Todo comportamento concorrente é extraído do código e torna-se anotações de classe. Tais anotações seguem a sintaxe da linguagem CSP, uma linguagem formal que foi criada para descrever sistemas concorrentes e distribuídos. Para prover esta separação, este trabalho sugere um compilador, chamado AJCSP, o qual reconhece as anotações nas classes Java, gerando código concorrente utilizando a biblioteca JCSP. A programação orientada a aspectos foi explorada para instrumentar o programa sequencial Java com construções concorrentes contidas no código gerado. Para avaliar o framework proposto, foram utilizadas métricas de separação de preocupações (SoC), acoplamento, bem como tamanho em cinco sistemas distintos implementados nas diferentes abordagens de concorrência (java thread, JCSP e AJCSP). A avaliação obtida demonstrou que, quando utilizado AJCSP, a quantidade de linhas de código do sistema diminui, assim como a dependência com a biblioteca de concorrência
3

JCircus 2.0: Uma extens?o da ferramenta de tradu??o de Circus para Java

Barrocas, Samuel Lincoln Magalh?es 29 August 2011 (has links)
Made available in DSpace on 2014-12-17T15:47:56Z (GMT). No. of bitstreams: 1 SAMUEL LINCOLNdissertacao_final.pdf: 2269762 bytes, checksum: f3ae8e1d8966bfbf455c79b080c96cc2 (MD5) Previous issue date: 2011-08-29 / This dissertation aims at extending the JCircus tool, a translator of formal specifications into code that receives a Circus specification as input, and translates the specification into Java code. Circus is a formal language whose syntax is based on Z s and CSP s syntax. JCircus generated code uses JCSP, which is a Java API that implements CSP primitives. As JCSP does not implement all CSP s primitives, the translation strategy from Circus to Java is not trivial. Some CSP primitives, like parallelism, external choice, communication and multi-synchronization are partially implemented. As an aditional scope, this dissertation will also develop a tool for testing JCSP programs, called JCSPUnit, which will also be included in JCircus new version. The extended version of JCircus will be called JCircus 2.0. / Esta disserta??o tem como objetivo estender a ferramenta JCircus, um tradutor de especifica??es formais para c?digo que recebe uma especifica??o em Circus como entrada, e traduz a especifica??o para c?digo Java. Circus ? uma linguagem formal cuja sintaxe ? baseada nas sintaxes das linguagens Z e CSP. O c?digo gerado por JCircus faz uso de JCSP, que ? uma API de Java que implementa primitivas de CSP. O fato de JCSP n?o implementar CSP completamente faz com que a estrat?gia de tradu??o de Circus para Java seja n?o-trivial. Algumas primitivas de CSP, como paralelismo, escolhas externa e interna, comunica??o, e multi-sincroniza??o s?o implementadas em JCSP de forma parcial. Nesta disserta??o, estendemos a tradu??o destas primitivas. Al?m disso, esta disserta??o tamb?m desenvolver? uma ferramenta para fazer testes em processos JCSP, chamada JCSPUnit.

Page generated in 0.0149 seconds