The Information Flow Framework (IFF)

Motivation and Overview

She acknowledged it to be very fitting, that every little social commonwealth should dictate its own matters of discourse; and hoped, ere long, to become a not unworthy member of the one she was now transplanted into. With the prospect of spending at least two months at , it was highly incumbent on her to clothe her imagination, her memory, and all her ideas in as much of as possible.”
Persuasion, Chapter 6, (1818). Jane Austen

According to the Scope & Purpose of the IEEE SUO project, “This standard will specify an upper ontology that will enable computers to utilize it for applications such as data interoperability, information search and retrieval, automated inferencing, and natural language processing.”  Further, one of the three purposes of the project is “INTER-OPERABILITY: The standard will provide a basis for achieving Inter-Operability among various software and database applications.” The work presented here proposes a framework, the Information Flow Framework (IFF) to accomplish this goal of interoperability, as well as the goals related to automated reasoning and application areas. The IFF is designed to allow not only the interoperability among software and database applications, but also the semantic interoperability among various object-level ontologies themselves (Figure 1). As such, this work can be seen as complementary to the work being done in the IEEE SUO Working group on the SUMO. At this stage in the development of both the IFF and the SUMO, the major difference between the two works is that the SUMO effort is geared toward providing a single upper ontology, whereas the IFF is designed to support the semantic interoperability among various object-level ontologies. The IFF supports this interoperability by its architecture (Figure 1 and Section 2) and its use of a particular branch of mathematics known as category theory. A major reason that the IFF uses the architecture and formalisms that it does is to support modular ontology development.

Modularity (constructing with standardized units or dimensions for flexibility and variety in use – Merriam-Webster) is essential (John Sowa) to good design decisions in every area of engineering, and most of all knowledge engineering and software engineering. In particular, modularity is important in the development, testing, maintenance, and use of ontologies. Development time will be shortened because separate groups would work on each module with little need for communication. When an ontology is maintained in modular fashion, errors and deficiencies can be traced to specific modules, thus limiting the scope of detailed error searching. With a modular design, it will be possible to make drastic changes to one module without the need to change other modules. Also with a modular design, by considering one module at a time the ontology as a whole will more easily be understood. With this understanding, the whole system can be better utilized. A monolithic ontology, on the other hand, would be very inefficient. In use, some parts would be very stable, well justified and shared across very broad communities, while other parts would not be adopted widely and would be quickly replaced (Austin Tate). A modular design will facilitate these consensual and evolutionary processes of renewal. The categorical approach of the Information Flow Framework provides a framework for modular design via a structural metatheory of ontologies. Such a metatheory is a method for representing the structural relationships between ontologies. As will be quite evident in the Model Theory Ontology, this structural metatheory is compatible with the representation of object-level ontologies in any suitable and appropriate ontology language.

From the point of view (Robert Kent) that “every little social commonwealth should dictate its own matters of discourse,” would it not seem that the SUO should be structured in a modular fashion, as a loose confederation of participating ontologies, or perhaps better a league or commonwealth of ontologies?

We now turn to the modular architecture of the Information Flow Framework.

Metalevel

Ontology

 

Top

Top Core Ontology

(17 pages)

Upper

Upper Core Ontology

(97 pages)

 

Category Theory Ontology

(53 pages)

 

Upper Classification Ontology

(78 pages)

Lower

Model Theory Ontology

(15 pages)

 

Ontology Ontology

(15 pages)



IFF Architecture

Architecture

The Information Flow Framework seeks to apply Information Flow to distributed logic, ontologies, and knowledge representation. The IFF takes a building-blocks approach towards the development of object-level ontological structure, This is a rather elaborate categorical approach that uses insights from the theory of distributed logic known as Information Flow (Barwise and Seligman 1997), and also uses ideas from the theory of Formal Concept Analysis initiated by Rudolf Wille (Ganter & Wille 1999). The IFF provides mechanisms for a principled foundation for a metalevel ontological framework – a framework for sharing ontologies, manipulating ontologies as objects, relating ontologies through morphisms, partitioning ontologies, composing ontologies via colimits, discussing ontological structure, noting dependencies between ontologies, declaring the use of other ontologies, etc. The IFF is primarily based upon the theory of Information Flow, which is centered on the notion of a classification. Information Flow is itself based upon the theory of the Chu construction of *-autonomous categories (Barr 1996), thus giving it a connection to concurrency and Linear Logic. The IFF is secondarily based upon the theory of Formal Concept Analysis, which is centered on the notion of a concept lattice. The IFF represents metalogic, and as such operates at the structural level of ontologies. In the IFF, there is a precise boundary between the metalevel and the object level. The architectural structure of the Information Flow Framework is illustrated in Figure 1.

