Home   |   Projects   |   Publication   |   Software Products   |   Contact and Social Network

Projects

 

In the Software Engineering and Networks (SENS) Laboratory at Michigan State University, we are working on a couple of diverse and interesting projects.

 

Synthesizing Individualized Network Protocols using GP

In this project, we want to create tools to automatically synthesize individualized network protocols. By individualized protocols we mean protocols that exploit the characteristics of a network to optimize different objectives such as energy-efficiency. We are using Genetic Programming (GP) as our main tool. We use a multi-objective optimization approach to create a protocol that takes into account our different objectives. We believe the results of this work can be used to improve networks for different use cases such as traffic control systems.

Related papers:

Products:

Consistency in Distributed Data stores

Distributed data stores are one of the building blocks in many today's computer systems. In distributed data stores, the data is distributed between many nodes in geographically different locations. This distribution of data enable us to have more scalable, more available, and faster systems. However, as we distribute the data, consistency of the data becomes a challenge. In this project, we are trying to find ways to provide consistency with lower overhead.

Related papers:

Products:

Synthesizing Fault-tolerant and Stabilizing Protocols

 


Funded by National Science Foundation

Fault-tolerant and stabilizing protocols are crucial in distributed systems. Routing protocols are an example of stabilizing protocols. We need to make sure that faults and link failures do not permanently disturb the system to inconsistent situations such as oscillation. In this project, we focus on algorithms that automatically repair a given protocol to add fault-tolerance or stabilization.

Related papers:

Products:

Safety of Cyber-physical Systems

 
Funded by National Science Foundation

Cyber-Physical Systems (CPSs) are systems where computing components are collaborating with some physical components. Computer systems used in automotive industry, or smart power grids are two examples of such systems.  As we relay more and more on CPSs, the safety of CPSs become more concerning. In this project, we are seeking ways to make CPSs more reliable.

Related papers:

Products:

Verification of SystemC Programs

 
Funded by National Science Foundation

SystemC is widely used in designing System on Chip (SoC). It allows the designer to simulate the systems. Since SoCs are typically used for critical scenarios, it is ultimately important to be sure about the correctness of such systems. In this project, we developing methods and tools to facilitate the task of verification of SystemC TLM programs.

Related papers:

Products:

Performance and Dependability of Could Virtual Data Centers

Availability of the service delivered by cloud providers is one of the most important quality of service (QoS) factors of the service level agreements (SLAs) between providers and customers of cloud computing. Since current Infrastructure-as-a-Service providers use virtualization technology to manage data centers, virtual data centers (VDCs) have become a popular infrastructure for cloud computing. In the project, we are trying to provide analytical model to evaluate the performance and availability of virtual data centers.

Related papers: