Example Components : Example Component Library : STM_PMPT_ACTIVE

STM_PMPT_ACTIVE

A preemptive priority-based active resource component.

Description
Accepts STMM_TRANSACTION_TYPE transactions on the INPUT port, and processes them in a preemptive priority-based scheme.
The transaction’s priority is specified by INPUT_PRIORITY_LEVEL.

If the service is idle, INPUT is immediately serviced.

If the service is busy, INPUT is queued, and serviced when it is the highest priority transaction in the queue.

DIST specifies the distribution and parameters used to calculate the service time for each transaction class.

If INT occurs while a transaction is in service, the servicing stops, and the transaction is sent to I_OUTPUT.

If a higher priority transaction arrives while a transaction is in service, the servicing stops, and the transaction is either:

Put back into the queue if its EXIT_ON_PREEMPT is FALSE, or
Sent to the P_OUTPUT if its EXIT_ON_PREEMPT is TRUE.

If the transaction completes servicing without interruption or preemption, it is sent to the S_OUTPUT.

When you insert the STM_PMPT_ACTIVE component into an activity chart, the component is represented by the following graphic image.
I/O Stubs
 

 

Analysis Statistics
 

 

If you set ANALYZE, the following statistics are gathered:

:
Number of input transactions
 
To access these values in the panels or in the simulation monitor, use the following naming convention: <Component_Name>^value_name
For example, you access the QUEUE_LENGTH for component ACT_RES1 as ACT_RES1^QUEUE_LENGTH.
CLEAR clears the statistics.
UPDATE makes sure the statistics values are up-to-date. In some cases, the statistics are only updated when events are triggered within the resource, so UPDATE ensures the statistics are up-to-date regardless of the triggering events.
Termination Type
Reactive Controlled