COMPOSITIONAL APPROACH TO PROGRAM FORMALIZATION AND VERIFICATION - - PowerPoint PPT Presentation

compositional approach to program formalization and
SMART_READER_LITE
LIVE PREVIEW

COMPOSITIONAL APPROACH TO PROGRAM FORMALIZATION AND VERIFICATION - - PowerPoint PPT Presentation

COMPOSITIONAL APPROACH TO PROGRAM FORMALIZATION AND VERIFICATION (methodological introduction) Mykola (Nikolaj) S. Nikitchenko Taras Shevchenko National University of Kyiv Linz, JKU, November 08-19, 2012 1 Contents Introduction


slide-1
SLIDE 1

Linz, JKU, November 08-19, 2012 1

COMPOSITIONAL APPROACH TO PROGRAM FORMALIZATION AND VERIFICATION (methodological introduction)

Mykola (Nikolaj) S. Nikitchenko Taras Shevchenko National University of Kyiv

slide-2
SLIDE 2

Linz, JKU, November 08-19, 2012 2

Contents

 Introduction  Methodological aspect of integrative approach  Basic notions of programming  Formalization of programming notions  Integrating programming with computability

theory

 Integrating programming with mathematical logic  Conclusions

slide-3
SLIDE 3

Linz, JKU, November 08-19, 2012 3

Taras Shevchenko National University of Kyiv

slide-4
SLIDE 4

Linz, JKU, November 08-19, 2012 4

Southern campus of the university

slide-5
SLIDE 5

Linz, JKU, November 08-19, 2012 5

Faculty of Cybernetics

slide-6
SLIDE 6

Linz, JKU, November 08-19, 2012 6

View on Maydan Nezalezhnosti

slide-7
SLIDE 7

Linz, JKU, November 08-19, 2012 7

View on Kiev-Pechersk Lavra Monastery

slide-8
SLIDE 8

Linz, JKU, November 08-19, 2012 8

View on river Dnieper

slide-9
SLIDE 9

Linz, JKU, November 08-19, 2012 9

Introduction

 In the current computing curricula

specialization prevails over integration

 This leads to some negative

consequences

 Specialization and integration should

be balanced

 The aim of the lecture is to present an

integrative composition-nominative approach to programming-related disciplines

slide-10
SLIDE 10

Linz, JKU, November 08-19, 2012 10

Specialization-Integration Cycle in Theories Development

Integration Specialization Specialization Specialization Specialization Specialization

slide-11
SLIDE 11

Linz, JKU, November 08-19, 2012 11

Integration between Formal Methods

Wolfgang Schreiner*: The RISC ProgramExplorer was developed to provide a close integration between programs, theories, specifications, and semantic models. This is “horizontal” integration. Next step - “vertical” integration

*Computer-Assisted Program Reasoning Based on a Relational Semantics of Programs

slide-12
SLIDE 12

Linz, JKU, November 08-19, 2012 12

Goals of Integrative Approach

 Scientific: Explication and formalization of

semantic-based methods of software system development

 Educational: development of a new content

for computer science disciplines “around” programming

 Practical: Construction of software and

educational systems based on the proposed integrative approach

slide-13
SLIDE 13

Linz, JKU, November 08-19, 2012 13

Integrative approach (educational aspects)

Aim: construct main parts of programming- related disciplines in integrity of their essential aspects using a relatively small number of

 methodological principles,  basic notions, and  formal models.

Integration strongly correlates with fundamentalization that emphases importance of fundamental, basic notions for professional education

slide-14
SLIDE 14

Linz, JKU, November 08-19, 2012 14

Programming-related disciplines

They include disciplines of three groups:

1) concerning programming itself, 2) basic for programming like theory of

algorithms (computability theory), mathematical logic, universal algebra, theoretical linguistics, and

3) based on or involving programming like

system specification, validation and verification, formal methods of software development, requirement analysis, etc.

slide-15
SLIDE 15

Linz, JKU, November 08-19, 2012 15

Methodological principles

 Principle of universal connection:

everything is connected with something else.

 Principle of development from abstract

to concrete (from simple to complex, from a lower level to a higher one, from the old to the new).

 Triadic principle of development:

thesis – antithesis – synthesis

 Principle of unity of theory and practice

(variant: union of logical and historical development).

slide-16
SLIDE 16

Linz, JKU, November 08-19, 2012 16

