ADFG, developed by INRIA-IRISA project-team TEA, checks the scheduling feasibility of an Ultimately Cyclo-Static DataFlow (UCSDF) graph which represents a system of actors (or processes) and their dependencies (data production and consumption rates), aka channels between them. If the graph is schedulable, regarding to a specified policy, runtime parameters are computed to help the system implementation or build (if it is an embedded system). The UCSDF graph can be passed to ADFG as a SDF3 xml file or can be constructed through the Java library.

Parameters computed by ADFG are:

Some useful metrics are also computed as the processor utilization factor.

ADFG comes with a very simple API, a command-line tool to analyse sdf files, and some eclipse plugins.

ADFG has originally been written by Adnan Bouakaz as an experimental tool for his PhD thesis.


ADFG depends on two external software: SCOTCH used for graph partitioning, LpSolve used for Integer Linear Problem (ILP) solving.

Some dynamical libraries of SCOTCH and lp_solve are integrated to the distribution. It includes also a Java wrapper for the lp_solve.

ADFG can be used as a command line (adfg_sched) or under Eclipse.


The installing and use of the ADFG toolset suppose the agreement to the license. ADFG is distributed under the GPL v2 License terms.

Distributions (version 3.2, January 2022)


After the unzip of the downloaded archive, a directory with adfg_ as prefix is created (adfg_src, adfg_Linux_x86_64 for Linux, …). Let ADFG_DIR be this directory.

ADFG under Eclipse

To use ADFG under Eclipse:


The User's Guide provides information on how to use ADFG tool.


To test the ADFG tool, you can download the examples provided by the DARTS tool.



For any contact, send a mail to