Murali Jayapala

As a researcher I am interesed in a wide range of subjects, which can broadly be categoriezed into four asepcts: Systems, Modeling, Simulation and Design (Automation & Optimization).

Broadly, a system has a unique set of properties/features/architecture. Identifying these properties, and observing how these patterns vary is an interesting subject. In general, I would consider any of the following elements as a system, which have their own unique set of properties/features. Nomadic Embedded systems, High-performance Computer Systems, Ultra-low power sensor systems, Intelligent systems, Natural Systems, Human Brain, Biological systems, eco systems, Programming Languages and others.

Once, a system has been studied and its properties are observed, it is interesting to capture these properties in a certain reasoning framework, which is, in a broad sense, called a model. This model, enable us to analyze the system in terms of their consistency, functionality, strengths, weaknesses, and also predict the systems behaviour under varying circumstances. Finite state machines (FSMs) is an example of a model, which is well known models for analyzing computer systems. Control-Data-flow graphs is another example of a model for analyzing applications. Other examples include, Pi-calculus for concurrent systems and Neural networks for Artificial intelligent sytems.

Many times, just reasoning with a model is not sufficient. This could be due to an inadequate model or that the model itself requires to perform certain sequence of actions. A simulation in a broad sense is to perform a sequence of actions of the system in an artificial environment. Simulating a certain microprocessor means, not building a real microprocessor, but creating an artificial environment, where the functionality of the microprocessor can be executed. For microprocessor/computer sytems, the simulation is done on a desktop computer or an FPGA. Biological systems are also simulated on desktop computers.

Although we are not yet very successful in design of natural systems, we have progressed a lot in design/engineering of artificial systems. Most notably in the recent years, design of electronic systems (computers, mobile devices..etc). In simulation, where the intention is to replicate the system in an artificial environment, several constraints can be neglected (or deliberately ignored). In design however, all the constraints of the system should be considered. The ability to make correct trade-offs and optimizing the design to improve the system objectives is very crucial in design. Automation of the design process/steps is another interesting aspect of the design. Early software systems were designed by writing assembly programs, however with development of automated techniques like compilers, sophisticated software systems can be designed much more quickly and efficiently.