Tutorials

The tutorials will be presented in Portuguese.

Model-Driven Architecture (MDA) e
Geração de Código

Palestrante: Dr. Franklin Ramalho (UFCG)
URL: http://www.dsc.ufcg.edu.br/~franklin

Resumo: Desde 2000 a OMG (Object Management Group) vem continuamente definindo toda uma infra-estrutura para uma nova maneira de desenvolver software seguindo a iniciativa MDA (Model-Driven Architecture). Essa iniciativa visa aumentar a produtividade de software, concomitantemente a qualidade, e tem como idéia chave transformar o papel dos modelos de software. De meros esboços descartáveis a caminho de código, modelos passam a ser mais precisos e suficientemente detalhados para servir de base à geração automática de código fonte pela aplicação de transformações genéricas por ferramentas CASE. Tais transformações também podem ser usadas em diferentes tipos de aplicações, como na geração automática de casos de teste a partir de modelos, contribuindo para a viabilidade, produtividade, efetividade e confiabilidade em processos de teste, além de fornecer um vínculo entre o código e demais artefatos de desenvolvimento.
No mini-curso, serão apresentados fundamentos, técnicas e ferramentas sobre a abordagem MDA e sua aplicação na geração de código fonte. Também serão apresentadas as principais propostas para padronização das tarefas de MDA. Nesse contexto, maior foco será dado à (i) UML 2.0 e OCL 2.0, linguagens semi-formais propostas para especificações de Modelos Independentes de Plataforma (PIMs) e Modelos Dependentes de Plataforma (PSMs); (ii) MOF e XMI, propostos para representação de meta-modelos; e (iii) QVT e ATL, linguagens propostas para especificação e execução de transformações entre modelos. Por fim, serão apresentadas aplicações MDA com foco na geração automática de código de desenvolvimento e de testes, ilustradas com demonstração de ferramentas e estudos de caso.


Fundamentos do Teste de Software
Palestrante: Dr. Marcelo D′Amorim (UFPE)

Resumo: O objetivo deste mini-curso é introduzir os principais conceitos da área de teste e depuração de software. A primeira parte do mini-curso discutirá conceitos básicos de testes como oracle, driver, stubs (objetos mock) e suite de regressão.
A segunda parte discutirá planejamento do teste de teste (incluindo adequação e cobertura). Em particular, planejamento do teste funcional (caixa-preta), teste estrutural (caixa-branca) e o teste baseado em falhas (e.g., teste de mutação).
A terceira parte discutirá automação do teste de caixa-preta (e.g., usando máquinas de estado e gramáticas), caixa-branca (e.g., usando execução simbólica) e baseado em falhas (e.g., usando geradores de mutantes). Por fim, o mini-curso abordará conceitos de depuração automatizada. O instrutor usará ferramentas para demonstrar os conceitos, incluindo: junit3, junit4, jmockit, emma, e mujava, e , se houver tempo, comentará sobre os principais problemas em aberto na área e temas de pesquisas relacionados.

 

Teoria da Computação, o Barbeiro e o Mentiroso
Palestrante : Dr. Edward Hermann Haeusler (PUC-Rio)

Resumo: Este mini-curso mostra como alguns dos resultados mais importantes de Lógica e Teoria da Computação são provados a partir de paradoxos de auto-referência tais como os paradoxos do Mentiroso e do Barbeiro. Linguagens Formais sem Gramática, Hierarquia de Complexidade, o oráculo de Gill-Solovay, existência de linguagens na classe NPI e resultados bem conhecidos de indecidibilidade e incompletude estão entre os exemplos a serem mostrados.

 

Abordagens Baseadas em Modelos para o Projeto de Sistemas Interativos
Palestrante: Dr. Marco Winckler (IRIT/FR)

Resumo: Este tutorial apresentará vários aspectos relacionados ao projeto e ao desenvolvimento de sistemas interativos baseados em conceitos como modelo e técnicas de modelagem. Na primeira parte do curso serão apresentadas as peculiaridades que diferenciam sistemas interativos de outros tipos de sistemas computacionais. Em seguida, serão apresentados os problemas que podem ser solucionados com uma abordagem baseada em modelos, em especial à especificação do comportamento do sistema e da interação com a aplicação. Para tanto serão utilizadas notações baseadas em máquinas de estado (tais como autômatos, StateCharts e redes de Petri). Uma série de exercícios será proposta para demonstrar como, a partir de um problema específico, modelar e implementar soluções baseadas em eventos. A segunda parte do tutorial é dedicada a aspectos associados à modelagem do usuário incluindo modelagem de suas atividades (através de modelos de tarefas) e de modelos de comportamento do sistema. A conexão entre os modelos de tarefas e de sistema será demonstrada através de exercícios práticos.

   
       
  Home pageCommitteesInvited speakersCall for papersSatellite eventsProgram Registrations Grants    
 
 
 
 
 
 
 
SECTI SERPRO CAPES Fundação ADM AeS Instituto do Recôncavo FAPESB CNPq  
SBC UFBA DCC LASID
Contact About Salvador Photography by Valéria Simões