São abordados:
- Mecanismos de suporte à modularidade, integração, e composição;
- Linguagens de asserções para validar programas e especificar propriedades dos mesmos;
- Técnicas de validação rigorosa usando ferramentas como
Como se constrói um sistema de software de larga escala, envolvendo a integração de vários componentes heterogéneos? Que técnicas de modularização existem, e como podem ser estas melhor expressas nas linguagens de programação concretas existentes? Como garantir à partida que os vários elementos de um sistema de grande dimensão se integram de forma a preservar as propriedades e requisitos pretendidos? E que tipo de propriedades ou requisitos é importante garantir? Que linguagens e lógicas existem para expressar de forma útil essas propriedades, de forma integrada com as ferramentas de programação? Que ferramentas e técnicas existem para analisar o software produzido e garantir que este não vai incorrer em erros graves, uma vez em produção? E como funcionam essas ferramentas? Como construir novas ferramentas de análise de software?
Mais informação: em http://ctp.di.fct.unl.pt/SCALT/CASSDOC.pdf