Papers by Viswanath Kasturi
Differential Equations and Dynamical Systems, 2010
A set X together with a finite collection of self-maps on X is called a multiple discrete flow. W... more A set X together with a finite collection of self-maps on X is called a multiple discrete flow. We develop the theory of fair convergence for multiple flows and show how the UNITY programs of Chandy and Misra can be reformulated in terms of this theory.

Algodynamics: Algorithms as systems
2021 IEEE Frontiers in Education Conference (FIE)
This Full Paper in the Innovative Practice category begins by asking “can algorithms be thought o... more This Full Paper in the Innovative Practice category begins by asking “can algorithms be thought of and taught as dynamical systems?” Our exploration of this idea — Algodynamics — is guided by a vision to achieve convergence between computing and engineering education. The engineering sciences share a common conceptual vocabulary originating in dynamical systems: state spaces, flows, actions, invariants, fixed points, convergence, etc. The goal of algodynamics is to build, ab initio, a framework for understanding and teaching algorithms using concepts from dynamics. This allows us to teach computing and algorithms as an engineering science. Engineers work with models. In algodynamics, models are expressed using transition systems rather than as pseudocode or programs. This allows a crisp representation of two important classes of computation: sequential algorithms as ‘discrete flows’ (iterative systems) and interactive applications as ‘action flows’ (transition systems). The focus of this paper is on the first of these classes, algorithms, but using ideas from the second, viz., transition systems. In this framework, algorithms emerge as convergent iterative systems. Due to their non-interactivity, iterative systems may be hard to understand. The student may trace through the algorithm, but to know how the parts of the algorithm work together requires ‘opening up’ the algorithm and situating it within the more general class of interactive systems. Doing so helps the student to understand the machinery of an algorithm in an incremental and modular way. The student interactively solves the algorithmic problem, experimenting with various strategies along the way. At each stage of the design, interactivity is traded for automation. We illustrate our approach by considering a classic example from sorting: Bubblesort. We first examine a solution based on fixed point iteration. Then we approach Bubblesort as a sequence of five interactive transition systems that culminate in the Bubblesort algorithm. This exercise reveals to the student design decisions and strategies that help understand why Bubblesort works. The successive refinement also pays off in terms of highly modular code whose primitives are elements of the transition system models.
2013 IEEE Fifth International Conference on Technology for Education (t4e 2013), 2013
We revive an old but little explored idea about how to think about algorithms and problem solving... more We revive an old but little explored idea about how to think about algorithms and problem solving. Algorithms are discrete dynamical systems, also called iterative systems. Pursuing this point of view pays rich dividends. Important concepts like state space, next-state function, termination, fixed points, invariants, traces etc., can be mapped from dynamical systems to elements of algorithm design. Many of these concepts can be visualised through plots that trace the dynamic behaviour of the algorithm.
Communicating information
Resonance, 2002
arXiv: Logic in Computer Science, Jun 23, 2009
We present here three different approaches to the problem of modeling mathematically the concept ... more We present here three different approaches to the problem of modeling mathematically the concept of a nondeterministic mechanism. Each of these three approaches leads to a mathematical definition. We then show that all the three mathematical concepts are equivalent to one another. This insight gives us the option of approaching the wp formalism of Dijkstra from a different viewpoint that is easier to understand and to teach.
Sankhya A, 2010
We define the class of primal maps using the concepts of mapcode theory and show that a map is pr... more We define the class of primal maps using the concepts of mapcode theory and show that a map is primal if and only if it is partial recursive. * Financial support by Tata Consultancy Services Ltd is gratefully acknowledged.

