The highest abstraction level that is considered in RobMoSys is related to Hierarchical Hypergraphs and Entity-Relation models. The Entity-Relationship1) model was one of the first approaches for formal “data base” models of knowledge.2) It has gained renewed interest because of the rising popularity of the “Semantic Web”3).
One of the main challenges is to represent context, more in particular, to deal with the combinatorial explosion in the number of relationships needed to represent – and interconnect – all relevant pieces of information and knowledge in multi-domain ICT and engineering systems. Such interconnected knowledge forms graph networks of links and properties. This fact poses difficulties to Lisp, Prolog, or other “programming languages” for Artificial Intelligence (AI), since they only have representations for relationship trees as first-class citizens. The same holds for the frame languages 4) in AI, which considered “multiple inheritance” as a key feature. This last feature, together with “data encapsulation”, are two major aspects of strict object oriented languages and models, that make “open world” 5)6) knowledge representations difficult; the SOLID principles of object orientation better support knowledge representation, especially via its “D” feature, that is, the Dependency inversion principle, which states that one should “depend upon abstractions, not on concretions”. However, none of these approaches offers infinitely composable knowledge representations, because they only partially support the essential features outlined in the sections below.
The modern, higher-order, version of the Entity-Relationship model is that of a hierarchical (property) hypergraph7)8):
Often used synonyms for the term “Entity” are: object, concept, atom, primitive. “Relationships” are also called: rules, axioms, constraints, links, expressions. Often used extra meta data is the so-called provenance of a model: who made it? when? what version is it? Etcetera. State of the art formal meta models to represent such provenance are W3C provenance9), and Dublin Core10).
Each “thing” to be modelled will have a number of data structures that represent its properties. That can be done via (possibly nested) key-value pairs, with each key having, a type, a unique identifier (with which Relationships can refer to it), and a role to play in the “thing” properties. While efficient implementations of those properties can be realised with the rich data structure primitives in computer programming languages, the meaning of such properties, as just described above, is a hierarchical hypergraph.
A Relationship between Entities is a named directed graph, representing the Role that each Entity plays as an Argument in the Relationship:
Each “value” in an Argument has a domain (or “universe of discourse”): the type and the set(s) of possible values that the “key” can have. In other words, that domain brings its own property data structure to each argument. Remark the recurring pattern of “identifiers”, “types” and “contexts”, in the nodes and edges of a hierarchical hypergraph. And also remark that the graph is directed : pointing from the Relationship to the Entities, and down to the latters’ properties.
“Abstraction” is a key concept in modelling, but it is hard to define axiomatically. Below, three core “meta meta” forms of modelling are described11):
Concretization (or specialization) can be considered as the opposite of abstraction. In this sense, raising the level of abstraction means to get more general purpose while lowering the level of abstraction means to get more specific with respect to e.g. a certain domain. It is only natural that the general purpose (i.e. higher) abstraction levels tend to leave open some semantic variability. For instance, UML (as one representative for general-purpose modeling languages) purposefully defines “semantic variation points”. These “semantic variation points” can be fixed by e.g. deriving domain-specific models (in terms of UML by defining UML profiles). In this sense, RobMoSys as well defines several levels of abstractions, with “Hierarchical Hypergraphs” and “Entity-Relation” levels on top, over “Block-Port-Connector” and “RobMoSys composition structures” and down to concrete realizations (sometimes “reference implementations”). Going gown this abstraction hierarchy also means getting more domain-specific and narrowing semantic variability.
This section provides formal specifications for the Hierarchical Hypergraphs and for an Entity-Relation model.
Entity-Relation is a specialization of a Hypergraph. Therefore, Entity-Relation conforms-to a Hypergraph.
We do not introduce a RobMoSys specific definition for these relations. Instead, we just use their “common sense definition”. The following explanations are just typical “common sense descriptions”:
See next: