A port graph rewriting system for visual data modelling