Applications

Dear Colleagues, you are all welcomed to contribute more applications of DES (either applications developed by your our group or applications you would like to recommend) to our page. To contribute, you can just send the following information to: xiangyin@umich.edu

1. The application domain or name

2. Links of detailed descriptions, e.g., published papers or project websites

A short paragraph of description will be very useful but is not necessary.

APPLICATIONS OF DES

1. Reconfigurable Hardware architectures based on FPGA

This work features an application of discrete controller synthesis (DCS) techniques to a class of dynamically reconfigurable embedded computing systems, and contributes to the general approach of control for feedback computing. We propose a general model for applications defined as data-flow graphs of computing tasks, and target execution architectures that are dynamically partially reconfigurable Field Programmable Gate Arrays (FPGAs). We define our model in terms of parallel automata. Then, we encode relevant scheduling and control requirements in terms of a DCS problem w.r.t. multiple constraints and objectives. We take into account the system reconfiguration overhead, and the resulting controller is able to make decisions by foreseeing their impact on future requests. We validate our approach by using the BZR programming language (http://bzr.inria.fr/) for modeling and simulations, with a video processing system implementation on a specific FPGA platform. A new ongoing project on more advanced topics is considering embedded hardware for UAV drones : http://hpec.fr/

References:

  1. Discrete Control for Reconfigurable FPGA-based Embedded Systems

  2. Model-based synthesis of correct controllers for dynamically reconfigurable architectures

2. Cloud Computing Infrastructures

The ever growing complexity of software systems, as evidenced typically by Cloud computing, has led to the emergence of automated solutions for their management, called an Autonomic Management Systems (AMS). They are designed as a composition of several managers, which are evaluating the dynamics of the system under management through measurements (e.g., workload, memory usage), taking decisions, and acting upon it so that it stays in a set of acceptable operating states. However, careless combination of managers may lead to inconsistencies in the taken decisions, and classical approaches dealing with these coordination problems often rely on intricate and ad hoc solutions. To tackle this problem, we take a global view and underscore that AMSs are intrinsically reactive, as they react to flows of monitoring data by emitting flows of reconfiguration actions. Therefore we propose a new approach for the design of AMSs, based on synchronous programming and discrete controller synthesis techniques, using the BZR programming language (http://bzr.inria.fr/). They provide us with high-level languages for the specification of the system to manage, as well as means for statically guaranteeing the absence of logical coordination problems. Hence, they suit our main contribution, which is to obtain guarantees at design time about the absence of logical inconsistencies in the taken decisions. We detail our approach, illustrate it by designing an AMS for a realistic multi-tier application, and evaluate its practicality with an implementation This work was partially supported by the Ctrl-Green project on Autonomic energy management for virtualized datacenter : http://www.en.ctrlgreen.org/

References:

  1. Distributed Execution of Modular Discrete Controllers for Data Center Management

  2. Designing Autonomic Management Systems by using Reactive Control Techniques

3. Software Components and Their Reconfiguration

Architecting in the context of variability has become a real need in todays software development. Modern software systems and their architecture must adapt dynamically to events coming from the environment (e.g., workload requested by users, changes in functionality) and the execution platform (e.g., resource availability). Software Component-based architectures have shown to be very suited for self-adaptation especially with their dynamical reconfiguration capabilities. However, existing solutions for reconfiguration often rely on low level, imperative, and non formal languages. This work proposes Ctrl-F, a domain-specific language whose objective is to provide high-level support for describing adaptation behaviors and policies in component-based architectures. It relies on reactive programming for formal verification and control of reconfigurations, using the BZR programming language (http://bzr.inria.fr/). We integrate Ctrl-F with the FraSCAti Service Component Architecture middleware platform, and apply it to the Znn.com self-adaptive case study. On a related topic, we worked on an adaption of a classical theory of supervisory control for synthesizing a controller, for controlling the behavior of a Software Components system modeled using graph transition systems. This theory is used to synthesize a controller that can impose both behavioral and structural constraints on the system during a reconfiguration.

References:

  1. Behavioural Model-based Control for Autonomic Software Components

  2. A Domain-specific Language for The Control of Self-adaptive Component-based Architecture

  3. Supervisory Controller Synthesis for Safe Software Adaptation