Nikolay Shilov

Nikolay Shilov
Innopolis University · Institute of Information Systems

PhD

About

89
Publications
5,320
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
336
Citations
Additional affiliations
October 2016 - present
Innopolis University
Position
  • Professor (Assistant)
August 2013 - August 2015
Nazarbayev University
Position
  • Professor (Associate)
September 2007 - December 2007
Chung-Ang University
Position
  • Visiting Distinguish Professor

Publications

Publications (89)
Conference Paper
Full-text available
The choice of an adequate notation and subsequent system formalization are the crucial points for the design of cyber-physical systems (CPSs). Here, an appropriate notation allows an explicit specification of the deterministic system behavior for specified initial states and inputs. We base our study on an industrial example (water tank) that compr...
Chapter
This white paper argues that formal methods need to be better rooted in higher education curricula for computer science and software engineering programmes of study. To this end, it advocates
Chapter
Is there a need to popularize Formal Methods in Software Engineering? Maybe industrial demand in Formal Methods is the best way to explain their utility and importance? – We try to argue educational and emotional role of popularization for a better comprehension and a positive attitude to Formal Methods and discuss several Math Olympiad problems th...
Article
Full-text available
Multiagent algorithm is a knowledge-based distributed algorithm that solves some problems by means of cooperative work of agents. From an individual agent's perspective, a multiagent algorithm is a reactive and proactive knowledge/believe-based rational algorithm aimed to achieve an agent's own desires. In the paper we study a couple of knowledge-b...
Preprint
Full-text available
This white paper argues that formal methods need to be better rooted in higher education curricula for computer science and software engineering programmes of study. To this end, it advocates (i) improved teaching of formal methods; (ii) systematic highlighting of formal methods within existing, `classical' computer science courses; and (iii) the i...
Chapter
Olympiads and contests are popular with bachelor students of Software Engineering, Computer Science and other departments educating professionals to be involved software development. But educational role and potential of these activities are under-evaluated and poorly used in the education. In the present paper we address one particular topic that...
Chapter
Full-text available
A term Cyber-Physical System (CPS) refers to a mathematically described (specified) real-world process, that combines discrete changes of pre-defined control states (a cyber part) and changes of controllable continuous-time states (a physical part). In this paper, we present a model-checking approach to verification of Cyber-Physical Systems. The p...
Conference Paper
Full-text available
Cyber-Physical Systems (CPS) are real-world systems that use a cyber part to control a physical part; hybrid systems are virtual-world systems to model CPS. In this paper we address several problems related to CPS-design and argue advantages of a Model-Driven Developing (MDD) approach to CPS-design. We study a simple car stopping system and show th...
Preprint
Research project "Platform-independent approach to formal specification and verification of standard mathematical functions" is aimed onto a development of an incremental combined approach to the specification and verification of the standard mathematical functions like sqrt, cos, sin, etc. Platform-independence means that we attempt to design a re...
Article
Full-text available
The project “Platform-independent approach to formal specification and verification of standard mathematical functions” is aimed onto the development of incremental combined approach to specification and verification of standard Mathematical functions like sqrt, cos, sin, etc. Platform-independence means that we attempt to design a relatively simpl...
Article
Full-text available
Transformation-based program verification was a very important topic in early years of theory of programming. Great computer scientists contributed to these studies: John McCarthy, Amir Pnueli, Donald Knuth ... Many fascinating examples were examined and resulted in recursion elimination techniques known as tail-recursion and co-recursion. In the p...
Article
Full-text available
The paper presents (human-oriented) specification and (pen-and-paper) verification of the square root function. The function implements Newton method and uses a look-up table for initial approximations. Specification is done in terms of total correctness assertions with use of precise arithmetic and the mathematical square root $\sqrt{\dots}$, algo...
Article
A survey is presented of the so-called program schemata technique for proving the decidability of propositional program logics. This method is based on the reduction to versions of the problem of relative totality for nondeterministic Yanov schemata.
Conference Paper
Propositional program (dynamic, temporal and process) logics are basis for logical specification of program systems (including parallel, distributed and multiagent systems). Therefore development of efficient algorithms (decision procedures) for validation, provability and model checking of program logics is an important research topic for the theo...
Article
Full-text available
There is a widespread and rapidly growing interest to the parallel programming nowadays. This interest is based on availability of supercomputers, computer clusters and powerful graphic processors for computational mathematics and simulation. MPI, OpenMP, CUDA and other technologies provide opportunity to write C and FORTRAN code for parallel speed...
Conference Paper
Cloud computing is a concept that is in use since late 2000s related to consumption of distributed computer resources, namely servers and networks for data storage and access. In the paper we examine knowledge-based algorithms for agents that have access to a resource center to use some of available discrete resources. We assume that resource items...
Article
Distributed system is a group of decentralized interacting executers. Distributed algorithm is the communication protocol for a distributed system that transforms the group into a team to solve some task. Multiagent system is a distributed system that consists of autonomous reactive agents, i.e. executers which internal states can be characterized...
Article
Full-text available
The design and analysis of computer algorithms is a requirement of computer curricula. It covers many topics, including data structures, complexity theory, and algorithmic design patterns. This course is about the greedy method, divide and conquer, dynamic programming, backtracking, and branch and bound. Naturally, all the listed design patterns ar...
Article
Full-text available
There are two major formalisms that are developed around concepts. The first one is Formal Concept Analysis (FCA) by R. Wille and B. Ganter. Roughly speaking, FCA is an extension of algebraic Lat-tice Theory for knowledge representation. The second formalism, De-scription Logic (DL), goes back to the universal terminological logic by P.F. Patel-Sch...
Article
In this position paper we start with a motivation of our study of modal/description logics with values in concept lattices. Then we give a brief survey of approaches to lattice-valued modal and/or description logics. After that we study some methods of context symmetrization, because the description logic on concept lattices is defined for symmetri...
Chapter
We suggest and discuss a formalization of Dynamic Pro-gramming. A methodological novelty consists in an explicit treatment (interpretation) of ascending Dynamic Programming as least fix-point computation (according to Knaster-Tarski fix-point theorem). This inter-pretation leads to a uniform approach to classical optimization problems as well as to...
Article
Full-text available
A verifying compiler is a system computer program that translates programs written by man from a high-level language into equivalent executable programs, and besides, proves (veri¯es) mathematical statements speci¯ed by man about the properties of the programs being translated. The purpose of the F@BOOL@ project is to develop a transparent for user...
Conference Paper
Design and Analysis of Computer Algorithms is a must of Computer Curricula. It covers many topics that group around several core themes. These themes range from data structures to complexity theory, but one very special theme is algorithmic design patterns, including greedy method, divide-and-conquer, dynamic programming, backtracking and branch-an...
Conference Paper
Full-text available
During the semicentennial history of Computer Science and Information Technologies, several thousands of computer languages have been created. The computer language universe includes languages for different purposes: programming languages, specification languages, modeling languages, languages for knowledge representation, etc. In each of these bra...
Article
Full-text available
This paper is about a puzzle to be solved in three program-ming paradigms: logic, functional and imperative. It can be considered as a case study of algorithm inversion, since we start with logic algo-rithm, that answers the question "Is balancing M times sufficient for detecting a single fake in a set of coins?", and finishes with imperative algor...
Article
Verification of imperative programs in the sense of Floyd-Hoare is an approach to proving correctness of programs annotated by preconditions, postconditions, and loop invariants. It is based on generation of correctness conditions. In the structured deterministic case, the problem of generation of correctness conditions seems trivial, since it is s...
Conference Paper
Full-text available
Formal Concept Analysis (FCA) is an approach to knowledge engineering, representation, and analysis. A 'standard' FCA-worko w starts with some 'experimental' data, classies \objects" and their \at- tributes" in the data, represents relations between objects and attributes by a number of cross-tables (matrices), couples compatible sets of objects an...
Conference Paper
Full-text available
We address model checking problem for combination of Computation Tree Logic (CTL) and Propositional Logic of Knowledge (PLK) in finite systems with the perfect recall synchronous semantics. We have published already an (update+abstraction)-algorithm for model checking with detailed time upper bound. This algorithm reduces model checking of combined...
Conference Paper
Full-text available
There are two major formalisms that are developed around concepts: (1) Formal Concept Analysis (FCA) by R. Wille and B. Ganter, and (2) Description Logic (DL) that goes back to the universal termi-nological logic by P.F. Patel-Schneider. It has been demonstrated that FCA constructs (upper and lower derivatives, formal concepts) are ex-pressible in...
Conference Paper
We present a summary of our studies (in period 2002-2007) of the model checking problem for finitely-generated synchronous/asynchronous environments with/without perfect recall for combinations of propositional logics of (common) knowledge, (branching) time, and actions.
Article
Full-text available
We address a problem of efficiency of verification condition generation for unstructured non-deterministic imperative programs. Im-portance of the study is based upon two arguments: – industrial programming is very often unstructural (e.g., extensive use of 'go to' in C-programs), – program analysis techniques (like abstraction) introduce unstruc-t...
Article
We demonstrate that Hintikka-like game-theoretic semantics for a so-called second-order elementary propositional dynamic logic (SOEPDL) leads to a principle opportunity to use solvers of simple reachability properties as engines for model checking classical temporal and program logics like μ-calculus (μC) and computation tree logic (CTL).
Chapter
Real 92 is a new combined specification language for concurrent processes based on nondeterministic dialect of Specification and Design Language (SDL) and on dynamic version of Computation Tree Logic (CTL), both — SDL and CTL — with a real time. The paper includes a survey of syntax and sketch of operational semantics of Real 92, specification exam...
Chapter
The Propositioned Dynamic Logic (PDL) [1] and single exponential decision procedeures for PDL are tools for specification and verification of simple nondeterministic systems [2]. But there is not any kind of concurrency, no features to separate abort and infinite loops, etc. The Propositional Mu — Calculus (PMuC) is the most expressive variant of P...
Conference Paper
Full-text available
We address model checking problem for combination of Computation Tree Logic (CTL) and Propositional Logic of Knowledge (PLK) in finite systems with the perfect recall synchronous semantics. We have published already an (update+abstraction)-algorithm for model checking with detailed time upper bound. This algorithm reduces model checking of combined...
Article
Full-text available
We present (update+abstraction) algorithm for model checking a fusion of Computation Tree Logic and Propositional Logic of Knowledge in systems with the perfect recall synchronous semantics. It has been already known that the problem is decidable with a non-elementary lower bound. The decidability follows from interpretation of the problem in a so-...
Article
We consider theoretical background and experimental comparison of two approaches to automatic recognition of the tabularity property of superintuitionistic logics. A principal opportunity for automatization is based on theoretical results of L. L. Maksimova that were obtained in 1973–2003 and their algorithmic interpretation that was developed rece...
Article
Propositional linear temporal logic (PLTL) is a very popular formalism for the specification and verification of computer programs and systems. The paper suggests a tableau-like axiomatization for PLTL based on an automata-theoretic decision procedure coupled with tableau for local model checking of the propositional μ-calculus.
Article
After publication of our paper Etude on theme of Dijkstra in September issue of v.35 of SIGACT News [1], we had a very interesting communication with Dr. John Hershberger related to the topic of the paper. Etude was not a research paper, but presented a tutorial for undergraduate students who are engaged with programming contests (like ACM ICPC). T...
Article
We present a tutorial for undergraduate students who are interested in different programming contests like National Programming Olympiads or regional ACM International Collegiate Programming Contests (ACM ICPC). It is based on a problem discussed by E. W. Dijkstra in a public lecture in 1994. The tutorial was a part of a special undergraduate cours...
Conference Paper
Full-text available
We study the model checking problem for fixpoint logics in well-structured multiaction transition systems. P.A. Abdulla et al. (1996) and Finkel & Schnoebelen (2001) examined the decidability problem for liveness (reachability) and progress (eventuality) properties in well-structured single action transition systems. Our main result is as follows:...
Conference Paper
Full-text available
The μ-Calculus of D. Kozen (1983) is a very powerful propositional program logic with fixpoints. It is widely used for specification and verification. Model checking is a very popular automatic approach for verification of specifications of finite state systems. The most efficient algorithms that have been developed so far for model checking of the...
Article
model Abstraction can overcome the de cit of the power of modern computers and solve the metaprogram problem: let's consider amounts of coins instead of coin numbers. This idea is natural: when somebody is solving puzzles he/she operates in terms of amounts of coins of dierent kinds not in terms of their numbers! Let us present this hint in formal...
Article
Full-text available
this article 1 . In contrast we would like to discuss some problems and experiences regarding how to make popular mathematical foundations of formal methods with undergraduate students of departments which are closely related to further progress of computer hardware and software. Such departments include not only computer science but also pure and/...
Conference Paper
Full-text available
We suggest a three-level integrated approach to design, specification and verification of distributed system. The approach is based on a newly designed specification language Basic-REAL (bREAL) and comprises (I) translation of a high-level design of distributed systems to executional specifications of bREAL, (II) presentation of high-level properti...
Conference Paper
We study the model checking problem for nitely-generated synchronous/asynchronous environments with/without perfect recall for fusions of propositional logics of knowledge, common knowledge, branch- ing time and xp oint calculus.
Article
Full-text available
Program logics are modal logics used in software/hardware specification /verification for sound reasoning about programs. Program logics comprised dynamic logics, temporal logics, logics of process(es), and their extensions by means of fixpoints. A more recent addition to the family of program logics are logics of knowledge and belief. The talk int...
Article
Full-text available
We examine when a model checker for a propositional program logic can be used for checking another propositional program logic in spite of lack of expressive power of the first logic. We prove that (1) a branching time Computation Tree Logic CTL, (2) the propositional -Calculus of D. Kozen C , and (3) the second-order propositional program logic 2M...
Article
Full-text available
The propositional -Calculus (C) is a powerful propositional program logic with fixpoints. Some fragments of C are internal or intermediate logics for a variety of model checkers for state-based propositional temporal /program logics like Computation Tree Logic (CTL) in finite models. But in spite of its expressive power, C fails to express some ver...
Article
Full-text available
A so-called Program Scheme Technique (PST) is a self-contained, automata free technique for proving elementary decidability of program and polymodal propositional logics. A particular advantage of PST is its expressive power which is equal to the expressive power of Second Order Theory of Monadic Successors in Herbrand Models. This time it leads to...
Article
Full-text available
The propositional -Calculus (C) is a powerful propositional program logic with fixpoints. C decidability with exponential upper bound was sketched for the first time in 1988 by E. A. Emerson and Ch. S. Jutla on base of automata-theoretic technique, while a complete proof was published in 1999 only. Meanwhile M. Vardi sketched in 1998 an automata-th...
Article
Full-text available
Tne paper discusses some issues related to model checking utility and reliability: (1) utility of model checking and games for solving puzzles, and (2) importance of games and puzzles for validation of model checkers.
Article
We examine expressive power of second order propositional program logics: logic 2M of C. Stirling and a new Second Order Elementary Propositional Dynamic Logic (SOEPDL). We demonstrate that SOEPDL is more expressive than 2M , and them both are more expressive than the propositional -Calculus of D. Kozen (C). We give also an "external" characteristi...
Article
Full-text available
The paper demonstrates how second-order quantification and finite games can be exploited for deciding complicated propositional program logics like the propositional -Calculus with converse (C Gamma ). This approach yields a new proof that C Gamma is in EXPT IME.
Conference Paper
Full-text available
We examine when a model checker for a propositional program logic can be used for checking another propositional program logic in spite of lack of expressive power of the first logic. We prove that (1) a branching time Computation Tree Logic CTL, (2) the propositional μ-Calculus of D. Kozen μC, and (3) the second-order propositional program logic 2...
Article
Full-text available
Paper discusses some issues related to the utility of finite games for early formal methods teaching and for validation of automatic tools which implement formal methods. In particular, some experience with (1) undergraduate teaching model checking via finite games, (2) solving game-based constraints via model checking, (3) testing model checkers a...
Article
Full-text available
This article is organized as follows. The balancing puzzle and a related programming problem are discussed informally in Section 2. Then Section 3 introduces formalisms of finite games, Elementary Propositional Dynamic Logic (EPDL) and discusses utility of this logic for reasoning about finite games. Notions of model checking and abstraction are al...
Article
Full-text available
In spite of the importance of Formal Methods for development of a reliable hard- and software this domain is not well acquainted to nonprofessionals.
Article
The elementary-REAL specification language for verification of distributed systems is presented. It includes executable and logical specification sublanguages. For elementary-REAL, the structured operational semantics is offered, a theorem on the interleaving model of concurrency is proved, and a verification method is described and illustrated by...
Conference Paper
This paper studies model checking for the modal logic of knowledge and linear time in distributed systems with perfect recall. It is shown that this problem (1) is undecidable for a language with operators for until and common knowledge, (2) is PSPACE-complete for a language with common knowledge but without until, (3) has nonelementary upper and l...
Conference Paper
We present a Gentzen-style cut-free sound and complete axiomatization for Propositional Dynamic Logic (PDL). The axiomatization exploits the conservative extension of PDL by means of a new program constructor for v-times iteration of a program, where v has a natural number value. Then we expand our axiomatization PDL to cover the extension of PDL b...
Article
A new technique for decidability of program logics is introduced. This technique is applied to the most expressive propositional program logic - mu-calculus.
Conference Paper
The paper presents two main results. The first one is a polynomial Model-Checker (PMC) for a new representative subclass of formulae of the propositional mu-calculus. Formulae in this class have some discipline of alternation of fixed points. The other result extends the model checking techniques to the so-called semilinear class of finite Kripke s...
Article
Mu-calculus is a polymodal logic with fixed points. A Decision Procedure checks the validity of a formula. A Model-Checking Procedure (MCP) constructs the validity set of a formula in a model. Since Mu-calculus is finitely approximable and is applicable for verification of Finite-State Machines, effective MCPs are of great importance. The article d...
Article
The notion of nondeterministic Yanov schema (NYS, or simply schema) is defined in ALGOL-like syntax, a system of equivalent transformations complete in the class of so-called simple schemata is constructed, decidability of functional equivalence of schemata is proved, and decidability of the totality property relative to the set of predicates (rela...
Article
We describe and prove a quadratic time and linear space algorithm for reducing dynamic process logic to propositional dynamic logic. This leads to an exponential upper bound on the complexity of decidability of dynamic process logic.
Article
Full-text available
Propositional Dynamic Logic (PDL) has been introduced by M.J. Fischer and R.E. Ladner as an extension of the classical proposi- tional logic and propositional modal logic K for reasoning about par- tial correctness of structured nondeterministic programs. Many variants of PDL have been studied extensively especially from viewpoint of de- cidability...

Network

Cited By

Projects

Project (1)
Project
Need of a better specification and validation of standard floating-point functions is realized among hardware vendors and professional academic circles. However, documentation of the standard mathematical functions is hard to access and comprehend, it don't specify certification process for the implementation of the standard functions. The project is aimed to develop a generic axiomatizing platform-independent machine arithmetic and demonstrating that the axiomatization is sufficient for verification of selected standard mathematical functions.