package tictac public with Deployment; ----------------- -- Subprograms -- ----------------- subprogram tic_spg properties source_language => C; source_name => "tic_spg"; source_text => ("tictac.c"); end tic_spg; subprogram tac_spg properties source_language => C; source_name => "tac_spg"; source_text => ("tictac.c"); end tac_spg; ------------- -- Threads -- ------------- thread Task properties Dispatch_Protocol => periodic; end Task; thread implementation Task.tic calls c : { s : subprogram tic_spg; }; properties Period => 100ms; Priority => 1; end Task.tic; thread implementation Task.tac calls c : { s : subprogram tac_spg; }; properties Period => 50ms; Priority => 2; end Task.tac; --------------- -- Processor -- --------------- processor cpu properties Deployment::Execution_Platform => native; end cpu; processor implementation cpu.impl properties Scheduling_Protocol => (Posix_1003_Highest_Priority_First_Protocol); end cpu.impl; --------------- -- Processes -- --------------- process node_a end node_a; process implementation node_a.impl subcomponents tic : thread Task.tic; tac : thread Task.tac; end node_a.impl; ------------ -- System -- ------------ system root end root; system implementation root.impl subcomponents node_a : process node_a.impl; cpu : processor cpu.impl; properties Actual_Processor_Binding => (reference (cpu)) applies to node_a; end root.impl; end tictac;