Reducing accidental complexity in domain models

0
205

Authors: Colin Atkinson, Thomas Kühne

Tags: 2008, conceptual modeling

A fundamental principle in engineering, including software engineering, is to minimize the amount of accidental complexity which is introduced into engineering solutions due to mismatches between a problem and the technology used to represent the problem. As model-driven development moves to the center stage of software engineering, it is particularly important that this principle be applied to the technologies used to create and manipulate models, especially models that are intended to be free of solution decisions. At present, however, there is a significant mismatch between the “two level” modeling paradigm used to construct mainstream domain models and the conceptual information such models are required to represent–a mismatch that makes such models more complex than they need be. In this paper, we identify the precise nature of the mismatch, discuss a number of more or less satisfactory workarounds, and show how it can be avoided.

Read the full paper here: http://www.sosym.org/