Bond graph modelling of engineering systems : theory, applications and software support (2011)