Modeling the obsolescence of models
Alfonso I., Sottet J.S., Brimont P., Cabot J.
Software and Systems Modeling, 2024
Programs, like people, get old. The same is true for models, which can become obsolete due to a diversity of factors such as changing requirements, data drift or evolution of the domain itself. Preventing or addressing obsolescence as early as possible helps to reduce the significant costs, risks, and uncertainties incurred by obsolete models and the software system generated from them. Indeed, obsolescence in models can easily propagate to errors in the system resulting in behavioral uncertainty marked by unforeseen, emergent, or unpredictable behavior. Nevertheless, methods and strategies to identify, anticipate, minimize, and manage model obsolescence are presently lacking. This paper presents an innovative approach to tackle model obsolescence. We have designed a domain-specific language (DSL) to specify potential aging and degradation conditions for model elements. Based on the DSL annotations and the history of changes in a model, we can pinpoint those elements that require validation or risk becoming obsolete. Both the DSL and the engine to calculate the obsolescence status of the elements in a model have been released as part of the open-source BESSER modeling platform.
doi:10.1007/s10270-024-01236-3