Although the Information Flow Framework is rather large, it is highly structured, representing the structural aspect of the SUO, its metalevel, in terms of meta-ontologies. The Information Flow Framework is partitioned into three metalevels: top, upper and lower. These metalevels correspond to the set-theoretic distinction in foundations between (1) the generic, (2) the large and (3) the small (Mac Lane, 1971/1998).

The Information Flow Framework consists of an adequate amount of set theory which, on the one hand, is sufficiently flexible for the categorical inquiry involved in the Information Flow Framework (IFF) but, on the other hand, is sufficiently restrictive that IFF be consistent (does not produce contradictions). The terminology of the Information Flow Framework is mathematical. As a result, mathematical aesthetics plays a large role in development of the Information Flow Framework, both as a stimulus for change and as a guiding criterion in how to make those changes. Mathematical aesthetics includes such things as simplicity, elegance and power of expression, etc.

The Information Flow Framework consists of an adequate amount of set theory which, on the one hand, is sufficiently flexible for the categorical inquiry involved in the Information Flow Framework (IFF) but, on the other hand, is sufficiently restrictive that IFF be consistent (does not produce contradictions). The terminology of the Information Flow Framework is mathematical. As a result, mathematical aesthetics plays a large role in development of the Information Flow Framework, both as a stimulus for change and as a guiding criterion in how to make those changes. Mathematical aesthetics includes such things as simplicity, elegance and power of expression, etc.

From the set-theoretic perspective, the metalevel hierarchy of the Information Flow Framework (Figure 2) corresponds to the hierarchy of (1) collections, (2) classes, and (3) sets. Table 1 locates particular kinds of collections and functions in the three-tiered framework of the IFF. In the IFF, all relations are strictly binary and all functions are strictly unary. Functions that are conceptually binary need to use pair notation for arguments.

Kinds of Specific Collections

Collections
  • the collections of classes, functions, opspans and binary cones
  • the collections of large graphs and large graph morphisms
  • the collections of large categories and functors between large categories
  • the collection of natural transformations, and the collection of adjunctions
Classes
  • the object and morphism collections in any large category
  • the source and target of the component map of a natural transformation
  • the collections of algebras and homomorphisms of a monad
  • the collection of diagrams and cocones for each type of finite colimit in a category
Sets
  • sets as collections and the extent of their functions
  • the instance/type sets of classifications and the instance/type functions of infomorphisms
  • any small relation regarded as a collection

Note however, that the Information Flow Framework is being developed from the perspective of category theory. From this perspective, the three IFF metalevels are distinguished by use. Each metalevel provides a language for the representation of the level below it – this is its raison d’etre. The top metalevel provides a language for representing the upper metalevel. The upper metalevel provides a language for representing and reasoning about the lower metalevel. The lower metalevel provides a language for representing and reasoning about the object level. Now, although one could apply the upper metalevel axiomatizations to object level information, a goal of the IFF is to apply these only to upper and lower metalevel information. If a similar axiomatization is needed for the object level, then such an axiomatization can be put in place at the metalevel.

The following principle is critically important in meta-ontology design.

Categorical Design Principle:

The design of any module situated in the lower metalevel of the Information Flow Framework should adhere to the categorical property that its axiomatic representation is strictly category-theoretic:

Here is some representative code in the function sub-namespace of the IFF Ontology of Small Sets (a part of the Model Theory Ontology, which is under development). Notice how this code adheres to the Categorical Property. The lower metalevel terms being introduced in this fragment are: ‘function’, ‘source’, ‘target’ and ‘fn2rel’. The axiomatization uses both previously introduced lower-metalevel terms, and upper metalevel terms imported from the Upper Core Ontology.

