Download presentation
Presentation is loading. Please wait.
Published byCollin Long Modified over 9 years ago
1
Formal Methods: for All or for Chosen? Victor Kuliamin 1 Vitaliy Omelchenko 1 Olga Petrenko 2 1 Institute for System Programming 2 Institute of Open Education Moscow, Russia
2
Software Development Trends Growth of software complexity Degradation of software quality Possible solutions ? => Formal methods (FM) – Formal requirements analysis – Formal design modeling and analysis – Formal verification – Formal testing Bugs per KLOC before testing
3
Usual FM Courses Propositional Calculus, Predicate Calculus, Set theory, λ-Calculus, Higher-order Calculi, Universal Algebra Type theories, Process algebras, Temporal logics Z, B, VDM, RSL, ASM
4
Skills and Knowledge of Software Engineers Self-management Self-motivation Initiative Creativity Personal skills Communication Information presentation Team work Social skills Information retrieval Model construction Model analysis Integral vision Cognitive skills Math background General IT Software Engineering Close domains Knowledge
5
Common FM Course Structure Basic formalisms Formal languages (ASM, VDM, Z, B, …) Software modeling techniques – Domain modeling – Iterative refinement of models Formal analysis techniques – Theorem proving – Model checking – Model animation Tools
6
Proposed Course Transformation Contents – “Hide” math – Use “usual” domain concepts – Use extensions of programming languages (JML, Spec#, …) – Strengthen and emphasize tools Presentation – Active learning
7
Active Learning Don’t say right things to students let them come to it themselves Thought activation Self-motivated decision making Better involvement in learning
8
Active Learning Techniques Used Role-play simulation Debates, academic controversy Brainstorming Cluster Anticipatory exercises Portfolio
9
Debates Students assigned to “pro” and “contra” groups Each group seeks arguments in favor of its position Discussion Conclusion Thought motivation Information presentation skills Team work skills
10
Cluster Connecting new knowledge with personal experience Formal specifications Hard to integrate into development process Increase software reliability For correct software construction Complex Practically useless Many people don’t understand Interesting Challenging Motivation for developer education
11
Thank you! Questions? Contacts:kuliamin@ispras.rukuliamin@ispras.ru o-l-petrenko@yandex.ru http://www.ispras.ru/~kuliamin
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.