Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
Ocarina
Commits
9473e85d
Commit
9473e85d
authored
Apr 20, 2015
by
yoogx
Browse files
Merge branch 'master' of
https://github.com/OpenAADL/ocarina
parents
1427953c
3a46bcf5
Changes
11
Hide whitespace changes
Inline
Side-by-side
src/backends/ocarina-backends-c_common-types.adb
View file @
9473e85d
...
...
@@ -440,6 +440,19 @@ package body Ocarina.Backends.C_Common.Types is
Data_Size
:=
Get_Data_Size
(
E
);
Actual_Data_Size
:=
To_Bytes
(
Data_Size
);
Type_Source_Name
:=
Get_Type_Source_Name
(
E
);
--
-- If the user specifies Type_Source_Name property
-- on the data type, then, the generator takes
-- it over everything else. This is a way to
-- override some assumptions from the code generator.
--
if
Type_Source_Name
/=
No_Name
then
Data_Representation
:=
Data_None
;
end
if
;
case
Data_Representation
is
when
Data_Boolean
=>
N
:=
...
...
@@ -743,8 +756,6 @@ package body Ocarina.Backends.C_Common.Types is
Fatal
=>
True
);
when
Data_None
=>
Type_Source_Name
:=
Get_Type_Source_Name
(
E
);
if
Type_Source_Name
/=
No_Name
then
N
:=
Make_Full_Type_Declaration
...
...
src/backends/ocarina-backends-po_hi_c-runtime.adb
View file @
9473e85d
...
...
@@ -110,8 +110,9 @@ package body Ocarina.Backends.PO_HI_C.Runtime is
----------------
procedure
Initialize
is
Name
:
Name_Id
;
N
:
Node_Id
;
Name
:
Name_Id
;
N
:
Node_Id
;
Local
:
Boolean
;
begin
-- Initialize the runtime only once
...
...
@@ -120,6 +121,7 @@ package body Ocarina.Backends.PO_HI_C.Runtime is
end
if
;
Initialized
:=
True
;
Local
:=
False
;
Register_Casing_Rule
(
"AADL"
);
Register_Casing_Rule
(
"char_array"
);
...
...
@@ -157,7 +159,13 @@ package body Ocarina.Backends.PO_HI_C.Runtime is
N
:=
New_Node
(
K_Defining_Identifier
);
Set_Name
(
N
,
Name
);
RHD
(
E
)
:=
Make_Include_Clause
(
N
,
False
);
if
E
=
RH_Subprograms
then
Local
:=
True
;
else
Local
:=
False
;
end
if
;
RHD
(
E
)
:=
Make_Include_Clause
(
N
,
Local
);
end
loop
;
for
E
in
RC_Id
loop
...
...
src/backends/ocarina-backends-pok_c-activity.adb
View file @
9473e85d
...
...
@@ -1330,93 +1330,109 @@ package body Ocarina.Backends.POK_C.Activity is
(
Get_Port_By_Name
(
F
,
Current_Device
))
then
if
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))
/=
No_Node
then
Map_Virtual_Bus_Calls
(
AIN
.
Item
(
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))),
CTN
.
Declarations
(
Current_File
),
WStatements
,
Sending
,
Virtual_Bus_Data
,
Virtual_Bus_Size
,
Current_Device
);
end
if
;
Source_Port
:=
First_Node
(
Destinations
(
F
));
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
,
Current_Device
)),
Call_Parameters
);
while
Source_Port
/=
No_Node
loop
if
Virtual_Bus_Data
=
No_Node
then
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
Call_Parameters
:=
New_List
(
CTN
.
K_Parameter_List
);
if
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))
/
=
No_Node
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
)),
Call_Parameters
);
else
Append_Node_To_List
(
Make_Variable_Address
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
)))
,
C
all_Parameters
);
Map_Virtual_Bus_Calls
(
AIN
.
Item
(
AIN
.
First_Node
(
AIN
.
Destinations
(
F
))),
CTN
.
Declarations
(
Current_File
),
WStatements
,
Sending
,
Virtual_Bus_Data
,
Virtual_Bus_Size
,
C
urrent_Device
);
end
if
;
else
Append_Node_To_List
(
Make_Variable_Address
(
Virtual_Bus_Data
),
(
Make_Defining_Identifier
(
Map_Port_Var
(
Item
(
Source_Port
),
Current_Device
)),
Call_Parameters
);
end
if
;
if
Virtual_Bus_Size
/=
No_Node
then
N
:=
Copy_Node
(
Virtual_Bus_Size
);
else
if
Current_Device
=
No_Node
then
N
:=
Get_Inter_Partition_Port_Size
(
F
);
else
N
:=
Get_Inter_Partition_Port_Size
(
Get_Port_By_Name
(
F
,
Current_Device
));
if
Is_Using_Virtual_Bus
(
Get_Port_By_Name
(
F
,
Current_Device
))
if
Virtual_Bus_Data
=
No_Node
then
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
then
Add_Include
(
RH
(
RH_Protocols
));
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
)),
Call_Parameters
);
else
Append_Node_To_List
(
Make_Variable_Address
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
,
Current_Device
))),
Call_Parameters
);
end
if
;
else
Append_Node_To_List
(
Make_Variable_Address
(
Virtual_Bus_Data
),
Call_Parameters
);
end
if
;
end
if
;
Append_Node_To_List
(
N
,
Call_Parameters
);
if
Use_ARINC653_API
then
Add_Return_Variable_In_Parameters
(
Call_Parameters
);
Called_Function
:=
RE
(
RE_Write_Sampling_Message
);
Type_Used
:=
RE
(
RE_Sampling_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Sampling_Write
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
N
:=
CTU
.
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
if
Virtual_Bus_Size
/=
No_Node
then
N
:=
Copy_Node
(
Virtual_Bus_Size
);
else
if
Current_Device
=
No_Node
then
N
:=
Get_Inter_Partition_Port_Size
(
F
);
else
N
:=
Get_Inter_Partition_Port_Size
(
Get_Port_By_Name
(
F
,
Current_Device
));
if
Is_Using_Virtual_Bus
(
Get_Port_By_Name
(
F
,
Current_Device
))
then
Add_Include
(
RH
(
RH_Protocols
));
end
if
;
end
if
;
end
if
;
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
,
Current_Device
))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
Append_Node_To_List
(
N
,
Call_Parameters
);
Append_Node_To_List
(
N
,
WStatements
);
if
Use_ARINC653_API
then
Add_Return_Variable_In_Parameters
(
Call_Parameters
);
Called_Function
:=
RE
(
RE_Write_Sampling_Message
);
Type_Used
:=
RE
(
RE_Sampling_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Sampling_Write
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
POK_Add_Return_Assertion
(
WStatements
);
N
:=
CTU
.
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
Item
(
Source_Port
),
Current_Device
))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
Append_Node_To_List
(
N
,
WStatements
);
POK_Add_Return_Assertion
(
WStatements
);
Source_Port
:=
Next_Node
(
Source_Port
);
end
loop
;
elsif
Get_Connection_Pattern
(
F
)
=
Intra_Process
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
)),
...
...
@@ -1490,69 +1506,81 @@ package body Ocarina.Backends.POK_C.Activity is
Current_Device
);
end
if
;
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
)),
Call_Parameters
);
Source_Port
:=
AIN
.
First_Node
(
AIN
.
Destinations
(
F
));
while
(
Source_Port
/=
No_Node
)
loop
Call_Parameters
:=
New_List
(
CTN
.
K_Parameter_List
);
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
)),
Call_Parameters
);
else
Append_Node_To_List
(
Make_
Variable_Address
(
Ma
ke_Defining_Identifier
(
Map_Port_Data
(
F
))),
(
Make_
Defining_Identifier
(
Ma
p_Port_Var
(
Item
(
Source_Port
))),
Call_Parameters
);
end
if
;
N
:=
CTU
.
Get_Data_Size
(
Corresponding_Instance
(
F
));
Append_Node_To_List
(
N
,
Call_Parameters
);
if
Get_Timeout_Value
(
F
)
/=
Null_Time
then
if
Use_ARINC653_API
then
N
:=
Map_Time_To_Millisecond
(
Get_Timeout_Value
(
F
));
if
Get_Data_Representation
(
Corresponding_Instance
(
F
))
=
Data_Array
then
Append_Node_To_List
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
)),
Call_Parameters
);
else
N
:=
Map_Time
(
Get_Timeout_Value
(
F
));
Append_Node_To_List
(
Make_Variable_Address
(
Make_Defining_Identifier
(
Map_Port_Data
(
F
))),
Call_Parameters
);
end
if
;
else
N
:=
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
0
,
1
,
10
));
end
if
;
Append_Node_To_List
(
N
,
Call_Parameters
);
if
Use_ARINC653_API
then
A
dd_Return_Variable_In_Parameters
(
Call_Parameters
);
N
:=
CTU
.
Get_Data_Size
(
Corresponding_Instance
(
F
));
A
ppend_Node_To_List
(
N
,
Call_Parameters
);
Called_Function
:=
RE
(
RE_Send_Queuing_Message
);
Type_Used
:=
RE
(
RE_Queuing_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Queueing_Send
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
if
Get_Timeout_Value
(
F
)
/=
Null_Time
then
if
Use_ARINC653_API
then
N
:=
Map_Time_To_Millisecond
(
Get_Timeout_Value
(
F
));
else
N
:=
Map_Time
(
Get_Timeout_Value
(
F
));
end
if
;
else
N
:=
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
0
,
1
,
10
));
end
if
;
N
:=
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
Append_Node_To_List
(
N
,
Call_Parameters
);
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
F
))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
if
Use_ARINC653_API
then
Add_Return_Variable_In_Parameters
(
Call_Parameters
);
Append_Node_To_List
(
N
,
WStatements
);
Called_Function
:=
RE
(
RE_Send_Queuing_Message
);
Type_Used
:=
RE
(
RE_Queuing_Port_Id_Type
);
else
Called_Function
:=
RE
(
RE_Pok_Port_Queueing_Send
);
Type_Used
:=
RE
(
RE_Uint8_T
);
end
if
;
POK_Add_Return_Assertion
(
WStatements
);
N
:=
POK_Make_Function_Call_With_Assert
(
Called_Function
,
Call_Parameters
);
Append_Node_To_List
(
Make_Extern_Entity_Declaration
(
Make_Variable_Declaration
(
Defining_Identifier
=>
(
Make_Defining_Identifier
(
Map_Port_Var
(
Item
(
Source_Port
)))),
Used_Type
=>
Type_Used
)),
CTN
.
Declarations
(
Current_File
));
Append_Node_To_List
(
N
,
WStatements
);
POK_Add_Return_Assertion
(
WStatements
);
Source_Port
:=
Next_Node
(
Source_Port
);
end
loop
;
elsif
Get_Connection_Pattern
(
F
)
=
Intra_Process
and
then
not
Is_Virtual
(
Get_Port_By_Name
(
F
,
Current_Device
))
...
...
src/backends/ocarina-backends-pok_c-deployment.adb
View file @
9473e85d
...
...
@@ -1154,6 +1154,42 @@ package body Ocarina.Backends.POK_C.Deployment is
Bound_Processor
:=
Get_Bound_Processor
(
Associated_Component
);
end
if
;
--
-- Add a maccro to specify on which platform we are deploying
-- the code. This can be used to make some adjustment in the
-- user code.
--
case
POK_Flavor
is
when
DEOS
=>
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Ocarina_Runtime_Deos
),
Value
=>
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
1
,
1
,
10
)));
CTU
.
Append_Node_To_List
(
N
,
CTN
.
Declarations
(
CTU
.
Current_File
));
when
Vxworks
=>
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Ocarina_Runtime_Vxworks653
),
Value
=>
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
1
,
1
,
10
)));
CTU
.
Append_Node_To_List
(
N
,
CTN
.
Declarations
(
CTU
.
Current_File
));
when
POK
|
Arinc653
=>
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Ocarina_Runtime_Pok
),
Value
=>
CTU
.
Make_Literal
(
CV
.
New_Int_Value
(
1
,
1
,
10
)));
CTU
.
Append_Node_To_List
(
N
,
CTN
.
Declarations
(
CTU
.
Current_File
));
end
case
;
N
:=
CTU
.
Make_Define_Statement
(
Defining_Identifier
=>
RE
(
RE_Pok_Generated_Code
),
...
...
src/backends/ocarina-backends-pok_c-runtime.ads
View file @
9473e85d
...
...
@@ -190,6 +190,9 @@ package Ocarina.Backends.POK_C.Runtime is
RE_Assert_Ret_With_Exception
,
-- ASSERT_RET_WITH_EXCEPTION
RE_Pok_Generated_Code
,
-- POK_GENERATED_CODE
RE_Pok_Needs_Time
,
-- POK_NEEDS_TIME
RE_Ocarina_Runtime_Deos
,
-- OCARINA_RUNTIME_DEOS
RE_Ocarina_Runtime_Pok
,
-- OCARINA_RUNTIME_DEOS
RE_Ocarina_Runtime_Vxworks653
,
-- OCARINA_RUNTIME_DEOS
RE_Pok_Needs_Events
,
-- POK_NEEDS_EVENTS
RE_Pok_Needs_Threads
,
-- POK_NEEDS_THREADS
RE_Pok_Needs_Debug
,
-- POK_NEEDS_DEBUG
...
...
@@ -732,6 +735,9 @@ package Ocarina.Backends.POK_C.Runtime is
RE_Pok_Needs_Time
=>
RH_Deployment
,
RE_Pok_Generated_Code
=>
RH_Deployment
,
RE_Pok_Needs_Events
=>
RH_Deployment
,
RE_Ocarina_Runtime_Deos
=>
RH_Deployment
,
RE_Ocarina_Runtime_Pok
=>
RH_Deployment
,
RE_Ocarina_Runtime_Vxworks653
=>
RH_Deployment
,
RE_Pok_Needs_Ports_Sampling
=>
RH_Deployment
,
RE_Pok_Needs_Ports_Virtual
=>
RH_Deployment
,
RE_Pok_Needs_Gettick
=>
RH_Null
,
...
...
src/backends/ocarina-backends-vxworks653_conf-connections.adb
View file @
9473e85d
...
...
@@ -9,7 +9,7 @@ with Ocarina.ME_AADL.AADL_Instances.Entities;
with
Ocarina
.
Backends
.
C_Common
.
Mapping
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
--
with Ocarina.Backends.Vxworks653_Conf.Mapping;
with
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
body
Ocarina
.
Backends
.
Vxworks653_Conf
.
Connections
is
...
...
@@ -21,9 +21,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
use
Ocarina
.
ME_AADL
.
AADL_Instances
.
Entities
;
use
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
--
use Ocarina.Backends.Vxworks653_Conf.Mapping;
use
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
AIN
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nodes
;
package
AINU
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nutils
;
package
XTN
renames
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
...
...
@@ -186,11 +185,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Connection_Node
:=
Make_XML_Node
(
"Connection"
);
Source_Node
:=
Make_XML_Node
(
"Source"
);
Add_Attribute
(
"PartitionNameRef"
,
Get_Name_String
(
AIN
.
Name
(
AIN
.
Identifier
(
Parent_Subcomponent
(
E
)))),
Get_Name_String
(
Map_Partition_Name
(
E
)),
Source_Node
);
Add_Attribute
(
"PortNameRef"
,
...
...
@@ -211,11 +207,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Connections is
Add_Attribute
(
"PartitionNameRef"
,
Get_Name_String
(
AIN
.
Name
(
AIN
.
Identifier
(
Parent_Subcomponent
(
Get_Partition_Runtime
(
Partition_Destination
))))),
(
Map_Partition_Name
(
Get_Partition_Runtime
(
Partition_Destination
))),
Destination_Node
);
Append_Node_To_List
(
Destination_Node
,
...
...
src/backends/ocarina-backends-vxworks653_conf-hm.adb
View file @
9473e85d
...
...
@@ -10,7 +10,7 @@ with Ocarina.ME_AADL.AADL_Instances.Entities;
-- with Ocarina.Backends.Properties;
with
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
with
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
--
with Ocarina.Backends.Vxworks653_Conf.Mapping;
with
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
body
Ocarina
.
Backends
.
Vxworks653_Conf
.
Hm
is
...
...
@@ -20,9 +20,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
use
Ocarina
.
ME_AADL
.
AADL_Instances
.
Entities
;
use
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
-- use Ocarina.Backends.Properties;
--
use Ocarina.Backends.Vxworks653_Conf.Mapping;
use
Ocarina
.
Backends
.
Vxworks653_Conf
.
Mapping
;
package
AIN
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nodes
;
package
AINU
renames
Ocarina
.
ME_AADL
.
AADL_Instances
.
Nutils
;
package
XTN
renames
Ocarina
.
Backends
.
XML_Tree
.
Nodes
;
package
XTU
renames
Ocarina
.
Backends
.
XML_Tree
.
Nutils
;
...
...
@@ -384,10 +383,8 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Partition_HM_Table_Node
:=
Make_XML_Node
(
"PartitionHMTable"
);
XTU
.
Add_Attribute
(
"Name"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Virtual_Processor
)))),
(
Map_Partition_Name
(
Virtual_Processor
))
&
"_hm"
,
Partition_HM_Table_Node
);
Settings_Node
:=
Make_XML_Node
(
"Settings"
);
...
...
@@ -408,11 +405,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Hm is
Trusted_Partition_Node
:=
Make_XML_Node
(
"TrustedPartition"
);
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Virtual_Processor
)))),
Settings_Node
);
(
Map_Partition_Name
(
Virtual_Processor
)),
Trusted_Partition_Node
);
Append_Node_To_List
(
Trusted_Partition_Node
,
XTN
.
Subitems
(
Settings_Node
));
...
...
src/backends/ocarina-backends-vxworks653_conf-mapping.adb
View file @
9473e85d
...
...
@@ -1106,10 +1106,7 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
XTU
.
Add_Attribute
(
"Name"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Runtime
)))),
(
Map_Partition_Name
(
Runtime
)),
Partition_Node
);
--
-- Integer'Image adds a space in the beginning. To avoid that,
...
...
@@ -1124,7 +1121,9 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
Append_Node_To_List
(
Settings_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
XTU
.
Add_Attribute
(
"RequiredMemorySize"
,
"0x300000"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"PartitionHMTable"
,
"part1Hm"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"PartitionHMTable"
,
Get_Name_String
(
Map_Partition_Name
(
Runtime
))
&
"_hm"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"watchDogDuration"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"allocDisable"
,
"0"
,
Settings_Node
);
XTU
.
Add_Attribute
(
"numWorkerTasks"
,
"0"
,
Settings_Node
);
...
...
@@ -1141,22 +1140,35 @@ package body Ocarina.Backends.Vxworks653_Conf.Mapping is
Settings_Node
);
Shared_Library_Region_Node
:=
Make_XML_Node
(
"SharedLibraryRegion"
);
XTU
.
Add_Attribute
(
"Name
d
Ref"
,
"vxSysLib"
,
Shared_Library_Region_Node
);
XTU
.
Add_Attribute
(
"NameRef"
,
"vxSysLib"
,
Shared_Library_Region_Node
);
Append_Node_To_List
(
Shared_Library_Region_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
Application_Node
:=
Make_XML_Node
(
"Application"
);
Append_Node_To_List
(
Application_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
XTU
.
Add_Attribute
(
"NameRef"
,
Get_Name_String
(
AIN
.
Name
(
Identifier
(
Parent_Subcomponent
(
Runtime
)))),
Partition_Node
);
(
Map_Partition_Name
(
Runtime
,
True
)),
Application_Node
);
Append_Node_To_List
(
Application_Node
,
XTN
.
Subitems
(
Partition_Description_Node
));
return
Partition_Node
;
end
Map_Partition
;
function
Map_Partition_Name
(
Runtime
:
Node_Id
;
Use_Source_Name
:
Boolean
:=
False
)
return
Name_Id
is
Result
:
Name_Id
;