Produtividade de Software
Professor: Paulo Borba
Assistentes: Rodrigo Bonifácio, Leopoldo Teixeira, Márcio Ribeiro, Carlos Pontual
Nome oficial: Tópicos Avançados em Linguagens Computacionais (graduação)
Lista de email: if724-l,
assine já! (para assuntos particulares, escreva diretamente para phmb com TALC no subject)
Cronograma
- 12/8 (8hs, na sala D220): Apresentar disciplina, discutir conceitos básicos de transformação e geração de programas, definir equipe
- 14/8 (10hs, no laboratório G5, B018): Implementar e analisar transformações Java com Stratego/XT
- seguir roteiro para rodar o ambiente e realizar exercícios
- 19/8 (8hs, no laboratório G5, B018): Instalar e usar ferramentas e ambiente do Stratego/XT
- 21/8 (10hs, na sala D220): Discutir estratégias de transformação, estilo e otimização de transformações
- 26/8 (8hs, na sala D220): Discutir definição de linguagens (incluindo DSLs), e termos como estratégias
- 28/8 (10hs, na sala D220): Discutir definição de linguagens (incluindo DSLs), e termos como estratégias
- 2/9 (8hs, no laboratório G5, B018): Definir e analisar sintaxe de uma linguagem, implementar e analisar transformações e estratégias com Stratego/XT
- seguir roteiro para realizar exercícios
- 4/9 (10hs, no laboratório G5, B018): Definir e analisar sintaxe de uma linguagem, implementar e analisar transformações e estratégias com Stratego/XT
- seguir roteiro para realizar exercícios
- 9/9 (8hs, na sala D220): Discutir manipulação de listas de termos e operadores de estratégias
- 11/9 (10hs, na sala D220): Discutir travessias e outros operadores de estratégias
- 16/9 (8hs, na sala D220): Discutir operadores de congruência e iterações sobre listas e outros termos
- 18/9 (10hs, no laboratório G5, B018): Definir uma DSL simples e seu gerador de código
- seguir roteiro para realizar exercícios
- 23/9 (8hs, no laboratório G5, B018): Estudar a WebDSL e definir parte a ser implementada como projeto
- 25/9 (10hs, no laboratório G5, B018): Implementar projeto
- 30/9 (8hs, no laboratório G5, B018): Implementar projeto
- 2/10 (10hs, no laboratório G5, B018): Implementar projeto
- 7/10 (8hs, no laboratório G5, B018): Implementar projeto
- 9/10 (10hs, no laboratório G5, B018): Implementar projeto
- 14/10 (8hs, no laboratório G5, B018): Implementar projeto
- 15/10 (Até 18hs, via email para os monitores): Entregar projeto
- 16/10 (10hs, na sala D220): Discutir conceitos de linhas de produtos de software
- 21/10 (8hs, na sala D220): Discutir mecanismos para especificação de variações em requisitos
- estudar as abordagens para especificar variações em requisitos (ver slides)
- 23/10 (10hs, no laboratório G5, B018): Refatorar especificações de produtos em LPS (eShop)
- ver o roteiro e usar o sistema (disponível durante as aulas)
- estudar a especificação nao estruturada do eShop
- Identificar os pontos comuns e variáveis da especificação
- extrair variações para tornar as especificações reusáveis (usando a técnica PLUSS)
- definir o mecanismo de composição (parametrização, extensões de cenários, etc.)
- 28/10 (8hs, no laboratório G5, B018): Refatorar especificações de produtos em LPS (eShop)
- ver roteiro e usar o sistema (disponível durante as aulas)
- estudar a especificação nao estruturada do eShop
- Identificar os pontos comuns e variáveis da especificação
- extrair variações para tornar as especificações reusáveis (usando a técnica MSVCM)
- definir o mecanismo de composição (parametrização, extensões de cenários, etc.)
- definir o modelo de configuração
- 30/10: Alunos devem se preparar para as atividades do projeto (não teremos aula)
- usar o sistema que permite a especificação de linhas de produtos.
- especificar a linha de produtos EasyChair (permite a submissão de papers, distribuição de papers para revisores, etc.)
- importante exercitar ambas as técnicas (PLUSS e MSVCM)
- qualquer dúvida, enviar email para a lista ou diretamente para rba2[at]cin.ufpe.br
- 04/11 (8hs, no laboratório G5, B018): Execução do projeto. Atividade relacionada a extração de expecificações em LPS.
- ver detalhes no roteiro e usar o sistema (disponível durante as aulas)
- estudar a especificação não estruturada do estudo de caso
- Identificar os pontos comuns e variáveis da especificação
- extrair variações para tornar as especificações reusáveis
- definir o mecanismo de composição (parametrização, extensões de cenários, etc.)
- definir modelos de configuração (técnica MSVCM)
- 06/11 (10hs, no laboratório G5, B018): Execução do projeto. Atividade relacionada a extração de expecificações em LPS.
- ver detalhes no roteiro e usar o sistema (disponível durante as aulas)
- estudar a especificação não estruturada do estudo de caso
- Identificar os pontos comuns e variáveis da especificação
- extrair variações para tornar as especificações reusáveis
- definir o mecanismo de composição (parametrização, extensões de cenários, etc.)
- definir modelos de configuração (técnica MSVCM)
- apresentar as especificações de referência PLUSS e MSVCM
- 11/11 (8hs, no laboratório G5, B018): Execução do projeto. Atividade relacionada a extração de especificações em LPS.
- ver detalhes no roteiro e usar o sistema (disponível durante as aulas)
- estudar a especificação não estruturada do estudo de caso Mobile Media
- Identificar os pontos comuns e variáveis da especificação
- extrair variações para tornar as especificações reusáveis
- definir o mecanismo de composição (parametrização, extensões de cenários, etc.)
- definir modelos de configuração (técnica MSVCM)
- 13/11 (10hs, no laboratório G5, B018): Execução do projeto. Atividade relacionada a extração de especificações em LPS.
- ver detalhes no roteiro e usar o sistema (disponível durante as aulas)
- estudar a especificação não estruturada do estudo de caso Home Banking
- Identificar os pontos comuns e variáveis da especificação
- extrair variações para tornar as especificações reusáveis
- definir o mecanismo de composição (parametrização, extensões de cenários, etc.)
- definir modelos de configuração (técnica MSVCM)
- 18/11 (8hs, no laboratório G2): Aula introdutória sobre evolução de especificações PLUSS de linhas de produtos
- Ver roteiro
- usar o sistema (disponível durante as aulas)
- Evoluir especificões PLUSS da LPS de acordo com os cenários de evolução
- Identificar o impacto das alterações sugeridas
- atualizar especificações, modelos de feature e modelos de configuração
- 20/11 (10hs, no laboratório G5, B018): Aula introdutória sobre evolução de especificações MSVCM de linhas de produtos
- Ver roteiro
- usar o sistema (disponível durante as aulas)
- Evoluir especificões MSVCM da LPS de acordo com os cenários de evolução
- Identificar o impacto das alterações sugeridas
- atualizar especificações, modelos de feature e modelos de configuração
- 25/11 (8hs, no laboratório G5, B018): Projeto sobre evolução de especificações de linhas de produtos
- Ver roteiro
- usar o sistema (disponível durante as aulas)
- Evoluir especificões da LPS de acordo com o primeiro cenários de evolução
- Identificar o impacto das alterações sugeridas
- atualizar especificações, modelos de feature e modelos de configuração
- 27/11 (10hs, no laboratório G5, B018): Projeto sobre evolução de especificações de linhas de produtos
- Ver roteiro
- usar o sistema (disponível durante as aulas)
- Evoluir especificões da LPS de acordo com o segundo cenários de evolução
- Identificar o impacto das alterações sugeridas
- atualizar especificações, modelos de feature e modelos de configuração
Avaliação
- Participação efetiva nas aulas, questionando, comentando, criticando e pensando em como adaptar e aplicar as idéias vistas; a presença em todas as aluas, em sala ou laboratório, é obrigatória
- Projeto (entregue em várias partes) e apresentações, em dupla
- A nota da primeira unidade corresponde às notas dos exames escritos; a nota da segunda unidade é definida pela participação em sala e pelas notas das várias partes do projeto e apresentações.
--
RodrigoBonifacio - 27 Nov 2009
--
RodrigoBonifacio - 24 Nov 2009
--
RodrigoBonifacio - 13 Nov 2009
--
RodrigoBonifacio - 03/11/2009
--
RodrigoBonifacio - 29/10/2009
--
PauloBorba - 16 Oct 2009
--
RodrigoBonifacio - 16/10/2009
--
LeopoldoTeixeira - 09 Oct 2009
--
LeopoldoTeixeira - 25 Sep 2009
--
LeopoldoTeixeira - 23 Sep 2009
--
MarcioRibeiro - 17 Sep 2009
--
PauloBorba - 17 Sep 2009
--
PauloBorba - 11 Sep 2009
--
PauloBorba - 09 Sep 2009
--
LeopoldoTeixeira - 02 Sep 2009
--
PauloBorba - 27 Aug 2009
--
PauloBorba - 26 Aug 2009
--
PauloBorba - 21 Aug 2009
--
LeopoldoTeixeira - 14 Aug 2009
--
PauloBorba - 11 Aug 2009