# Nikolay ShilovInnopolis University · Institute of Information Systems

Nikolay Shilov

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

Introduction

Additional affiliations

October 2016 - present

August 2013 - August 2015

September 2007 - December 2007

## Publications

Publications (89)

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...

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

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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.

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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.

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...

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).

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...

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...

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...

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-...

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...

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.

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...

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...

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:...

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...

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...

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/...

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...

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.

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...

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...

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...

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...

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...

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.

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...

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.

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...

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...

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...

In spite of the importance of Formal Methods for development of a reliable hard- and software this domain is not well acquainted to nonprofessionals.

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...

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...

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...

A new technique for decidability of program logics is introduced. This technique is applied to the most expressive propositional program logic - mu-calculus.

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...

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...

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...

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.

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...

## Projects

Project (1)

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.