Rushikesh K. Joshi
Computer Science and Engineering
Indian Institute of Technology Bombay
Powai, Mumbai-400076, India

Areas of interest: Software Architecture, Abstractions and Programming, Distributed Computing

Just as any other human made physical system such as an automobile, a power system, a building, an industrial setup, an equipment or an instrument needs to be engineered correctly to obtain exactly the behavior that is desired, software itself is also a product needing this systematic discipline of engineering.  The view of software as engineered product  leads to the disciplines of software engineering, and software architecture. Whereas Software Engineering deals with how to move from nothing to the final product, Software  Architecture focuses on what is in the product. My research over two decades has been on several ideas concerning interactions, program structures, abstractions, conceptual models, ontology, meta-models, specifications, design, analysis, concurrency, distribution, parallelism, processes and programs.
Course starting next week:

  CS 770  Process Engineering

Modern large scale programs, especially those on the internet are multi-paradigm, they involve multiple programming languages, and are often heavily centered around processes. This course develops the foundations of process engineering, dealing with conceptualizing processes with ideas such as flows, traces, interdependencies, state spaces, events, and concurrency. At the formal level, the course uses Petri-nets, and at the engineering level, it uses the BPMN specification. We also deal with ideas around implementations, process mining algorithms and process migration.

Courses offered recently:
  1. Software Architecture 
  2. Design & Re-engineering of Object Oriented Programs
  3. Process Engineering
  4. Abstractions and  Paradigms for Programming

Publications Course List
Research projects and grants  Honorary work

A few Recent papers

Ahana Pradhan, Rushikesh K. Joshi
A Taxonomy of Consistency Models in Dynamic Migration of Business Processes,
IEEE Transactions on Services Computing,
Volume 11 Issue 3, May-June 2018.  link

Ravikumar Gelli, S.A. Khaparde, Rushikesh K. Joshi, 
Integration of Process Model and CIM to Represent Events and Chronology in Power System Processes,  
IEEE Systems Journal, Volume 12, Issue 1, March 2018  link

Vrinda Yadav, Rushikesh K. Joshi, and Sea Ling. 
Evolution Traceability Roadmap for Business Processes. 
In Proceedings of the 12th Innovations on Software Engineering Conference 2019 link

Omkarendra Tiwari, Rushikesh K. Joshi
Extract Method Refactoring by Successive Edge Contraction
arXiv:1908.04636  2019  link

Teaching in the previous academic year

CS 152, CS 154 Abstractions and Paradigms of Programming (First year UG)

CS 770 Software Architecture

I play musical instruments, sing, love to cook and experiment, occasionally, write poetry, prose.
Enjoy these short clips! Sitar    Harmonium   Flute   Keyboard