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.

Slides:



Advertisements
Similar presentations
Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Multi-Paradigm Models as Source for Automatic Test Construction Victor Kuliamin ISP RAS, Moscow.
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Shaoying Liu Department of Computer Science
2006 Ontopia AS1 Towards an Ontology Design Methodology Initial work Lars Marius Garshol CTO, Ontopia TMRA
Information Competencies For Effective Writing John A. Cagle Professor of Communication California State University, Fresno.
Tomorrow’s Software Today ® HCMDSS Panel Presentation: Software and Systems Engineering for Medical Devices W. Rance Cleaveland II, PhD CEO, Reactive Systems.
From Discrete Mathematics to AI applications: A progression path for an undergraduate program in math Abdul Huq Middle East College of Information Technology,
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 18 Program Correctness To treat programming.
Glenn Ledder Department of Mathematics University of Nebraska-Lincoln Designing Math Courses:
Information Modeling: The process and the required competencies of its participants Paul Frederiks Theo van der Weide.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Formal Specification Thomas Alspaugh ICS Nov 7.
© Fraunhofer FIRST Timo Wegeler Towards Quality Assurance of DSL Engineering Vino Juli.2011.
Course Organization Course Software Testing & Verification 2014/15 Wishnu Prasetya.
Mathematics throughout the CS Curriculum Support by NSF #
UNIT 9. CLIL THINKING SKILLS
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August 28, 2013.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Who should take this class? Geometry Successfully Completed Algebra 1 with a C or better Honors Geometry Successful completion of Honors Algebra 1 with.
Critical Thinking in Education. Defining Critical Thinking Asking pertinent questions Evaluates statements & arguments Admits a lack of knowledge & understanding.
On the relation between software development and control function development in automotive embedded systems Stefan Kowalewski Embedded Software Laboratory.
Requirements Expression and Modelling
Compositional IS Development Framework Application Domain Application Domain Pre-existing components, legacy systems Extended for CD (ontologies) OAD Methods.
Cooking with Fractions By Dorothea Avenaut EDU 5369: Elementary Math, Science and Technology.
Information Competencies For Effective Writing John A. Cagle Professor of Communication California State University, Fresno.
Athena, a large scale programming lab support tool Anton Jansen, Ph.D. Student Software Engineering and ARCHitecture (SEARCH) University of Groningen The.
CSCI-383 Object-Oriented Programming & Design Lecture 1.
Invariant Based Programming in Education Tutorial, FM’08 Linda Mannila
The Center Collaborators:. Focusing on: Ecosystem Health Climate Change and the Ocean The Land-Sea Interaction Fisheries and Ocean Education.
BUSINESS INFORMATICS descriptors presentation Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST) Linkoping.
Software Verification Academician V.P.Ivannikov, Director of ISPRAS Moscow, November 2008.
Cognitive Apprenticeship “Mastering knowledge” CLICK TO START.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Korea Advanced Institute of Science and Technology, Dept. of EECS, Div. of CS, Information Systems Lab. 1/10 CS204 Course Overview Prof.
Information System Development Courses Figure: ISD Course Structure.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
The Balance Between Theoretical and Practical Work Within Electrical and Computer Engineering Courses Dr. Bahawodin Baha March Development Partnerships.
Introduction to Science Informatics Lecture 1. What Is Science? a dependence on external verification; an expectation of reproducible results; a focus.
School of Computing and Mathematics, University of Huddersfield CIA2326: Week 11 LECTURE: Formal Specification TUTORIAL/PRACTICAL: Finish off last weeks.
Safety-Critical Systems 5 Testing and V&V T
Logic in Computer Science - Overview Sep 1, 2009 박성우.
Formal Methods.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Integrating Science with the Humanities and Liberal Arts By Katherine Hill and Colleen Staniszewski.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
Agro 1101 Biology of Plant Food Systems and the Environment Course Team: Kevin Smith Mary Brakke Seth Zeigler J. D. Walker Paul Baepler.
UniTesK Test Suite Architecture Igor Bourdonov Alexander Kossatchev Victor Kuliamin Alexander Petrenko.
URL: by Wishnu Prasetya Course on Program Verification 2015/2016.
Constructing multi-theories expert system for UML models validation Miroslav Líška Slovak University of Technology Faculty.
New Curricula Proposal at FSMN by Miroslav Ćirić & Predrag Krtolica.
CS/APMA 202 Spring 2005 Aaron Bloomfield. Sequences in Nature
+ Game Design Careers. + Game Development Developing an interesting video game is a very challenging task. It usually takes many different people working.
Formal Methods. What Are Formal Methods Formal methods refers to a variety of mathematical modeling techniques that are applicable to computer system.
Goals and Objectives  Why Use Questioning Strategies?  Effective Questioning Techniques  Levels of Questioning…Increasing Understanding, Models for.
Schoology platform and Flipped student classroom technique in a Calculus course.
Student Success in Middle School Advanced Pathway Courses 1.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Course on Program Verification 2017/2018
ASSESSMENT OF STUDENT LEARNING
Course Software Testing & Verification 2016/17 Wishnu Prasetya
Programming Languages 2nd edition Tucker and Noonan
שילוב קורסים לפיתוח מיומנויות למידה במכללה להנדסה
Logic: tool-based modeling and reasoning
Programming Languages 2nd edition Tucker and Noonan
Activities of Formal Methods
Presentation transcript:

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

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

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

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

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

Proposed Course Transformation Contents – “Hide” math – Use “usual” domain concepts – Use extensions of programming languages (JML, Spec#, …) – Strengthen and emphasize tools Presentation – Active learning

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

Active Learning Techniques Used Role-play simulation Debates, academic controversy Brainstorming Cluster Anticipatory exercises Portfolio

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

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

Thank you! Questions?