Commit 06506640 authored by Maxime Perrotin's avatar Maxime Perrotin
Browse files

Add information about PI in Thread templates

parent f40ad47e
......@@ -117,14 +117,15 @@ package body TASTE.Concurrency_View is
end loop;
return Result : constant Translate_Set :=
(+Assoc ("Thread_Name", To_String (T.Name))
T.PI.To_Template -- Template of the PI used to create the thread
& Assoc ("Thread_Name", To_String (T.Name))
& Assoc ("Entry_Port_Name", To_String (T.Entry_Port_Name))
& Assoc ("RCM", To_String (T.RCM))
& Assoc ("Pro_Block_Name", To_String (T.Protected_Block_Name))
& Assoc ("Node_Name", To_String (T.Node.Value_Or
(Taste_Node'(Name => US (""), others => <>)).Name))
& Assoc ("Remote_Threads", Remote_Thread)
& Assoc ("Remote_PIs", Remote_PI));
& Assoc ("Remote_PIs", Remote_PI);
end To_Template;
-- Generate the the code by iterating over template folders
......
......@@ -970,9 +970,13 @@ package body TASTE.Interface_View is
Param_Directions : Vector_Tag;
Param_Encodings : Vector_Tag;
begin
Result := +Assoc ("Name", TI.Name)
& Assoc ("Kind", TI.RCM'Img)
& Assoc ("Parent_Function", TI.Parent_Function);
-- Result misses User_Properties TODO (important)
Result := +Assoc ("Name", TI.Name)
& Assoc ("Kind", TI.RCM'Img)
& Assoc ("Parent_Function", TI.Parent_Function)
& Assoc ("Period", TI.Period_Or_MIAT'Img)
& Assoc ("WCET", TI.WCET_ms.Value_Or (0)'Img)
& Assoc ("Queue_Size", TI.Queue_Size.Value_Or (1)'Img);
for Each of TI.Params loop
Param_Names := Param_Names & Each.Name;
Param_Types := Param_Types & Each.Sort;
......
......@@ -7,6 +7,10 @@
@@-- @_Node_Name_@ : Name of the deployment node
@@-- @_Remote_Threads_@ : Vector tag: output remote thread list
@@-- @_Remote_PIs_@ : |_ Associated PI Name
@@-- Tags related to the PI that is at the origin of the thread creation:
@@-- @_Name_@, @_Kind_@, @_Parent_Function_@ : shoud be useless here
@@-- @_Param_Names_@, _Types_@, _Encodings_@, _Directions_@ : param vector tag
@@-- @_Period_@, @_WCET_@, @_Queue_Size_@ : relevant here
@@--
@@-- Matrix of output ports: Remote thread/corresponding remote PI @_Name_@
package @_Thread_Name_@_Thread
......@@ -18,8 +22,8 @@ public
thread @_Thread_Name_@
features
INPORT_@_Entry_Port_Name_@ : in event <MISSING> port <MISSING>
{ Compute_Execution_Time => <MISSING>;
Queue_Size => <MISSING>;
{ Compute_Execution_Time => @_WCET_@ .. @_WCET_@ ms;
Queue_Size => @_Queue_Size_@;
Compute_Entrypoint_Source_Text => "@_Thread_Name_@_Wrappers.@_Entry_Port_Name_@"; };
@@TABLE@@
OUTPUT_@_Remote_PIs_@ : out event <MISSING> port <MISSING>;
......@@ -35,11 +39,11 @@ Sporadic;
@@ELSE@@
Periodic;
@@END_IF@@
Period => <MISSING>;
Dispatch_Offset => <MISSING>;
Compute_Execution_Time => <MISSING>;
Stack_Size => <MISSING>;
Priority => <MISSING>;
Period => @_Period_@;
Dispatch_Offset => 0;
Compute_Execution_Time => @_WCET_@ .. @_WCET_@ ms;
Stack_Size => 50 KBytes;
Priority => <How should I know?>;
end @_Name_@.others;
end @_Name_@_Thread;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment