Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
kazoo
Commits
55ed4b44
Commit
55ed4b44
authored
Sep 17, 2019
by
Maxime Perrotin
Browse files
Work on the interface with POHIAda
parent
e4af4b74
Changes
27
Hide whitespace changes
Inline
Side-by-side
src/taste-aadl_parser.adb
View file @
55ed4b44
...
...
@@ -444,10 +444,9 @@ package body TASTE.AADL_Parser is
PI
=>
PI
,
others
=>
<>
);
begin
New_PI
.
PI
.
RCM
:=
(
if
F
.
Provided
.
Length
=
1
then
(
if
PI
.
RCM
=
Protected_Operation
then
PI
.
RCM
else
Unprotected_Operation
)
-- Convert cyclic/sporadic to Protected
New_PI
.
PI
.
RCM
:=
(
if
PI
.
RCM
=
Unprotected_Operation
then
Unprotected_Operation
else
Protected_Operation
);
-- Check in the DV if any caller is remote
for
Remote
of
PI
.
Remote_Interfaces
loop
...
...
templates-parser
@
0655d367
Compare
844cfcc6
...
0655d367
Subproject commit
844cfcc630139c0c9c3c2c41f549946a26ee06c0
Subproject commit
0655d36712e079dcf975afb4a1075353cbfdad14
templates/concurrency_view/aadl_2_threads/thread.tmplt
View file @
55ed4b44
...
...
@@ -43,7 +43,7 @@ features
@@
IF
@@
@
_Use_POHIC_
@
Compute_Entrypoint_Source_Text
=>
"call_@_LOWER:Thread_Name_@"
;
};
@@
ELSE
@@
Compute_Entrypoint_Source_Text
=>
"@_CAPITALIZE:Partition_Name_@_
Polyorb
_Interface.@_CAPITALIZE:Thread_Name_@_@_Entry_Port_Name_@"
;
};
Compute_Entrypoint_Source_Text
=>
"@_CAPITALIZE:Partition_Name_@_
TASTE
_Interface.@_CAPITALIZE:Thread_Name_@_@_Entry_Port_Name_@"
;
};
@@
END_IF
@@
@@
END_IF
@@
@@
TABLE
@@
...
...
@@ -62,7 +62,7 @@ properties
@@
IF
@@
@
_Use_POHIC_
@
Initialize_Entrypoint_Source_Text
=>
"init_@_LOWER:Pro_Block_Name_@"
;
@@
ELSE
@@
Initialize_Entrypoint_Source_Text
=>
"@_CAPITALIZE:Partition_Name_@_
Polyorb
_Interface.@_CAPITALIZE:Thread_Name_@_Init"
;
Initialize_Entrypoint_Source_Text
=>
"@_CAPITALIZE:Partition_Name_@_
TASTE
_Interface.@_CAPITALIZE:Thread_Name_@_Init"
;
@@
END_IF
@@
@@
INLINE
(
)(\
n
)()@@
@@
IF
@@
@
_RCM_
@
=
"SPORADIC_OPERATION"
...
...
@@ -71,7 +71,7 @@ properties
@@
IF
@@
@
_Use_POHIC_
@
Compute_Entrypoint_Source_Text
=>
"call_@_LOWER:Thread_Name_@"
;
@@
ELSE
@@
Compute_Entrypoint_Source_Text
=>
"@_CAPITALIZE:Partition_Name_@_
Polyorb
_Interface.@_CAPITALIZE:Thread_Name_@_@_Entry_Port_Name_@"
;
Compute_Entrypoint_Source_Text
=>
"@_CAPITALIZE:Partition_Name_@_
TASTE
_Interface.@_CAPITALIZE:Thread_Name_@_@_Entry_Port_Name_@"
;
@@
END_IF
@@
Dispatch_Protocol
=>
Periodic
;
@@
END_IF
@@
...
...
templates/concurrency_view/ada_ri_wrappers_source/README.md
deleted
100644 → 0
View file @
e4af4b74
These templates generate the wrappers that connect Polyorb-HI-Ada with the threads generated by TASTE
templates/concurrency_view/ada_ri_wrappers_source/block.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- The following tags are available in this template:
@@--
@@-- @_Name_@ : Protected block name
@@-- @_Language_@ : Implementation language
@@-- @_Calling_Threads_@ : List of calling threads
@@-- @_Node name_@ : Node name
@@-- @_Protected_PIs_@ : Protected Provided interfaces (from pi.tmplt)
@@-- @_Unprotected_PIs_@ : Unprotected Provided interfaces (from pi.tmplt)
@@-- @_Required_@ : Required interfaces (from ri.tmplt)
templates/concurrency_view/ada_ri_wrappers_source/fileblock.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- Specify the file name for a protected block
@@-- @_Block_Name_@ is available.
@@-- Don't specify anything if you don't want the file to be created
templates/concurrency_view/ada_ri_wrappers_source/filenode.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- The following tags are available in this template:
@@--
@@-- @_Node_Name_@ : Name of the node as defined in the Deployment View
@@-- The content of this file is generated from node.tmplt
@@-- If there is no string defined here, no file will be generated per node,
@@-- (that's an option if the intent is to generate only one file per system)
templates/concurrency_view/ada_ri_wrappers_source/filepart.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- Specify the file name for a partition
@@-- @_Partition_Name_@ is available.
@@-- Don't specify anything if you don't want the file to be created
@_LOWER:Partition_Name_@/required_interfaces.ads
templates/concurrency_view/ada_ri_wrappers_source/filesys.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- Specify the file name for the complete system (including nodes)
@@-- (no template tag)
templates/concurrency_view/ada_ri_wrappers_source/filethread.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- Specify the file name for a thread
@@-- @_Thread_Name_@ is available.
@@-- Don't specify anything if you don't want the file to be created
templates/concurrency_view/ada_ri_wrappers_source/node.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- The following tags are available in this template:
@@--
@@-- @_Node_Name_@ : Name of the node from deployment view
@@-- @_Partition_Names_@ : Tag listing the partitions in this node
@@-- @_Partitions_@ : List of rendered code for partitions
@@-- @_CPU_Name_@, _Platform_@, _Classifier_@, _Ada_Runtime_@ : Info about CPU
@@-- In standard TASTE systems there is only one partition per node
templates/concurrency_view/ada_ri_wrappers_source/partition.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@--
The
following
tags
are
available
in
this
template
:
@@--
@@--
@
_Name_
@
:
Partition
name
(
usually
the
name
of
the
binary
)
@@--
@
_Threads_
@
:
Code
generated
for
the
threads
@@--
@
_Thread_Names_
@
:
Tag
:
list
of
thread
names
@@--
@
_Node_Name_
@
:
Name
of
the
node
containing
this
partition
@@--
@
_Blocks_
@
:
Code
generated
for
protected
functions
@@--
@
_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
)
@@--
@
_Bound_Functions_
@
:
List
of
user
functions
from
Interface
view
@@--
@
_Thread_Src_Name_
@
:
Vector
tag
:
connection
thread
name
(
source
)
@@--
@
_Thread_Dst_Name_
@
:
Vector
tag
:
connection
thread
name
(
dest
)
@@--
@
_Thread_Src_Port_
@
:
Vector
tag
:
connection
port
name
(
source
)
@@--
@
_Thread_Dst_Port_
@
:
Vector
tag
:
connection
port
name
(
dest
)
with
Interfaces
.
C
;
package
Required_Interfaces
is
--
generated
from
templates
/
concurrency_view
/
ada_ri_wrappers_source
/
partition
.
tmplt
@
_Threads
'Indent_@
end Required_Interfaces;
templates/concurrency_view/ada_ri_wrappers_source/pi.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- 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
templates/concurrency_view/ada_ri_wrappers_source/ri.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- 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
templates/concurrency_view/ada_ri_wrappers_source/system.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- The following tags are available in this template:
@@--
@@-- @_Nodes_@ : Code generated for the nodes
@@-- @_Node_Names_@ : Vector Tag of node names
@@-- @_Node_CPU_@ : |_ Corresponding CPU name (eg x86_linux)
@@-- @_Node_CPU_Classifier_@ : |_ CPU Classifier (ocarina...::x86_linux)
@@-- @_Partition_Names_@ : Vector Tag of partition names
@@-- @_Partition_Node_@ : |_ Corresponding node name
@@-- @_Partition_CPU_@ : |_ Corresponding CPU name
@@-- @_Threads_@ : Code generated for the threads
@@-- @_Thread_Names_@ : List of all threads in the complete system
@@-- @_Target_Packages_@ : List of all target package names in the complete system
@@-- And all the system configuration obtained from the command line:
@@-- Interface_View, Deployment_View, Data_View, Binary_Path, Check_Data_View,
@@-- Output_Dir, Skeletons, Glue, Use_POHIC, Timer_Resolution, Debug_Flag,
@@-- No_Stdlib_Flag, Timer_Resolution, Other_Files (list of aadl files)
templates/concurrency_view/ada_ri_wrappers_source/thread.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@--
The
following
tags
are
available
in
this
template
:
@@--
@@--
@
_Thread_Name_
@
:
Thread
name
@@--
@
_Entry_Port_Name_
@
:
Name
of
the
PI
@@--
@
_RCM_
@
:
One
of
"CYCLIC_OPERATION"
,
"SPORADIC_OPERATION"
@@--
@
_Pro_Block_Name_
@
:
Name
of
the
protected
function
@@--
@
_Node_Name_
@
:
Name
of
the
deployment
node
@@--
@
_Remote_Threads_
@
:
Vector
tag
:
output
remote
thread
list
@@--
@
_RI_Port_Names_
@
:
|
_
Corresponding
local
RI
name
@@--
@
_Remote_PIs_
@
:
|
_
Associated
PI
Name
@@--
@
_Remote_PI_Sorts_
@
:
|
_
Optional
param
type
of
the
remote
thread
@@--
@
_Remote_PI_Modules_
@
:
|
_
Asn1
module
of
the
optional
param
type
@@--
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_
@,
_ASN1_Modules
,
_Encodings_
@,
_Directions_
@
:
param
vector
tag
@@--
@
_Period_
@,
@
_WCET_
@,
@
_Queue_Size_
@
:
relevant
here
@@--
@
_IF_Property_Names_
@,
_Values_
@
:
user
properties
(
vector
tag
)
@@--
@@--
Matrix
of
output
ports
:
Remote
thread
/
corresponding
remote
PI
@
_Name_
@
package
@
_CAPITALIZE
:
Thread_Name_
@
is
---
generated
from
templates
/
concurrency_view
/
ada_ri_wrappers_source
/
thread
.
tmplt
@@
INLINE
(
)(\
n
)(\
n
)@@
@@
TABLE
@@
@@
IF
@@
@
_Remote_PI_Sorts
'Length_@ > 0
procedure @_CAPITALIZE:RI_Port_Names_@ (Param : Interfaces.C.Char_Array; Param_Size : Integer)
with Export, Convention => C, Link_Name => "vm_async_@_LOWER:Thread_Name_@_@_LOWER:RI_Port_Names_@";
@@ELSE@@
procedure @_CAPITALIZE:RI_Port_Names_@
with Export, Convention => C, Link_Name => "vm_async_@_LOWER:Thread_Name_@_@_LOWER:RI_Port_Names_@";
@@END_IF@@
@@END_TABLE@@
@@END_INLINE@@
end @_CAPITALIZE:Thread_Name_@;
templates/concurrency_view/ada_ri_wrappers_source/trigger.tmplt
deleted
100644 → 0
View file @
e4af4b74
@@-- The following boolean tags are available to decide if the file
@@-- shall be generated or not:
@@-- Filename_Is_Present
@@-- Skeletons
@@-- Glue
@@-- Use_POHIC
@@-- Debug
@@-- No_Stdlib
@@IF@@ not @_Use_POHIC_@
TRUE
@@END_IF@@
templates/concurrency_view/ada_wrappers_body/block.tmplt
View file @
55ed4b44
...
...
@@ -10,10 +10,21 @@
package
body
@
_CAPITALIZE
:
Name_
@
is
@@
IF
@@
@
_Protected_PIs_
@
/=
""
--
Protected
provided
interfaces
(
incl
.
Sporadic
and
cyclics
)
--
from
templates
/
concurrency_view
/
ada_wrappers_body
/
pi
.
tmplt
)
protected
body
@
_CAPITALIZE
:
Name_
@
_Protected
is
@
_Protected_PIs
'Indent_@
end @_CAPITALIZE:Name_@_Protected;
@@END_IF@@
-- Unprotected provided interfaces
-- from templates/concurrency_view/ada_wrappers_body/pi.tmplt
@_Unprotected_PIs'
Indent_
@
--
End
if
unprotected
interfaces
@@
IF
@@
@
_Required_
@
/=
""
--
Required
interfaces
(
templates
/
concurrency_view
/
ada_wrappers_body
/
ri
.
tmplt
)
@
_Required
'Indent_@
@@END_IF@@
end @_CAPITALIZE:Name_@;
templates/concurrency_view/ada_wrappers_body/filepart.tmplt
View file @
55ed4b44
@@-- Specify the file name for a partition
@@-- @_Partition_Name_@ is available.
@@-- Don't specify anything if you don't want the file to be created
@_LOWER:Partition_Name_@/@_LOWER:Partition_Name_@_
polyorb
_interface.adb
@_LOWER:Partition_Name_@/@_LOWER:Partition_Name_@_
taste
_interface.adb
templates/concurrency_view/ada_wrappers_body/partition.tmplt
View file @
55ed4b44
...
...
@@ -16,8 +16,17 @@
@@--
@
_Thread_Dst_Name_
@
:
Vector
tag
:
connection
thread
name
(
dest
)
@@--
@
_Thread_Src_Port_
@
:
Vector
tag
:
connection
port
name
(
source
)
@@--
@
_Thread_Dst_Port_
@
:
Vector
tag
:
connection
port
name
(
dest
)
package
body
@
_CAPITALIZE
:
Name_
@
_Polyorb_Interface
is
with
PolyORB_HI
.
Utils
;
use
PolyORB_HI
.
Utils
;
@@
IF
@@
@
_Thread_Src_Name
'Length_@ > 0
with PolyORB_HI_Generated.Activity,
PolyORB_HI.Errors;
use PolyORB_HI_Generated.Activity;
@@END_IF@@
package body @_CAPITALIZE:Name_@_TASTE_Interface is
-- generated from templates/concurrency_view/ada_wrappers_body/partition.tmplt
@_Blocks'
Indent_
@
@
_Threads
'Indent_@
end
@
_CAPITALIZE
:
Name_
@
_
Polyorb
_Interface
;
end @_CAPITALIZE:Name_@_
TASTE
_Interface;
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment