1o Seminário do Projeto VAS – Verificação de Arquiteturas de Software VAS - Verificação de Arquiteturas de Software CBDT – CBabel Development Tools Integração.

Slides:



Advertisements
Apresentações semelhantes
Evandro Luiz Vieira Guilhermo Pazuch. Gênero: estratégia baseado em turno. Plataforma: java. Público alvo: casual. Modo de jogo: multiplayer (2 jogadores).
Advertisements

Uma Ferramenta Baseada em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 2 de setembro.
Desenvolvimento de Plug-ins Orientado a Testes
Análise de Projeto Responsáveis: José Clodoaldo. João Lessa.
Iniciando na plataforma Eclipse
Henrique Prado Sousa Oryx Henrique Prado Sousa Manoel LES/PUC-Rio.
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
Niteroi, 19 de Março de I Workshop do Projeto VAS Verificação de Arquiteturas de Software.
April 05 Prof. Ismael H. F. Santos - 1 Modulo I- Introdução a Plataforma NetBeans Prof. Ismael H F Santos.
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Linguagens Formais e Tradutores
Introdução a Linguagem JAVA
Minicurso de Desenvolvimento WEB
Desenvolvimento de Aplicações Java para Web
Introdução a Programação Orientada a Objetos
O Portal do Estudante de Computação
Linguagem de Programação JAVA
Felipe Peressoni Waltrick Desenvolvimento de Aplicações Corporativas em Software Livre.
GPES.
OdysseyShare: Desenvolvimento Colaborativo de Componentes COPPE - UFRJ Marco Aurélio Souza Mangan Webmidia/CSCW 2003.
Plataforma de Desenvolvimento de Software
Universidade Federal de Lavras - UFLA
Um estudo exploratório da aplicação da engenharia de software orientada a agentes para o desenvolvimento de ferramentas de suporte a comunidades online.
O Fluxo de Implementação
CAMPUS NATAL-CENTRAL DIRETORIA DE EDUCAÇÃO E TECNOLOGIA DA INFORMAÇÃO
Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •
Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse
Detalhes sobre o curso
Geração de Código Teoria e Implementação de Linguagens Computacionais – IF688 Jobson Ronan Jeronimo da Silva
Implementação e Testes
1 1.
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
O Processo de desenvolvimento de software
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
Nome(s): Crislaine da Silva Tripoli Luis Antonio Tavares
FACULDADE DE TECNOLOGIA SENAC-RS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Uma Ferramenta para Geração de Casos de Testes para.
@2011 Éfren L. Souza1 Plataforma Android Uma Visão Geral para Desenvolvedores.
Estendendo o Eclipse Bruno Costa Bourbon Jarbas Jácome de Oliveira Júnior {bcb,
Workflow com Gestão Documental e Certificação Digital Roberto Gallo
Odyssey-MDA: Uma Abordagem para a Transformação de Modelos de Componentes Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software.
Eclipse Extensibility João Paulo –jpsm Mário Barbosa - mbaj.
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Instituto Superior de Engenharia de Lisboa Departamento de Engenharia de Electrónica e Telecomunicações Licenciatura em Engenharia Informática e de Computadores.
CIn/UFPE – IN1008 – Projeto Conceitual de Banco de Dados - Prof. Robson Fidalgo  1.
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael Maia Ana Paula Blois Cláudia Werner Grupo de Reutilização de Software Outubro/2005.
Ciclo de Seminarios Técnicos – PET Computação Quarta-Feira - 15/06/2011
Ferramenta de Modelagem de Requisitos e Agentes (TAOM4e) Laís Xavier Prof.: Jaelson Castro.
PROGRAMAÇÃO DE DISPOSITIVO ANDROID Arte Digital – – ECO/UFRJ.
April 05 Prof. Ismael H. F. Santos - 1 Modulo II Clirr Professor Ismael H F Santos –
Google Web Toolkit Milton Bittencout Augusto Verzbickas João Paulo Maiamaral Bruno Eduardo.
Grupo: Gustavo de Castro Costa Samuel Furtado e Silva Wesley Ferreira.
MDA – Model Driven Architecture Jean Elder – RARCS (2013-1)
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
1 Projeto PDesigner. 2 Agenda Motivação Características SPIRIT Fluxo de Projeto Arquitetura Futuro Demo.
1 Projeto PDesigner. 2 Agenda PDesigner 3 Motivação MPSoC –Modelagem –Simulação –Análise Integração de Padrões Internacionais –ArchC 2.0 –Distribuição:
Home Office Communication and Collaboration Platform Alan Kelon | Version Date:
1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.
5 / julho / 2007CSBC / Workshop de Sistemas Operacionais JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe.
Engenharia de Software
1 Junit Motivação para o uso André Luís Moreira
1 III Workshop InteGrade InteGrade IDE – Um Ambiente Integrado de Desenvolvimento para o InteGrade Eduardo Leal Guerra Orientador: Prof.
Seminário: Plataformas de Desenvolvimento para Dispositivos Móveis
CloudSim Um framework para modelagem e simulação de infraestrutura e serviços de Computação em Nuvem.
André Drummond RA Danilo Benzatti RA
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Eclipse Hello World.
Integração de dados Bernadette, Ceça, Luciano, Haroldo, Guilherme. Orientadora: Ana Carolina Salgado Universidade Federal de Pernambuco Pós-Graduação em.
JBuilder Daniel Almeida, Dayene Mendes, Gustavo Ribeiro, Thiago Dias.
Prof. Cristian Rodrigo Dalcico. Linguagem de Programação Java Aula 1.
Desenvolvimento Automático de Sistemas Coordenador: Prof. Alberto Silva João Saraiva, Nº Apresentação do TFC.
INTRODUÇÃO A PROGRAMAÇÃO ANDROID MATEUS MALAQUIAS.
Transcrição da apresentação:

1o Seminário do Projeto VAS – Verificação de Arquiteturas de Software VAS - Verificação de Arquiteturas de Software CBDT – CBabel Development Tools Integração do compilador CBabel e do Repository Explorer ao Eclipse Julio Heitor Silva Nóbrega Bolsista ITI - UERJ 19 de Março de 2004 UFF/Niterói

1o Seminário do Projeto VAS – Verificação de Arquiteturas de Software Integração do compilador Cbabel para a plataforma Eclipse zObjetivo zVisão geral de um plugin no Eclipse zMigração (swing SWT + JFace + plugin) zFerramentas e Técnicas usadas

Objetivo Fase 1 zMapear a ferramenta Repository Explorer de CBabel para a plataforma Eclipse ySwing -> SWT + Jface + plugin yImplementar um editor highlight syntax para CBabel yIntegrar o compilador CBabel Fase 2 zCom o resultado da fase 1, propor a migração do repositório de CBabel para EMF (Eclipse Modeling Framework) yModelo de CBabel -> EMF yArquiteturas descritas -> XML / XMI Fase 3 zPreparar a tradução dos modelos de CBabel para Maude e vice-versa zPreparar a geração de código Java a partir do modelo de CBabel em EMF

Visão geral de um plugin no Eclipse <plugin id= org.eclipse.Cbabel name= Cbabel Example class= org.eclipse.Cbabel.CBabelPlugin> <requires <library name= Cbabel.jar Platform Runtime WorkBench JFace SWT Outras Ferramentas Compilador CBabel Ferramenta XPTO Plataforma Eclipse Workspace Projeto Eclipse

Migração (swing SWT + JFace + plugin) zProcesso de transferência do Repository Explorer CBabel/Swing para Eclipse. 1.Nova interface gráfica 2.O arquivo de Manifest 3.Plugins contribuídos 1.Conteúdo 2.Classes herdadas e métodos sobrescritos de outros plugins (contribuição) 3.Declaração dos plugins no arquivo XML 4.Adaptações do código original

Nova interface gráfica zA interface gráfica do Repository Explorer foi modificada para se adaptar ao ambiente do Eclipse. As modificações principais foram: yBarra de tools substituída por um menu na View; yAs tables foram colocadas uma ao lado da outra, diferente da interface original; yA maioria dos ícones foram removidos já que a barra de tools foi eliminada.

Interface original do Repository Explorer

Interface preliminar do Repository Explorer

O arquivo de Manifest do novo plugin zParte do arquivo de Manifest (em XML) yUma view Ponto de extensão <extension point="org.eclipse.ui.views"> <category name="Compiladores" id="org.eclipse.CBabel"> <view name="CBabel Repository Explorer" icon="icons/tree20.gif" category="org.eclipse.CBabel" class="org.eclipse.Arvores.TDCB" id="org.eclipse.Arvores.TDCB">

Plugins contribuídos zPlugins utilizados zClasses utilizadas de cada plugin zIndicação no Manifest z Org.eclipse.ui; - ViewPart Class z Org.eclipse.jface - Actions Package - IMenuManager Class - Action Class - Viewers Package - TableViewer Class z Org.eclipse.swt - Widgets Package - Custon Package - Layout Package

Declaração dos Plugins no arquivo de Manifest org.eclipse.core.swt org.eclipse.resources org.eclipse.jface org.eclipse.ui </requires

A Classe TDCB zArquivo principal da view org.eclipse.CBabel.TDCB public class TDCB extends ViewPart { private CBabelAPI cbapi;..// declarações de variáveis. public void createPartControl(Composite parent) {. createActions(); createMenus(); createInterface(parent);. }

Os Métodos createActions(), createMenu() e createInterface() protected void createMenus() { IMenuManager rootMenuManager = getViewSite().getActionBars().getMenuManager(); rootMenuManager.setRemoveAllWhenShown(true); rootMenuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager mgr) { fillMenu(mgr); } }); fillMenu(rootMenuManager); } protected void fillMenu(IMenuManager rootMenuManager) { IMenuManager filterSubmenu = new MenuManager("File"); rootMenuManager.add(filterSubmenu); filterSubmenu.add(openRepository); filterSubmenu.add(save); filterSubmenu.add(close); }

