plication. Both Timed Petri Nets (TPN) and Coloured
Petri Nets (CPN) have been evaluated for this pur-
pose, together with their support tools, favouring at
the end the adoption of Coloured Petri Nets.
Due to the limited time available to conduct the
experiments, in order to satisfy stringent temporal re-
quirements from our industrial partner, we have cho-
sen not to investigate other temporal modeling for-
malisms, such as timed automata (Alur, 1992). The
results obtained by these experiments were however
judged sufficiently satisfactory to consider the adop-
tion of the technique inside the development process
of our industrial partner.
2 PRE-RUNTIME SCHEDULING
IN SAFETY RELATED RT
APPLICATIONS
A real-time process is characterized by a fixed time
limit, which is called deadline. A result produced af-
ter its deadline is not only late, but can be harmful to
the environment in which the system operates. De-
pending on the consequences of a missed deadline,
real-time processes are divided into two types:
• Soft Real-time: if producing the results after its
deadline has still some utility for the system, al-
though causing a performance degradation, that
is, the violation of the deadline does not affect the
proper functioning of the system;
• Hard Real-time: if producing the results after its
deadline may cause catastrophic consequences on
the system under control.
To meet this requirement, scheduling plays an im-
portant role. Depending on the assumption done on
the processes and on the type of hardware architec-
ture that supports the application, the scheduling al-
gorithms for real-time systems can be classified ac-
cording to the following orthogonal characteristics:
• Uniprocessor vs. Multiprocessor
• Preemptive vs. No preemptive
• Static vs. Dynamic
• Pre-runtime vs. Runtime
• Best-Effort vs. Guaranteed
For what concerns the fourth characteristic, in pre-
runtime scheduling all decisions are taken before the
process activation on the basis of information known
a priori. The schedule is stored in a table which will
be integrated into a run-time kernel. The kernel has
one component called dispatcher which takes tasks
from the table and loads them onto the processing ele-
ments, according to specified timing constraints. The
Runtime category represents instead those algorithms
in which the scheduling decisions are made at runtime
on all current active processes. The ordering of tasks
is then recalculated for each new activation.
The choice between pre-runtime or run-time schedul-
ing has been done in our case in favour of the former
thanks to the better possibility to demonstrate pre-
dictability, which is a must in a safety-critical environ-
ment. That is, with pre-runtime scheduling it is possi-
ble to exhibit to an assessor the analyses conducted
on the considered set of tasks in order to establish
that tasks do not miss their deadline, while with run-
time scheduling evidences provided simply by run-
ning tests can be not convincing about their coverage
of all possible cases.
Indeed, the present paper aims to show a method to
strengthen the analysis on pre-runtime scheduling to
a high level of confidence. In particular, we present
a method that can be used to verify the pre-runtime
schedulability of a task set that contains only periodic
tasks with time and priority constrains.
The motivations for this approach come also from
the high variability of installations of the same sig-
nalling system at different locations or controlling
different stations or lines. Indeed, in railway sig-
nalling systems, a distinction is often done between
generic applications and specific applications (see,
e.g., the CENELEC EN50128 (Cenelec, 1996) guide-
lines): generic software is software which can be used
for a variety of installations purely by the provision
of application-specific data and/or algorithms. A spe-
cific application is defined as a generic application
plus configuration data, or plus specific algorithms,
that instantiate the generic application for a specific
purpose.
While the platform is part of a generic application,
and hence it is validated once for all, for each specific
application the satisfaction of real-time constraints
must be verified from scratch.
Indeed, quite often in everyday work it is necessary
to revise the schedule of some systems, and all this
is routinely done in an empirical way. It is clear that
each application has a different way to interact with
the platform and especially with its resources, such as,
for example, input/output drivers for different hard-
ware. It is for this reason that the schedule of real-
time tasks should be revised at any new specific ap-
plication.
The adopted empirical approach includes actions to
be taken when configuring the platform for a new spe-
cific application, such as: get a new schedule configu-
ration offline and test it on the target. It rarely happens
AMARETTO 2016 - International Workshop on domAin specific Model-based AppRoaches to vErificaTion and validaTiOn
6