costs. For example, one early interesting application
of formal methods has been the development of tools
able to generate comprehensive test cases from formal
specifications (Toth et al., 1996). Theorem proving of
systems meeting their specification is another, more
recent, cost saving and effective use of formal meth-
ods in the verification and validation process (Richard
et al., 2002). To sum up, at their heart, formal meth-
ods come to apply software based mathematical mod-
elling on industrial systems in order to help demon-
strate they meet their specifications, quality and safety
properties. But that tells only a small part of the story.
Many other cases involve formal methods, in many
different ways, to build a sound understanding of sys-
tems’ functioning and interactions, validate data be-
fore commissioning, generate test cases and reduce
the overall development costs (Ait Wakrime et al.,
2014).
The present research suggests that bridging differ-
ent formal techniques, particularly for use during the
specification and verification phases, can contribute
to creating more diverse and agile design frameworks,
and providing purpose-built solutions to safely handle
system design. This paper’s contribution falls in the
Petri nets sub-classes research line and can be viewed
as completing the development of the re-search ex-
ploring the transformation of Petri nets to Event-B
and Classical-B (Boudi et al., 2017; Boudi et al.,
2015), by introducing what we call B-sequenced
CPNs, a CPN sub-class. These aim to broaden the
features of Petri nets using mathematical sequences
annotations as expressed in the B-language, and B-
method verification tools as a mean to enhance mod-
elling accuracy and the overall model design, verifi-
cation and validation. Of course, several sub-classes
of Petri nets have been proposed in the literature, of
which we cite as example (Chiola and Franceschinis,
1989; Ait Wakrime, 2015), which focused on improv-
ing fineness in modelling the behaviour of systems.
However, none of the existing contributions have cov-
ered the merger of other formal methods’ features in a
Petri net sub-class, whether it is in view of consolidat-
ing correctness verification of the formal specification
or for creating a bridge to formal model refinement to-
wards safe-by-design code generation.
In considering all these, we will explain and show
in this paper, through an ERTMS level 3 case study
addressing the design of safe Movement Authority
(MA) control, how such a sub-class of colored Petri
nets, combining B-method notations and the concepts
of mathematical sequences, fits in a progressive solu-
tion formalization and verification. After introducing
the used definitions of Colored Petri nets (CPNs), and
qualifying general aspects surrounding the B-method,
the next parts will introduce the suggested CPNs’
sub-class. On this basis, the following sections will
provide a detailed case study where a concrete ap-
plication of B-sequenced CPNs is shown, including
modelling and validating the railway ERTMS Level 3
Movement Authority computation.
2 AN OVERVIEW OF PETRI
NETS
Carl Adam Petri, German mathematician and com-
puter scientist, developed the mathematical networks
commonly known as Petri nets between 1960 and
1962. Petri nets became initially famous in the scope
of the MIT Project on Mathematics and Computa-
tion (MAC project) in the 1970s. The main bene-
fit from these Petri networks is the thorough design
and analysis of a wide variety of discrete event sys-
tems. They enable both static and dynamic modelling
through their structure and operating rules.
A Petri net is a graph containing two types of
nodes. First, “places” that are graphically represented
by circles, empty or containing tokens, and second,
“transitions” as bars or boxes. “Places” and “transi-
tions” connect to each other via directed arcs. These
arcs can only link a “place” to a “transition” or a
“transition to a place”, and “transitions” are enabled
when there is a token in the input “places”. Moreover,
a Petri net must have an initial state also called initial
marking. Detailed explanation is provided in (Murata,
1989). While place/transition Petri nets seem to be
well suited for small size discrete systems, it is clear
they might raise many limitations when dealing with
big complex systems, such as railways or smart grids.
One alternative to easily design more complex sys-
tems is to use High-level Petri nets.
Tokens cannot be distinguished in elementary
Petri nets. Nevertheless, real systems’ design requires
the possibility of transforming the nature of tokens
through a “transition”. This is why High-level Petri
nets appeared as a new type of Petri nets which cope
with token transformation and support a first-order
language. A first class of High-level Petri nets known
as the “predicate/transition” nets was introduced by
Hartmann Genrich (Jensen and Rozenberg, 2012),
followed by Algebraic Petri nets (Reisig, 1991), and
later the development of colored Petri nets by Kurt
Jensen (Jensen, 2013). In brief, Colored Petri nets
(CPNs) are an extension of Petri nets where the main
strength lies in the use of a functional language that is
based on the notion of typing. They accordingly link
each token to a type called “colour” which differenti-
ates tokens. Below Kurt Jensen’s formal definition of
Introducing B-Sequenced Petri Nets as a CPN Sub-class for Safe Train Control
351