Os Métodos createActions(), createMenu() e createInterface() protected void createActions() { openRepository = new Action("Open Repository") { public void run() { String arquivo; FileDialog dialog = new FileDialog (shell,SWT.OPEN); dialog.setFilterNames (new String [] {"CBO Files", "All Files (*.*)"}); dialog.setFilterExtensions (new String [] {"*.cbo", "*.*"}); dialog.setFilterPath ("c:\\"); //Windows path dialog.setFileName ("pc5.cbo"); arquivo=dialog.open(); if(arquivo.length() != 0){ MessageDialog.openInformation(shell,"arquivo",arquivo); } }; openRepository.setChecked(false);

Os Métodos createActions(), createMenu() e createInterface() save = new Action("Save") { public void run() { String arquivo; FileDialog dialog = new FileDialog (shell,SWT.SAVE); dialog.setFilterNames (new String [] {"CBO Files", "All Files (*.*)"}); dialog.setFilterExtensions (new String [] {"*.cbo", "*.*"}); dialog.setFilterPath ("c:\\"); //Windows path dialog.setFileName ("pc5.cbo"); arquivo=dialog.open(); if(arquivo.length() != 0){ try{ FileOutputStream fos = new FileOutputStream(arquivo); PrintWriter pw = new PrintWriter(fos,true); pw.close(); // se nao colocar isto - nao grava... fos.close(); }//end try catch(Exception ex) { System.out.println(ex); } }; save.setChecked(false);

Os Métodos createActions(), createMenu() e createInterface() close=new Action("Close"){ public void run(){ } }; close.setChecked(false); }

Conclusão zPesquisa em interface gráfica, tanto em Swing como em Swt, bem como o aprendizado na plataforma Eclipse de desenvolvimento. zNoções de descrição de arquitetura (mais especificamente a linguagem CBabel) para realizar o trabalho. zA implementação da interface gráfica em SWT no Eclipse ainda esta em andamento. yA maior dificuldade está em substituir a arvore de repositório de Swing para SWT, já que a forma de construção da mesma no Eclipse é incompatível. zApós a transferência do Repository Explorer, o próximo passo será colocar o próprio compilador CBabel no Eclipse com um editor de texto highlight syntax.

Referências zwww-106.ibm.com/developerworks/opensource/library/os-ecgui1/www-106.ibm.com/developerworks/opensource/library/os-ecgui1/ zwww.swt-designer.com/ zwww.eclipse.org/TreeViewerArticle.htm+MovingBox+plugin&hl=pt&ie=UTF-8