Current Research Projects

The following provides a brief overview of my current research projects; several of these are with colleagues at The University of Western Ontario and elsewhere.  Generally, I have one or more graduate students working on various aspects of these projects and it may be that I am no longer looking for graduate students to work on these.  For students interested in graduate study, I have list several research topics below the project descriptions.


Policy-based Autonomic Management.  We are looking at how policies can be used to specify operational requirements of distributed systems and applications for collections of autonomic managers.  These managers would then translate the policies, automatically, into management operations for ensuring the operation of the computing environment as specified.  Current work addresses questions around how the managers cooperate, what information can be extracted from the policies and used, what other information about the systems and applications is needed to ensure that requirements are met, how collective groups of managers can dynamically collaborate to achieve multiple, sometimes conflicting, objectives.  Our primary focus currently is on the autonomic management of data centers which may house multiple systems providing a range of processing capabilities.  For example, an academic data center might house an HPC system running batch jobs, a cloud system running virtual machines and one or more administrative systems running human resources and finance.  Our research then looks at how multiple operational policies dealing with throughput expectations and energy consumption can be coherently and consistently managed through cooperating autonomic agents and what are the underlying software services needed.



Intelligent Automotive Driving Assistance Systems.  In collaboration with Dr. Steven Beauchemin, we have been working on the development of an intelligent driving assistance system based on the rapid collection and analysis of images from on-board cameras in automobiles, from cameras monitoring the drivers eyes and from vehicle to vehicle communication.  The objective of the work is to have algorithms which can build tri-modal models (driver, automobile, environment), exchange that information with other automobiles, and the predict driver behavior in order to ensure the safe operation of the vehicle and avoid accidents.  Research questions include how to process the large amount of data collected to extract `meaningful’ data, what the models look like and how to build them and change them, what information to share with other vehicles, and how to model and predict driver behavior.  Some of the current work is concerned with understanding driver gaze and cognitive load.


Software and Tools to Support Smart City Applications.  More recently we have started to look at distributed systems and applications in the context of Smart Cities.  Smart City applications are typically developed to meet the specific requirements of a project that a city deems important, e.g. traffic monitoring.  The larger challenge is that as more sensors and instruments are deployed throughout cities, building specific, targeted applications will become more difficult, and new, unanticipated applications that can leverage a broader range of data from sensors, instruments and other sources will become challenge to build, monitor and maintain.  We are looking at software middleware that can a) facilitate the development of new applications, b) can efficiently distributed and manage software components and services to support these applications and c) provide tools to maintain and adapt the applications and underlying services.  We are currently working with several partners on actual deployments where sensors and instruments are deployed within cities, data can be collected, and tools developed for building applications that can provide appropriate analytics and feedback to city staff and citizenry.



Applications of Computation and Technology in Medical Health Informatics.  With colleagues in the Faculty of Medicine, the Lawson Health Sciences Research Institute, and Faculty of Health Sciences, I have been looking at computational/mathematical models for use in predicting disease and outcomes from multiple sources of medical, health, image and biomic data.  With Dr. Femida Gwadry-Sridhar, we have looked at methods for the prediction of Alzheimer’s disease from image, health and other data and have collaborated with the London-Middlesex Emergency Medical Services (EMS) to help understand incidents in which EMS has been called to assist patients by lifting them after they have fallen.  With researchers from Health Sciences, Dr. Lorie Donelle and Dr. Sandra Reagan, we are studying the potential advantages of home sensor monitoring and keeping patients at home rather than in hospitals or nursing homes.  With a colleague in Computer Science, Dr. Dan Lizotte, we are collaborating with Dr. Kevin Shoemaker in Health Sciences on understanding student mental health challenges.  I am also interested in the use of multiple models to predict outcomes and diseases.  I am currently looking at means of being able to characterize patients that have multiple chronic diseases.  Related to this, I have collaborated with individuals in Family Medicine on determining patterns and frequencies of multiple chronic illnesses in patients.



Current Research Topics for Interested Graduate Students


I am looking for highly qualified and highly motivated students that might be interested in working on one of the following research topics.   Students interested in pursuing graduate studies and who are interested in one or more of these topics, should indicate this when they apply to the Department of Computer Science.  While I will consider students interested in other aspects of my research interests, my preference would be to accept students with interest in one of the following.



1.      There have been numerous different approaches for reducing energy consumption in computing systems, e.g. thermal-aware scheduling, virtual machine consolidation, dynamic cooling management, etc.  How do we leverage these multiple strategies effectively with multiple, cooperating autonomic agents to achieve multiple objectives?

2.      How does one represent a model of a driver of an automobile?  Is it a combination of models?  How are they related?  How are they constructed?  Can different driving behaviors be effectively captured?  What kind of predictive capability do the driver models have?

3.      Policies can be used to express desired conditions or states of computational systems that can then be enforced by multiple agents.  Can we utilize the same notions to ensure that drivers can operate vehicles within their own personal limitations, the limitations of the vehicle and the environment?

4.      Can we build application development tools that would facilitate the development of smart city applications?  Can we build an IDE (Integrated Development Environment) for smart city applications?  What are the underlying services needed and how do we optimize operations and runtime?

5.      Assuming sets of services and tools to support smart city applications, how do we optimize the deployment across multiple compute nodes from the edge of the network to a cloud?  What information about the applications are needed?  About the computing resources?  How do we specify the data flow?