An object-oriented programming approach for a GIS data-driven simulation model of traffic on an inland waterway