Logo

Link
Link
Link
Link
Link


link link link link
Advanced Search

Research

My research interests lie in the area of design and analysis of real-time and embedded software systems. In particular, I am interested in the design and schedulability analysis of modular (component-based) real-time systems. Since this research finds application in many safety-critical domains such as avionics and automobiles, I am also interested in ensuring safe and correct execution of these systems. Additionally, with the emergence of various multi-core chips such as Intel's Xeon, next generation embedded systems will have capabilities to execute processes concurrently. As a result, research in multiprocessor scheduling theory is paramount to the success of real-time embedded systems, and I am interested in the development of scheduling algorithms and analysis techniques for multiprocessor platforms. Some of the research projects that I have been involved in are listed below.

Description of Research Projects

  • Design and Analysis of Real-Time Embedded Software Systems (Dissertation Topic)
    Publications: AEFL08, DISSERTATION PROPOSAL, EAL07, ELSS07, ESSL06
    Advisors: Prof. Insup Lee and Prof. Oleg Sokolsky
    Organization: University of Pennsylvania, Philadelphia, USA

    Objectives: To develop framework and tool for modular, component-based, design and analysis of real-time embedded systems. This framework must support software components with communication dependencies between them, and must also allow for runtime modifications to these components.

    Achievements: We have developed a framework for abstraction of software components into interfaces. An interface captures component information necessary for design and analysis, and at the same time hides away internal complexities. This technique enables separation of concerns among different components, and hence helps in system integration. It also provides support for analysis of non-functional system properties such as schedulability. The framework can efficiently handle runtime modifications to components, and also supports components with communication dependencies between them. Currently, we are developing a JAVA based tool that implements this framework.

  • Virtual Cluster-based Scheduling in Multiprocessors
    Publications: SEL08(to appear in ECRTS 2008)
    Advisor: Prof. Insup Lee
    Organization: University of Pennsylvania, Philadelphia, USA

    Objectives: To develop techniques for scheduling real-time workload on virtual processor clusters in multiprocessor platforms. These techniques must support different intra- and inter-cluster schedulers, and also allow general task-cluster mappings.

    Achievements: Considering a two-level hierarchical scheduling framework, we have developed cluster interfaces and used them in inter-cluster scheduling. Each cluster interface abstracts intra-cluster resource demand using minimum processor utilization. This technique separates intra- and inter-cluster scheduling, thereby allowing use of different schedulers, and does not enforce any restriction on task-cluster mappings.

  • Design of ARINC-653 Software Partitions in Avionics Real-Time Operating System
    Mentor: Steve Vestal
    Organization: Honeywell Aerospace Inc.- Advanced Technology, Minneapolis, USA

    Objectives: Our primary goal in this summer project was to develop a technique for design of ARINC-653 partitions (software components) in avionics real-time operating systems. Partitions are developed by independent third party vendors, and communicate with each other forming a distributed system. Hence, the technique we develop must separate concerns between partitions, and must also consider the effects of communication dependencies. In addition, safety critical nature of the application domain demands satisfaction of hard real-time deadlines, and requires the system to meet stringent certification norms.

    Achievements: We adapted the above described component abstraction technique to develop interfaces for ARINC-653 partitions. This also involved exploiting ARINC-specific properties in order to improve resource efficiency of partition interfaces. Third party partition vendors can now specify interfaces capturing necessary information from their partitions, and system integration can then be achieved by scheduling these interfaces on hardware platforms. Prototypes showed that interfaces are highly efficient and well suited for abstracting partitions. Analytical correctness guarantees of the technique ensure satisfaction of hard real-time deadlines, and also assist in system certification.

  • Quantitative Simulation for Detecting Similarities in Computer Viruses
    Publications: EKL05
    Advisors: Prof. Sampath Kannan, Prof. Insup Lee, and Prof. Oleg Sokolsky
    Organization: University of Pennsylvania, Philadelphia, USA

    Objectives: To develop a technique for classifying computer virus programs based on their structural and semantic similarities. This technique should be resilient to various obfuscation (malicious code hiding) techniques that are frequently used by virus developers.

    Achievements: We worked on a technique called quantitative simulation (qsim) that uses control and data flow information from computer programs. Approach is similar to the well-known bi-simulation technique used in software testing. qsim compares states of two computer programs based on the structure of subsequent execution paths and the semantic meaning of states in those paths. We experimentally evaluated qsim in order to fine tune its parameters for various known obfuscation techniques.

  • Steering (Runtime Control) of Software for Error Prevention
    Publications: EKS05, SESL04
    Advisors: Prof. Sampath Kannan, Prof. Insup Lee, and Prof. Oleg Sokolsky
    Organization: University of Pennsylvania, Philadelphia, USA

    Objectives: To extend existing runtime software verification techniques so that they support runtime error correction as well. The technique must detect and correct errors before they occur in an execution. Furthermore, the technique must minimally interfere with system execution when no errors are detected.

    Achievements: We developed a runtime error correction technique by adapting discrete control theory to runtime software verification. This technique uses look-ahead to predict erroneous system execution paths, and then prevents those paths using control actions. System executes without any interference from the runtime controller, until control actions need to be executed. In recent extensions to this technique, we also consider error correction in probabilistic system models. This probabilistic approach not only minimizes errors, but also maximizes the expected system functionality.

  • Vehicle Routing Algorithms for Postal Delivery Networks
    Mentor: Prof. Subramani Arunkumar
    Organization: Indian Institute of Technology, Bombay, India

    Objectives: To develop vehicle routing algorithms in order to minimize the operational cost of postal delivery networks in the city of Bombay, India. These algorithms must consider various operational constraints such as vehicular traffic on roads affecting travel time, maximum permissible duration of trips, and synchronization with train and flight timings.

    Achievements: We developed and implemented a vehicle routing algorithm that significantly reduced operational cost of the postal delivery network. It took into consideration operational constraints listed above, and minimized not only daily recurring costs like fuel, but also reduced capital investments like number of vehicles and personnel.