Commit d8073ced authored by Daniel Tonoiu's avatar Daniel Tonoiu
Browse files

implement the st[19] event-action service

parent 15cf81bd
This diff is collapsed.
......@@ -34,11 +34,40 @@ Taps DEFINITIONS ::= BEGIN
packet-error []
}
TC-ev-act[]{
packet-version-no NULL [pattern '000'B],
packet-type NULL [pattern '1'B], -- 1 for TC, 0 for TM
has-secondary-hdr NULL [pattern '1'B], -- !!! 0 for cpdu packets
dest-apid [],
sequence-flags NULL [pattern '11'B],
sequence-count [],
packet-length [],
secondary-header [] {
pus-version-number NULL [pattern '0010'B],
ack-successful-completion [],
ack-successful-progress [],
ack-successful-start [],
ack-successful-acceptance [],
pus-type TYPE8b-ID [],
pus-subtype TYPE8b-ID [],
source-id []
},
application-data <secondary-header.pus-type, secondary-header.pus-subtype> [],
spare-tc NULL [pattern '00000000'B],
packet-error []
}
PUS <INTEGER: pus-type, INTEGER: pus-subtype> [] {
device-access <pus-subtype> [present-when pus-type == 2],
housekeeping <pus-subtype> [present-when pus-type == 3],
time-management <pus-subtype> [present-when pus-type == 9],
on-board-monitoring <pus-subtype> [present-when pus-type == 12]
on-board-monitoring <pus-subtype> [present-when pus-type == 12],
event-action <pus-subtype> [present-when pus-type == 19]
}
PUS-ev-action <INTEGER: pus-type, INTEGER: pus-subtype> [] {
device-access <pus-subtype> [present-when pus-type == 2],
housekeeping <pus-subtype> [present-when pus-type == 3]
}
PUS-2 <INTEGER: pus-subtype> [] {
......@@ -66,6 +95,14 @@ Taps DEFINITIONS ::= BEGIN
pus-12-15-enable-func [present-when pus-subtype == 15],
pus-12-16-disable-func [present-when pus-subtype == 16]
}
PUS-19 <INTEGER: pus-subtype> [] {
pus-19-1-add-defs [present-when pus-subtype == 1],
pus-19-3-del-defs [present-when pus-subtype == 3],
pus-19-4-enable-defs [present-when pus-subtype == 4],
pus-19-5-disable-defs [present-when pus-subtype == 5],
pus-19-8-enable-funct [present-when pus-subtype == 8],
pus-19-9-disable-funct [present-when pus-subtype == 9]
}
TM-1-1 []
TM-1-2 []
......
......@@ -267,6 +267,42 @@ BEGIN
}
END
--************************************************************************************************************************************************* ST[19]
-- Generic definitions for the Event-Action ST[19] service
Event-Action-Structures DEFINITIONS ::=
BEGIN
-- the event-action definition
Event-Action-Definition {APID, Event-Definition-ID, TC-req} ::= SEQUENCE {
app-id APID OPTIONAL,
event-def-id Event-Definition-ID,
request TC-req,
event-act-stat Ev-Action-Status
}
-- the event-action definition list
Ev-Action-Def-List{INTEGER: max-Defs, Event-Action-Definition} ::= SEQUENCE ( SIZE(1 .. max-Defs) ) OF Event-Action-Definition
-- the event-action function status
Ev-Action-Funct-Status ::= ENUMERATED { disabled, enabled }
-- the 'event-action status' for each event-action definition
Ev-Action-Status ::= ENUMERATED { disabled, enabled }
-- enable and disable the event-action function
Enable-Ev-Action-Funct ::= SEQUENCE {}
Disable-Ev-Action-Funct ::= SEQUENCE {}
-- enable/disable the event-action definitions: TC[19,4] & TC[19,5])
Control-Ev-Action-Def{INTEGER: max-Defs, Ev-Def-System-ID} ::= SEQUENCE ( SIZE(0 .. max-Defs) ) OF Ev-Def-System-ID
Ev-Def-System-ID {APID, Event-Definition-ID} ::= SEQUENCE {
app-id APID OPTIONAL,
event-def-id Event-Definition-ID
}
-- delete all event-action definitions: TC[19,3]
Delete-Ev-Act-Defs ::= SEQUENCE {}
END
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Taps DEFINITIONS ::=
BEGIN
......@@ -289,6 +325,9 @@ FROM Time-Management-Structures
PMON-exp-value-check-status, PMON-limit-check-status, Report-Def-Status-TC,
Enable-Param-Monitor-Func, Disable-Param-Monitor-Func
FROM Parameter-Monitoring-Structures
Event-Action-Definition, Enable-Ev-Action-Funct, Disable-Ev-Action-Funct, Control-Ev-Action-Def,
Ev-Def-System-ID, Ev-Action-Def-List, Delete-Ev-Act-Defs
FROM Event-Action-Structures
T-UInt8, T-UInt32
FROM TASTE-BasicTypes;
......@@ -593,17 +632,56 @@ PUS-12 ::= CHOICE {
pus-12-16-disable-func Disable-Param-Monitor-Func
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ST[19] inst
-- instantiate the Event-Action ST[19] service data structures
-- instantiate the event-action definition
Event-Action-Def-Inst ::= Event-Action-Definition {APID, Event-Definition-ID-inst, TC-ev-act} (WITH COMPONENTS {..., app-id PRESENT})
--Event-Action-Def-Inst ::= Event-Action-Definition {APID, Event-Definition-ID-inst, TC} (WITH COMPONENTS { ..., app-id ABSENT})
-- instantiate a TC specific for the event action service
TC-ev-act ::= TC-type{APID, SEQ-COUNT, APUserID, PUS-ev-action}
-- choose between one of the PUS services for the event action request
PUS-ev-action ::= CHOICE {
device-access PUS-2,
housekeeping PUS-3
}
-- the maximum number of event-action definitions
maxEv-Act-Defs INTEGER(0..255) ::= 2
-- the event action ID index
Event-Act-ID-Index ::= INTEGER (1..maxEv-Act-Defs)
-- instatiate the event-action definition list
Event-Action-Def-List ::= Ev-Action-Def-List{ maxEv-Act-Defs, Event-Action-Def-Inst}
-- index TC[19,1] request
Ev-Act-Instr-Index ::= INTEGER (1..maxEv-Act-Defs)
-- instantiate the event action definition system ID
Ev-Def-System-ID-inst ::= Ev-Def-System-ID{APID, Event-Definition-ID-inst} (WITH COMPONENTS {..., app-id PRESENT})
-- instantiate the list of system IDs
Control-Ev-Action-Def-List ::= Control-Ev-Action-Def{maxEv-Act-Defs, Ev-Def-System-ID-inst}
-- select a service request
PUS-19 ::= CHOICE {
--pus-19-1-add-defs Event-Action-Def-List,
pus-19-1-add-defs Event-Action-Def-Inst,
pus-19-3-del-defs Delete-Ev-Act-Defs,
pus-19-4-enable-defs Control-Ev-Action-Def-List,
pus-19-5-disable-defs Control-Ev-Action-Def-List,
pus-19-8-enable-funct Enable-Ev-Action-Funct,
pus-19-9-disable-funct Disable-Ev-Action-Funct
}
--------------------------------------------------------------------------------------------------------------------------------------------------
-- choose between one of the PUS services
PUS ::= CHOICE {
-- choose between one of the PUS services
PUS ::= CHOICE {
device-access PUS-2,
housekeeping PUS-3,
time-management PUS-9,
on-board-monitoring PUS-12
}
on-board-monitoring PUS-12,
event-action PUS-19
}
-- Instantiate the generic TC-type
TC ::= TC-type{APID, SEQ-COUNT, APUserID, PUS}
-- Instantiate the generic TC-type
TC ::= TC-type{APID, SEQ-COUNT, APUserID, PUS}
--*********************************************************
-- Execution reporting data types
Start-Exec-failure-codes ::= ENUMERATED {
......@@ -612,7 +690,10 @@ Start-Exec-failure-codes ::= ENUMERATED {
hk-def-already-present(2),
hk-def-not-present(3),
hk-def-enabled(4),
hk-param-duplicated
hk-param-duplicated(5),
ev-act-list-full(6),
ev-act-def-enabled(7),
ev-act-ID-notFound(8)
}
Progress-Exec-failure-codes ::= ENUMERATED {
noFailure(0),
......@@ -1041,6 +1122,50 @@ END
......
......@@ -55,6 +55,11 @@ WITH interfaceview::IV::time_management_st09::tm_st09;
WITH interfaceview::IV::time_management_st09::time_management;
WITH interfaceview::IV::data_pool;
WITH interfaceview::IV::sc_routing;
WITH interfaceview::IV::event_action_st19::event_action;
WITH interfaceview::IV::event_action_st19::acceptance_st19;
WITH interfaceview::IV::event_action_st19::tm_st19;
WITH interfaceview::IV::event_action_st19::execution_ev_act;
WITH interfaceview::IV::event_action_st19::ev_act_definitions;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Node1;
WITH Taste;
......@@ -165,6 +170,21 @@ SUBCOMPONENTS
IV_sc_routing : SYSTEM interfaceview::IV::sc_routing::sc_routing.others {
Taste::FunctionName => "sc_routing";
};
IV_event_action : SYSTEM interfaceview::IV::event_action_st19::event_action::event_action.others {
Taste::FunctionName => "event_action";
};
IV_acceptance_st19 : SYSTEM interfaceview::IV::event_action_st19::acceptance_st19::acceptance_st19.others {
Taste::FunctionName => "acceptance_st19";
};
IV_tm_st19 : SYSTEM interfaceview::IV::event_action_st19::tm_st19::tm_st19.others {
Taste::FunctionName => "tm_st19";
};
IV_execution_ev_act : SYSTEM interfaceview::IV::event_action_st19::execution_ev_act::execution_ev_act.others {
Taste::FunctionName => "execution_ev_act";
};
IV_ev_act_definitions : SYSTEM interfaceview::IV::event_action_st19::ev_act_definitions::ev_act_definitions.others {
Taste::FunctionName => "ev_act_definitions";
};
taps : PROCESS deploymentview::DV::Node1::taps.others {
Taste::coordinates => "85474 64572 179410 99940";
Deployment::Port_Number => 0;
......@@ -206,6 +226,11 @@ PROPERTIES
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_time_management;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_data_pool;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_sc_routing;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_event_action;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_acceptance_st19;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_tm_st19;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_execution_ev_act;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_ev_act_definitions;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO taps;
END Node1.others;
......
This diff is collapsed.
95587de4bb50fe0606e5be30ec569f28 InterfaceView.aadl
5eb1db703ecccfb656c5a5f4be669431 InterfaceView.aadl
......@@ -29,6 +29,7 @@ WITH interfaceview::IV::payload;
WITH interfaceview::IV::hk_report_st03;
WITH interfaceview::IV::on_board_monitoring_st12;
WITH interfaceview::IV::time_management_st09;
WITH interfaceview::IV::event_action_st19;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Node1;
WITH Taste;
......@@ -139,6 +140,21 @@ SUBCOMPONENTS
IV_sc_routing : SYSTEM interfaceview::IV::sc_routing.others {
Taste::FunctionName => "sc_routing";
};
IV_event_action : SYSTEM interfaceview::IV::event_action_st19::event_action.others {
Taste::FunctionName => "event_action";
};
IV_acceptance_st19 : SYSTEM interfaceview::IV::event_action_st19::acceptance_st19.others {
Taste::FunctionName => "acceptance_st19";
};
IV_tm_st19 : SYSTEM interfaceview::IV::event_action_st19::tm_st19.others {
Taste::FunctionName => "tm_st19";
};
IV_execution_ev_act : SYSTEM interfaceview::IV::event_action_st19::execution_ev_act.others {
Taste::FunctionName => "execution_ev_act";
};
IV_ev_act_definitions : SYSTEM interfaceview::IV::event_action_st19::ev_act_definitions.others {
Taste::FunctionName => "ev_act_definitions";
};
taps : PROCESS deploymentview::DV::Node1::taps.others {
Taste::coordinates => "85474 64572 179410 99940";
Deployment::Port_Number => 0;
......@@ -180,6 +196,11 @@ PROPERTIES
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_time_management;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_data_pool;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_sc_routing;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_event_action;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_acceptance_st19;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_tm_st19;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_execution_ev_act;
Taste::APLC_Binding => (reference (taps)) APPLIES TO IV_ev_act_definitions;
Actual_Processor_Binding => (reference (x86_linux)) APPLIES TO taps;
END Node1.others;
......
This diff is collapsed.
......@@ -50,6 +50,33 @@ Disable_Param_Monitor_Func ::= SEQUENCE {
}
-- ./dataview-uniq.asn
Ev_Action_Funct_Status ::= ENUMERATED {
disabled(0),
enabled(1)
}
-- ./dataview-uniq.asn
Ev_Action_Status ::= ENUMERATED {
disabled(0),
enabled(1)
}
-- ./dataview-uniq.asn
Enable_Ev_Action_Funct ::= SEQUENCE {
}
-- ./dataview-uniq.asn
Disable_Ev_Action_Funct ::= SEQUENCE {
}
-- ./dataview-uniq.asn
Delete_Ev_Act_Defs ::= SEQUENCE {
}
-- ./dataview-uniq.asn
TYPE8b_ID ::= INTEGER (0 .. 255)
......@@ -498,12 +525,65 @@ PUS_12 ::= CHOICE {
pus_12_16_disable_func Disable_Param_Monitor_Func
}
-- ./dataview-uniq.asn
Event_Action_Def_Inst ::= SEQUENCE {
app_id APID OPTIONAL,
event_def_id Event_Definition_ID_inst,
request TC_ev_act,
event_act_stat Ev_Action_Status
}
-- ./dataview-uniq.asn
TC_ev_act ::= SEQUENCE {
dest_apid APID OPTIONAL,
sequence_count SEQ_COUNT,
packet_length TC_ev_act_packet_length,
secondary_header TC_ev_act_secondary_header,
application_data PUS_ev_action,
packet_error TC_ev_act_packet_error
}
-- ./dataview-uniq.asn
PUS_ev_action ::= CHOICE {
device_access PUS_2,
housekeeping PUS_3
}
-- ./dataview-uniq.asn
Event_Act_ID_Index ::= INTEGER (1 .. 2)
-- ./dataview-uniq.asn
Event_Action_Def_List ::= SEQUENCE (SIZE (1 .. 2)) OF Event_Action_Def_Inst
-- ./dataview-uniq.asn
Ev_Act_Instr_Index ::= INTEGER (1 .. 2)
-- ./dataview-uniq.asn
Ev_Def_System_ID_inst ::= SEQUENCE {
app_id APID OPTIONAL,
event_def_id Event_Definition_ID_inst
}
-- ./dataview-uniq.asn
Control_Ev_Action_Def_List ::= SEQUENCE (SIZE (0 .. 2)) OF Ev_Def_System_ID_inst
-- ./dataview-uniq.asn
PUS_19 ::= CHOICE {
pus_19_1_add_defs Event_Action_Def_Inst,
pus_19_3_del_defs Delete_Ev_Act_Defs,
pus_19_4_enable_defs Control_Ev_Action_Def_List,
pus_19_5_disable_defs Control_Ev_Action_Def_List,
pus_19_8_enable_funct Enable_Ev_Action_Funct,
pus_19_9_disable_funct Disable_Ev_Action_Funct
}
-- ./dataview-uniq.asn
PUS ::= CHOICE {
device_access PUS_2,
housekeeping PUS_3,
time_management PUS_9,
on_board_monitoring PUS_12
on_board_monitoring PUS_12,
event_action PUS_19
}
-- ./dataview-uniq.asn
......@@ -523,7 +603,10 @@ Start_Exec_failure_codes ::= ENUMERATED {
hk_def_already_present(2),
hk_def_not_present(3),
hk_def_enabled(4),
hk_param_duplicated(5)
hk_param_duplicated(5),
ev_act_list_full(6),
ev_act_def_enabled(7),
ev_act_ID_notFound(8)
}
-- ./dataview-uniq.asn
......@@ -773,6 +856,21 @@ TC_secondary_header ::= SEQUENCE {
-- ./dataview-uniq.asn
TC_packet_length ::= INTEGER (0 .. 65535)
-- ./dataview-uniq.asn
TC_ev_act_packet_error ::= INTEGER (0 .. 65535)
-- ./dataview-uniq.asn
TC_ev_act_secondary_header ::= SEQUENCE {
ack_successful_completion BOOLEAN,
ack_successful_progress BOOLEAN,
ack_successful_start BOOLEAN,
ack_successful_acceptance BOOLEAN,
source_id APUserID
}
-- ./dataview-uniq.asn
TC_ev_act_packet_length ::= INTEGER (0 .. 65535)
-- ./dataview-uniq.asn
Check_Transit_Notification_inst_check_type ::= ENUMERATED {
limit_check(0),
......
This diff is collapsed.
......@@ -20,6 +20,8 @@ with Time_Management_Structures;
use Time_Management_Structures;
with Parameter_Monitoring_Structures;
use Parameter_Monitoring_Structures;
with Event_Action_Structures;
use Event_Action_Structures;
with Taps;
use Taps;
with Taps_Test_Structures;
......
......@@ -14,6 +14,8 @@ with Time_Management_Structures;
use Time_Management_Structures;
with Parameter_Monitoring_Structures;
use Parameter_Monitoring_Structures;
with Event_Action_Structures;
use Event_Action_Structures;
with Taps;
use Taps;
with Taps_Test_Structures;
......
......@@ -267,6 +267,42 @@ BEGIN
}
END
--************************************************************************************************************************************************* ST[19]
-- Generic definitions for the Event-Action ST[19] service
Event-Action-Structures DEFINITIONS ::=
BEGIN
-- the event-action definition
Event-Action-Definition {APID, Event-Definition-ID, TC-req} ::= SEQUENCE {
app-id APID OPTIONAL,
event-def-id Event-Definition-ID,
request TC-req,
event-act-stat Ev-Action-Status
}
-- the event-action definition list
Ev-Action-Def-List{INTEGER: max-Defs, Event-Action-Definition} ::= SEQUENCE ( SIZE(1 .. max-Defs) ) OF Event-Action-Definition
-- the event-action function status
Ev-Action-Funct-Status ::= ENUMERATED { disabled, enabled }
-- the 'event-action status' for each event-action definition
Ev-Action-Status ::= ENUMERATED { disabled, enabled }
-- enable and disable the event-action function
Enable-Ev-Action-Funct ::= SEQUENCE {}
Disable-Ev-Action-Funct ::= SEQUENCE {}
-- enable/disable the event-action definitions: TC[19,4] & TC[19,5])
Control-Ev-Action-Def{INTEGER: max-Defs, Ev-Def-System-ID} ::= SEQUENCE ( SIZE(0 .. max-Defs) ) OF Ev-Def-System-ID
Ev-Def-System-ID {APID, Event-Definition-ID} ::= SEQUENCE {
app-id APID OPTIONAL,
event-def-id Event-Definition-ID
}
-- delete all event-action definitions: TC[19,3]
Delete-Ev-Act-Defs ::= SEQUENCE {}
END
--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Taps DEFINITIONS ::=
BEGIN
......@@ -289,6 +325,9 @@ FROM Time-Management-Structures
PMON-exp-value-check-status, PMON-limit-check-status, Report-Def-Status-TC,
Enable-Param-Monitor-Func, Disable-Param-Monitor-Func
FROM Parameter-Monitoring-Structures
Event-Action-Definition, Enable-Ev-Action-Funct, Disable-Ev-Action-Funct, Control-Ev-Action-Def,
Ev-Def-System-ID, Ev-Action-Def-List, Delete-Ev-Act-Defs
FROM Event-Action-Structures
T-UInt8, T-UInt32
FROM TASTE-BasicTypes;
......@@ -593,17 +632,56 @@ PUS-12 ::= CHOICE {
pus-12-16-disable-func Disable-Param-Monitor-Func
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ST[19] inst
-- instantiate the Event-Action ST[19] service data structures
-- instantiate the event-action definition
Event-Action-Def-Inst ::= Event-Action-Definition {APID, Event-Definition-ID-inst, TC-ev-act} (WITH COMPONENTS {..., app-id PRESENT})
--Event-Action-Def-Inst ::= Event-Action-Definition {APID, Event-Definition-ID-inst, TC} (WITH COMPONENTS { ..., app-id ABSENT})
-- instantiate a TC specific for the event action service
TC-ev-act ::= TC-type{APID, SEQ-COUNT, APUserID, PUS-ev-action}
-- choose between one of the PUS services for the event action request
PUS-ev-action ::= CHOICE {
device-access PUS-2,
housekeeping PUS-3
}
-- the maximum number of event-action definitions
maxEv-Act-Defs INTEGER(0..255) ::= 2
-- the event action ID index
Event-Act-ID-Index ::= INTEGER (1..maxEv-Act-Defs)
-- instatiate the event-action definition list
Event-Action-Def-List ::= Ev-Action-Def-List{ maxEv-Act-Defs, Event-Action-Def-Inst}
-- index TC[19,1] request
Ev-Act-Instr-Index ::= INTEGER (1..maxEv-Act-Defs)
-- instantiate the event action definition system ID
Ev-Def-System-ID-inst ::= Ev-Def-System-ID{APID, Event-Definition-ID-inst} (WITH COMPONENTS {..., app-id PRESENT})
-- instantiate the list of system IDs
Control-Ev-Action-Def-List ::= Control-Ev-Action-Def{maxEv-Act-Defs, Ev-Def-System-ID-inst}
-- select a service request
PUS-19 ::= CHOICE {
--pus-19-1-add-defs Event-Action-Def-List,
pus-19-1-add-defs Event-Action-Def-Inst,
pus-19-3-del-defs Delete-Ev-Act-Defs,
pus-19-4-enable-defs Control-Ev-Action-Def-List,
pus-19-5-disable-defs Control-Ev-Action-Def-List,
pus-19-8-enable-funct Enable-Ev-Action-Funct,
pus-19-9-disable-funct Disable-Ev-Action-Funct
}
--------------------------------------------------------------------------------------------------------------------------------------------------
-- choose between one of the PUS services
PUS ::= CHOICE {
-- choose between one of the PUS services
PUS ::= CHOICE {
device-access PUS-2,
housekeeping PUS-3,
time-management PUS-9,
on-board-monitoring PUS-12
}
on-board-monitoring PUS-12,
event-action PUS-19
}
-- Instantiate the generic TC-type
TC ::= TC-type{APID, SEQ-COUNT, APUserID, PUS}
-- Instantiate the generic TC-type
TC ::= TC-type{APID, SEQ-COUNT, APUserID, PUS}
--*********************************************************
-- Execution reporting data types
Start-Exec-failure-codes ::= ENUMERATED {
......@@ -612,7 +690,10 @@ Start-Exec-failure-codes ::= ENUMERATED {
hk-def-already-present(2),
hk-def-not-present(3),
hk-def-enabled(4),
hk-param-duplicated
hk-param-duplicated(5),
ev-act-list-full(6),
ev-act-def-enabled(7),
ev-act-ID-notFound(8)
}
Progress-Exec-failure-codes ::= ENUMERATED {
noFailure(0),
......@@ -1040,6 +1121,50 @@ END