From High-School Algebra to Computing through Functional Programming
2012 IEEE Fourth International Conference on Technology for Education, 2012
The objective of this paper is to suggest a fresh approach to introductory programming curricula ... more The objective of this paper is to suggest a fresh approach to introductory programming curricula in the Indian school and engineering college context. The approach allows the student to connect high-school (up to 10+2) mathematics to the fundamentals of computing, algorithms and problem solving. The bridge connecting algebra and computing is functional programming, a paradigm confined over forty years to the computer science research community but now gaining popularity in industry as well as undergraduate education in some schools across the world. We show, using several examples, why and how functional programming is easier to master than traditional imperative programming. We conclude with the results of our attempts so far at introducing functional programming to students in IT colleges in India.

ArXiv, 2020
The importance of algorithms and data structures in computer science curricula has been amply rec... more The importance of algorithms and data structures in computer science curricula has been amply recognized. For many students, however, gaining a good understanding of algorithms remains a challenge. Because of the automated nature of sequential algorithms. there is an inherent tension in directly applying the `learning by doing' approach. This partly explains the limitations of efforts like algorithm animation and code tracing. Algodynamics, the approach we propose and advocate, situates algorithms within the framework of transition systems and their dynamics and offers an attractive approach for teaching algorithms. Algodynamics starts with the premise that the key ideas underlying an algorithm can be identified and packaged into interactive transition systems. The algorithm when `opened up', reveals a transition system, shorn of most control aspects, enriched instead with interaction. The design of an algorithm can be carried out by constructing a series of interactive syst...

Proceedings of the 11th Innovations in Software Engineering Conference
Software systems often serve as the agents of operation for both enterprise systems and embedded ... more Software systems often serve as the agents of operation for both enterprise systems and embedded systems. Engineering such systems is a knowledge-centric activity. A clear understanding of the relationship between knowledge, systems and engineering can help us to establish firm theoretical foundations for software and systems engineering. Currently we have a strong intuitive understanding of how knowledge flows into engineering, while our understanding of the relationship between systems and knowledge is part explicit and part tacit. A symptom of this is that we have difficulty in building unified models of large systems such as telescopes and enterprises that span multiple knowledge domains and viewpoints. We are able to build multiple models covering various aspects and particular viewpoints. However, we have challenges in integrating them into a single unified model. Another symptom is that software and systems engineering practice are widely viewed as empirical fields, without sufficiently strong theoretical foundations. This work attempts to explicate and synthesize our common intuitive understanding in this space to develop a conceptual model of the relationships. It then explores the validity of this model by examining the extent to which it is able to explain and illuminate current engineering practices and issues. This is an initial strawman version of the model, presented with a view to obtaining feedback and inputs from the community.
We revisit the Generalised Dining Philosophers problem through the perspective of feedback contro... more We revisit the Generalised Dining Philosophers problem through the perspective of feedback control. The result is a modular development of the solution using the notions of system and system composition (the latter due to Tabuada) in a formal setting that employs simple equational reasoning. The modular approach separates the solution architecture from the algorithmic minutiae and has the benefit of simplifying the design and correctness proofs. Three variants of the problem are considered: N=1, and N>1 with centralised and distributed topology. The base case (N=1) reveals important insights into the problem specification and the architecture of the solution. In each case, solving the Generalised Dining Philosophers reduces to designing an appropriate feedback controller.
We present here three different approaches to the problem of modeling mathematically the concept ... more We present here three different approaches to the problem of modeling mathematically the concept of a non-deterministic mechanism. Each of these three approaches leads to a mathematical definition. We then show that all the three mathematical concepts are equivalent to one another. This insight gives us the option of approaching the wp-formalism of Dijkstra from a different viewpoint that is easier to understand and to teach.
A Conceptual Model of Systems Engineering
INCOSE International Symposium
Corr, Jun 23, 2009
We present here three different approaches to the problem of modeling mathematically the concept ... more We present here three different approaches to the problem of modeling mathematically the concept of a nondeterministic mechanism. Each of these three approaches leads to a mathematical definition. We then show that all the three mathematical concepts are equivalent to one another. This insight gives us the option of approaching the wp formalism of Dijkstra from a different viewpoint that is easier to understand and to teach.
Uploads
Papers by Viswanath Kasturi