Arend Rensink - Graph-based-modelling

GRAPH-BASED MODELLING
Arend Rensink, University of Twente
ITC, October 2016
24 October 2016
Graph-Based Modelling
1
CONTEXT: MODELLING SYSTEM DYNAMICS
 State/Transition-models
 Capture all potential ways a system can go
 Especially used in case of discretised “behaviour”
 Typically infinite or extremely large
 Analysis of such models
 Finding error states or paths
 Finding (optimal) paths
 Generating test cases
 System can be anything at all
 Puzzles and games
 Coffee machines
 Software or controlled systems
Graph-Based Modelling
24 October 2016
2
GRAPHS AS STATES
 Graph captures a single state of your system
 Nodes for objects, edges for relationships
 For example: uncoloured map with three available colours
Graph-Based Modelling
24 October 2016
3
RULES TO CAPTURE TRANSITIONS
 A rule describes a (potential) change in a graph
 Together with applicability conditions
 Example




Given a Country and the Colour “Red”
And in the absence of a current colour
Add a colour edge
And actually colour the country
 This can be nondeteministically applied to the start graph
 And again
 And again
 And the same rule for Blue, Green, …
 This defines a full (very large) state space!
Graph-Based Modelling
24 October 2016
4
RULES TO CAPTURE CONDITIONS
 Error conditions
 E.g.: No two neighbouring countries shall be coloured the same
 I.e., this pattern should not occur:
 Final conditions
 E.g.: All countries should be coloured
 I.e., this nested pattern should occur:
Graph-Based Modelling
24 October 2016
5
APPLICATIONS
 Games and puzzles
 Search for a solution
 Network connectivity analysis
 Can a network become unconnected?
 Concurrent protocols
 Will the protocol terminate, converge, …
 Will requests always be handled correctly?
 Software verification
 Are there reachable error states?
 Model transformation
 How to evolve a domain-specific language?
 How to migrate existing models/programs in that language?
Graph-Based Modelling
24 October 2016
6