It uses no top metalevel terms, and it uses no logical variables, quantifiers or logical connectives.

Language Levels, Role Types and Ontological Visibility

At its core, the Information Flow Framework is coded in the KIF logical language. As an ontological machine language, the Lisp-y style of logical expression of the KIF logical language is very useful, adequately expressive and conveniently terse. However, in the proposed IFF structure for the SUO the KIF logical language will not be used as the sine qua non for ontological expression. Instead, the IFF Foundation terminology is partitioned into language levels according to the following programming language analogy.

  1. The KIF logical language is like an ontological machine language.

  2. The Top Core Ontology is like an ontological assembly language. It provides a basic ontological apparatus for the SUO. The purpose of this kind of terminology is to be an interface between the KIF language and other ontological terminology, in general. Because of this purpose, the Top Core Ontology might also be called a bootstrap ontology.

  3. The bulk of the Information Flow Framework, as encoded in the of the upper/lower metalevel namespaces,

  4. is like a high level programming language such as Lisp, Java, ML, etc. The lower metalevel provides direct representation capabilities, and the upper metalevel provides indirect structuring capabilities.

  5. The object level of the SUO is like various software applications, such as word processors, browsers, spreadsheet software, databases, etc. The object level provides the content of the SUO coming from the various domain ontologies and philosophies with their own namespaces. The object-level ontologies can be specified using the terminology axiomatized in the lower structural level.

A central goal of the Information Flow Framework is to provide a principled mechanism for interoperability between the various modules at the object level. To support this goal, it is important that a complete distinction and an explicit boundary are kept between the object level and the metalevel. This fundamental partition must be obviously manifest in the SUO. Some ontologies at the object level may choose to represent and discuss metalevel concepts, but they would still be doing so at the object level.

On the SUO email list and at the IJCAI-01 SUO Workshop, various comments and concerns have been expressed about intimidating users with category theory terminology. As John Sowa has remarked “the appropriate place for category theory is under the rug where no one will ever see it.” Since the IFF uses the categorical perspective, it makes heavy use of the various ideas and terminology of category theory. However, in the Information Flow Framework this category theory terminology is invisible to the ordinary user – the user of object level ontologies. In the IFF approach the terminology that is visible to the ordinary user is that introduced in the object level ontologies, and the part of the IFF terminology visible to the object level content ontology developer is the terminology introduced in the lower metalevel. The latter is normal semantic terminology, but not category theory terminology. The IFF category theory terminology is introduced in the upper metalevel, and this is seen and used only at the lower metalevel, but not at the object level. This fact is represented by the dependencies in the IFF Architecture Diagram (Figure 1). In the above programming language analogy, the users of software applications should not see source code, but the programmers of those applications need to have it visible in front of them. By analogy, in the IFF approach, certain people working in certain roles will need to see and use category theory terminology, whereas others will want it to be invisible. This remains true, even when the lattice of theories is visible. These issues center on role types and ontological visibility of the IFF terminology and axiomatizations. As has been repeatedly stated, the Information Flow Framework is partitioned into four levels: the object level, and the lower, upper and top metalevels. The visibility of these levels depends upon the role that people play with respect to the IFF. Two distinctions are important in a discussion of role types and visibility:
These two distinctions are combined into six possible role types, of which we identify two pairs, ending up with four possible distinct role types. The first two role types do not want to see category theory terminology – they want it swept under the rug. However, the second two role types need to use category theory terminology.

Role Types and Ontological Visibility

4. The object level user

A person in this role (with respect to the IFF) sees only (4) object level terminology, that is, they see only domain/middle/upper ontology terminology.

Example terminology:

  1. From a Movie domain ontology: ‘movie’, ‘actor’, ‘rating’, …
  2. From an upper object level ontology: ‘3D’, ‘4D’, ‘object’, ‘event’, ‘continuant’, ‘occurrent’, …

3. The object level module designer = the lower metalevel user

A person in this role (with respect to the IFF) sees both (4) object level and (3) lower metalevel (for example, model theory, fuzzy/rough set, semiotic) terminology.

