Autores

1659
Marcelo Sihman
407,273
1660
407,273

Informações:

Publicações do PESC

Título
Detecção de Deadlock em Especificações Algébricas para Sistemas Concorrentes
Linha de pesquisa
Inteligência Artificial
Tipo de publicação
Dissertação de Mestrado
Número de registro
Data da defesa
3/8/1998
Resumo
PESC: Resumo de Dissertação de Mestrado Resumo da Tese apresentada à COPPE/UFRJ como parte dos requisitos necessários para a obtenção do grau de Mestre em Ciências (M.Sc.)

Detecção de Deadlock em Especificações Algébricas para Sistemas Concorrentes

Marcelo Sihman

Agosto/1998
Orientador: Mário Roberto Folhadela Benevides  

 
Programa: Engenharia de Sistemas e Computação

      Esta tese apresenta um estudo detalhado de dois formalismos, CCS e PI-Calculus (Cálculos de Processos), e de especificações de sistemas concorrentes sincronizados nos mesmos. Também estudamos conceitos de sistemas distribuídos, algoritimos de sincronização e detecção de deadlock.
      Neste trabalho, nós propomos um algoritimo para geração automática de especificações formais em CCS (Calculus of Communicating Systems) para Problemas de Compartilhamento de Recursos como o dos Filósofos Jantando. Nós apresentamos uma solução para o caso geral e também para duas variantes particulares: alta carga e casos em anel. Para cada uma, nós estudamos os aspectos combinatoriais do número de estados necessários para cada especificação. Esta especificação é sincronizada utilizando um mecanismo chamado Escalonamento por Reversão de Arestas SER. O uso do SER garante que a especificação gerada pelo algoritmo tem, por construção, algumas propriedades desejáveis como exclusão mútua, ausência de bloqueio perpétuo (deadlock), ausência de espera indefinida (starvation), execução ótima para o caso em que vizinhos alternam operação, e para o caso em que uma implementação completamente distribuída pode ser usada. CCS é a inspiração de alguns formalismos baseados em álgebra como o PI-Calculus, e também de linguagens para especificação formal como o LOTOS. O algoritimo apresentado aqui poderia ser facilmente adaptado para a maioria destes formalismos e ferramentas de especificação. Nós também apresentamos um algoritmo para detecção de deadlock em especificações álgebricas para sistemas concorrentes. Todos os possíveis caminhos de execução da especificação são simulados e caso exista algum tipo de deadlock possível de ocorrer durante sua execução este é detectado pelo algoritmo e informado ao usuário. Nosso algoritmo atua sobre um agente composto em CCS ou PI-Calculus, que, na maioria dos casos, possui determinadas portas restritas a comunicações internas entre seus agentes componentes. Quando uma pessoa for executar uma especifição poderá testá-la antes para saber se ela está livre de deadlock.

Abstract
PESC: Master Degree Abstracts Abstract of Thesis presented at COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Master of Science (M.Sc.)

Deadlock Detection in Algebraic Specifications for Concurrent Systems

Marcelo Sihman

August/1998
Advisor:Mario Roberto Folhadela Benevides  
Department: Systems Engineering and Computer Science

      This thesis presents a detailed study of two formalisms, CCS and PI-Calculus (Process Calculi), and of synchronized specifications for concurrent systems. We also study concepts of distributed systems, scheduling algorithms and deadlock detection.
      In this work, we propose an algorithm for automatic generation of formal specifications in CCS (Calculus for Communicating Systems) for Resource Sharing Problems like the Dining Philosophers. We present a solution for the general case and also for two particular variants: heavy-load and ring cases. For each one, we study the combinatorial aspects of the number of states needed in each specification. This specification is synchronized using a mechanism called Scheduling by Edge Reversal SER. The use of SER guarantees that the specification generated by the algorithm has, by construction, some desirable properties such as mutual exclusion, absence of deadlock, absence of starvation, concurrency-wise optimality given the requirement that neighbors alternate, and the case with which a fully distributed implementation can be carried out. CCS is the inspiration of some algebraic based formalism like the Pi-Calculus, and also of languages for formal specification like LOTOS. The algorithm presented here could be easily adapted for most of these specification formalisms and tools.
      We also present an algorithm for deadlock detection in algebraic specifications for concurrent systems. All the possible execution paths of the specification are simulated and in the case that there is the possibility of ocurrence of some kind of deadlock during its execution this is detected by the algorithm and informed to the user. Our algorithm works over a composed agent in CCS or PI-Calculus, that, in most of the cases, has restrictions applied over some specific ports, destined only to internal communication among its component agents. When one wants to execute a specification he will be able to test it before to know if it is deadlock free.

Arquivo
Topo