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
kazoo
Commits
ae2eb78e
Commit
ae2eb78e
authored
Sep 05, 2019
by
Maxime Perrotin
Browse files
Use Opengeode in Demo_ABB
parent
20021542
Changes
43
Show whitespace changes
Inline
Side-by-side
templates/concurrency_view/aadl_4_makefile/block.tmplt
View file @
ae2eb78e
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
@@-- @_Unprotected_PIs_@ : Unprotected Provided interfaces (from pi.tmplt)
@@-- @_Unprotected_PIs_@ : Unprotected Provided interfaces (from pi.tmplt)
@@-- @_Required_@ : Required interfaces (from ri.tmplt)
@@-- @_Required_@ : Required interfaces (from ri.tmplt)
@_LOWER:Name_@ :
@_LOWER:Name_@ :
@@IF@@ @_
LOWER:
Language_@ =
"sdl"
@@IF@@ @_Language_@ =
SDL
# Call opengeode to generate the functional code
# Call opengeode to generate the functional code
make -j -C ../@_LOWER:Name_@/SDL generate-code
make -j -C ../@_LOWER:Name_@/SDL generate-code
@@ELSE@@
@@ELSE@@
...
...
templates/skeletons/ada-source/trigger.tmplt
View file @
ae2eb78e
...
@@ -15,6 +15,6 @@
...
@@ -15,6 +15,6 @@
@@-- @_Filename_Is_Present_@ : True if target function output already exists
@@-- @_Filename_Is_Present_@ : True if target function output already exists
@@-- @_Makefile_Is_Present_@ : True if target build script already exists
@@-- @_Makefile_Is_Present_@ : True if target build script already exists
@@-- @_C_Middleware_@ : True if middleware is in C (e.g. PO-HI-C)
@@-- @_C_Middleware_@ : True if middleware is in C (e.g. PO-HI-C)
@@IF@@ @_Language_@ =
"
Ada
"
@@IF@@ @_Language_@ = Ada
TRUE
TRUE
@@END_IF@@
@@END_IF@@
templates/skeletons/opengeode-structure/interface.tmplt
View file @
ae2eb78e
...
@@ -14,12 +14,12 @@
...
@@ -14,12 +14,12 @@
@@IF@@ @_LOWER:Kind_@ = "cyclic_operation" or @_LOWER:Kind_@ = "sporadic_operation"
@@IF@@ @_LOWER:Kind_@ = "cyclic_operation" or @_LOWER:Kind_@ = "sporadic_operation"
@@IF@@ @_Param_Names'Length_@ > 0
@@IF@@ @_Param_Names'Length_@ > 0
/* CIF Keep Specific Geode PARAMNAMES @_Param_Names_@ */
/* CIF Keep Specific Geode PARAMNAMES @_Param_Names_@ */
signal @_
CAPITALIZE:
Name_@ (@_REPLACE_ALL((-)/_):Param_Types_@)
signal @_Name_@ (@_REPLACE_ALL((-)/_):Param_Types_@)
@@ELSE@@
@@ELSE@@
signal @_
CAPITALIZE:
Name_@
signal @_Name_@
@@END_IF@@
@@END_IF@@
@@ELSE@@
@@ELSE@@
procedure @_
CAPITALIZE:
Name_@;
procedure @_Name_@;
@@IF@@ @_EXIST:Param_Names_@
@@IF@@ @_EXIST:Param_Names_@
fpar
fpar
@@INLINE( )(,\n )(;\n external)@@
@@INLINE( )(,\n )(;\n external)@@
...
...
test/Demo_ABB/DataView.aadl
View file @
ae2eb78e
--------------------------------------------------------
--------------------------------------------------------
--
! File generated by asn2aadl v2.1.
39
: DO NOT EDIT !
--
! File generated by asn2aadl v2.1.
41
: DO NOT EDIT !
--------------------------------------------------------
--------------------------------------------------------
--
! InputASN1FileChecksum:
e4dd89bba248a6086ac359f24f27783b
:/home/taste/tool-src/kazoo/test/Demo_ABB/DataView.asn:
--
! InputASN1FileChecksum:
fc58a72b84447d6bd771ef41e6b1cb1f
:/home/taste/tool-src/kazoo/test/Demo_ABB/DataView.asn:
--
! InputASN1FileChecksum:ee8a7e01f29874c0d50f437d5abb9599:/home/taste/tool-inst/share/taste-types/taste-types.asn:
--
! InputASN1FileChecksum:ee8a7e01f29874c0d50f437d5abb9599:/home/taste/tool-inst/share/taste-types/taste-types.asn:
--------------------------------------------------------
--------------------------------------------------------
...
@@ -48,11 +48,11 @@ PROPERTIES
...
@@ -48,11 +48,11 @@ PROPERTIES
Deployment
::
ASN1_Module_Name
=>
"Lift-dataview"
;
Deployment
::
ASN1_Module_Name
=>
"Lift-dataview"
;
Source_Language
=>
(
ASN1
);
Source_Language
=>
(
ASN1
);
--
Size
of
a
buffer
to
cover
all
forms
of
message
representation
:
--
Size
of
a
buffer
to
cover
all
forms
of
message
representation
:
--
Real
message
size
is
8
;
suggested
aligned
message
buffer
is
...
--
Real
message
size
is
16
;
suggested
aligned
message
buffer
is
...
Source_Data_Size
=>
8
Bytes
;
Source_Data_Size
=>
16
Bytes
;
--
name
of
the
corresponding
data
type
in
the
source
file
:
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"Cabin-button"
;
Type_Source_Name
=>
"Cabin-button"
;
TASTE
::
Position_In_File
=>
[
line
=>
4
1
;
column
=>
1
;
];
TASTE
::
Position_In_File
=>
[
line
=>
4
0
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aCHOICE
;
TASTE
::
ASN1_Basic_Type
=>
aCHOICE
;
END
Cabin_button
;
END
Cabin_button
;
...
@@ -67,8 +67,8 @@ DATA IMPLEMENTATION Cabin_button_Buffer_Max.impl
...
@@ -67,8 +67,8 @@ DATA IMPLEMENTATION Cabin_button_Buffer_Max.impl
--
Buffer
to
hold
a
marshalled
data
of
type
Cabin_button
--
Buffer
to
hold
a
marshalled
data
of
type
Cabin_button
PROPERTIES
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Dimension
=>
(
8
);
--
Size
of
the
buffer
Data_Model
::
Dimension
=>
(
16
);
--
Size
of
the
buffer
Source_Data_Size
=>
8
Bytes
;
--
Size
of
the
buffer
in
bytes
Source_Data_Size
=>
16
Bytes
;
--
Size
of
the
buffer
in
bytes
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
Cabin_button_Buffer_Max
.
impl
;
END
Cabin_button_Buffer_Max
.
impl
;
...
@@ -82,7 +82,7 @@ SUBCOMPONENTS
...
@@ -82,7 +82,7 @@ SUBCOMPONENTS
Length
:
data
Base_Types
::
Unsigned_32
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
Data_Model
::
Data_Representation
=>
Struct
;
Source_Data_Size
=>
2
4
Bytes
;
--
Size
of
the
buffer
in
bytes
Source_Data_Size
=>
3
2
Bytes
;
--
Size
of
the
buffer
in
bytes
END
Cabin_button_Buffer
.
impl
;
END
Cabin_button_Buffer
.
impl
;
DATA
Floor_button
DATA
Floor_button
...
@@ -93,11 +93,11 @@ PROPERTIES
...
@@ -93,11 +93,11 @@ PROPERTIES
Deployment
::
ASN1_Module_Name
=>
"Lift-dataview"
;
Deployment
::
ASN1_Module_Name
=>
"Lift-dataview"
;
Source_Language
=>
(
ASN1
);
Source_Language
=>
(
ASN1
);
--
Size
of
a
buffer
to
cover
all
forms
of
message
representation
:
--
Size
of
a
buffer
to
cover
all
forms
of
message
representation
:
--
Real
message
size
is
8
;
suggested
aligned
message
buffer
is
...
--
Real
message
size
is
16
;
suggested
aligned
message
buffer
is
...
Source_Data_Size
=>
8
Bytes
;
Source_Data_Size
=>
16
Bytes
;
--
name
of
the
corresponding
data
type
in
the
source
file
:
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"Floor-button"
;
Type_Source_Name
=>
"Floor-button"
;
TASTE
::
Position_In_File
=>
[
line
=>
3
6
;
column
=>
1
;
];
TASTE
::
Position_In_File
=>
[
line
=>
3
5
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aSEQUENCE
;
TASTE
::
ASN1_Basic_Type
=>
aSEQUENCE
;
END
Floor_button
;
END
Floor_button
;
...
@@ -112,8 +112,8 @@ DATA IMPLEMENTATION Floor_button_Buffer_Max.impl
...
@@ -112,8 +112,8 @@ DATA IMPLEMENTATION Floor_button_Buffer_Max.impl
--
Buffer
to
hold
a
marshalled
data
of
type
Floor_button
--
Buffer
to
hold
a
marshalled
data
of
type
Floor_button
PROPERTIES
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Dimension
=>
(
8
);
--
Size
of
the
buffer
Data_Model
::
Dimension
=>
(
16
);
--
Size
of
the
buffer
Source_Data_Size
=>
8
Bytes
;
--
Size
of
the
buffer
in
bytes
Source_Data_Size
=>
16
Bytes
;
--
Size
of
the
buffer
in
bytes
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
Floor_button_Buffer_Max
.
impl
;
END
Floor_button_Buffer_Max
.
impl
;
...
@@ -127,7 +127,7 @@ SUBCOMPONENTS
...
@@ -127,7 +127,7 @@ SUBCOMPONENTS
Length
:
data
Base_Types
::
Unsigned_32
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
Data_Model
::
Data_Representation
=>
Struct
;
Source_Data_Size
=>
2
4
Bytes
;
--
Size
of
the
buffer
in
bytes
Source_Data_Size
=>
3
2
Bytes
;
--
Size
of
the
buffer
in
bytes
END
Floor_button_Buffer
.
impl
;
END
Floor_button_Buffer
.
impl
;
DATA
Floors
DATA
Floors
...
@@ -138,13 +138,13 @@ PROPERTIES
...
@@ -138,13 +138,13 @@ PROPERTIES
Deployment
::
ASN1_Module_Name
=>
"Lift-dataview"
;
Deployment
::
ASN1_Module_Name
=>
"Lift-dataview"
;
Source_Language
=>
(
ASN1
);
Source_Language
=>
(
ASN1
);
--
Size
of
a
buffer
to
cover
all
forms
of
message
representation
:
--
Size
of
a
buffer
to
cover
all
forms
of
message
representation
:
--
Real
message
size
is
4
;
suggested
aligned
message
buffer
is
...
--
Real
message
size
is
8
;
suggested
aligned
message
buffer
is
...
Source_Data_Size
=>
8
Bytes
;
Source_Data_Size
=>
8
Bytes
;
--
name
of
the
corresponding
data
type
in
the
source
file
:
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"Floors"
;
Type_Source_Name
=>
"Floors"
;
TASTE
::
Position_In_File
=>
[
line
=>
9
;
column
=>
1
;
];
TASTE
::
Position_In_File
=>
[
line
=>
8
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
a
ENUMERATED
;
TASTE
::
ASN1_Basic_Type
=>
a
INTEGER
;
END
Floors
;
END
Floors
;
DATA
IMPLEMENTATION
Floors
.
impl
DATA
IMPLEMENTATION
Floors
.
impl
...
@@ -187,7 +187,7 @@ PROPERTIES
...
@@ -187,7 +187,7 @@ PROPERTIES
Source_Data_Size
=>
24
Bytes
;
Source_Data_Size
=>
24
Bytes
;
--
name
of
the
corresponding
data
type
in
the
source
file
:
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"Lift-control"
;
Type_Source_Name
=>
"Lift-control"
;
TASTE
::
Position_In_File
=>
[
line
=>
20
;
column
=>
1
;
];
TASTE
::
Position_In_File
=>
[
line
=>
19
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aSEQUENCE
;
TASTE
::
ASN1_Basic_Type
=>
aSEQUENCE
;
END
Lift_control
;
END
Lift_control
;
...
@@ -232,7 +232,7 @@ PROPERTIES
...
@@ -232,7 +232,7 @@ PROPERTIES
Source_Data_Size
=>
16
Bytes
;
Source_Data_Size
=>
16
Bytes
;
--
name
of
the
corresponding
data
type
in
the
source
file
:
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"Lift-sensor"
;
Type_Source_Name
=>
"Lift-sensor"
;
TASTE
::
Position_In_File
=>
[
line
=>
2
7
;
column
=>
1
;
];
TASTE
::
Position_In_File
=>
[
line
=>
2
6
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aSEQUENCE
;
TASTE
::
ASN1_Basic_Type
=>
aSEQUENCE
;
END
Lift_sensor
;
END
Lift_sensor
;
...
@@ -412,7 +412,7 @@ PROPERTIES
...
@@ -412,7 +412,7 @@ PROPERTIES
Source_Data_Size
=>
16
Bytes
;
Source_Data_Size
=>
16
Bytes
;
--
name
of
the
corresponding
data
type
in
the
source
file
:
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"Start-condition"
;
Type_Source_Name
=>
"Start-condition"
;
TASTE
::
Position_In_File
=>
[
line
=>
4
6
;
column
=>
1
;
];
TASTE
::
Position_In_File
=>
[
line
=>
4
5
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aCHOICE
;
TASTE
::
ASN1_Basic_Type
=>
aCHOICE
;
END
Start_condition
;
END
Start_condition
;
...
@@ -445,6 +445,51 @@ PROPERTIES
...
@@ -445,6 +445,51 @@ PROPERTIES
Source_Data_Size
=>
32
Bytes
;
--
Size
of
the
buffer
in
bytes
Source_Data_Size
=>
32
Bytes
;
--
Size
of
the
buffer
in
bytes
END
Start_condition_Buffer
.
impl
;
END
Start_condition_Buffer
.
impl
;
DATA
Status
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
Source_Text
=>
(
"/home/taste/tool-src/kazoo/test/Demo_ABB/DataView.asn"
);
TASTE
::
Ada_Package_Name
=>
"Lift_dataview"
;
Deployment
::
ASN1_Module_Name
=>
"Lift-dataview"
;
Source_Language
=>
(
ASN1
);
--
Size
of
a
buffer
to
cover
all
forms
of
message
representation
:
--
Real
message
size
is
24
;
suggested
aligned
message
buffer
is
...
Source_Data_Size
=>
24
Bytes
;
--
name
of
the
corresponding
data
type
in
the
source
file
:
Type_Source_Name
=>
"Status"
;
TASTE
::
Position_In_File
=>
[
line
=>
50
;
column
=>
1
;
];
--
what
kind
of
type
is
this
?
TASTE
::
ASN1_Basic_Type
=>
aSEQUENCE
;
END
Status
;
DATA
IMPLEMENTATION
Status
.
impl
END
Status
.
impl
;
DATA
Status_Buffer_Max
END
Status_Buffer_Max
;
DATA
IMPLEMENTATION
Status_Buffer_Max
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
Status
PROPERTIES
Data_Model
::
Data_Representation
=>
array
;
Data_Model
::
Dimension
=>
(
24
);
--
Size
of
the
buffer
Source_Data_Size
=>
24
Bytes
;
--
Size
of
the
buffer
in
bytes
Data_Model
::
Base_Type
=>
(
classifier
(
DataView
::
Stream_Element_Buffer
));
END
Status_Buffer_Max
.
impl
;
DATA
Status_Buffer
END
Status_Buffer
;
DATA
IMPLEMENTATION
Status_Buffer
.
impl
--
Buffer
to
hold
a
marshalled
data
of
type
Status
SUBCOMPONENTS
Buffer
:
data
Status_Buffer_Max
.
impl
;
Length
:
data
Base_Types
::
Unsigned_32
;
PROPERTIES
Data_Model
::
Data_Representation
=>
Struct
;
Source_Data_Size
=>
40
Bytes
;
--
Size
of
the
buffer
in
bytes
END
Status_Buffer
.
impl
;
DATA
T_Boolean
DATA
T_Boolean
PROPERTIES
PROPERTIES
--
name
of
the
ASN
.1
source
file
:
--
name
of
the
ASN
.1
source
file
:
...
@@ -729,6 +774,7 @@ SUBCOMPONENTS
...
@@ -729,6 +774,7 @@ SUBCOMPONENTS
OpenClose
:
DATA
OpenClose
.
impl
;
OpenClose
:
DATA
OpenClose
.
impl
;
Position
:
DATA
Position
.
impl
;
Position
:
DATA
Position
.
impl
;
Start_condition
:
DATA
Start_condition
.
impl
;
Start_condition
:
DATA
Start_condition
.
impl
;
Status
:
DATA
Status
.
impl
;
T_Boolean
:
DATA
T_Boolean
.
impl
;
T_Boolean
:
DATA
T_Boolean
.
impl
;
T_Int32
:
DATA
T_Int32
.
impl
;
T_Int32
:
DATA
T_Int32
.
impl
;
T_Int8
:
DATA
T_Int8
.
impl
;
T_Int8
:
DATA
T_Int8
.
impl
;
...
...
test/Demo_ABB/DataView.asn
View file @
ae2eb78e
...
@@ -5,15 +5,14 @@ UpDown ::= ENUMERATED { up (1), down (0) }
...
@@ -5,15 +5,14 @@ UpDown ::= ENUMERATED { up (1), down (0) }
OnOff ::= ENUMERATED { on (1), off (0) }
OnOff ::= ENUMERATED { on (1), off (0) }
OpenClose ::= ENUMERATED { door-open (1), door-close (0) }
OpenClose ::= ENUMERATED { door-open (1), door-close (0) }
Position ::= REAL (0.0 .. 100.0)
Position ::= REAL (0.0 .. 100.0)
--Flag ::= BOOLEAN
Floors ::= INTEGER {
Floors ::= ENUMERATED {
floor-0 (10),
floor-0 (10),
floor-1 (20),
floor-1 (20),
floor-2 (30),
floor-2 (30),
floor-3 (40),
floor-3 (40),
floor-4 (50),
floor-4 (50),
floor-5 (60)
floor-5 (60)
}
}
(10 | 20 | 30 | 40 | 50 | 60)
-- Types used for the interfacing with the Simulink model
-- Types used for the interfacing with the Simulink model
...
@@ -48,6 +47,11 @@ Start-condition ::= CHOICE {
...
@@ -48,6 +47,11 @@ Start-condition ::= CHOICE {
nb-of-cycle INTEGER (50 .. 255)
nb-of-cycle INTEGER (50 .. 255)
}
}
Status ::= SEQUENCE {
lift Lift-sensor,
door OpenClose
}
END
END
...
...
test/Demo_ABB/DeploymentView.aadl
View file @
ae2eb78e
...
@@ -74,6 +74,6 @@ PROPERTIES
...
@@ -74,6 +74,6 @@ PROPERTIES
Taste::coordinates => "0 0 2970 2100";
Taste::coordinates => "0 0 2970 2100";
Taste::version => "2.2";
Taste::version => "2.2";
Taste::interfaceView => "InterfaceView.aadl";
Taste::interfaceView => "InterfaceView.aadl";
Taste::HWLibraries => ("
../../../..
/tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
Taste::HWLibraries => ("
/home/taste
/tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
END deploymentview::DV;
END deploymentview::DV;
test/Demo_ABB/InterfaceView.aadl
View file @
ae2eb78e
...
@@ -65,19 +65,19 @@ PROPERTIES
...
@@ -65,19 +65,19 @@ PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_Manual_Control.others;
END PI_Manual_Control.others;
SUBPROGRAM PI_Start
SUBPROGRAM PI_Start
_Controller
FEATURES
FEATURES
start_param : IN PARAMETER DataView::Start_condition {
start_param : IN PARAMETER DataView::Start_condition {
Taste::encoding => NATIVE;
Taste::encoding => NATIVE;
};
};
PROPERTIES
PROPERTIES
Taste::Associated_Queue_Size => 1;
Taste::Associated_Queue_Size => 1;
END PI_Start;
END PI_Start
_Controller
;
SUBPROGRAM IMPLEMENTATION PI_Start.others
SUBPROGRAM IMPLEMENTATION PI_Start
_Controller
.others
PROPERTIES
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_Start.others;
END PI_Start
_Controller
.others;
SUBPROGRAM RI_Operate_lift
SUBPROGRAM RI_Operate_lift
FEATURES
FEATURES
...
@@ -92,35 +92,15 @@ END RI_Operate_lift;
...
@@ -92,35 +92,15 @@ END RI_Operate_lift;
SUBPROGRAM IMPLEMENTATION RI_Operate_lift.others
SUBPROGRAM IMPLEMENTATION RI_Operate_lift.others
END RI_Operate_lift.others;
END RI_Operate_lift.others;
SUBPROGRAM RI_
door_status
SUBPROGRAM RI_
Housekeeping
FEATURES
FEATURES
status
: IN PARAMETER DataView::
OpenClose
{
housekeeping
: IN PARAMETER DataView::
Status
{
Taste::encoding =>
NATIVE
;
Taste::encoding =>
UPER
;
};
};
END RI_
door_status
;
END RI_
Housekeeping
;
SUBPROGRAM IMPLEMENTATION RI_door_status.others
SUBPROGRAM IMPLEMENTATION RI_Housekeeping.others
END RI_door_status.others;
END RI_Housekeeping.others;
SUBPROGRAM RI_floor_detected
FEATURES
floor : IN PARAMETER DataView::Floors {
Taste::encoding => NATIVE;
};
END RI_floor_detected;
SUBPROGRAM IMPLEMENTATION RI_floor_detected.others
END RI_floor_detected.others;
SUBPROGRAM RI_position
FEATURES
pos : IN PARAMETER DataView::Position {
Taste::encoding => NATIVE;
};
END RI_position;
SUBPROGRAM IMPLEMENTATION RI_position.others
END RI_position.others;
SYSTEM Controller
SYSTEM Controller
FEATURES
FEATURES
...
@@ -152,12 +132,12 @@ FEATURES
...
@@ -152,12 +132,12 @@ FEATURES
Taste::Deadline => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "Manual_Control";
Taste::InterfaceName => "Manual_Control";
};
};
PI_Start : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Controller::PI_Start.others {
PI_Start
_Controller
: PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Controller::PI_Start
_Controller
.others {
Taste::coordinates => "1519 1467";
Taste::coordinates => "1519 1467";
Taste::RCMoperationKind => sporadic;
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "Start";
Taste::InterfaceName => "Start
_Controller
";
};
};
RI_Operate_lift : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Lift_Model::PI_Operate_lift.others {
RI_Operate_lift : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::Lift_Model::PI_Operate_lift.others {
Taste::coordinates => "2027 859";
Taste::coordinates => "2027 859";
...
@@ -165,34 +145,18 @@ FEATURES
...
@@ -165,34 +145,18 @@ FEATURES
Taste::InterfaceName => "Operate_lift";
Taste::InterfaceName => "Operate_lift";
Taste::labelInheritance => "true";
Taste::labelInheritance => "true";
};
};
RI_door_status : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::User::PI_door_status.others {
RI_Housekeeping : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::User::PI_Housekeeping.others {
Taste::coordinates => "1519 1128";
Taste::coordinates => "1519 1247";
Taste::RCMoperationKind => sporadic;
Taste::RCMoperationKind => any;
Taste::InterfaceName => "door_status";
Taste::InterfaceName => "Housekeeping";
Taste::labelInheritance => "true";
};
RI_floor_detected : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::User::PI_floor_detected.others {
Taste::coordinates => "1519 1237";
Taste::RCMoperationKind => sporadic;
Taste::InterfaceName => "floor_detected";
Taste::labelInheritance => "true";
};
RI_position : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::User::PI_position.others {
Taste::coordinates => "1519 1338";
Taste::RCMoperationKind => sporadic;
Taste::InterfaceName => "position";
Taste::labelInheritance => "true";
Taste::labelInheritance => "true";
};
};
PROPERTIES
PROPERTIES
Source_Language => (
RTDS
);
Source_Language => (
SDL
);
Taste::Active_Interfaces => enabled;
Taste::Active_Interfaces => enabled;
END Controller;
END Controller;
SYSTEM IMPLEMENTATION Controller.others
SYSTEM IMPLEMENTATION Controller.others
SUBCOMPONENTS
starting_floor : DATA DataView::Floors {
Taste::FS_Default_Value => "floor_0";
};
END Controller.others;
END Controller.others;
END interfaceview::IV::Controller;
END interfaceview::IV::Controller;
...
@@ -246,47 +210,19 @@ WITH interfaceview::IV::Controller;
...
@@ -246,47 +210,19 @@ WITH interfaceview::IV::Controller;
WITH Taste;
WITH Taste;
WITH DataView;
WITH DataView;
WITH TASTE_IV_Properties;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_
door_status
SUBPROGRAM PI_
Housekeeping
FEATURES
FEATURES
status
: IN PARAMETER DataView::
OpenClose
{
housekeeping
: IN PARAMETER DataView::
Status
{
Taste::encoding =>
NATIVE
;
Taste::encoding =>
UPER
;
};
};
PROPERTIES
PROPERTIES
Taste::Associated_Queue_Size => 1;
Taste::Associated_Queue_Size => 1;
END PI_
door_status
;
END PI_
Housekeeping
;
SUBPROGRAM IMPLEMENTATION PI_
door_status
.others
SUBPROGRAM IMPLEMENTATION PI_
Housekeeping
.others
PROPERTIES
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_door_status.others;
END PI_Housekeeping.others;
SUBPROGRAM PI_floor_detected
FEATURES
floor : IN PARAMETER DataView::Floors {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_floor_detected;
SUBPROGRAM IMPLEMENTATION PI_floor_detected.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_floor_detected.others;
SUBPROGRAM PI_position
FEATURES
pos : IN PARAMETER DataView::Position {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_position;
SUBPROGRAM IMPLEMENTATION PI_position.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_position.others;
SUBPROGRAM RI_Floor_Command
SUBPROGRAM RI_Floor_Command
FEATURES
FEATURES
...
@@ -318,38 +254,24 @@ END RI_Manual_Control;
...
@@ -318,38 +254,24 @@ END RI_Manual_Control;
SUBPROGRAM IMPLEMENTATION RI_Manual_Control.others
SUBPROGRAM IMPLEMENTATION RI_Manual_Control.others
END RI_Manual_Control.others;
END RI_Manual_Control.others;
SUBPROGRAM RI_Start
SUBPROGRAM RI_Start
_Controller
FEATURES
FEATURES
start_param : IN PARAMETER DataView::Start_condition {
start_param : IN PARAMETER DataView::Start_condition {
Taste::encoding => NATIVE;
Taste::encoding => NATIVE;
};
};
END RI_Start;
END RI_Start
_Controller
;
SUBPROGRAM IMPLEMENTATION RI_Start.others
SUBPROGRAM IMPLEMENTATION RI_Start
_Controller
.others
END RI_Start.others;
END RI_Start
_Controller
.others;
SYSTEM User
SYSTEM User
FEATURES
FEATURES
PI_door_status : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::User::PI_door_status.others {
PI_Housekeeping : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::User::PI_Housekeeping.others {
Taste::coordinates => "907 1128";
Taste::coordinates => "907 1251";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "door_status";
};
PI_floor_detected : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::User::PI_floor_detected.others {
Taste::coordinates => "907 1237";
Taste::RCMoperationKind => sporadic;
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "floor_detected";
Taste::InterfaceName => "Housekeeping";
};
PI_position : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::User::PI_position.others {
Taste::coordinates => "907 1338";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "position";
};
};