The Interaction Design Viewpoint provides an analysis of interactions within QP/C Framework elements. This design viewpoint frames the following concerns:
SDS_QA_START : QA Application startup sequence |
---|
Model Kinds
[0] int main(int argc, char *argv[]) {
[1] QF_init(); // initialize the QF Active Object framework
[2] BSP_init(); // initialize the Board Support Package
[3] // initialize publish-subscribe...
static QSubscrList subscrSto[MAX_PUB_SIG];
QActive_psInit(subscrSto, Q_DIM(subscrSto));
[4] // initialize event pools...
static QF_MPOOL_EL(SmallEvt) smlPoolSto[10];
QF_poolInit(smlPoolSto, sizeof(smlPoolSto), sizeof(smlPoolSto[0]));
static QF_MPOOL_EL(MediumEvt) medPoolSto[5];
QF_poolInit(medPoolSto, sizeof(medPoolSto), sizeof(medPoolSto[0]));
. . .
[5] // instantiate and start Active Objects...
ActiveA_ctor();
QActive_start(AO_activeA,
2U, // @QPX priority of the AO
aoA_QueueSto, // event queue storage
Q_DIM(aoA_QueueSto), // queue length [events]
(void *)0, 0U, // no stack storage
(void *)0); // no initialization param
ActiveB_ctor();
QActive_start(AO_activeB,
5U, // @QPX priority of the AO
aoB_QueueSto, // event queue storage
Q_DIM(aoB_QueueSto), // queue length [events]
(void *)0, 0U, // no stack storage
(void *)0); // no initialization param
. . .
[6] // transfer control to QF framework to run the Active Objects
return QF_run();
}
#define QF_MPOOL_EL(evType_) Memory pool element to allocate correctly aligned storage for QMPool class. Definition qmpool.h:65 |
Description
|
Backward Traceability
|
Forward Traceability
|
SDS_QP_POST : QP event posting sequence |
---|
Model Kinds |
Scenario: Event posting from ISR to Active Object
|
Scenario: Event posting from low-priority to high-priority Active Object
|
Backward Traceability
|
Forward Traceability |
SDS_QP_PUB : QP event publishing sequence |
---|
Model Kinds |
Scenario: Event publishing with scheduler locking
|
Scenario: Event publishing WITHOUT scheduler locking
|
Backward Traceability
|
Forward Traceability |