Different to a human, but not to a computer

We were discussing different ways of modelling information about two different concepts. One of my colleagues observed:

Concepts X and Y look very different to a human, but they don’t look all that different to a computer.

He suggested (looking further into) representing these two concepts using the same entity in the system.

A number of things struck me as noteworthy: I think it might be beneficial to more frequently distinguish conceptual models and implementation models (or conceptual and implementation concerns) in design discussions. I’m glad this happened here. Relevant concerns in a conceptual model don’t necessarily have the same relevance in an implementation model and vice versa.

We frequently still seem to draw on sub-classing as the mechanism of choice for distinguishing different types / categories / kinds of things in our models. Other mechanisms such as type attributes or type objects may yield much better results in many situations.

My colleague’s description of this thinking (looking different to a human but not that much to a computer) seems so much better than my ramblings about conceptual and implementation models.

Martin Fowler’s Analysis Patterns book contains a wealth of ideas on this and related topics — it’s highly valuable and relevant 15+ years after its first publishing. Get a first look here and here. Look for discussions of the knowledge level vs. the operational level in models.

Advertisements

One thought on “Different to a human, but not to a computer

  1. Eoin

    The ultimate step is the interpretation of the model, which is still done by a human so while a different concept might be modelled (near) identically in a computer system, the view layer becomes critical when overloading models to represent different concepts.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s