Reference/Articles/Hierarchies

Why Separate Physical and Logical Models?

Logical Models
Knowledge is rich and sophisticated, taking many (e.g. infinite) forms. When managing it, and the real-life problems and issues it addresses, we naturally first consider logical models, often also referred to as business models or even as real-world models. Logical models correspond to what we are trying to manage. They reflect what we see (e.g. know) about problems, their symptoms and manifestations. Logical models are problem models, directly mapping the various problem or issue aspects.

Physical Models
As we program systems and applications to manage the knowledge and problem issues expressed in logical models, the first approach often seems to define corresponding data and computing structures (e.g. physical models) that also directly map the logical or business models.

Reality
While today's systems and programming environments can process physical models that are direct mappings of logical models, the added abstractions of separating logical and physical models introduce many additional benefits. Just like minds process all knowledge and thinking as neural patterns that map reality and issues, computing network graphs that articulate knowledge, problems, and issues can provide great efficiency and many advantages. In fact, network graphs are the closest thing that computers can have that resemble the mind's neural patterns.

Abstracting
But why and how would this additional abstraction step be truly justified? Why not just let systems manage our logical business models directly, especially as, today, computing resources are more and more readily available?

Reasons
Comments and suggestions are greatly appreciated. There are surely many answers and reasons, including these few, maybe:

  • Flexibility: Decoupling physical and logical models, allows them to evolve separately, each optimized for their specific respective purposes, without impacting the other. More specifically, for example, business (e.g. logical) models can be refined and developed without having to change existing applications based on the corresponding physical models. In the same way, physical models and associated applications can be optimized for processing and exchange, without disrupting corresponding business models. A great side effect of this flexibility is linear, rather than exponential, complexity growth: as business models get more complex, the impacts on applications can be staggering and grow on an exponential curve, but has separated physical models are designed to more efficiently support logical model variations and enhancements, the complexity growth of physical models, and the associated applications can be kept under the linear growth curve
  • Generalization: Physical models can be designed to support many, possibly concurrent, variations of related business processes (e.g. logical models), without change. The applications can then be generalized to manage more cases, without increasing their complexity, or even changing them in any way
  • Compatibility: Through the associated generalization, more applications and more data models can be made compatible, as they share the same physical models, further fostering the development of more applications, as well as of standards, which can also bring even more compatibility, as well as the associated exchange, sharing, and collaboration productivity
  • Efficiency: As physical models are optimized for computing, without compromising logical and business models, processing efficiency is improved, adding to, and even factoring flexibility, generalization, and compatibility advantages

Benefits
Separating logical and physical models is not a compromise for systems and computers. Rather, it is a more efficient way to consider and manage issues and the associated knowledge. It also seriously benefits systems and applications, just has managing knowledge benefits from the minds abstractions to neural patterns.

Continue to