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
33596244
Commit
33596244
authored
Nov 18, 2019
by
Maxime Perrotin
Browse files
Add testcase for type/instances
parent
4f4c358d
Changes
11
Hide whitespace changes
Inline
Side-by-side
test/instances/.gdb_history
0 → 100644
View file @
33596244
run
b pulse
p pulse
start
p pulse
b pulse
b son_pulse_job
c
c
c son_PI_Pulse
b son_PI_Pulse
c
c
c
c
c
c
list
s
list
s
s
s
s
s
s
s
s
c
c
c
c
c
c
c
n
test/instances/ConcurrencyView_Properties.aadl
0 → 100644
View file @
33596244
test/instances/DataView.aadl
0 → 100644
View file @
33596244
--------------------------------------------------------
--
! File generated by asn2aadl v2.2-r327f5c8: DO NOT EDIT !
--------------------------------------------------------
--
! MadeInFastMode:True:
--
! InputASN1FileChecksum:53d487ffacc365a02f274221dd7ee07f:/home/taste/tool-src/kazoo/test/instances/DataView.asn:
--
! InputASN1FileChecksum:6807ae404dafd6166f93933edee3f0e5:/home/taste/tool-src/kazoo/test/instances/DataView.acn:
--
! InputASN1FileChecksum:ee8a7e01f29874c0d50f437d5abb9599:/home/taste/tool-inst/share/taste-types/taste-types.asn:
--------------------------------------------------------
package
DataView
public
with
Data_Model
;
with
Taste
;
with
Base_Types
;
with
Deployment
;
DATA
Simulink_Tunable_Parameter
PROPERTIES
TASTE
::
Ada_Package_Name
=>
"TASTE_Directives"
;
Type_Source_Name
=>
"Simulink-Tunable-Parameter"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-Directives"
;
TASTE
::
Forbid_in_PI
=>
true
;
END
Simulink_Tunable_Parameter
;
DATA
Timer
PROPERTIES
TASTE
::
Ada_Package_Name
=>
"TASTE_Directives"
;
Type_Source_Name
=>
"Timer"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-Directives"
;
TASTE
::
Forbid_in_PI
=>
true
;
END
Timer
;
DATA
Taste_directive
PROPERTIES
TASTE
::
Ada_Package_Name
=>
"TASTE_Directives"
;
Type_Source_Name
=>
"Taste-directive"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-Directives"
;
TASTE
::
Forbid_in_PI
=>
true
;
END
Taste_directive
;
data
Stream_Element_Buffer
--
Root
type
for
buffer
elements
properties
Data_Model
::
Data_Representation
=>
Character
;
end
Stream_Element_Buffer
;
DATA
My_Integer
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
Source_Text
=>
(
"/home/taste/tool-src/kazoo/test/instances/DataView.asn"
);
TASTE
::
EncodingDefinitionFile
=>
classifier
(
DataView
::
ACN_DataView
);
TASTE
::
Ada_Package_Name
=>
"INSTANCES_DATAVIEW"
;
Deployment
::
ASN1_Module_Name
=>
"INSTANCES-DATAVIEW"
;
Source_Language
=>
(
ASN1
);
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"My-Integer"
;
TASTE
::
Position_In_File
=>
[
line
=>
5
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aINTEGER
;
END
My_Integer
;
DATA
IMPLEMENTATION
My_Integer
.
impl
END
My_Integer
.
impl
;
DATA
My_Integer_Buffer_Max
END
My_Integer_Buffer_Max
;
DATA
IMPLEMENTATION
My_Integer_Buffer_Max
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
My_Integer
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
My_Integer_Buffer_Max
.
impl
;
DATA
My_Integer_Buffer
END
My_Integer_Buffer
;
DATA
IMPLEMENTATION
My_Integer_Buffer
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
My_Integer
SUBCOMPONENTS
Buffer
:
data
My_Integer_Buffer_Max
.
impl
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
END
My_Integer_Buffer
.
impl
;
DATA
T_Boolean
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
Source_Text
=>
(
"/home/taste/tool-inst/share/taste-types/taste-types.asn"
);
TASTE
::
Ada_Package_Name
=>
"TASTE_BasicTypes"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-BasicTypes"
;
Source_Language
=>
(
ASN1
);
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"T-Boolean"
;
TASTE
::
Position_In_File
=>
[
line
=>
14
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aBOOLEAN
;
END
T_Boolean
;
DATA
IMPLEMENTATION
T_Boolean
.
impl
END
T_Boolean
.
impl
;
DATA
T_Boolean_Buffer_Max
END
T_Boolean_Buffer_Max
;
DATA
IMPLEMENTATION
T_Boolean_Buffer_Max
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_Boolean
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
T_Boolean_Buffer_Max
.
impl
;
DATA
T_Boolean_Buffer
END
T_Boolean_Buffer
;
DATA
IMPLEMENTATION
T_Boolean_Buffer
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_Boolean
SUBCOMPONENTS
Buffer
:
data
T_Boolean_Buffer_Max
.
impl
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
END
T_Boolean_Buffer
.
impl
;
DATA
T_Int32
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
Source_Text
=>
(
"/home/taste/tool-inst/share/taste-types/taste-types.asn"
);
TASTE
::
Ada_Package_Name
=>
"TASTE_BasicTypes"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-BasicTypes"
;
Source_Language
=>
(
ASN1
);
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"T-Int32"
;
TASTE
::
Position_In_File
=>
[
line
=>
6
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aINTEGER
;
END
T_Int32
;
DATA
IMPLEMENTATION
T_Int32
.
impl
END
T_Int32
.
impl
;
DATA
T_Int32_Buffer_Max
END
T_Int32_Buffer_Max
;
DATA
IMPLEMENTATION
T_Int32_Buffer_Max
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_Int32
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
T_Int32_Buffer_Max
.
impl
;
DATA
T_Int32_Buffer
END
T_Int32_Buffer
;
DATA
IMPLEMENTATION
T_Int32_Buffer
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_Int32
SUBCOMPONENTS
Buffer
:
data
T_Int32_Buffer_Max
.
impl
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
END
T_Int32_Buffer
.
impl
;
DATA
T_Int8
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
Source_Text
=>
(
"/home/taste/tool-inst/share/taste-types/taste-types.asn"
);
TASTE
::
Ada_Package_Name
=>
"TASTE_BasicTypes"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-BasicTypes"
;
Source_Language
=>
(
ASN1
);
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"T-Int8"
;
TASTE
::
Position_In_File
=>
[
line
=>
10
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aINTEGER
;
END
T_Int8
;
DATA
IMPLEMENTATION
T_Int8
.
impl
END
T_Int8
.
impl
;
DATA
T_Int8_Buffer_Max
END
T_Int8_Buffer_Max
;
DATA
IMPLEMENTATION
T_Int8_Buffer_Max
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_Int8
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
T_Int8_Buffer_Max
.
impl
;
DATA
T_Int8_Buffer
END
T_Int8_Buffer
;
DATA
IMPLEMENTATION
T_Int8_Buffer
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_Int8
SUBCOMPONENTS
Buffer
:
data
T_Int8_Buffer_Max
.
impl
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
END
T_Int8_Buffer
.
impl
;
DATA
T_UInt32
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
Source_Text
=>
(
"/home/taste/tool-inst/share/taste-types/taste-types.asn"
);
TASTE
::
Ada_Package_Name
=>
"TASTE_BasicTypes"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-BasicTypes"
;
Source_Language
=>
(
ASN1
);
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"T-UInt32"
;
TASTE
::
Position_In_File
=>
[
line
=>
8
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aINTEGER
;
END
T_UInt32
;
DATA
IMPLEMENTATION
T_UInt32
.
impl
END
T_UInt32
.
impl
;
DATA
T_UInt32_Buffer_Max
END
T_UInt32_Buffer_Max
;
DATA
IMPLEMENTATION
T_UInt32_Buffer_Max
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_UInt32
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
T_UInt32_Buffer_Max
.
impl
;
DATA
T_UInt32_Buffer
END
T_UInt32_Buffer
;
DATA
IMPLEMENTATION
T_UInt32_Buffer
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_UInt32
SUBCOMPONENTS
Buffer
:
data
T_UInt32_Buffer_Max
.
impl
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
END
T_UInt32_Buffer
.
impl
;
DATA
T_UInt8
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
Source_Text
=>
(
"/home/taste/tool-inst/share/taste-types/taste-types.asn"
);
TASTE
::
Ada_Package_Name
=>
"TASTE_BasicTypes"
;
Deployment
::
ASN1_Module_Name
=>
"TASTE-BasicTypes"
;
Source_Language
=>
(
ASN1
);
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"T-UInt8"
;
TASTE
::
Position_In_File
=>
[
line
=>
12
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aINTEGER
;
END
T_UInt8
;
DATA
IMPLEMENTATION
T_UInt8
.
impl
END
T_UInt8
.
impl
;
DATA
T_UInt8_Buffer_Max
END
T_UInt8_Buffer_Max
;
DATA
IMPLEMENTATION
T_UInt8_Buffer_Max
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_UInt8
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
T_UInt8_Buffer_Max
.
impl
;
DATA
T_UInt8_Buffer
END
T_UInt8_Buffer
;
DATA
IMPLEMENTATION
T_UInt8_Buffer
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
T_UInt8
SUBCOMPONENTS
Buffer
:
data
T_UInt8_Buffer_Max
.
impl
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
END
T_UInt8_Buffer
.
impl
;
SYSTEM
Taste_DataView
END
Taste_DataView
;
SYSTEM
IMPLEMENTATION
Taste_DataView
.
others
SUBCOMPONENTS
My_Integer
:
DATA
My_Integer
.
impl
;
T_Boolean
:
DATA
T_Boolean
.
impl
;
T_Int32
:
DATA
T_Int32
.
impl
;
T_Int8
:
DATA
T_Int8
.
impl
;
T_UInt32
:
DATA
T_UInt32
.
impl
;
T_UInt8
:
DATA
T_UInt8
.
impl
;
END
Taste_DataView
.
others
;
DATA
ACN_DataView
PROPERTIES
Source_Text
=>
(
"/home/taste/tool-src/kazoo/test/instances/DataView.acn"
);
Source_Language
=>
(
ACN
);
END
ACN_DataView
;
end
DataView
;
test/instances/DataView.acn
0 → 100644
View file @
33596244
INSTANCES-DATAVIEW DEFINITIONS ::= BEGIN
-- In this ACN model, you can specify custom binary encoding rules for
-- your data types. For example if you require a specific memory layout
-- for a record, or need to add padding fields, define endianness, etc.
-- you can do that with ACN. Refer to the TASTE wiki for documentation:
-- https://taste.tuxfamily.org/wiki/index.php?title=Main_Page
-- Example of custom encoding:
-- My-Integer [encoding pos-int, endianness big, size 16]
END
test/instances/DataView.asn
0 → 100644
View file @
33596244
INSTANCES-DATAVIEW DEFINITIONS ::=
BEGIN
IMPORTS T-Int32, T-UInt32, T-Int8, T-UInt8, T-Boolean FROM TASTE-BasicTypes;
My-Integer ::= INTEGER (3 .. 1415)
-- ASN.1 Type definitions must start with an uppercase
-- Field names in records (SEQUENCE) must start with a lowercase
-- Underscores are not allowed: use dash (hyphen)
-- For integers do not assume that small ranges will be translated to small
-- types in C or Ada (expect unsigned or signed 64 bits types with subtypes
-- for the range in Ada)
-- Simple types:
-- TASTE-Boolean ::= BOOLEAN
-- MyInteger ::= INTEGER (0..255)
-- MyReal ::= REAL (0.0 .. 1000.0)
-- MyBool ::= BOOLEAN
-- MyEnum ::= ENUMERATED { hello, world, how-are-you }
-- Complex types:
-- MySeq ::= SEQUENCE {
-- input-data MyInteger,
-- output-data MyInteger,
-- validity ENUMERATED { valid, invalid }
-- }
--
-- MyChoice ::= CHOICE {
-- a BOOLEAN,
-- b MySeq
-- }
--
-- MySeqOf ::= SEQUENCE (SIZE (2)) OF MyEnum
--
-- MyOctStr ::= OCTET STRING (SIZE (3))
--
-- -- You can also declare constants
-- myVar MySeqOf ::= { hello, world }
END
test/instances/DeploymentView.aadl
0 → 100644
View file @
33596244
---------------------------------------------------
-- AADL2.2
-- TASTE type deploymentview
--
-- generated code: do not edit
---------------------------------------------------
PACKAGE deploymentview::DV::Node1
PUBLIC
WITH Taste;
WITH Deployment;
WITH TASTE_DV_Properties;
WITH deploymentview::DV;
WITH Memory_Properties;
WITH ARINC653;
PROCESS demo
END demo;
PROCESS IMPLEMENTATION demo.others
END demo.others;
END deploymentview::DV::Node1;
PACKAGE deploymentview::DV
PUBLIC
WITH interfaceview::IV::Worker;
WITH interfaceview::IV::Son;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Node1;
WITH Taste;
WITH Deployment;
WITH interfaceview::IV;
WITH TASTE_DV_Properties;
SYSTEM Node1
END Node1;
SYSTEM IMPLEMENTATION Node1.others
SUBCOMPONENTS
IV_Worker : SYSTEM interfaceview::IV::Worker::Worker.others {
Taste::FunctionName => "Worker";
};
IV_Son : SYSTEM interfaceview::IV::Son::Son.others {
Taste::FunctionName => "Son";
};
demo : PROCESS deploymentview::DV::Node1::demo.others {
Taste::coordinates => "109723 74124 143183 93800";
Deployment::Port_Number => 0;
};
x86_linux : PROCESSOR ocarina_processors_x86::x86.linux {
Taste::coordinates => "105540 68502 147366 96611";
};
PROPERTIES
Taste::APLC_Binding => (reference (demo)) APPLIES TO IV_Worker;
Taste::APLC_Binding => (reference (demo)) APPLIES TO IV_Son;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO demo;
END Node1.others;
SYSTEM deploymentview
END deploymentview;
SYSTEM IMPLEMENTATION deploymentview.others
SUBCOMPONENTS
Node1 : SYSTEM Node1.others {
Taste::coordinates => "100312 60471 152594 100627";
};
interfaceview : SYSTEM interfaceview::IV::interfaceview.others;
END deploymentview.others;
PROPERTIES
Taste::coordinates => "0 0 297000 210000";
Taste::version => "2.3";
Taste::interfaceView => "InterfaceView.aadl";
Taste::HWLibraries => ("/home/taste/tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
END deploymentview::DV;
test/instances/InterfaceView.aadl
0 → 100644
View file @
33596244
---------------------------------------------------
-- AADL2.2
-- TASTE type interfaceview
--
-- generated code: do not edit
---------------------------------------------------
PACKAGE interfaceview::IV::Mother
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_Pulse
END PI_Pulse;
SUBPROGRAM IMPLEMENTATION PI_Pulse.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_Pulse.others;
SUBPROGRAM RI_DoSomething
FEATURES
a : IN PARAMETER DataView::T_Int32 {
Taste::encoding => NATIVE;
};
b : OUT PARAMETER DataView::T_Int32 {
Taste::encoding => NATIVE;
};
END RI_DoSomething;
SUBPROGRAM IMPLEMENTATION RI_DoSomething.others
END RI_DoSomething.others;
SYSTEM Mother
FEATURES
PI_Pulse : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Mother::PI_Pulse.others {
Taste::coordinates => "92596 60943";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 500 ms;
Taste::InterfaceName => "Pulse";
};
RI_DoSomething : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Mother::RI_DoSomething.others {
Taste::coordinates => "92596 70864";
Taste::RCMoperationKind => unprotected;
Taste::InterfaceName => "DoSomething";
Taste::labelInheritance => "false";
};
PROPERTIES
Source_Language => (SDL);
Taste::Active_Interfaces => any;
Taste::is_Component_Type => true;
END Mother;
SYSTEM IMPLEMENTATION Mother.others
END Mother.others;
END interfaceview::IV::Mother;
PACKAGE interfaceview::IV::Worker
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_DoSomething
FEATURES
a : IN PARAMETER DataView::T_Int32 {
Taste::encoding => NATIVE;
};
b : OUT PARAMETER DataView::T_Int32 {
Taste::encoding => NATIVE;
};
END PI_DoSomething;
SUBPROGRAM IMPLEMENTATION PI_DoSomething.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_DoSomething.others;
SYSTEM Worker
FEATURES
PI_DoSomething : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Worker::PI_DoSomething.others {
Taste::coordinates => "154169 98581";
Taste::RCMoperationKind => unprotected;
Taste::InterfaceName => "DoSomething";
};
PROPERTIES
Source_Language => (C);
Taste::Active_Interfaces => any;
END Worker;
SYSTEM IMPLEMENTATION Worker.others
END Worker.others;
END interfaceview::IV::Worker;
PACKAGE interfaceview::IV::Son
PUBLIC
WITH interfaceview::IV::Worker;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_Pulse
END PI_Pulse;
SUBPROGRAM IMPLEMENTATION PI_Pulse.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_Pulse.others;
SUBPROGRAM RI_DoSomething
FEATURES
a : IN PARAMETER DataView::T_Int32 {
Taste::encoding => NATIVE;
};
b : OUT PARAMETER DataView::T_Int32 {
Taste::encoding => NATIVE;
};
END RI_DoSomething;
SUBPROGRAM IMPLEMENTATION RI_DoSomething.others
END RI_DoSomething.others;
SYSTEM Son
FEATURES
PI_Pulse : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Son::PI_Pulse.others {
Taste::coordinates => "91966 98297";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 500 ms;
Taste::InterfaceName => "Pulse";
};
RI_DoSomething : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Worker::PI_DoSomething.others {
Taste::coordinates => "130233 98544";
Taste::RCMoperationKind => unprotected;
Taste::InterfaceName => "DoSomething";
Taste::labelInheritance => "false";
};
PROPERTIES
Source_Language => (SDL);
Taste::Active_Interfaces => any;
Taste::is_Instance_Of => "interfaceview::IV::Mother::Mother.others";
Taste::is_Instance_Of2 => classifier(interfaceview::IV::Mother::Mother.others);
END Son;
SYSTEM IMPLEMENTATION Son.others
END Son.others;
END interfaceview::IV::Son;
PACKAGE interfaceview::IV
PUBLIC
WITH interfaceview::IV::Mother;
WITH interface