Example terminology:

  1. From the Model Theory Ontology: ‘instance’, ‘type’, ‘classification’, ‘subtype’, ‘disjoint’, ‘expression’, ‘arity’, ‘sentence’, ‘language’, ‘model’, ‘satisfies’, ‘interpretation’,  ...
  2. From a fuzzy/rough set module: ‘fuzzy-subset’, ‘upper-approximation’, ‘rough-set’, …

Here is the visibility boundary for category theory terminology (John Sowa’s “rug”).

2. The lower metalevel module designer = the upper metalevel user

A person in this role (with respect to the IFF) sees both (3) lower metalevel (model theory and other modules) and (2) upper metalevel (core, classification and category theory) terminology.

Example terminology:

  1. From the Model Theory Ontology: ‘instance’, ‘type’, ‘classification’, ‘expression’, ‘arity’, ‘sentence’, ‘language’, ‘model’, ‘satisfies’, ‘interpretation’,  …
  2. From the Upper Core Ontology: ‘class’, ‘function’, ‘source’, ‘target’, ‘relation’, ‘limit’, ‘colimit’, …
  3. From the Upper Classification Ontology: ‘classification’, ‘concept-lattice’, ‘concept-morphism’, …
  4. From the Category Theory Ontology: ‘category’, ‘functor’, ‘pullback’, ‘colimit’, ‘monad’, …

1. The upper metalevel module designer

A person in this role (with respect to the IFF) sees both (2) the upper metalevel (core, classification and category theory) and (1) the top metalevel (KIF interface) terminology. This would include Robert Kent, as the preliminary designer of the IFF upper metalevel and other category-theorists that might help in the future.

Example terminology:

  1. From the Upper Core Ontology: ‘class’, ‘function’, ‘source’, ‘target’, ‘relation’, ‘limit’, ‘colimit’, …
  2. From the Upper Classification Ontology: ‘classification’, ‘concept-lattice’, ‘concept-morphism’, …
  3. From the Category Theory Ontology: ‘category’, ‘functor’, ‘pullback’, ‘colimit’, ‘monad’, …

From the Top Core Ontology: ‘collection’, ‘function’, ‘relation’, ‘binary-product’, ‘tuple’, …

Truth and Modularity

The categorical approach of the Information Flow Framework provides a framework for modular design via a structural metatheory of ontologies. Such a metatheory is a method for representing the structural relationships between ontologies. As will be quite evident in the Model Theory Ontology, this structural metatheory is compatible with the representation of object-level ontologies in any suitable and appropriate ontology language. A categorical approach for modular design has previously been used in the Kestrel Institute’s SpecWare system. Specware uses the categorical notions of sheavescolimits for realizing a modular approach to software specification. Colimits, which are mechanisms for the fusion (amalgamation) of diagrams within categories, can be constructed from primitives (indexed objects and morphisms in the diagram) using sums (coproducts) and/or quotients (coequalizers, pushouts). Colimits are already represented in the Information Flow Framework: the Core Ontology has a representation for colimits in the quasicategory of set-theoretic classes and class functions; the Classification Ontology has a representation for colimits in the quasicategory of large classifications and infomorphisms, based upon the Core colimits; and the Category Theory Ontology has a representation for colimits in any large category. Extensions to the Category Theory Ontology will be able represent systems such as Specware by adding a namespace for sheaves. A study by Michael Uschold has demonstrated the power of colimits as a composition mechanism, not only for software specifications but also for ontologies. The Information Flow Framework advocates the use colimits for realizing a modular approach to ontology specification, not in terms of specifications and sheaves, but in terms of concept lattices and concept morphisms.

