A Scheduler service (in this example SchedulerService) has no external interface; the class resident on the <<SchedulerService>> contains no operation. This class (Scheduler) must have the stereotype <<E2EScheduler>>; that is, the class must be a Scheduler.

There is one exception, when a Scheduler service has an external interface: This is a trace interface, which is a SOAP interface to the activity assigned to Scheduler class for debugging purposes. The compiler generates automatically the shadow interface and the corresponding shadow service when compiling the service. The Analyzer and the Interactive Debugger display the interface as a SOAP operation (for more information see Testing of Non-SOAP Services)

Figure: Scheduler Component Diagram

The SchedulerExample composite contains a Scheduler service (SchedulerService). The Scheduler service artifact contains a Scheduler class (Scheduler).

The Scheduler has the following tagged values that define, when a Scheduler event handler is executed.

Tagged ValuePossible EntriesDefault

allowParallelExecutions

If true (default), each time a scheduler pattern matches, the scheduler activity diagram is executed - even if another execution is already running.
If false, the next execution cycle is suppressed, if an activity diagram is already being run.
true
years(s)positive and negative integers or a pattern*
month(s)1 to 12 or a pattern*
weekday(s)Mon(day), Tue(sday), Wed(nesday), Thur(sday), Fri(day), Sat(urday), Sun(day), or a pattern*
day(s)1 to 28, 29, 30, or 31 depending on the month or a pattern*
hour(s)0 to 23 or a pattern*
minute(s)0 to 59 or a pattern0
seconds0 to 59 or a pattern

For explanations on date time patterns refer to Date Time Patterns.

Following the explanation of the tagged values above, the Scheduler defined in the component diagram above executes the activity each hour between 8 am and 8 pm (hour(s) = "8-20"), but only from Monday until Friday (weekdays = "Mon - Fri"). Tagged values that are specified with "*" are not displayed on the class.

Depending on the location of the Runtime, the value of hour(s) may differ from your local time. Even if the Bridge is located in the same time zone as your workstation, the time used by the scheduler to match the patterns depends on whether the Bridge uses UTC or local time. Which time zone is to be used, can be configured in the xUML Runtime.