System Resource

Models shared resources by system components

Quick Explanation

  • Used to connect the behavior and architecture flow
  • Define Processor, RTOS, memory, bus and cache
  • Access from multiple locations in a model
  • Use standard schedulers or define custom
  • Can be queued remote or local to the processing resource
  • Supports three default scheduing schemes and two user defined schemes
  • Supports preemption
  • Support context switching
  • Supports power states and power management
  • Supports the execution of general resource with additional logic such as cache access and arbitration

Protocol

  • Supports priority, preemption and Round-Robin
  • Customs arbitration and scheduling protocol
  • Y-chart support

System Resource

System Resource Blocks represent the architecture segment of model-based systems engineering.  SysML and AADL refer to the concept of system resource.  The System Resource enables the requester to be separate from the architecture that executes the delay. The System Resource extends the basic MBSE concept by adding context switching time, clock-timed, scheduling algorithms, multi-level resources and priority-based queue.

The System Resource block extends the Server resource by separating the behavior and architecture flows. The behavior defines the sequence of events but does not execute the delay and power consumption.  At each point, where an action that consumes resources is executing, the action is mapped to a resource.  The resource is part of the architecture flow. The resource can be a stochastic unit or a cycle-accurate architecture platform.

While the Server blocks are used at the queuing-level of abstraction, the System Resource blocks are used at the architectural-level with more complex scheduling algorithms.  Complex scheduling algorithms can represent thresholds, consumption, aging and power factors.  These blocks separate the behavior and architectural aspects of a system, and provide a way for different applications/tasks/flows to utilize or call a single resource.

The equivalent blocks on the behavior side that work with the System Resources are the mappers.  The Mapper (Behavior-side) makes the request to the System Resource_Extended and System_Resource (architecture-side).  The System  Resource blocks, perform a variety of scheduling algorithms, including First-Come-First-Serve, First-Come-First-Serve plus preemption, Round Robin, and User defined schedulers.  In addition, the SystemResource Block can be arranged as a hierarchical set of entities.  The SystemResource_Extended Block supports detailed external modeling of the task execution with both blocking and non-blocking options.  System Resource execution receives the delay and priority from the transmitting Mapper block in the behavior flow, and can be a delay value or number of cycles.

The Task data structures enter the SystemResource via a Mapper Blocks.  The Mapper Blocks can schedule the incoming token to a single fixed System Resource or dynamically select a SystemResource based on set of logic.  Multiple Mapper blocks can make requests to a single SystemResource block thus establishing multiple request points in the behavior flow.    After the Delay is completed internal to the SystemResource_Extended, the task is sent on the output port for additional processing.  When the task encounters a SystemResource_Done, the token is immediately cleared from the System Resource and returned to the lower level System Resource or to the Mapper.

Differences between System Resource and System Resource Extend

Queue Server
Delay is not predictable in advance Delay is known apriori
Link of registers that store tokens Link of registers that store token and delay the head of the queue
Reorder the queue based on the priority of the incoming token. Rejects the lowest priority token Reorder the queue based on the priority of the incoming token. Rejects the lowest priority token
No power state Supports Active and Standby power state
Supports First-Come First-Serve and Last-In First-Serve Supports First-Come First-Serve and Last-In First-Serve
Can destroy elements anywhere in the queue without sending them to the output port Tokens cannot be destroyed.
Detailed statistics for delay, buffer occupancy, dropped tokens and entry-exit Detailed statistics for delay, buffer occupancy, dropped tokens, entry-exit and utilization
Expression to select the queue and priority of a Token Expression to select the queue, delay and priority.  The delay can be a delay value, number of cycles (Clock Speed for hardware) or packet delay (speed for networks)
Usage:

  1. Store and forward with external event
  2. FIFO
  3. Bank teller
  4. Software linked list
Usage:

  1. Store and delay with no external event
  2. Processors, buses, Network
  3. Active traffic light

System Resource - Implements digital video broadcast