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. Gadara Project: Control of Execution of Multithreaded Software for Deadlock Avoidance

Application of discrete control techniques to online control of execution of multithreaded software for deadlock avoidance, by use of an enhanced lock scheduler. This lock scheduler is synthesized using algorithmic techniques based on avoidance of "bad" siphons in the Petri net model of the underlying multithreaded program being executed. The Petri net model is built at program compile time. Some manual model tuning may be necessary, but after that, the synthesis of the controller is fully automated. The controller is then embedded into the program source code and it will be automatically invoked at execution time, whenever necessary to guarantee deadlock-free execution of all program threads.

References:

  1. http://gadara.eecs.umich.edu/

2. Management and Resource Planning of Intermodal Freight Transport Terminals using Petri Nets

In the context of smart and sustainable freight transportation, the use of intermodality is strongly supported and promoted by the European Union, which identifies in such technique a way to reduce emissions and dependency from oil. In particular, the European Union encourages member states in proposing and realizing innovative solutions to improve and advance such transportation systems.

Intermodal Freight Transport Terminals (IFTTs) are the nodes of the transportation chain in which the transfer between modes takes place. Therefore, it is necessary to efficiently manage these areas, so as to guarantee an efficient interface service between freight forwarders and hauliers and ensure a high competitiveness of the whole intermodal chain.

The D&CLab (Polytechnic of Bari) and AUTOlab (University of Cagliari) research groups are now cooperating for the enhancement of IFTTs. More in detail, thanks to the intrinsic discrete dynamics of IFTTs, the Petri net formalism was proposed to evaluate the performance, to plan resources, and to manage at strategical level the intermodal terminals. Stochastic Timed Petri Nets (STPNs) and First Order Hybrid Petri Nets (FOHPNs) were used to modularly model, simulate, analyze, and control IFTTs. The techniques were tested on a real case study, i.e., an intermodal terminal located in southern Italy, and demonstrated their efficiency in representing the dynamics of such complex systems, allowing the identification of criticalities and the implementation of a support tool for the decision makers of the terminal.

References:

  1. A Timed Petri Nets Model for Performance Evaluation of Intermodal Freight Transport Terminals

  2. Management of Intermodal Freight Terminals by First-Order Hybrid Petri Nets

  3. Resource planning of intermodal terminals using timed Petri nets

  4. Simulation and performance evaluation of an Intermodal terminal using Petri Nets

3. Reconfigurable Hardware architectures based on FPG

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

4. 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

5. 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