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
© Copyright 2026 Paperzz