Skip to content

Latest commit

 

History

History
60 lines (36 loc) · 1.92 KB

README.md

File metadata and controls

60 lines (36 loc) · 1.92 KB

ttc

tool for the task clustering is a free sofware to minimize the number of real-time tasks by clustering while keeping the task set schedulable. It supports DM and EDF scheduling policies in uniprocessor and multiprocessor partitionned settings. Different criteria (called CostFunctions) may be used as objective function when minimizing the number of tasks.

ttc implements the work described in
Antoine Bertout, Julien Forget, and Richard Olejnik. Minimizing a real-time task set through Task Clustering. In Proceedings of the 22nd International Conference on Real-Time Networks and Systems (RTNS 2014), Versailles, France, October 2014

Dependencies

ttc requires Scala 2.11 and

  • scala-xml_2.11
  • scala-parser-combinators_2.11
  • scalatest_2.11
  • breeze 0.11.2

Usage

This project can be built with sbt 0.13. Code is documented.

object Main extends App {

  val resourceName = "/taskSet"   /* Read file respecting taskSet.ebnf grammar from resource directory */
  val taskSet: TaskSet = TaskSetParser.taskSetFromResource(resourceName)
  
  /* Uniprocessor */
  val minTaskSet = MonoClustering.cluster(taskSet, DMresponseTimeAnalysis, MinDensity, Some(DMresponseTimeAnalysis))
  
  /* Partitionned multiprocessor */
  val taskSetMultiDep = ByLevel(taskSet, 0.65, 0.50)
  val minFlows = MultiClustering.cluster(taskSetMultiDep, GlobalHeuristic, EDFqPA, MinDensity, EDFqPA, None)
  
}

Licence

ttc is under CeCILL licence
CeCILL licence is compatible with GNU GPL

Copyright CNRS - CRIStAL Laboratory - Emeraude Team
contributor: Antoine Bertout (2012-2015)

Copyright Antoine Bertout (2015-2016)

[email protected]


Disambiguation : TTC is also the name of a french rap band composed by ideal sons-in-law