On Github willdurand-slides / fm2015
A factory is divided into several workshops, one for each step of the manufacturing process.
A production system is composed of devices, production machines, and one or more software to control them.
In our case, we target a single workshop only.
Software exchange information with points and machines by sending and receiving production messages.
17-Jun-2015 23:29:59.50|17011|MSG_IN [pid: 1] [nsec: 8] [point: 1] ... 17-Jun-2015 23:29:59.61|17021|MSG_OUT [pid: 1] [nsec: 8] [point: 3] ... 17-Jun-2015 23:29:59.70|17011|MSG_IN [pid: 2] [nsec: 8] [point: 2] ...
Production messages are exchanged in a binary format (custom protocols), through centralized messaging systems.
Each production message is tied to a product (e.g. tire),identified by a product identifier (pid).
Gathering all production messages related to a productallows to retrieve what happened to it.
Testing such production systems is complex, and takes a lot of time as it implies the physical devices, and there are numerous behaviours.
These behaviours could be formally described into a model. But writing such models is an heavy task and error prone.
Not suitable for Michelin applications.
By leveraging the information found in the production messages, we build formal and exact models (STS) that describe functional behaviours of a production system under analysis.
10 million production messages (20 days)
161,035 traces
S R(S) 77,058 branches 1,587 branches 43,536 branches 1,585 branches2 entry points here
It took 5 minutes to build the two models.
Does SUT conforms to the specifications?