Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lectures - Coggle Diagram
Lectures
Lecture 01
Especificação
-
-
Como obter, a partir da especificação, uma implementação com o comportamento esperado?
-
-
-
Formalidade
Ao formalizar o sistema a ser desenvolvido força o desenvolvedor a entender os pequenos detalhes do sistema e, com isso, clarificar possíveis ambiguidades
Prototipar
Caso seja possível animar ou executar o comportamento do sistema a partir da especificação permite rapidamente a validação do sistema sem de fato implementar o sistema inteiro
Estilos
-
Modelos declarativos
Foco no que a solução é de fato, inclui linguagens como PROLOG, Ocaml, Coq, ELAN e linguagens para definições formais da semantica
B Method
-
-
O comportamento do sistema pode ser expresso pelo foco nas suas operações, portanto é categorizado como state-based/modification-based
Lecture 02
B method
-
-
Provar antes de testar
-
Provas são exaustivas, testes não.
-
-
Event B
-
Modelo progressivo
-
Significa que o primeiro modelo é simplificado e conforme se desenvolve novos modelos para conter as necessidades do sistema, o modelo no geral vai sendo refinado para estar de acordo com as novas definições
Os refinamentos feitos são provados estarem de acordo com o modelo original e com suas futuras versões
-
Projetos em B
-
-
O software final é obtido com a junção de todos os códigos fontes gerado mais qualquer outro código a mais que precisou ser escrito e testado
Como todo o desenvolvimento do software estará de acordo com a especificação por prova, é poupado muito tempo no desenvolvimento, detectando erros logo no início e evitando erros clássicos de programação (como divisão por 0, overflow, etc)
Lecture 03
Conceitos de B
Projeto
Módulos
Componentes
Máquinas abstratas
-
-
Abstração da descrição do estado do espaço e seus estados iniciais além da descrição das operações de consulta ou modificação
-
-
Aspectos
-
Obrigações de prova
Garante que as propriedades do aspectos estático são consistentes, são 'ligadas' pela inicialização do aspecto dinâmico e são preservadas por todas as operações
-
Sets, constants e variáveis são referenciados pela definição de suas propriedades estáticas (invariant), inicializados pelo aspecto dinâmico e tem seus estados modificados através das operações
Cada módulo é feito de componentes e são ligados aos outros módulos pela especificação do sistema, seja pelo import ou apenas a visualização do conteúdo de um outro módulo
-
Um projeto em B é um conjunto de módulos organizados como uma árvore de tal forma que não gera ciclos
Bibliotecas
Outro projeto B pode ser usado como uma espécie de biblioteca para o desenvolvimento do software desejado por meio da chamada de suas funções
-