Integration of theory and practice in notion explication

Practice

Society Transport

… …

Education Informatization (Computing) Categories Scientific notions Formal notions

Theory

slide-17
SLIDE 17

Linz, JKU, November 08-19, 2012 17

Summary of the proposed approach

 Integration  By Development  From Abstract to Concrete  From Methodological via

Professional to Mathematical Level (vertical integrity)

 With Internal Integrity on each Level

(horizontal integrity)

slide-18
SLIDE 18

Linz, JKU, November 08-19, 2012 18

Main Subject-Object Relations (philosophical level)

 Ontological  Gnosiological (Epistemological)  Praxeological  Axiological  Phenomenological  …

We advocate importance of teaching philosophy (in view of knowledge- based economy)

slide-19
SLIDE 19

Linz, JKU, November 08-19, 2012 19

Expected Results (ontological level)

 Net of Notions

(Ontology)

 on various

levels

 with relations

between them

Transformations between levels:

  • particularization,
  • formalization.

Methodological (Philosophical) Professional (Scientific) Formal (Mathematical)

slide-20
SLIDE 20

Linz, JKU, November 08-19, 2012 20

Basic Disciplines for Theory of Programming (mathematical view)

Theory of Programming Set Theory

Mathematical Logic Computability Theory Universal Algebra Theories are not fully adequate with Theory of Programming, adaptation is required

slide-21
SLIDE 21

Linz, JKU, November 08-19, 2012 21

Proposed Dependency Scheme (Algebraic approach)

Nominative Data Theory Enhanced Universal Algebra

Theory of Programming

Enhanced Mathematical Logic Enhanced Computability Theory Level 1 Level 2 Level 3 Theories are integrated with Theory of Programming, are built on one basis, adaptation is not required

slide-22
SLIDE 22

Linz, JKU, November 08-19, 2012 22

Professional level

USER PROBLEM PROGRAM PROCESS OF EXECUTION PROCESS OF PROGRAMMING

topicality pragmatics interface computability

  • rigination (explicativity)

adequacy

Philosophical level (praxeological view)

SUBJECT GOAL TOOL TOOL MAKING TOOL USAGE

Developing the main notions of Programming

Problem orientedness

slide-23
SLIDE 23

Linz, JKU, November 08-19, 2012 23

Main Methodological Principles (professional level)

 Principle of integrity of intensional and

extensional aspects (particularization of categories universal-particular-singular); leading role of intensional aspects

 Descriptivity principle: objects are presented

by their descriptions; semantic and syntactic aspects are particularization of categories content-form; leading role of semantics over syntax

 Compositionality principle  Nominativity principle

slide-24
SLIDE 24

Linz, JKU, November 08-19, 2012 24

Pentad of the main basic program notions

PROBLEM PROGRAM DATA FUNCTION COMPOSITION NAME DESCRIPTION

applicativity naming grammar semantic aspect syntactic aspect

interpretation

denoting aspect

⋅⋅ ⋅⋅⋅ ⋅⋅⋅ ⋅⋅ ⋅⋅ ⋅⋅⋅

slide-25
SLIDE 25

Linz, JKU, November 08-19, 2012 25

Main thesis (professional level)

The main notion of computer science (informatics) is the notion of language (primarily in constructive, formal, communicative, and practical aspects)

slide-26
SLIDE 26

Linz, JKU, November 08-19, 2012 26

Development of the notion of data

⋅⋅⋅ ⋅⋅⋅ ⋅⋅⋅

FUNCTION

W.A –“black box” W.C –“white box” W.S –“white or black box” P.C – sets P.A – presets P.S – flat nominative data H.C. – hierarchic sets H.A – hierarchic presets H.S – hierarchic nominative data Level P (Parts) Level H (Hierarchy)

DATA

Level W (Whole)

Triads of categories: whole (W) – parts (P) – synthesis (H as Hierarchy) abstract (A) – concrete (C) – synthesis (S).

slide-27
SLIDE 27

Linz, JKU, November 08-19, 2012 27

 Nominative data are based on the

naming relation name→value

 Values can be

simple (unstructured) or complex (structured)

 Names can be simple or complex  Names and values can be

independent (direct naming) or dependent (indirect naming is allowed)

Nominative data

slide-28
SLIDE 28

Linz, JKU, November 08-19, 2012 28

Representation principles

