niteroi, 19 de março de 20041 i workshop do projeto vas verificação de arquiteturas de software
TRANSCRIPT
![Page 1: Niteroi, 19 de Março de 20041 I Workshop do Projeto VAS Verificação de Arquiteturas de Software](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022070311/552fc10b497959413d8c17f0/html5/thumbnails/16.jpg)
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