Skip to content
A catalog of model smells
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Catalog_of_model_smells_v_1_0.odt
Catalog_of_model_smells_v_1_0.pdf
LICENSE
README.md

README.md

model-smells

A catalog of model smells.

It is a part of the work that was published in the paper:

Eessaar, E., Käosaar, E., 2018. On Finding Model Smells Based on Code Smells. In: Software Engineering and Algorithms in Intelligent Systems, Vol 1: 7th Computer Science On-line Conference 2018 (CSOC2018), April 25-28, 2018. Ed. Silhavy, R. Switzerland: Springer International Publishing, ISBN: 978-3-319-91185-4, pp. 269-281. (Advances in Intelligent Systems and Computing; 763) (SpringerLink)

What is a model smell?

Each model is a simplification of reality. Each model is a set of statements in one or more languages that is (hopefully) syntactically correct and presents true propositions about the "thing" that it describes. Hopefully the model is formatted so that it is well usable.

A well usable model is useful and necessary for the same reason than clean code.

It helps model users to better understand and evolve the models and thus also the modeled system.

Unclean (smelly) models and code have the same general problems (for instance, duplication, inconsistencies, high coupling). Such problems cause technical debt. An artifact with a debt is not necessarily wrong (i.e., does not necessarily present false propositions) but its bad representation makes it more difficult to understand, maintain, reuse, and extend it. It will cause problems (interest payments) later.

You can’t perform that action at this time.