16
Niteroi, 19 de Março de 2 004 1 I Workshop do Projeto I Workshop do Projeto VAS VAS Verificação de Arquiteturas de Verificação de Arquiteturas de Software Software

Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Embed Size (px)

Citation preview

Page 1: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 1

I Workshop do Projeto VASI Workshop do Projeto VAS

Verificação de Arquiteturas de SoftwareVerificação de Arquiteturas de Software

Page 2: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 2

eMaudeeMaude

Um plugin Eclipse para a linguagem MaudeUm plugin Eclipse para a linguagem Maude

Matheus Mansur

Page 3: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 3

1.1. A Plataforma EclipseA Plataforma Eclipse

O que é.Como funciona.

– Pontos de Extensão (manifest.xml)– Framework de classes em Java para

implemetação

Page 4: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 4

1.1. A Plataforma EclipseA Plataforma Eclipse

Como nos pode ser útil.– Extension Point

• Editors*• Perspectives• Preference Pages• New Wizards

– Editors Extension Point• Add-ons

Page 5: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 5

Page 6: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 6

Page 7: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 7

Exemplos de Add-ons

Page 8: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 8

2.2. A Primeira AbordagemA Primeira Abordagem

Verificar como era estruturado os editores existentes– Modelo IDocument– Partições não sobrepostas– DocumentProvider

Page 9: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 9

2.2. A Primeira Abordagem A Primeira Abordagem

Page 10: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 10

2.2. A Primeira Abordagem A Primeira Abordagem

Partições não sobrepostas– Possibilidade de aplicar diferentes Add-ons a

cada uma delas.– Com isso posso utilizar um assistente de

conteúdo diferente para cada parte do código Maude.

– Ex.: Dentro de um módulo funcional não há necessidade de se exibir comandos do sistema.

Page 11: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 11

2.2. A Primeira Abordagem A Primeira Abordagem

A estrutura do syntax highlight– Definido a partir de um conjunto de regras

• Regras de Padrões.– EndOfLineRule("***", aToken);

– MultiLineRule(“[“,”]”,aToken);

• Regras de Palavras– WordRule(“begin”,aToken);

Page 12: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 12

Page 13: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 13

3.3. A Segunda Abordagem A Segunda Abordagem

Maude não possuir palavras reservadas. Como é muito comum em outras linguagens.

Isso permite falhas no syntax highlight.

Page 14: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 14

Page 15: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 15

3.3. A Segunda AbordagemA Segunda Abordagem

O modelo padrão do eclipse para a funcionalidade do syntax highlight não atende as necessidades do Maude.

Criar uma estrutura de árvore para armazenar a gramática BNF do Maude, e consultá-la para verificar se algo deve ser colorido ou não.

Com isso não analisaremos apenas a palavra, mas também o local da palavra.

Page 16: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software

Niteroi, 19 de Março de 2004 16

I Workshop do Projeto VASI Workshop do Projeto VAS

eMaudeeMaude

Um plugin Eclipse para a linguagem MaudeUm plugin Eclipse para a linguagem Maude

Matheus Mansur

www.ic.uff.br/~mmansur

[email protected]