Overcoming Software System Misuse by Domain Knowledge

Often a perfectly functioning software system is misused causing undesirable and expensive consequences. The quest of this work is to prepare a priori the system for eventual extensions that – while not directly relevant to the system purpose – enable overcoming the consequences of its misuse. This is attained by means of domain knowledge to model the system misuse, beyond the original system model. In particular, if the behaviors of such a system have been modeled by statechart diagrams, these diagrams can be reengineered to suitably extend them, in order to correct the misbehavior consequences.