Data representation principle: program data can be represented as concretizations of nominative data. Semantics representation principle: program semantics can be represented by functions over nominative data (nominative functions) constructed with the help of compositions

slide-29
SLIDE 29

Linz, JKU, November 08-19, 2012 29

Formal language model (mathematical level)

The first formal language model –

Composition-Nominative Model:

 Semantic (Composition) System  Syntactical System  Denotational System

Composition System: Data – Function – Composition Intensions should be taken into account

slide-30
SLIDE 30

Linz, JKU, November 08-19, 2012 30

Semiotic Aspects of Programs

 pragmatic  semantics  Syntax

Semiotic aspects are too abstract, pragmatics is overloaded with various senses. Richer theory of aspects is required

slide-31
SLIDE 31

Linz, JKU, November 08-19, 2012 31

Essential Program Aspects

External program aspects: adequacy, pragmatics, computability, and

  • rigination;

Internal aspects: semantics, syntax, and denoting relation

Relations between external and internal aspects (process of programming and composition, process execution and function application, etc.)

slide-32
SLIDE 32

Linz, JKU, November 08-19, 2012 32

Integrating programming with computability theory

 Traditional computability is understood

as computability of n-ary functions defined on integers or strings (Turing computability, fixed intension).

 The notion of computability over

classes of data with different intensions is required.

slide-33
SLIDE 33

Linz, JKU, November 08-19, 2012 33

Natural computability

slide-34
SLIDE 34

Linz, JKU, November 08-19, 2012 34

Complete classes

Theorem 1. Comp(IA, D)={⊥, id}. Theorem 2. Comp(IC, D)=D→D. Theorem 3. Comp(IAC, A ∪ C)={f ∪ g | f∈({ ⊥A, idA}∪{ A | c ∈C }), g∈ C → C }. Theorem 4. Comp(IND, ND(V,W))= =CLOS({⇒v0,..., ⇒vm, v0⇒,..., vm⇒, v0!,..., vm!}, {°, ∗, ∇}). Theorems describes executable components of program specification

slide-35
SLIDE 35

Linz, JKU, November 08-19, 2012 35

Integrating programming with mathematical logic

The main notions of logic: (IMW, ECW, L, Int, |=, |–)

 IMW is an intensional model (of worlds),  ECW is a class of extensional models,  L is a language of a logic,  |= is a validity relation, and  |– is an inference relation.

slide-36
SLIDE 36

Linz, JKU, November 08-19, 2012 36

Main notions of Logic

Intensional Model

M1 M2

… … … … …

Language – formulas (Syntactic aspect) Interpretations I

Validity |= Inference |–

Models of Worlds (semantic aspect)

Validity and Completeness

slide-37
SLIDE 37

Linz, JKU, November 08-19, 2012 37

Classes of logics

With respect to the intensions of data we can specify the following predicate logics:

 propositional logics (abstract data),  singular logics (concrete data),  renominative, and  quantified logics (nominative data).

For all these logics composition-nominative languages of predicates are defined and investigated. Next level –program logics.

slide-38
SLIDE 38

Linz, JKU, November 08-19, 2012 38

Conclusions

Programming-related disciplines:

 Theory of Programming  Theory of Algorithms  Mathematical Logic  Universal Algebra  Specification and Programming Languages  Formal Methods of Software Development  Databases

can be taught on one (methodological, professional and formal) basis.

Constructed models are formal thus permitting their thorough investigation with further implementation of e-learning tools.

slide-39
SLIDE 39

Linz, JKU, November 08-19, 2012 39

References

Formal definitions are presented in:

Nikitchenko N.S. A Composition-Nominative Approach to Program Semantics.– IT-TR: 1998-020.– Technical University of Denmark.– 1998.– 103 p.

Nikitchenko M., Shkylniak S.: Mathematical logic and theory of algorithms: Handbook. Publishing house of National Taras Shevchenko University of Kyiv, 528 p. (2008) (in Ukrainian).

Red’ko V., Brona J., Buy D., Poliakov S. Relational

  • Databases. – K. Akademperiodika, 2001.– 198 с. (In

Russian)

Basarab I., Nikitchenko N., Red’ko V. Composition

  • Databases. –K.: Lybed’, 1992. – 191 p. (In Russian)
slide-40
SLIDE 40

Linz, JKU, November 08-19, 2012 40

Thank you! Questions?