The Internet of Things (IoT) provides the ability for human and computers to learn and interact with billions of things including sensors, actuators, services, and other Internet connected objects. The realization of IoT systems will enable seamless integration of the cyber-world with our physical world and fundamentally change and empower human interaction with the world. In this project, we investigate a new programming model for IoT applications that is light-weight and agnostics to heterogeneity of devices. The current state-of-the-art support for IoT application development is application specific which is equivalent to the scenario where every IoT device requires a different web browser for connection to the Internet. This project aims to investigate a lightweight, adaptable, secure IoT programming framework that serves as a bridge across a variety of IoT devices and applications. Such a framework will enable a non-programmer to configure/compose a secure IoT application for performing the data collection and analysis without any low-level programming.
Mobile platform is pervading our daily life, and it has overtaken traditional desktop platform as dominant global internet platform. This leads to an increasing impetus for ensuring the reliability of mobile software systems. However, testing and analysis of mobile software is complex and expensive, often requiring substantial manual effort, due to physical constraints of mobile devices as well as special characteristics of mobile software. This project will investigate efficient and effective techniques for testing and analysis of mobile software systems. We will study the critical properties of mobile software, develop techniques and tools for checking these properties using a combination of static analysis and dynamic analysis, and apply the tools on open source Android software systems to evaluate their effectiveness.
Exascale systems which can deliver up to 10^18 peak floating-point performance are expected to come online in 2024. These extreme-scale supercomputers will consist of a billion cores, be highly heterogeneous in nature and will be over-provisioned to operate under specified power budgets. These characteristics make programming exascale systems enormously challenging where conventional optimization techniques are unlikely to succeed. As an alternate solution, recent research has proposed the use of machine learning (ML) methods for adapting code to these complex architectures.
In this project, students will be introduced to the emerging area of machine-learning driven performance optimization. Students will work with faculty to develop an adaptive heuristic for data layout and placement on scalable HPC systems with heterogeneous memory architectures. The ML driven model will be implemented within the LLVM compiler framework and will give students an opportunity to engage in open-source software development. The project will primarily focus on optimizing graph algorithms and students will work with real-world graphs from the Konect project.
Increasingly, the design of modern reasoning control systems for teams of reconnaissance and combat unmanned vehicles rely on ad-hoc, self-healing networks. The nature of such systems require specialized methods of design and verification to automate and shorten the development time and verify the properties specific to these systems to increase their software reliability.
This project will focus on distributed scheduling as an algorithmic approach for the reasoning component of the control system. Such an approach has certain benefits. For instance, it can allow several robots to coordinate and dynamically adjust their actions to create, as a team, future situations necessary to achieve a certain common goal.
The project will have three main aspects: development and evaluation of the distributed reasoning component for a cyber-physical system with communication via internet, a control system of an individual robot and a hybrid verification system for a scheduling based reasoning component.
The perceived novelty of the suggested hybrid verification system is its ability to verify that scheduling commitments of robots are indeed fulfilled in the future and verify thread safety of critical shared data structures: hierarchical task networks and schedules.
To accomplish these tasks we will use a simulation, a team of two-track rovers and electrically powered model planes. The control system will use Android-based cellphones as embedded devices on board rovers and model planes that will communicate via Wi-Fi.
In this project, students will learn about some applications of machine learning techniques in bioinformatics. It is a part of a larger project that aims in deriving useful information from large biological datasets including gene expression profiles and DNA-methylation data.
In a cell, genes can be turned on or off depending on the biological status such as being normal or cancerous. The level of expression of a gene in a body tissue, which can be measured by clinical tests, shows the ratio of cells in which the gene is on. The level of expression of some specific genes can be associated with the disease type. For instance, low expression of androgen receptor (AR) gene is considered as a risk factor for breast cancer because when this gene is off, the tumor can grow uncontrollably.
Gene expression values are often used for diagnosis and predicting the prognosis of the disease. However, in most complicated diseases such as cancers, hundred of genes are affected. Therefore, sophisticated computational models are required to analyze the expression of all genes together and identify the biological pathways that contribute to the disease. Gene network analysis is a well-established approach to study thousands of genes in one single network and discover the underlying biological phenomena.
Students working with Dr. Metsis will be involved in projects to develop and test methods and tools for acquisition and analysis of behavioral and physiological data, coming from human subjects. The data will be collected using wearable and remote sensing devices, and they will be analyzed using methods coming from the areas of machine learning, data mining and signal processing. Extracting useful information from human physiology and behavior can have multiple applications, from personalized healthcare to fitness and athletic performance. Lately, a number of private initiatives have been moving towards that direction, e.g. Fitbit and Apple smart watches, etc. However, these devices are limited in the type of data that can collect and signals that can analyze. Our effort will expand the possibilities of human-centered data analysis though the use of state-of-the-art research methods and tools. Students will have the opportunity to come in contact with these research methods and acquire new skills that can be directly applied to their future professional career.