DefiniÃao e implementacÃo do sistema de tipos da linguagem Circus
AUTOR(ES)
Manuela de Almeida Xavier
DATA DE PUBLICAÇÃO
2006
RESUMO
A busca constante pelo desenvolvimento de sistemas de software com qualidade vem despertando o interesse das grandes empresas na aplicaÃÃo de tÃcnicas formais. Dentre as linguagens formais, existem aquelas prÃprias para a modelagem de dados complexos, tal como Z, e outras prÃprias para a modelagem de comunicaÃÃo e concorrÃncia, tal como CSP. Circus à uma linguagem de especificaÃÃo, projeto e programaÃÃo que combina Z e CSP. AlÃm de possibilitar a especificaÃÃo de aspectos de dados e comportamentais de sistema concorrentes, Circus inclui um cÃlculo de refinamentos. Este à seu diferencial em relaÃÃo a outras integraÃÃes de Z com uma Ãlgebra de processos. Circus vem despertando interesse no meio industrial, manifestado atravÃs de colaboraÃÃes cientÃficas e tecnolÃgicas, e possui uma equipe envolvida na construÃÃo de ferramentas que visam facilitar sua utilizaÃÃo. Muitas destas ferramentas precisam de um verificador de tipos para prover mais garantias quanto a consistÃncia das especificaÃÃes e programas, e, conseqÃentemente, de seus resultados. Neste trabalho, apresentamos uma definiÃÃo formal para o sistema de tipos de Circus, com o intuito de auxiliar o desenvolvimento de um verificador de tipos para a linguagem. Optamos por primeiramente definir as regras de tipos de Circus para depois implementar o software que automatiza a aplicaÃÃo dessas regras. Esta decisÃo de projeto contribuiu para a construÃÃo robusta do verificador, pois a implementaÃÃo consiste em um mapeamento direto das regras de tipos para linhas de cÃdigo. TambÃm apresentamos a nossa estratÃgia de validaÃÃo do verificador atravÃs de elaboraÃÃo de testes de pequeno e grande porte, e integraÃÃes com outras ferramentas da linguagem: o JCircus, que à um tradutor de Circus para Java; e o CircusRefine, uma ferramenta de refinamentos que desenvolvemos especialmente para integrar o verificador de tipos. Ao definir o sistema de tipos de Circus, e disponibilizar um verificador de tipos, acreditamos que estamos dando uma importante contribuiÃÃo na evoluÃÃo de Circus, esclarecendo pontos essenciais de sua definiÃÃo como uma linguagem fortemente tipada e compatÃvel com Z e CSP, e estamos tambÃm contribuindo para o desenvolvimento de outras ferramentas da linguagem. Esperamos que o nosso trabalho possa servir de base para a definiÃÃo e implementaÃÃo dos sistemas de tipos das extensÃes de Circus
ASSUNTO(S)
ciencia da computacao mÃtodos formais formal languages modelagem de dados complexos concorrÃncia tools concurrenc formal methods sistemas de software
Documentos Relacionados
- DiscussÃo sobre a DefiniÃÃo Dimensional em Apartamentos: ContribuiÃÃo à Ergonomia do Ambiente ConstruÃdo
- MIDAI: um mÃtodo para identificaÃÃo e definiÃÃo de aspectos iniciais.
- DefiniÃÃo de um processo de mediÃÃo e anÃlise com base nos requisitos do CMMI
- Uma metodologia para definiÃÃo de requisitos em sistemas data warehouse
- DefiniÃÃo de redes de drenagem utilizando modelagem numÃrica de terrenos.