Search.setIndex({envversion:46,filenames:["faq","index","introduction","licenses","modules","text_mode","write_scheduler"],objects:{"simso.configuration":{Configuration:[4,0,0,"-"]},"simso.configuration.Configuration":{Configuration:[4,4,1,""]},"simso.configuration.Configuration.Configuration":{add_processor:[4,2,1,""],add_task:[4,2,1,""],check_all:[4,2,1,""],get_hyperperiod:[4,2,1,""],proc_info_list:[4,1,1,""],save:[4,2,1,""],scheduler_info:[4,1,1,""],task_info_list:[4,1,1,""]},"simso.core":{Job:[4,0,0,"-"],Logger:[4,0,0,"-"],Model:[4,0,0,"-"],Processor:[4,0,0,"-"],Scheduler:[4,0,0,"-"],Task:[4,0,0,"-"],Timer:[4,0,0,"-"],results:[4,0,0,"-"]},"simso.core.Job":{Job:[4,4,1,""]},"simso.core.Job.Job":{abort:[4,2,1,""],aborted:[4,1,1,""],absolute_deadline:[4,1,1,""],activation_date:[4,1,1,""],actual_computation_time:[4,1,1,""],actual_computation_time_cycles:[4,1,1,""],computation_time:[4,1,1,""],computation_time_cycles:[4,1,1,""],cpu:[4,1,1,""],data:[4,1,1,""],deadline:[4,1,1,""],end_date:[4,1,1,""],exceeded_deadline:[4,1,1,""],is_active:[4,2,1,""],is_running:[4,2,1,""],laxity:[4,1,1,""],period:[4,1,1,""],ret:[4,1,1,""],start_date:[4,1,1,""],task:[4,1,1,""],wcet:[4,1,1,""]},"simso.core.Logger":{Logger:[4,4,1,""]},"simso.core.Logger.Logger":{log:[4,2,1,""],logs:[4,1,1,""]},"simso.core.Model":{Model:[4,4,1,""]},"simso.core.Model.Model":{cycles_per_ms:[4,1,1,""],duration:[4,1,1,""],etm:[4,1,1,""],logs:[4,1,1,""],processors:[4,1,1,""],run_model:[4,2,1,""],task_list:[4,1,1,""]},"simso.core.Processor":{Processor:[4,4,1,""]},"simso.core.Processor.Processor":{internal_id:[4,1,1,""],is_running:[4,2,1,""],resched:[4,2,1,""],running:[4,1,1,""]},"simso.core.Scheduler":{Scheduler:[4,4,1,""],SchedulerInfo:[4,4,1,""]},"simso.core.Scheduler.Scheduler":{add_processor:[4,2,1,""],add_task:[4,2,1,""],get_lock:[4,2,1,""],init:[4,2,1,""],on_activate:[4,2,1,""],on_terminated:[4,2,1,""],release_lock:[4,2,1,""],schedule:[4,2,1,""]},"simso.core.Scheduler.SchedulerInfo":{get_cls:[4,2,1,""],instantiate:[4,2,1,""]},"simso.core.Task":{ATask:[4,4,1,""],GenericTask:[4,4,1,""],PTask:[4,4,1,""],SporadicTask:[4,4,1,""],Task:[4,3,1,""],TaskInfo:[4,4,1,""]},"simso.core.Task.GenericTask":{create_job:[4,2,1,""],data:[4,1,1,""],deadline:[4,1,1,""],followed_by:[4,1,1,""],identifier:[4,1,1,""],jobs:[4,1,1,""],monitor:[4,1,1,""],period:[4,1,1,""],wcet:[4,1,1,""]},"simso.core.Task.TaskInfo":{csdp:[4,1,1,""],set_stack_file:[4,2,1,""],stack_file:[4,1,1,""]},"simso.core.Timer":{Timer:[4,4,1,""]},"simso.core.Timer.Timer":{start:[4,2,1,""],stop:[4,2,1,""]},"simso.core.results":{JobR:[4,4,1,""],ProcessorR:[4,4,1,""],Results:[4,4,1,""],SchedulerR:[4,4,1,""],TaskR:[4,4,1,""]},"simso.core.results.Results":{calc_load:[4,2,1,""],get_observation_window:[4,2,1,""],observation_window:[4,1,1,""],set_observation_window:[4,2,1,""],tasks_event:[4,2,1,""]},"simso.generator":{task_generator:[4,0,0,"-"]},"simso.generator.task_generator":{StaffordRandFixedSum:[4,3,1,""],gen_kato_utilizations:[4,3,1,""],gen_periods_discrete:[4,3,1,""],gen_periods_loguniform:[4,3,1,""],gen_periods_uniform:[4,3,1,""],gen_randfixedsum:[4,3,1,""],gen_ripoll:[4,3,1,""],gen_tasksets:[4,3,1,""],gen_uunifastdiscard:[4,3,1,""]},"simso.utils":{PartitionedScheduler:[4,0,0,"-"]},"simso.utils.PartitionedScheduler":{PartitionedScheduler:[4,4,1,""],best_fit:[4,3,1,""],decreasing_best_fit:[4,3,1,""],decreasing_first_fit:[4,3,1,""],decreasing_next_fit:[4,3,1,""],decreasing_worst_fit:[4,3,1,""],first_fit:[4,3,1,""],next_fit:[4,3,1,""],worst_fit:[4,3,1,""]},"simso.utils.PartitionedScheduler.PartitionedScheduler":{init:[4,2,1,""]},simso:{configuration:[4,0,0,"-"],core:[4,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","attribute","Python attribute"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","class","Python class"]},objtypes:{"0":"py:module","1":"py:attribute","2":"py:method","3":"py:function","4":"py:class"},terms:{"__init__":4,"abstract":4,"case":4,"class":[4,5,6],"default":4,"final":5,"float":[4,6],"function":[0,4],"import":[5,6],"long":4,"new":[0,4,5],"return":[4,6],"static":2,"switch":[2,5],"true":[4,6],"try":5,"while":6,abid:3,abl:4,abort:4,abort_on_miss:4,about:4,abov:4,absolut:[4,6],absolute_deadlin:[4,6],accept:3,access:[3,5],accord:4,account:2,accumul:4,acet:4,action:4,activ:[0,4,6],activation_d:[4,5],actual_computation_tim:4,actual_computation_time_cycl:4,adapt:[2,4],add:[4,5],add_processor:[4,5],add_task:[4,5],advanc:4,advis:4,affect:6,affect_task_to_processor:6,after:4,again:4,aim:2,algorithm:[2,4,6],all:[4,5,6],alloc:6,allow:[0,2,4],also:[0,2,3,4,5,6],among:6,amount:4,analysi:[4,5],analyz:4,anderson:2,andersson:2,ani:[2,4,6],anoth:4,append:6,appli:6,approach:6,arbitrari:6,architectur:[2,4,6],archiv:2,arg:[4,5],argument:[4,5],argv:5,aris:4,arriv:0,associ:[3,4],atask:4,attach:4,attent:3,attribut:[4,5],author:[3,4],automat:5,avail:[0,1],avoid:4,bar:4,baruah:2,base:[2,3,4],base_cpi:4,basic:5,been:4,befor:[4,5,6],behavior:4,best:[2,4],best_fit:4,between:4,bin:6,binari:[2,4],bini:4,bool:4,bsd:[3,4],busi:4,cach:[2,4],calc_load:4,call:[4,6],callback:4,caus:4,cea:3,cecil:[2,3],certain:4,chang:[4,5],character:4,characterist:[0,5],check:[4,5],check_al:[4,5],cherami:3,cho:2,choic:0,chosen:[4,6],circul:3,cl_overhead:4,cla:[4,5],close:4,closest:6,cnr:3,code:[0,2,3,4,6],com:4,compat:[0,2],complet:[0,5],complic:3,compon:4,comput:[3,4,5],computation_tim:[4,5],computation_time_cycl:4,conclus:4,condit:[3,4],confer:2,config:5,configur:1,consequenti:4,consist:6,constructor:[4,5,6],contact:4,contain:[2,4],context:[2,5],contract:4,contributor:4,control:[0,4],convers:2,copi:3,copyright:[3,4],core:1,correct:[4,5],could:[0,5,6],count:[4,5],counterpart:3,coupl:4,cours:5,cpu:[4,5,6],creat:[0,1,4],create_job:4,cs_overhead:4,csdp:4,cur_dir:4,current:[2,4],custom:5,cxt:5,cxtload:4,cxtsave:4,cycl:4,cycles_per_m:[4,5],damag:4,data:[3,4],date:[0,4,6],davi:4,deadlin:[2,4,5,6],debian:0,decid:4,decis:[2,4],declar:4,decreas:2,decreasing_best_fit:4,decreasing_first_fit:4,decreasing_next_fit:4,decreasing_worst_fit:4,def:[5,6],defin:4,delai:4,delta_preempt:4,depend:[0,1],depth:3,detail:[1,4],develop:[2,3,6],dictionari:4,differ:[4,5],direct:4,directli:[4,5,6],discard:4,disclaim:4,discret:[2,3],distanc:4,distinct:4,distribut:[3,4],doc:4,done:[0,4,5,6],download:1,dpfair:2,drawn:3,durat:[4,5],dure:4,dvf:2,dynam:[2,4],each:[0,4,5,6],earli:2,earliest:[2,6],eas:6,easi:[2,4,6],easili:0,econom:3,edf:[1,2],edf_mono:6,edh:2,edzl:2,either:4,ekg:2,els:[5,6],emb:4,embed:[2,5],emberson:4,empti:5,enabl:3,encourag:3,end:4,end_dat:4,enough:4,ensur:3,epdf:2,equival:4,erickson:2,error:4,et_stddev:4,etc:[4,5],etm:4,euromicro:2,even:4,event:[2,3,4,5,6],everi:[4,5],everyth:2,evt:5,exactli:5,exampl:[1,4],exce:4,exceeded_deadlin:4,except:5,execut:[0,4,5,6],exemplari:4,experienc:3,experiment:5,expir:4,explain:6,express:4,extend:4,extern:0,extra:4,facil:4,fact:3,factori:4,fail:6,fair:2,fals:[4,6],fast:2,faster:4,few:[2,3,5],field:4,file:[0,1,4],fileexchang:4,filenam:[4,5],find:[2,6],finish:[4,6],fire:4,first:1,first_fit:4,fit:[2,4,6],fix:[2,4],flexibl:[2,5],follow:[2,3,4,5,6],followed_bi:4,form:4,four:6,free:[3,6],french:3,from:[0,1,2,4],full:6,fulli:0,funaoka:2,funk:2,gen_kato_util:4,gen_periods_discret:4,gen_periods_loguniform:4,gen_periods_uniform:4,gen_randfixedsum:4,gen_ripol:4,gen_taskset:4,gen_uunifastdiscard:4,generictask:4,get:[4,5],get_cl:4,get_hyperperiod:4,get_lock:4,get_observation_window:4,give:6,given:4,global:2,gnu:3,goe:4,good:[2,4,6],govern:3,gpl:[2,3],grant:3,graphic:[0,2,3],greater:4,group:[4,5],guarante:[4,6],had:3,handler:4,happen:5,have:[3,4,5],help:6,helper:4,here:[4,6],heurist:[2,4],highest:6,histori:5,holder:[3,4],how:[1,2],howev:[0,4],http:[3,4],hyperperiod:4,ident:6,identifi:[4,5],impact:2,implement:[0,4],impli:4,in_m:4,incident:4,includ:4,incomplet:0,index:1,indirect:4,indirectli:6,info:3,inform:[4,5],inherit:[4,6],init:[4,5,6],initi:[4,5],input:4,inria:3,instal:[0,1],instanc:4,instanti:[4,5,6],instead:4,interact:4,interfac:[0,2,3],intern:4,internal_id:4,interpret:4,interrupt:4,introduct:1,invers:4,invok:[4,6],is_act:4,is_run:4,itself:3,job:0,jobr:[4,5],juli:0,kato:[2,4],kei:[4,6],kept:6,kernel:4,know:5,knowledg:3,kwarg:4,laa:3,lambda:6,languag:3,largest:4,last:[2,6],late:2,law:3,laxiti:[2,4],least:[2,4,6],len:[5,6],lesser:3,levin:2,lgpl:3,liabil:[3,4],liabl:4,librairi:2,librari:[0,2,5],licens:[1,2],licensor:3,lieu:4,light:3,like:[2,6],limit:[3,4],linux:0,list:[0,4,6],list_activation_d:4,llf:2,llref:2,load:[1,3,4],lock:4,log:[4,5],logic:[4,6],loguniform:4,look:6,loss:4,low:2,lre:2,mac:0,mai:3,main:[1,2],mainli:4,major:4,make:4,mandatori:6,manipul:3,manual:5,materi:4,mathwork:4,matlabcentr:4,matrix:4,matter:4,max:4,max_:4,maxim:3,maximum:[2,4,5],mean:3,mechan:4,merchant:4,messag:[4,6],met:4,method:[4,5,6],metric:[4,5],migrat:4,migration_overhead:4,millisecond:4,min:[4,6],min_:4,minimalist:6,minimum:4,miss:6,mix:4,mllf:2,mode:[1,2],model:[0,1,2],modif:4,modifi:[2,3],modul:1,moment:4,monitor:[4,5],mono:6,monoton:2,more:[1,2,3,4],msg:4,much:2,multipl:2,multiprocessor:[2,3,4,6],must:[0,2,4,6],n_instr:4,name:[4,5,6],necessari:[2,6],need:[4,6],neglig:4,nelissen:2,next:[2,4],next_fit:4,non:4,none:[4,5,6],notic:4,now:4,now_m:4,nset:4,number:[4,5],numpi:2,nutshel:6,nvnlf:2,object:[3,4,5],observ:4,observation_window:4,occur:[4,6],offici:4,often:2,on_activ:[4,6],on_termin:[4,6],onc:4,one_shot:4,onli:[3,4,6],oop:6,open:2,optim:[2,4],order:[0,2,4,5,6],orient:3,origin:4,other:[2,4],otherwis:[0,4],our:6,out:4,outsid:4,overhead:[2,3,4,6],overhead_activ:4,overhead_termin:4,overrid:4,overriden:[4,6],p_edf:6,pack:[2,4],packag:0,packer:[4,6],page:1,pair:4,parent:4,partial:5,particular:[2,4],partit:[1,2,4],pass:[4,5,6],paul:4,pd2:2,per:[4,5],period:[2,4,5,6],permit:4,pfair:2,phase:4,pillai:2,place:4,platform:2,pleas:[0,4],point:[4,6],polici:[1,2,4],possibl:[0,2,4,5,6],power:2,precis:4,pred:4,preemption:[2,4,5],preemption_cost:4,preemption_count:5,present:3,pretti:6,prev:5,previou:[4,5],prid:2,print:[5,6],prior:4,priorit:6,prioriti:[2,6],probabl:4,problem:2,proc:4,proc_info:4,proc_info_list:4,proceed:2,process:[3,4],processorr:4,procev:5,procinfo:4,procur:4,profession:3,profil:4,profit:4,program:3,progress:4,propos:4,prototyp:2,provid:[0,2,3,4,5,6],pseudo:2,ptask:4,purpos:[3,4],put:4,pyqt4:2,python:[0,2,3,4,6],quick:2,rais:5,randfixedsum:4,random:4,randomli:4,rapitasystem:4,rate:2,reach:4,read:[3,4,5],readi:[4,6],ready_list:6,real:[2,3,4],realist:4,reason:6,redefin:4,redifin:6,redistribut:[3,4],reduc:2,reduct:2,regard:[3,4],regnier:2,rel:4,releas:[2,3,4],release_lock:4,reli:3,remain:4,remind:6,remov:[4,6],report:4,repres:4,reproduc:[3,4],requir:[2,3,4,5],resch:[4,6],reserv:[3,4],resourc:2,respect:[3,6],respons:[4,6],restrict:3,ret:4,retain:4,retriev:4,reus:3,right:[3,4],ripol:4,risk:3,robdavi:4,robert:4,roger:4,round_to_int:4,rule:3,run:[2,4,5,6],run_model:[4,5],same:[3,4,5],save:4,scale:2,schedul:1,scheduler_info:[4,5],schedulerinfo:[4,6],schedulerr:4,schema:0,scratch:1,script:[0,1],search:1,second:6,secur:3,see:[2,4],select:6,self:[4,6],semi:2,send:[0,6],servic:4,set:[0,2,4],set_observation_window:4,set_stack_fil:4,setup:2,shall:4,ship:0,shot:4,should:[2,4,6],show:6,sim:4,similar:4,simpi:2,simpl:[2,4],simplest:6,simplifi:4,simul:[1,2,3,4],simulation_fil:4,singl:[4,6],slack:4,softwar:[2,3,4],some:[2,5],someth:5,somewher:4,sort:4,souc:2,sourc:[0,2,3,4,6],space:[4,6],spare:4,special:4,specif:[3,4],specifi:[0,4],speed:[0,4],spent:4,sporadictask:4,stack:4,stack_fil:4,stafford:4,staffordrandfixedsum:4,start:[4,6],start_dat:4,statist:2,statu:3,step:1,still:[4,6],stop:4,store:4,str:5,strict:4,structur:6,subclass:[4,6],substitut:4,success:3,suffer:4,suitabl:3,sure:6,take:[2,4],target_util:4,task_info:4,task_info_list:4,task_list:[4,6],task_migr:4,task_typ:4,taskinfo:4,taskr:[4,5],tasks_ev:4,taskset:4,techniqu:2,temporarli:4,term:3,termin:4,test:[2,3,4],text:2,than:4,thei:6,them:6,theori:4,therefor:3,thi:[0,2,3,4,5,6],thing:6,those:4,though:0,through:[2,4,5,6],time:[0,2,3,4,5],too:4,tool:4,tort:4,total:4,tovar:2,truncat:4,tupl:4,tutori:[5,6],type:[2,4],typic:4,u_i:4,ubuntu:0,umax:4,umin:4,under:[2,3,4],understand:2,unfair:2,uniprocessor:[1,2,4],uniqu:4,unit:4,updat:[2,6],upon:4,url:3,user:[0,2,3],usual:[4,6],util:1,utilis:4,uunifast:4,valu:[4,5],variou:4,veri:[2,4,5,6],version:[2,3],via:2,view:4,virtual:4,voltag:2,wai:[2,4,6],wait:4,warn:4,warranti:[3,4],wcet:[4,5,6],websit:2,what:1,when:[2,4,5,6],where:[4,5,6],whether:4,which:[4,6],whole:4,whose:3,wide:[4,5],window:[0,4],without:[4,5],worst:[2,4],worst_fit:4,wrap:2,write:[1,2,4],written:0,www:[3,4],xml:0,xsd:0,yang:2,yet:6,yield:4,york:4,your:0,zero:2,zhu:2},titles:["Frequently Asked Questions","SimSo documentation","Introduction","Licenses","Main modules","Using SimSo in script mode","How to write a scheduling policy"],titleterms:{ask:0,avail:2,can:0,complet:6,configur:[4,5],content:[4,5,6],core:4,creat:5,creation:6,defin:6,depend:[2,3],detail:5,document:1,doe:0,download:2,edf:6,exampl:[5,6],explan:6,file:[5,6],first:[2,5],frequent:0,from:5,gener:[0,4],handl:0,heterogen:0,how:6,implement:6,indic:1,initi:6,instal:2,introduct:2,job:4,licens:3,load:5,logger:4,main:4,mode:5,model:[4,5],modul:4,more:5,numpi:3,oper:0,own:0,pack:6,partit:6,partitionedschedul:4,polici:6,processor:[0,4],pyqt:3,question:0,result:4,schedul:[2,4,6],scratch:5,script:5,simpi:3,simso:[0,1,2,3,4,5],simul:5,skeleton:6,sporad:0,step:2,support:0,system:0,tabl:[1,4,5,6],task:[0,4],timer:4,uniform:0,uniprocessor:6,util:4,what:2,work:0,write:6,you:0}})