Commit b142208a authored by Maxime Perrotin's avatar Maxime Perrotin

Add graphviz generation for interface view

parent fcf4a91e
@@-- template for deployment view
@@-- @_Nodes_@
@@-- @_Source_Nodes_@ : connection source node (vector tag)
@@-- @_Source_Ports_@ : |_ corresponding source port
@@-- @_Bus_Names_@ : |_ connected to bus name
@@-- @_Dest_Nodes_@ : |_ destination node name
@@-- @_Dest_Ports_@ : |_ destination port name
@@-- @_Busses_@
<DeploymentView>
@_Nodes'Indent_@
@_Busses'Indent_@
@@TABLE@@
<Connection from_node="@_Source_Nodes_@" from_port="@_Source_Ports_@" to_bus="@_Bus_Names_@" to_node="@_Dest_Nodes_@" to_port="@_Dest_Ports_@"/>
@@END_TABLE@@
</DeploymentView>
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The name of the function
@@-- @_Language_@ : The implementation language
@@-- @_List_Of_PIs_@ : List of all Provided Interfaces (just names)
@@-- @_List_Of_RIs_@ : List of all Required Interfaces (just names)
@@-- @_List_Of_Sync_PIs@ : List of synchronous Provided Interfaces
@@-- @_List_Of_Sync_RIs@ : List of synchronous Required Interfaces
@@-- @_List_Of_ASync_PIs@ : List of asynchronous Provided Interfaces
@@-- @_List_Of_ASync_RIs@ : List of asynchronous Required Interfaces
@@-- @_ASN1_Modules_@ : List of ASN.1 Modules names
@@-- @_ASN1_Files_@ : List of ASN.1 Files with path
@@-- @_Timers_@ : List of timers (just names)
@@-- @_Has_Context_@ : Flag, True if there are context parameters
@@-- @_CP_Names_@ : Tag: Context Parameters - name
@@-- @_CP_Types_@ : |_ asn1 type
@@-- @_CP_Values_@ : |_ value
@@-- @_CP_Asn1Modules_@ : |_ asn1 module
@@-- @_CP_Asn1Filenames_@ : |_ asn1 filenames
@@-- @_Provided_Interfaces_@ : From template: Provided interfaces with params
@@-- @_Required_Interfaces_@ : From template: Required interfaces with params
@@-- @_Property_Names_@ : List of User-defined properties (names)
@@-- @_Property_Values_@ : List of User-defined properties (values)
@@-- @_Is_Type_@ : Flag, True if function is a component type
@@-- @_Instance_Of_@ : Optional name of component type
@@IF@@ @_Is_Type_@ = TRUE
@_Name_@ [shape=parallelogram, style=filled, fontsize=24, label="type @_Name_@ (@_Language_@)"];
@@ELSIF@@ @_Instance_Of_@ /= ""
@_Name_@ [shape=box, fillcolor=cyan, style="filled, rounded", fontsize=20, label="@_Name_@ : @_Instance_Of_@"];
@@ELSE@@
@_Name_@ [shape=box, fillcolor=cyan, style="filled, rounded", fontsize=20, label="@_Name_@ (@_Language_@)"];
@@END_IF@@
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : The name of the interface
@@-- @_Direction_@ : "PI" or "RI"
@@-- @_Kind_@ : The RCM Kind
@@-- @_Parent_Function_@ : The name of the function
@@-- @_Param_Names_@ : List of parameter names
@@-- @_Param_Types_@ : |_ Corresponding parameter types
@@-- @_Param_Directions_@ : |_ Corresponding direction
@@-- @_Param_Encodings_@ : |_ Corresponding ASN.1 encoding
@@-- @_Period_@, @_WCET_@, @_Queue_Size_@ : Properties of the interface
@@-- @_IF_Property_Names_@, _Values_@ : User-defined properties (vector tag)
@@IF@@ @_Direction_@ = "PI"
<Provided_Interface name="@_Name_@" kind="@_Kind_@" period="@_Period_@" wcet="@_WCET_@" queue_size="@_Queue_Size_@">
@@ELSE@@
<Required_Interface name="@_Name_@" kind="@_Kind_@">
@@END_IF@@
@@TABLE@@
@@IF@@ @_Param_Directions_@ = "PARAM_IN"
<Input_Parameter name="@_Param_Names_@" type="@_WEB_ENCODE:Param_Types_@" encoding="@_Param_Encodings_@"/>
@@ELSE@@
<Output_Parameter name="@_Param_Names_@" type="@_WEB_ENCODE:Param_Types_@" encoding="@_Param_Encodings_@"/>
@@END_IF@@
@@END_TABLE@@
@@TABLE@@
<Property name="@_WEB_ENCODE:IF_Property_Names_@" value="@_WEB_ENCODE:IF_Property_Values_@"/>
@@END_TABLE@@
@@IF@@ @_Direction_@ = "PI"
</Provided_Interface>
@@ELSE@@
</Required_Interface>
@@END_IF@@
@@-- @_Functions_@ : functions generated from functions.tmplt
@@-- @_Callers_@ : connection vector tag: caller function names
@@-- @_Callees_@ : |_ corresponding callee function names
@@-- @_Caller_RIs_@ : |_ corresponding name of RIs
@@-- @_Callee_PIs_@ : |_ corresponding name of PIs
@_Functions'Indent_@
@@TABLE@@
@_Callers_@ -> @_Callees_@ [fontsize=14, color=blue, headlabel="[@_Caller_RIs_@]", taillabel="[@_Callee_PIs_@]"];
@@END_TABLE@@
</InterfaceView>
@@-- The following tags are available in this template:
@@--
@@-- @_Node_Name_@ : Name of the node from deployment view
@@-- @_Partitions_@ : List of rendered code for partitions
@@-- @_CPU_Name_@, _Platform_@, _Classifier_@, _Ada_Runtime_@ : Info about CPU
@@-- @_Device_Names_@ : Vector tag for device drivers - name
@@-- @_Package_Names_@ : |_ aadl package
@@-- @_Device_Classifiers_@ : |_ aadl classifier
@@-- @_Proc_Names_@ : |_ associated processor name
@@-- @_Config_@ : |_ device configuration (asn1 string)
@@-- @_Bus_Names_@ : |_ accessed bus name
@@-- @_Port_Names_@ : |_ accessed port name
@@-- @_Asn1_Files_@ : |_ asn1 filename for the configuration type
@@-- @_Asn1_Typenames_@ : |_ asn1 configuration type name
@@-- @_Asn1_Modules_@ : |_ asn1 module name containing the type
<Node name="@_Node_Name_@">
@_Partitions'Indent_@
@@TABLE@@
<Device name="@_Device_Names_@" pkg="@_Package_Names_@" classifier="@_Device_Classifiers_@" proc="@_Proc_Names_@" config="@_WEB_ENCODE:Config_@" bus="@_Bus_Names_@" port="@_Port_Names_@" asn1file="@_Asn1_Files_@" asn1type="@_Asn1_Typenames_@" asn1module="@_Asn1_Modules_@"/>
@@END_TABLE@@
</Node>
# Generated by TASTE (kazoo)
# To render, install graphviz and run "neato InterfaceView.dot -Tpng -o out.png
digraph interfaceview {
overlap=scale;
splines=ortho;
sep=0.2;
@_Interface_View'Indent_@
}
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : Partition name (usually the name of the binary)
@@-- @_Coverage_@ : True if user requested code coverage enable
@@-- @_Package_Name_@ : AADL Package name for the target (e.g. ocarina_porocessors_x86)
@@-- @_CPU_Name_@ : CPU Name (e.g. x86_linux)
@@-- @_CPU_Platform_@ : AADL CPU_Platform (e.g. PLATFORM_NATIVE)
@@-- @_CPU_Classifier_@ : AADL CPU Classifier (e.g. ocarina_processors_x86::x86.linux)
@@-- @_VP_Name_@ : Virtual processor name on which the partition is bounded
@@-- @_VP_Platform_@ : Virtual processor platform (e.g. PLATFORM_AIR)
@@-- @_VP_Classifier_@ : Virtual processor classifier
@@-- @_Bound_Functions_@ : List of user functions from Interface view
@@-- @_Ada_Runtime_@ : Ada runtime for the CPU
<Partition name="@_Name_@" coverage="@_Coverage_@" package="@_Package_Name_@" cpu="@_CPU_Name_@" cpu_platform="@_CPU_Platform_@" cpu_classifier="@_CPU_Classifier_@" vp_name="@_VP_Name_@" vp_platform="@_VP_Platform_@" vp_classifier="@_VP_Classifier_@" ada_runtime="@_Ada_Runtime_@">
@@TABLE@@
<function>@_Bound_Functions_@</function>
@@END_TABLE@@
</Partition>
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