09.08.2013 Views

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Architecture</strong> <strong>Modeling</strong><br />

expressed by the concept ProcessingResource. The SchedulingPolicy concept allows<br />

to specify the strategy of the scheduler, e. g. fixed-priority based. The SchedulerSlots,<br />

which receive a fraction of the resource, aggregate the concept SchedParameterSpec, that<br />

specifies parameters used by a scheduler to run its strategy. Such parameters are for example<br />

the definition of a priority.<br />

RichComponent<br />

Resource<br />

+ isActive: Boolean<br />

+ isProtected: Boolean<br />

+ resMult: int [0..1] = 1<br />

+required<br />

SchedulerPort<br />

SchedulerRPort +required<br />

ConcurrencyResource ProcessingResource SchedulerSlot<br />

0..*<br />

+ isPreem ptible: Boolean = true<br />

Variable<br />

SchedParameterSpec<br />

+provided<br />

SchedulerPort<br />

SchedulerPPort +provided<br />

0..1<br />

+required 1<br />

+provided 0..*<br />

0..*<br />

+schedParameters 1<br />

1..*<br />

Scheduler<br />

+ isPreemptible: Boolean = true<br />

+policy 1<br />

+schedule<br />

1<br />

TextuallyRepresentedElement<br />

Expression<br />

+scheduleLength 0..1<br />

SchedulingPolicy<br />

+ otherSchedPolicy: String [0..1]<br />

+ policy: SchedPolicyKind = FixedPriority<br />

Figure 3.11: Meta-model integration of the concept Scheduler<br />

The concept, which actually uses the fraction of the ProcessingResource, is a<br />

ConcurrencyResource or specializations thereof. If some schedule was determined offline,<br />

it can be directly specified by means of an Expression in the role schedule. This<br />

overrides whatever was specified in the SchedulingPolicy.<br />

The relation of the concepts Scheduler, SchedulerSlot and<br />

ConcurrencyResource is modeled by the special ports SchedulerPPort and<br />

SchedulerRPort. That ports must be typed by a PortSpecification, which is<br />

conformant to the concept SchedulerPortSpec (see Figure 3.12). This specification<br />

comprises five flows, that are referenced in the following roles:<br />

activateEvent is a flow of kind event. The direction is always in. This event<br />

denotes the request for the activation of a ConcurrencyResource. The<br />

ConcurrencyResource thus notifies its need to access the capacity of a<br />

ProcessingResource.<br />

startEvent is a flow of kind event. The direction is always out. This event denotes the grant<br />

of some Scheduler upon a previously received request (the activateEvent).<br />

finEvent is a flow of kind event. The direction is always in. This event denotes the release<br />

of the capacity of the ProcessingResource by the ConcurrencyResource. It<br />

is triggered, when the ConcurrencyResource has finished its computation or communication.<br />

suspendEvent is a flow of kind event. The direction is always out. The referenced flow<br />

shall be triggered by some Scheduler or forwarded by some SchedulerSlot, when<br />

access to the processing capacities of a scheduled resource has been granted before, but<br />

shall now be revoked in favour of another SchedulerSlot. This reference to a flow is<br />

only needed, if preemption can occur.<br />

23/ 156

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!