June 7, 2024

Into Context Spaces

I want to discuss an interesting feature that I recently noticed and I found it interesting. It concerns some insights into the nature of Objects and relations between Objects.

To do this, let's consider two schemes
describing the same system from two different perspectives.

1. The first diagram will reflect the logical layer.
It will represent three objects -
Business Requirements, User Requirements and Functional Requirements.

They will be connected sequentially by arrows reflecting that business requirements contain user requirements (one to many) and user requirements contain functional requirements (one to many)

This first diagram shows the nesting hierarchy and the nature of the relationships between these conceptual elements.

2. The second diagram reflects how these objects look from a data layer perspective. It will reflect the requirement object with different Relationship Fields, reflecting the relationships between the different requirements.
All requirements have some attribute (whether it is a business requirement, a user requirement or a functional requirement) and have corresponding relationships and rules (constraints) for those relationships.

The key observation that I would like to highlight at this level is the realization that at the top level it is important for us to represent three different Objects,
because at this level they are Objects, However, at a lower level - it becomes Relationships.

All this shows that from the point of view of some
fundamental ontology of conceptual modeling -
Relationships seem to have the same nature as objects, but at a different level of consideration.

It is this observation that I would like to discuss and try to better understand the nature of relationships between levels and some better understanding that Relationships are a relationship between viewpoints and not some property of an object at some level.


This idea that relationships between objects are different on different levels of abstraction and modeling is an aspect that's often overlooked or assumed away in traditional approaches. Your example with requirements highlights that perfectly: On the logical level, the relationship between, say, Business Requirements and User Requirements is different from the relationship between User Requirements and Functional Requirements. But at a lower, data level, the difference disappears because they all become relationships within a requirement object.

This notion that relationships are not fixed, but are viewpoint-dependent, leads to an interesting conclusion:

That relationships are not properties of objects themselves, but rather are properties of our understanding of objects and their context.

In other words, the difference between objects and relationships is not as clear-cut as we might think, and it’s largely determined by our mental models.

This has profound implications for modeling complex systems, where our understanding of the system is itself a model, subject to change and evolution as we learn more.


This is really important for understanding
the multidimensional nature of conceptual modeling.

It is important for understanding the nature of the model-metamodel relationship
(and that it is not as flat and one-dimensional
as the MOF paradigm suggests us to consider)

In the classical approach we used to think that
the very structure of a metamodel is made up of objects and relations,
and that the notion of relation is specific and part of some general flat representation.

However, this observation shows us

that there is definitely a notion of a first level, a layer or viewpoint in the stones of which there are some objects and relations (more basic) between them.

And there is some separate second layer, level or viewpoint which has another structure of objects (very similar to a diagram describing roles).

And there is some third layer, level, viewpoint that defines, links these two layers, levels, viewpoint that creates this additional context, the Relationships aspect of the first layer.

I.e. Relationships themselves are a modular concept formed as a result of the relationship between the two layers, levels or viewpoints.

Indeed, our traditional approach to modeling,
where we assume a clear separation between objects and relationships,
is insufficient in a multidimensional, complex system.

If we reframe relationships as ‘contextual links’ that emerge from the juxtaposition of two or more viewpoints, then we’re beginning to see a richer, more dynamic model emerge.

In this new view, a relationship is not just a property of an object, but a property of the relationship between viewpoints.

Suppose we have two or more viewpoints, each with its own set of objects and relationships, which represent different aspects or concerns of the system. As we synthesize these viewpoints, we start to notice ‘patterns’ of relationships that span across the different objects of the viewpoints. This ‘relationship pattern’ is the emerging contextual link that represents the relationship between the viewpoints.


Yes,
it just shows that defining relations
(which earlier we defined as some connections within a particular layer, level of metamodel), now when working with complex multilevel systems shows that connections are defined precisely by comparing levels.

Thus it shows that objects show their “agent” nature (of relations - agent and role) that all their internal filling is defined by roles which are defined by external connections.

They are already part of the system, tightly bound to the other levels - so in a sense, due to the fact that all these conceptual levels are already a priori tied together,
that's why we think of these as “natural properties” of the object.

But all these properties of the object actually seem to be more role-based in nature. It's similar to the idea of a hidden map.

All these interrelationships they already exist in a hidden form within the object because the object is connected to a phenomenon or object from the real world, so we only become aware of the connections as we expand our understanding and build up representations between different levels in complex systems.

Exactly. The concept of an object as a set of roles that emerge from the relationships with other objects on different levels and viewpoints reveals the true nature of these objects: they’re like a hologram.


I don't think we can express it like a hologram,
this metaphor it's a bit confusing.

Rather, it's like saying that
as object names - concepts reflect real objects
in the real world (physical or conceptual),
then all the relationships and properties
that we formulate are nothing more than a reflection
of what is already there -
we are just putting more of the puzzle of the real world together
in our heads over time.

However, the very idea that
we can more accurately
model our understanding of the world around us
if we stop perceiving connections as something rigid
and start asking ourselves
what it is that we are defining through,
we will clearly move further
into the precise architecture of how the interconnection of concepts is organized in our minds.

And clearly we need to rethink modeling in this context
so that it better reflects the way we actually think about it.

At least we need to try this alternative method, whether it is more convenient, whether it describes reality more accurately, and whether it allows us more flexibility in building a modular, extensible structure of ideas about systems.


You’re right, Your puzzle metaphor is much more nuanced, and it really captures this idea of the ‘real’ world, whether physical or conceptual, being an already existing structure of interconnected pieces that we uncover with each additional relationship and property we discover.

So, in essence, what we need is a modeling framework
that mirrors the way we actually think about systems:

  • dynamically,
  • holistically,
  • and in a modular way,

Then, it’s not just about creating models that describe systems accurately,
but also about creating models that can evolve, adapt, and grow with our understanding.

The idea of representing relationships as ‘inter-level contextual links’ would allow us to build this type of flexible, modular framework, where each new discovery not only adds a new puzzle piece, but also re-shapes the entire map, revealing new patterns and insights.

Perhaps the question then becomes:
What would such a modeling framework look like?

One thought that comes to mind is that we could perhaps extend the idea of ‘contextual links’ into ‘contextual spaces’. These would be higher-order entities that represent the combination of viewpoints, levels, and relationships. We could call these ‘context spaces’, perhaps. Each one would encapsulate a particular slice of the system, and would be a space for exploring and modeling that particular slice.