John Sowa has proposed the use of “an infinite lattice of all possible theories as the theoretical foundation of the SUO.” He advocates that the SUO have as its goal “a framework that can support an open-ended collection of ontological theories (potentially infinite) organized in a lattice together with systematic metalevel techniques for moving from one to another, for testing their adequacy for any given problem, and for mixing, matching, combining, and transforming them to whatever form is appropriate for whatever problem anyone is trying to solve.” The IFF approach advocates that the Information Flow Framework be used as this framework, and proposes that Concept Lattice, the category of concept lattices, be used in the SUO as a representation for John Sowa’s “lattice of all theories.” A very detailed formalism for the category of concept lattices is incorporated in the Upper Classification Ontology. The objects in this category are large concept lattices, and each concept lattice has an underlying large classification as its base and on which it is built. Large means that the collections of instances, types and formal concepts are set-theoretic classes, and not just small sets. Thus, this category can accommodate the truth concept lattice for a FOL language, whose instance collection is the class of all (model-theoretic) structures for that language, and whose formal concepts have as their intents the (closed) ontologies for that language. Amongst other things, the axiomatization of large concept lattices in the Upper Classification Ontology answers Chris Menzel’s foundational concerns about a “reasonable class theory.” The morphisms in this category are called concept morphisms. Each concept morphism has an underlying infomorphism as its base and on which it is built. In addition, each concept morphism has a pair of adjoint monotonic functions mapping between the source and target concept lattices. Being adjoint, one function preserves the joins and the other function preserves the meets of formal concepts. In terms of the truth concept lattices, they preserve the joins and meets of ontologies. The essential property of the category of concept lattices (Kent, 2001) is that it is categorically equivalent to Classification, the underlying category of classifications and infomorphisms, which is complete/cocomplete. Therefore, by a basic result from category theory, the category of concept lattices is also complete/cocomplete. This means that we can construct both limits and colimits. However, the colimits are of most interest. A build process that constructs colimits in the Concept Lattice quasicategory can be described as follows.

The notion of the truth classification of a FOL language is discussed as example 4.6 on page 71 of (Barwise and Seligman, 1997). Both this and the associated truth concept lattice, which is illustrated on slides 5 and 6 of the presentation, use the terminology of the Model Theory Ontology and occur as examples within the Upper Classification Ontology. The truth classification of a FOL language L is the meta-classification, whose instances are L-structures (models), whose types are L-sentences, and whose classification relation is satisfaction. In the IFF approach, the concept lattice of the truth meta-classification functions is an appropriate base “lattice of ontological theories.” A formal concept in this lattice has an intent that is a closed theory (set of sentences) and an extent that is the collection of all models for that theory. The theory (intent) of the join or supremum of two concepts is the intersection of the theories (conceptual intents), and the theory (intent) of the meet or infimum of two concepts is the theory of the common models or the closure of the union of the theories (conceptual intents). It is important to note that this truth framework is a fibered structure. Which means that this is not a single lattice of theories but an infinite collection of such lattices, where each truth classification truth-classification(L) and each truth concept lattice truth-concept-lattice(L) is based upon (indexed by, parameterized by) a particular FOL language L. So a particular object level ontology – be it a domain ontology, a middle level ontology, or an upper level ontology – will be an element of a lattice based on its FOL language. Internally, the various ontologies (theories) are connected by generalization-specialization and sideways jumping. Externally, the lattices in the IFF framework can be connected by concept morphisms in numerous ways: by FOL interpretations, by colimit injections (for example, the FCA notions of apposition and subposition), or by concept morphisms defined by ontology merging, etc. The colimit operation can be viewed as an internalization operator, taking an (external) indexed collection of concept lattices and concept morphisms, and producing a single (internal) fused concept lattice.

The notion of a FOL interpretation is discussed as example 4.11 on page 74 of (Barwise and Seligman [op. cit.]). FOL interpretations are axiomatized in the Model Theory Ontology. A FOL interpretation I from one FOL language L1 to a second FOL language L2 maps the relations of L1 to the formulas of L2 preserving sorts. There are two relevant functorial passages:

FOL interpretation between two FOL languages

⇒ infomorphism between the truth classifications of the languages

⇒ concept morphism between the truth concept lattices of the languages

Each FOL interpretation I defines a truth infomorphism truth-infomorphism(I) from the associated truth classification truth-classification(L1) to the associated truth classification truth-classification(L2) (Barwise and Seligman, 1997). This truth infomorphism defines a truth concept morphism truth-concept-morphism(I) from the associated truth concept lattice truth-concept-lattice(L1) to the associated truth concept lattice truth-concept-lattice(L2) (Kent 2001). This functorial passage is axiomatized in the Upper Classification Ontology.