Have you been in the situation where you’re looking for the best language for conceptual and logical modeling? I’ve been modeling for a while now, and I keep questioning if the languages I use fits the purpose. Quite often I feel it’s the customer’s tools decide the language, unfortunately this also limit the use of the models.
My customers has varied from large enterprises to small solutions, from local models to models suppose to span the enterprise and 10s of systems, and even a small country. There is not likely that we have one language that fits all, but it is interesting to think about the consequences of the choices we make as enterprise information architects.
It is also interesting to reflect over the cause of the so-called 2000-bug. It was clearly a modeling issue, limiting the representation of year to only two characters . We are told that it was due to the cost of storage. Maybe the choice was made because we could buy an extra PC due to the savings there and then? What was the total cost of ownership of the system due to that decision? And, are we repeating the mistakes of the 80s? Are we selecting modeling languages from our current prefferences creating a future cost?
Let me start off by looking at the objective of logical Information.
Where logical information models originally was meant to hide implementation details from the user, the term conceptual models went somewhat further abracting models into human terms and relations.
Historically objective of information modelling originally tried to model databases (with e.g. Express, EER-models), later object oriented programs (with e.g. UML) and services (with e.g. XSD and WSDL). Later, though the 2000s, we have seen a major shift towards modeling information throughout the enterprise domain.The term Domain Model is sometimes used as a synonym to Logical Information Model when it covers more than a system.
We see that more data is originating from outside the enterprise and Big Data and Linked Data needs to be part of the picture. We also see an increased need of agile information modeling with need for new languages and methods.
Problems arrise when we are using the 80s and 90s languages and tools to model information in the enterprise.
In the next blog post I’m going to try to deep dive into the strength and weaknesses of the older and newer languages, and when they becomes a constraint rather than an opportunity. Later, I will look at the tools and their maturity and capabilities.