Vous êtes sur la page 1sur 63

Category Theory Centric Systems Science and

Software Systems Engineering


Beyond SysML/UML

Kent Palmer Ph.D.


kent@palmer.name
http://kdp.me
714-633-9508
Copyright 2018 KD Palmer1
All Rights Reserved. Not for Distribution.
old: CategoryTheoryCentricSE_01_20180418kdp03a
new: CategoryTheoryCentricSE_01_20180424kdp04a
2018.04.13-18; Draft Version 03; unedited, diagrams added
Correction 2018.04.24
http://orcid.org/0000-0002-5298-4422
http://schematheory.net
Researcher ID O-4956-2015

Key Words: Systems, Architecture, Design, Special Systems, Systems Engineering, Software Engineering,
Software Ontology, Formal Systems, Schemas Theory, Dagger Theory, Category Theory

Abstract: Functional Agency Approach based on Category Theory, Gurevich Abstract State Machines,
Homotopy Type Theory, Dagger Theory including Schemas Theory as a Basis for Software Systems
Engineering Architectural Design. Includes briefings on Dagger Theory and Software Design Minimal
Methods.

In this paper we will explore the problem of formulating a new approach to Systems Science and Software
Systems Engineering Architecting as the basis for the Design of Systems and Meta-systems (ecosystems
and environments of systems). The basic proposition of our approach is to use Category Theory. This is an
inherently Functional approach. But we blend that with Agency to get a fundamental view of the way we
should approach Software Systems Architectural Design. But we maintain that Category Theory is not
enough even though it is the backbone of our approach. The problem is that there are multi-levels of
abstraction that need to be crossed in order to apply the Category Theory and to get beyond the limitations
of SysML and UML. Software Engineering unlike Systems Engineering has gone through several different
paradigms. Once Programming was realized to be hard then several different abstraction mechanisms have

1http://independent.academia.edu/KentPalmer See also http://kentpalmer.name http://emergentdesign.net


http://nondual.net
1
been proposed and we went through Data Flow Diagrams, then Object oriented approaches and now we are
turning to Functional approaches that are more in line with Category Theory and the use of languages like
Haskell. Now we are entering a new paradigm that says describe it with Categories. This is to say that
Objects, Agents, Functions, Data flow and other approaches should be subsumed to a type of Mathematical
thinking that has become very successful based on mapping at different levels of abstraction. However,
Category Theory which underlies the Functional approach is at a very high level of abstraction and therefore
we need intermediate methods to bring this type of thinking down to earth so that it may be practically
applied. Therefore, here we will suggest the integration of several different approaches that augment the
Category Theory orientation that we are suggesting should be the next stage beyond the current state of the
art described in terms of SysML and UML modeling languages.
First, we invoke the framework developed by Ken Lloyd2 in his (unpublished) Foundations of Systems
Science. In that framework he identifies different Worlds based on Popper and Penrose which include the
Conceptual, Mathematical, Mental and Physical realms. To this we would add the Intersubjective Social
World as well for the sake of completeness. In Ken Lloyd’s framework we identify these different realms
in which there are entities that could be described, then we use category theoretic languages to give the
description of the relations between the objects of these various realms. There are six such categorical
languages. When we add the Intersubjective World, we get four new languages specific to each of the other
realms that are rooted in natural language which is the basis of the Social realm. In other words, we
recognize that all formalisms including Category Theory are departures from Natural Language. In Natural
Language we can describe Social, Mental, Conceptual, Physical and Mathematical entities. We can then
specify their relations to each other as mappings in Category Theory restricted languages. This is an
approach at the Systems Science level that says that Category Theory will be used to describe the bridge
mappings between types of entities from within each of these worlds. These are factors in which any pair
of worlds is either domain or codomain. Within each of these realms there could be categories that are
described in natural language or formally by some restricted set of natural language. We posit that within
each of these realms we could describe categories of each type with its morphisms. This means that there
are conceptual categories, mental categories, mathematical categories, physical categories, or social
categories. These categories have their functions that map from domain to co-domain within the world or
realm. But those languages that Ken Lloyd has specified are functors that map between categories in pairs
of worlds. Say we take a mental category and have a functor that maps it to a mathematical category. If we
have another such pair say between the mathematical and physical categories that have a functor between
them, then we can map between these functors with a natural transformation. Beyond natural
transformations in N-category Theory of John Baez there are modifications and perturbations (or
fluctuations) as even higher level of morphisms that we might use to build complex syntheses of categories
through more and more abstract mappings. The basic idea is that we will take a fundamentally functional
approach and thus we are moving beyond object-oriented approaches endemic to UML and SysML. But
we recognize that there is needed an agency orthogonal vista added to the functional approach for an
accurate description of Realtime Systems that are distributed across different processing platforms. There
is agency as an orthogonal perspective in the physical world, in the mental world, in the conceptual world,
in the social world and in the mathematical worlds as well as functional mappings. Software Systems have
four fundamental viewpoints on realtime design which are Agent, Function, Data and Event. Minimal
Methods such as those that show up in UML and SysML come from the bridges between these minimal

2 http://wattsystems.com
2
viewpoints. So, all of these viewpoints and the relations between them need to be represented in any
methodical framework that describes Architectural Design of Software Systems.
Notice that the Worlds of Ken Lloyd have bridges between them of Category Theory languages relating
entities of these various types identified by Popper and Penrose. The social world of intersubjective entities
has been forgotten as usual in so called objective present-at-hand approaches. We propose to remember
them because they are the source of objectivity. But there are also bridges that are minimal methods that
are specific to the modeling of architectural designs of real-time systems. So, the two frameworks are
similar in this respect that there are four domains and six bridges between those domains. How are these
two frameworks related to each other. The viewpoints on Real-time Systems derive from what George Klir
in Architecture of Systems Problem Solving3 calls “Methodological Distinctions”. These are background
variables of different types that foreground variables are read in relation to in order to generate information.
But the methodological distinctions represent different types of order. These types of order form a lattice
that starts from no order then goes to partial order then splitting to have ‘linear order without distance’ and
‘partial order with distance’, and then joining to give full order (linear order with distance) to which we add
combinatoric order. There are two levels to this lattice that Klir defines the basic level supports discrete
orders and the more advanced level supports continuous orders. Partial Order is split into Agency and
Function lattices. Full Order is split into Data and Event. These give the fundamental views on any realtime
system. Between Data and Event we find the relation between Algebra and CoAlgebra4 on the one hand
and Geometry and Topology on the other hand. This is an image of the Kantian Meta-system. Here data
would be considered the values within the variables that represent numbers from fields that inform algebraic
structures. Events would be the operators that function on the value data in those variables to create results.
Algebra takes two variables and produces a result in another variable. CoAlgebra starts with one variable
and splits it into two variables. Algebra and CoAlgebra are duals of each other. CoAlgebras are related to
state machines in computation. Given an input we can get a change in the state machine of the control
structure and the output of a given conditional Rule. Algebras and CoAlgebras as Descartes discovered are
can have equations that mimic the structure of geometries. Thus, in general Algebras and CoAlgebras can
model time while Geometry models space. But something that Kant did not realize is that Analysis relates
to CoAlgebras not Algebras, so Analysis is not aligned with Algebra as Synthesis is aligned with Geometry,
therefore something is missing. If Algebra is co-analysis rather than analysis, then geometry must have
something that corresponds to co-synthesis. And it turns out that this missing mass-like mathematics we
already discovered as topology. Thus, the dual of Geometry is Topology while the dual of Algebra is
CoAlgebra. In topology we look at the structure of spaces rather than the articulation of those spaces by
geometrical objects we construct. Geometry is constructionist and produces its syntheses. Topology on the
other hand is CoSynthetic meaning is a result of a deconstruction, that is a taking away of geometrical
properties in order to make visible the fundamental level of continuity and discontinuity in the spaces
themselves which are the basis on which synthesis is produced. Algebras on the other hand are coanalytic
which means that they are created by injection that respects closure. That means that if you take any two
variables from the same field and you operate on them you will get something from the same field. Algebras
are infolded on themselves, and the basis of algebras are group theory. CoAlgebras are unfolded into time
as a series of states are produced by a computational machine with a control structure that turns input into
output and changes the control states of the progressing algorithmically produced result based on a given
input. The fact that CoAlgebras exist means that Computations are integral to mathematics. And this is the

3 Klir, George J. Architecture of Systems Problem Solving. Place of publication not identified: Springer, 2012.
4 Denecke, Klaus, and Shelly L. Wismath. Universal Algebra and Coalgebra. Hackensack, N.J: World Scientific, 2009.
3
fundamental basis of our Software Engineering which produces designs for algorithmic structures that make
them perform will given computational constraints. At a high level, of abstraction such algorithmic
structures need to have an architectural design, i.e. needs a basis organization so it can be understood and
manipulated in a reasonable fashion to achieve its mission goals set for it by its designers and builders.
What we call Full Order (linear order plus distance) whether discrete as in groups or continuous as in real
numbers is the field that is related to spacetime as a medium for everything, i.e. a singular. That is what
exists between Event and Data viewpoints which then can be mathematically and computationally ordered
according to the various types of mathematics of the Kantian Meta-episteme (Algebra based on Groups,
CoAlgebra, Geometry and Topology). Beyond this there is Combinatorial Order which should be the end
of the lattice of possible orders but Klir forgot this extension which is an important ground to structuralism.
No order represents Requirements. Combinatoric Order represents Tests. The split between linear order
with without distance and partial order without distance gives us a Galois connection5 which gives us the
dualities between minimal methods. Minimal Methods include between agent and function Virtual Layered
Machines and User Stories. Between agent and event there are worldlines and scenarios that represent
relativity theory of relations between agents within the multi-processing distributed environment. Between
agent and function are objects and functional points of view. Between agent and data there is the Agent
mechanisms for exchange of information in indeterminate environments like queues and semaphores of
Design and Analysis of Realtime Systems Methodology (DARTS) of Hassan Gomaa6. Between function and
event are State Machines and Petri Nets. Data is represented by Entity, Relationship Attribute diagrams.
Event is represented by Temporal Logic. Agent and Function are both decomposition hierarchies. But they
represent in a linearized hierarchy of agent and function partial order networks. Thus, there are various
ways to linearize partial order networks and so there are multiple possible decompositions of agent and
function networks. This field of minimal methods is the core of UML and SysML which are an ad hoc
combination of accepted software methods. Rather than an ad hoc assemblage we have here a theory of
what is necessary to represent Real-time systems based on the articulation of various kinds of order in
relation to each other based on methodological distinctions of Klir. Architectural Design injects order into
systems. Methodological Distinctions show us the order in which order should be injected, i.e. from simpler
to more complex. Thus, we are talking about a meta-order reflexive system that describes the core of all
Real-time System methodologies for Software Systems Architectural Design 7 . Note that this field is
asymmetrical and that it has specific content related to the structure of Turing Machines. Basically, what is
included is minimal methods necessary for describing Universal and Parallel or Nested Turing Machines.
And the whole field can be described mathematically as a 2-structure 8 . Importantly this field is

5 Denecke, Klaus, Marcel Erné, and Shelly L. Wismath. Galois Connections and Applications. Dordrecht: Springer, 2011.
Surma, Stan J. "A Galois Connection." Logica Universalis. 1.1 (2007): 209-219.
6http://www.dtic.mil/dtic/tr/fulltext/u2/a235701.pdf AD-A235 701 SEI Report Software Design Methods for Real-Time Systems
by H. Gomaa. Gomaa, Hassan. Real-time Software Design for Embedded Systems. New York Cambridge University
Press, 2016. Gomaa, Hassan. Software Design Methods for Concurrent and Real-Time Systems. Reading, Mass:
Addison-Wesley, 2001. Gomaa, Hassan. Designing Concurrent, Distributed, and Real-Time Applications with Uml.
Upper Saddle River, NJ : Addison-Wesley, 2014.
7 https://independent.academia.edu/KentPalmer/Foundations-of-Systems-Architecture-Design
8 Ehrenfeucht, Andrzej, T Harju, and Grzegorz Rozenberg. The Theory of 2-Structures: A Framework for Decomposition
and Transformation of Graphs. River Edge, NJ: World Scientific, 1999. Ehrenfeucht, A. and R. McConnell "A k-structure
generalization of the theory of 2-structures" Theoretical Computer Science 132 (1994) 209-227
4
asymmetrical. And it contains two splits at the level of partial orders (agent and function) and full order
(data and event) which is how the singularity at the heart of the realtime system manifests, i.e. in an
unmotivated discontinuity which is part of its material a priori. This taking one order and splitting it is like
we see in the production of co-algebras. But the dual of this is the split in the lattice with relation and co-
relation of parital order with distance and linear order without distance. These two as relation and co-
relation together produces a single component hierarchy that lives in the split in the lattice as the How and
represents a synthesis of design which is like the Algebraic structure that takes two to produce one within
the same field. Thus, agent and function unfold from the order lattice at the partial order level as does data
and event at the full order level. But Relation and CoRelation9 infold producing the synthesis of design in
the gap within the order lattice. At the two ends of the lattice are no order related to requirements and
combinatoric order related to tests. These do not seem to either unfold or infold. Thus, there is a symmetry
between the stable ends of the lattice and then the unfolding of the second node in on each side and the
infolding in the middle of the lattice. At the center of the lattice we have the production of synthesis and
that is based on relations and CoRelations interacting to form components of the design. But synthesis is
based on groupoids. Thus, we can comprehend the lattice from the point of view of the structure of
groupoids. No order is a single point with no arrows and that relates to Requirements. “To be a ‘loose’
partial order which includes possible equality, a binary relation (≤ or ≥) must be reflexive (each element
is comparable to itself), antisymmetric (no two different elements precede each other), and transitive (the
start of a chain of precedence relations must precede the end of the chain).” A strict10 partial order is defined
on < or > relations and does not allow equality.
• Irreflexivity: for any element {a, b, c, …}. (enumeration)
• Asymmetry: If a, then b. (sequence)
• Transitivity: If a and b, then c. (causal connection)
So, there are two stages of partial order strict and loose. From no order which would only give us
enumeration but with no idea how things are related to each other and definitely no causality we mover into
strict partial order and then the idea of the possibility of equality dawns and infects the partial order making
it loose. But this is also the dawn of the groupoid structure within the lattice. A groupoid is both reflexive
and anti-symmetric. The first is an element that has an arrow that loops and points back to the element itself.
The second is two elements that are related to each other each producing an arrow that has the other as a
target. What we see is that Agency is related to the reflexivity and Function is related to antisymmetry.
Functions are transformations that take one thing into another thing. And we can think of Functions as
fundamentally like intentions in the Husserlian sense of the intentional morphe. Agency is on the other
hand the source of the intention, i.e. the subjective ego which relates to itself producing a self-distance.
Agency separates, and Function unites in an equality relationship. It is equality that is not constituted yet
in partial orders and slowly is constituted as we move from strict to loose partial orders. So, the production
of the split between agency and function is really the differentiation of reflexive and transitive properties.
If you think about it then the split in the lattice becomes understandable. A reflexive relation can produce
a sequence which is a linear order if there are no other relations than those produce by the iteration of the
same thing, which is what gives us numbers. On the other hand a antisymmetric relation is the thing that

https://www.academia.edu/9945650/2-
STRUCTURES_AND_DESIGN_METHODS_The_Mathematical_Foundations_of_the_Design_Field_with_respect_to_View
points_and_Minimal_Method_Structures
9 Co-relation means relation to self rather than Relation to other.
10 https://wcipeg.com/wiki/Partial_order
5
generates a measure or distance between the two things which is then collapsed by their equality with each
other. This distance that is produced gives us a distance or metric or measure which we can add to the
partial order to measure the distance between nodes in the partial order relations. And this is the origin of
points in geometry which are elements with self-distance which then can translate into differentiation from
other points in a topological field as an open neighborhood of points that can be considered a set of zero
dimensional points out of which spring the dimensionality of the topological space. We call relations to
other Relations. And we call relations to self CoRelations. The static relations to self or other is maintained
by firing the arrow morphisms continually or on a regular basis as the actions that underlie the maintenance
of continuity of the relations with others or co-relations with self. When you think about it anything that we
might call a component in a design has to maintain relations with itself and with other things in some kind
of perdurance or in some sort of temporal stability. Those relations might be within the component between
minimal method elements or externally to other components in the design. Thus How is produced as a
synthesis of relations and CoRelations between components and itself and with other components. How is
a precise set of synthesized relations and CoRelations that has some efficacy, i.e. it works on a practical
level, and this how is part of the hypothetical imperative which combines efficient with final cause in a way
that is practically effective.
If we go further, we see that in Full Order which is both linear and has distance there is the possibility of
combining number and points. And of course, it is Descartes that works how to do this in his invention of
descriptions of geometrical situations with algebraic formulas. Full order has numerically countable points
in relation to each other whether these are over a continuous field like the real numbers or discontinuous
field like the imaginary numbers. And of course, this Full Order is really a description of SpaceTime in
which computations must occur. But we seen, this in terms of the space of memory (RAM) for data or
computational cycles of processors for Events. But the key is that there is no global clock in a real time
system and thus we are operating within Relativity Theory which is what makes real-time systems
interesting compared to conventional systems where there is a global clock allowing the coordination of
events without extra effort. Time appears as the element in which the iterations that produce the numbers
can occur as Kant indicated when he identified time with Arithmetic. But of course, arithmetic is a subset
of algebra which represents actual values with variables so that we can see the structure of the computation
more clearly. On the other hand, space is associated with distance measures, or metrics, that are produced
by points in relations to each other either discretely or as part of continua. When distance metrices or
measures and discrete numbers are combined we get the basis for spacetime as a data/event field for
computation as a kind of virtual reality within the computational universe. Data focuses on the values in
the variables. Event focuses on the changes to the values in the variables. And the fundamental structure of
this field is that which Klir talks about in Architecture of Systems Problem Solving. In that book
Architectures are the structural relationships between variables that have values flowing through them
compared to background or support variables that have global characteristics like space, time or population.
It is these global background or support variables that determine the structure of the Methodological Views
on the realtime system, and it is their relation to order that determines the background out of which the
minimal methods arise based on the different types of possible order. What it tells us if we follow Peirce
and his Philosophical Principles is that No Order are Firsts. But Seconds which are relations are constituted
in steps from strict partial order to loose partial order to the production of relations and CoRelations and
that finally with Full order we reach Thirds which are continuities. We can go on from there to consider
combinatorics which causes us to separate out Fourths which are Synergies from Fifths that are Integrities
and Sixths that give us Poise. Synergy is reuse of the same elements over and over and thus a kind of
CoRelation. Integrity is the fitting together of different things to produce a emergent property between them
like in tensegrity. Thus, Integrity is like a Relation in as much it is between two different kinds of part
6
within a whole. Poise is a higher order fitting between synergy and integrity that produces an nondual sort
of effect. A good example of this is that when we go to the fourth dimension the synergy of all the platonic
solids increases substantially over that which B. Fuller sees among the third dimensional Platonic solids in
his book Synergetics11. But if you look at the four dimensional platonic solids we see that the there is a
special Platonic solid the 24 cell that does not appear in any other dimension. The 8cell and 16 cell form
lattices that are all space filling. But also, the 24 cell forms another lattice that is all space filling. The 24
cell is unique. But also, its space filling lattice in its relation to the 16 cell and 8 cell is an example of Poise,
i.e. it is a nondual sort of relation, independent of both but poised between them. Poise is an example of
Nondual Barzak-like supra-rational relations that are emergent from synergy and integrity taken together.
Relations and CoRelations (Seconds) are considered permanent structures between entities (Firsts) but these
are constituted based on groupoid relations that fire on a continuous basis as a dynamic that underlies the
stasis of relations. Relations need to be continually reaffirmed and reconstituted by the firing of functional
morphisms in time. Thus, we add the Process Being (ready-to-hand) perspective to the normally Pure Being
(present-at-hand) perspective of Mathematics.
When we place these viewpoints, which are related to the epistemological questions who, what, when,
where, why, (w)how, which-one, in the context of the Worlds of Ken Lloyd, derived from Popper and
Penrose, we see that whenever we are going to create a real-time system that it needs to coordinate between
the various realms he mentions plus the social realm. When we create an Architectural Design and then
implementing it we are injecting order and order is described by Mathematics. And mathematics is broken
into categories that are described by Category Theory. Every Computing machine is a physical platform
which the Real-time System will run on once implemented. The Physical Environment is inhabited by other
human beings whom we must take into consideration as we build the system and communicate with among
our teams in the process of building the system. The basis of social worlds is natural language. We use
natural language for describing the various ontological realms that are associated with the Worlds of
Penrose and Popper gathered together by Ken Lloyd. It is interesting that these worlds are similar to the
bracketings (epoches) that Husserl performs in Ideas I12. The System we build will have order that we want
to describe at high levels of abstraction in terms of Architectural Design in order to communicate the
structure of what we are building with each other. The System will run on a physical computing platform
using resources of space (memory RAM or disk drives) and time (CPU cycles) and will process data by
functional transformation in different centers of agency that executes at particular discrete times. But the
system will not just function in relation to our social environment but also in relation to our mental and
cognitive landscape as a Symbolic System. But that Symbolic System will be a representation of concepts
that are ineffable to which it points and part of that pointing will be its attempt to fulfill goals or teleological
ends. So, the worlds of Ken Lloyd, when augmented with the Social World gives us an ontology of possible
entities that need to be coordinated for the system to have a meaning within our overall world. My own
preference is for an ontology like that of Ingvar Johansson in Ontological Investigations13. But the one

11
Fuller, R B, and E J. Applewhite. Synergetics: Explorations in the Geometry of Thinking. New York: Macmillan, 1982.
Fuller, R B, and E J. Applewhite. Synergetics 2: Explorations in the Geometry of Thinking. New York: Macmillan,
1983.Bottom of Form
12 Husserl, Edmund. Ideas for a Pure Phenomenology and Phenomenological Philosophy: First Book .
Indianapolis/Cambridge : Hackett Publishing Company, 2014.
13 Johanssonian Investigations: Essays in Honour of Ingvar Johansson on His Seventieth Birthday. Berlin: De Gruyter,
2013. Johansson, Ingvar. Ontological Investigations. Berlin: De Gruyter, 2004.
7
proposed by Ken Lloyd based on Popper and Penrose will do. These worlds of Ken Lloyd are what Husserl
calls regional ontologies. They specify as Bunge14 said the ‘furniture of the world’ that gives the context
for the algorithmic functioning of every real-time computing system processing data which is a special type
of social artifact that embodies Hyper Being. In the Meta-levels of Being hardware encompasses Pointing
(Pure Being) and Grasping (Process Being) in the CPUs that it uses to compute. Software embodies the
level of Hyper Being which Derrida called Differance (differing and deferring) which is why writing correct
software is described as like trying to nail jelly to a wall. The dual of Hyper Being is Wild Being which is
the nature of Artificial Life, Artificial Intelligence, Machine Learning, Artificial Sociality, Artificial
Cognition, and Virtual or Mirror Worlds. There is a singularity at the heart of Software called Ultra Being
which fundamentally distorts the field in which it operates like the unconscious. This is a singularity at the
level of Existence in the Meta-levels of Being at the heart of Being itself. But we notice it in Software
because we never had an artifact that embodied Hyper Being before, and thus no way to gain access to Wild
Being either. The Esoteric kinds of Being that are Hyper and Wild Being are the reactions to this singularity
at the heart of Embodied Architectural Designs. It is like the Singularity that Kurzweil15 talks about except
this one is what would make artificial intelligence of artificial consciousness alien. One way to understand
this Ultra Being singularity is by seeing that Software is created in a set like design and then transformed
into mass like binaries. The singularity is what demands the transformation from Set to Mass embodiments
that differentiates designs from implementations. The singularity represents the fact that in techne there are
non-rational matters that cannot be understood completely theoretically, i.e. in terms of episteme. In
Heidegger this corresponds to his saying that the Essence of Technology is not Technological, but rather
what he calls the Enframing16. It is generally not understood that Software has a different ontological basis
than hardware, even though this is obvious in practice, but not normally considered theoretically. The
Philosophy of Software is nascent but I pointed it out in an article on the “Ontology of Software”17 in the
early 1990s. It is not understood that the field of methodological distinctions is asymmetrical. And it is not
understood normally that there is a difference between software and the artificial-X that is created through
software, such as via artificial intelligent techniques that cannot be completely understood but are
practically effective such as in Machine Learning with Neural Nets that have been so successful lately in
translation, for instance, or deep learning such as we see in AlphaGo. The singularity at the heart of software
is not recognized. Whenever we are building a system we are working around this singularity. It is what
makes it necessary to have multiple viewpoints on the real-time system, and the fact that we cannot see all
these viewpoints at once within some global objective gaze that we can make present-at-hand. But this is
what causes several discontinuities in software that are material a prioris, which are not just formal a proris
like causality or quantity, like the difference between agent and function, or the difference between event
and data that relate to spacetime, or the difference between Set and Mass which characterizes the difference
between design and implementation.
So now we can see in general that Ken Lloyd’s ‘Worlds’ attempts to supply an ontological context, but the
methodological distinctions attempts to provide an epistemological framework within this ontological
context. Both of these frameworks are necessary in order to describe Architectural Designs and their
Implementations in general terms. And we need these general frameworks from ontology and epistemology
in order to orient ourselves. But if we do not want to delve into the methodological distinctions, then once

14 Bunge, Mario. Ontology. Dordrecht: Reidel, 1977


15 Kurzweil, Ray. The Singularity Is Near: When Humans Transcend Biology. London : Duckworth, 2016.
16 Heidegger, Martin. The Question Concerning Technology, and Other Essays. New York : Harper Perennial, 2013.
17 https://www.academia.edu/6835869/Software_Ontology_old_
8
we have the requirements related to non-order, then it is possible to represent the systems functionality and
agency through Gurevich Abstract State Machines (GASM)18. There is a peculiarity of the Conditional
(IF…THEN) statements that they can represent nodes of Agency, Function, Data and Event together rather
than separately as with the minimal methods. Also Rules with their functions can be the transformative
device that produces the categorical mappings. Gurevich has proven that his Abstract State Machines are
equivalent to Turing Machines and Universal Turing Machines. Thus, these abstract rule-based descriptions
can animate our categories and also give abstract simulations prior to the design of the architecture of the
system. Thus, we advocate after the creation of the requirements to produce prototypes at the level of the
ConOps (perhaps as an appendix to it) that embody the system and explore its computability using Gurevich
Abstract State Machines. Once the system under construction is shown to be computable, then its
Architectural Design can be specified using minimal methods introducing different types of order one layer
at a time according to the Methodological Distinctions of Klir. Gurevich Abstract State Machines is a very
simple methodological principle which is to describe the application with Rules. Rules integrate the four
viewpoints on the realtime system into nodes where they are fused. Architectures separate the viewpoints
and then relate them. But rules are also the way to formalize the transformations of categorical mappings
such as morphisms, functors, natural transformations etc. So, the Gurevich Abstract State Machine serves
as a single methodical approach that supports both Category Theory in the context and the methodological
viewpoints on the real time system as a precursor to the Architectural Design in which viewpoints are fused.
Next, we mention the fact that even with the ontological worlds and their categorical bridges and the
viewpoints on the design of a real-time system and minimal methods we still do not have a complete
approach to sketching Architectural Designs. We must realize that spacetime is not homogenous but rather
phenomenologically it is made up of layers that organize things in spacetime differently at various scopes.
We call these various templates of intelligibility of orders in spacetime schemas and approach them through
schemas theory (http://schematheory.net). Along with the Schemas we also get Philosophical Principles
(PP) of Peirce and Fuller, Foundational Mathematical Categories (FMCs), and Order/View or
Epistemological Hierarchies (OVH). The Order/View Hierarchies is the framework of the Methodological
Distinctions of Klir that answer the epistemological distinctions. Worlds break up and relate the Schemas
to each other. What is new here are the Philosophical Principles which are related to the articulation of
Pascal Triangle geometrically through undefinables (point, line, surface, etc.). We see the various levels of
the Pascal Triangle as giving us points, lines, surfaces, solids, hunks etc. Peirce has taken this series and
made it into organizing principles of Firsts (isolate), Seconds (relata) and Thirds (continua). To this Fuller
adds Synergy (reuse) and Integrity (mutual support). To this we add bookends of Null, then Neganary
(singularity) and Zeroth (empty/void) on one end and Sixth which is Poise, and Seventh which is the
Singular, and perhaps as Eight the min/max optimality dynamic that pervades the singular. These
Philosophical Principles give us the major components of any design, entities, relations, continuities,
synergies, integrities, poise in standings etc. to be approximated in our designs. On the other hand, the
Fundamental Mathematical Categories (FMCs) are the possible foundations of mathematics which are of

18 Gurevich, Yuri. Evolving Algebras: a Novel Specification and Verification Methodology. United States: Michigan univ
ann arbor dept of electrical engineering and computer Science, 1997.
https://web.eecs.umich.edu/gasm/gurarticle.html Egon Börger and Robert Stärk, Abstract State Machines: A Method
for High-Level System Design and Analysis. Springer-Verlag, 2003.
9
different orders. Unlike Badiou in Being and Event19 we do not reduce all of Mathematics to Set Theory.
Rather we accept multiple possible foundations and like to see how they work together. All these possible
radically different sources of Order that may be foundations for mathematics give us the various orders we
need to characterize the organization of the schemas. These are etched into the Bedrock of Existence. And
for that reason, they are the same across all possible worlds. These sources give us the Fundamental
differences we find in the Kantian Meta-episteme of algebra, co-algebra, geometry and co-geometry
(topology). These also embody co-analysis, analysis, synthesis and co-synthesis. Note that co-algebra is the
basis of analysis. Synthesis we like to represent with groupoids which is also with directed graphs the basis
of Category Theory. But the Foundational Mathematical Categories abstract from these basic four kinds of
mathematics other types of mathematics that have been discovered over the last century or so. They form a
series that starts with null, then singularity, then site/event loci that are topoi, then multiple/groupoid, then
set theory, then mass theory, then wholes, then holons then holoid (holograms), then singulars. These FMCs
give us a wide pallet of possible orders to use to describe our schematized organizations of spacetime.
Dagger Theory gives depth to our methodological approach. It says that the fundamental material and forms
of design are the schemas, i.e. templates that give intelligibility to spacetime organizations. But these
schemas draw their order from the FMCs. And they are given their possibility of embodiment though
Philosophical Principles of Peirce and Fuller and the additional ones identified above. For real-time, design
of systems and meta-systems which are the central schemas we need Minimal Methods based on
Methodological Distinctions as to kinds of Order that are layered to give the Architectural Design of our
system. This occurs in the surface framework of the View/Order Hierarchies. The Worlds (as regional
ontologies or realms of experience) are implied in the organization of the schemas. Any given ontological
framework like that of Ken Lloyd can be substituted. That of Ken Lloyd is convenient and it also seems to
have some relation to the Quadralectics and Pentalectics developed as a methodological dynamic in
Emergent Design20 (UniSA, 2009) by this author. But we could insert different types of ontology to specify
the furniture of the world. Our favorite as we mentioned before is that of Ingvar Johannson in his
Ontological Investigations. But basic in this arena are the Categories of Kant perhaps as adumbrated by
Hegel. There is no definitive set of Philosophical Categories and thus we always see Husserl naming them
with an incomplete list. But the Philosophical Categories are different from those of Mathematical Category
Theory. Mathematical Categories are formal definitions of systems of mathematical entities normally
infinite that all have the same fundamental characteritics, like Set or Mass, or Group, or Groupoid, etc.
We should also mention the fact that Type Theory should be treated in terms of Homotopy Type Theory21.
Ultimately Russell’s Ramified Higher Logical Type Theory is basic as described by I. Copi22. It was meant
to solve the problem of Russell’s paradox found in Frege’s Logic23. But Godel24 showed that even this
overkill of a type system does not prevent paradox contamination. Therefore, the Analytical Tradition

19 Badiou, Alain, and Oliver Feltham. Being and Event. London [etc.: Bloomsbury Academic, an imprint of Bloomsbury,
2015.
20 https://www.academia.edu/34831961/EMERGENT_DESIGN
21 https://homotopytypetheory.org/book/
22 Copi, Irving M. The Theory of Logical Types. Abingondon, Oxon: Routledge, 2011.

23 Van, Heijenoort J. From Frege to Gödel: A Source Book in Mathematical Logic, 1879-1931. Cambridge, Mass: Harvard
University Press, 2002.
24 Goldstein, Rebecca. Incompleteness: The Proof and Paradox of Kurt Gödel. New York: W.W. Norton, 2006.
10
returned to Simple Type Theory25 which is not ramified into levels by Classes. It is an important innovation
of Vladimir Voevodsky26 to realize that Types are equivalency relations that can be described by groupoids
and then treated topologically. We use Category Theory to define the relation between Types and CoTypes
as well as Anti-types and Non-types following Greimas27 and his structural Logical Square. In Russell’s
type theory Categories are CoTypes which at each level is differentiated into Types to try to avoid paradox.
Every type has its differentiated Anti-types and we also include NonTypes that fall outside of the ramified
type system. Godel essentially finds a way to inject a nonType into a specific category (numbers
representing logical statements) through coding tricks. It is through types that emulations of entities in the
various worlds occurs. Category Theory does not have the same problems as Set Theory degenerating into
paradox. Thus, we can have Categories of Categories without problems. Category Theory can describe Set
Theory, and the Topoi of Logics and almost any other mathematical object that is associative. If an object
is not associative then it is called a Magma. The point is that categories are non-commutative and thus they
can describe many objects of modern mathematics. Category Theory was discovered by Carnap in his
Logical Structure of the World28 even though he does not get the credit he deserves for the discovery.
In this paper, we are considering the integration of these very different types of approaches that have been
discovered relatively recently that fit in with a Categorical Orientation or a Category Theory approach to
Systems Science and Systems Engineering, as well as Software Engineering, Architectural Design. The
only difference between Systems Engineering Architectural Design and Software Architectural Design is
that Hardware and Logistics are both included in Systems Engineering considerations rather than
exclusively considering software and assuming the whole software system is running on generic hardware.
Categorical Orientation means that we tend to describe things within the Systems that we build as categories
and that means in terms of mappings. That is rather than assuming that the first-class entities are objects.
We are going to tend to take a Functional approach, but our actual program can be written in an Imperative
form, it could be written in an Object Oriented language. It could be described in UML or SysML as well.
The actual implementation language is not of concern. What is of concern is that we are going to think not
of entities but in the same way that Mathematical Categories are defined. That is in terms of a set of elements
and the relations between them that preserve invariants and can be described as mappings that can be
produced by functions. Categories have elements, but they are inessential as identity arrows can represent
those elements and the elements can normally ultimately be forgotten with everything reduced to arrows,
i.e. morphisms of functions. There can be Categories whose structural relationships are the same even
though there entities are the same. This is very handy because it means we can compare the structures of
different Categories and disregard the fact that the objects are different. This highlights differences in
structural relationships rather than the kinds of things that exist in each category. This sometimes leads to
unexpected bridges being built between seemingly Categories that helps drive our abstractions. This is why
the terminology of Category Theory is somewhat strange because there was a need for common terms for
these structural identities across different types of entities. This is also why Category Theory is pejoratively

25 Hindley, J R, Rijsbergen C. J. Van, S Abramsky, P H. Aczel, and Bakker J. W. De. Basic Simple Type Theory.
Cambridge, GBR: Cambridge University Press, 2009.
26 https://www.wikiwand.com/en/Vladimir_Voevodsky
27 Schleifer, Ronald, and Algirdas-Julien Greimas. A.J. Greimas and the Nature of Meaning: Linguistics, Semiotics and
Discourse Theory. Lincoln: University of Nebraska Press, 1987.
28 Carnap, Rudolf. The Logical Structure of the World: And, Pseudoproblems in Philosophy. Chicago and La Salle, Ill:
Open Court, 2005.
11
called Abstract Nonsense. It has strange terms for common structural patterns found in very different sorts
of Mathematics. Sometimes these structural bridges are quite unexpected.
Objects are entities with attributes and functions (methods) associated with the entity. Objects are the way
we think about things normally we encounter in our world according to our tradition stretching back to
Plato and Aristotle. It was thought that a hierarchy of objects was the best way to describe systems. But
UML outlawed functional ways of looking at systems which SysML has added back in. UML embodies a
prejudice toward the object view point. Data flow is the dual of the object approach. In Object oriented
ways of looking at programming the data is encapsulated and only accessed via methods. In Data Flow
programming the data moves around between the functions and there is no encapsulation. This paradigm
change came from a reversal of viewpoint from functional priority over data to data’s priority over function.
The first paradigm shift in Software came from merely reversing two related viewpoints. The next paradigm
shift has to do with whether one writes to variables or whether one discards constants. What goes with
discarding constants rather than writing variables is a functional viewpoint while object-oriented approach
assumes that attributes of objects would be written as variables as object values change. A functional
programming language like Haskell29 has strong typing and can work out what the data types are from the
context of the program based on what variables are accessed. Variables are never changed directly but
rather they are replaced with new copies and a history of the copies is kept until discarded by garbage
collection. At any given point in the program execution one is never changing what is in a variable unless
one is dealing with a monad (in the Haskell sense). Rather what happens is that the new value is written to
a new variable which is treated as a constant but linked to the old variable by a chain that preserves the
history. This means the program is always dealing with constants of fixed types. You can see from the trace
what the type of the variable has been as well as its previous content values. In contrast in Object-oriented
imperative languages these changes are made by the functions (methods) associated with the object and no
history is necessarily kept. If the object is running on its own thread it becomes an actor. Thus, objects as
actors combine all the different viewpoints on a real-time system just as the conditional rule does but in a
very different way. Rules could be represented as objects. The difference is in an object the data is the
center of the object encapsulated. Functions only operate on data objects. If it is an actor as well then queues
are needed with messages exchanged in order to allow objects to operate concurrently in a distributed
fashion. When we change to Rules, then Function becomes the center of the processing node. Data plays a
triggering role and the state machines are outside the rule rather than inside the object. Agency appears
when rules are executed on different processors or virtually in different tasks. Events are when rules fire
rather than when methods are called based on messages in queues. Many of these differences in terminology
are merely conventional to a given approach or orientation of our programming paradigm. Rules follow
functional decomposition. Objects follow object hierarchies. It is possible to have data centric methods,
event centric methods, function centric methods and agent centric methods. When we use the minimal
methods in different orders we get very different architectures as an outcome. The architectural viewpoints
in the View/Order hierarchy give us a model of all the different types of emphasis we can have in our
approach to building systems. But it provides this in the context of Klir’s Formal Structural System in
Architecture of Systems Problem Solving a mathematical General Systems Theory as part of Systems
Science. UML/SysML are a collection of minimal methods that have been integrated and augmented. But
it lacks a theoretical basis that delimits what is necessary from what is added for convenience or arbitrarily.
We are presenting here the fundamental theory that generates the asymmetries of the methodological field.

29 https://www.haskell.org/
12
This fundamental theory has been represented in ISEM 30 (Integral Systems Engineering Methodology)
which is a series of Domain Specific Languages that allow us to express any architecture. Within this there
is an architectural framework called the Grid which is four dimensional composed of layers, strata, tiers,
and levels within which the various architectural components can be designed and constructed. A
component may have multiple minimal system representations. But all those representations are made up
of nodes and arcs of various kinds that form networks represented by graphs. Thus, an Architecture is made
up of components in a four or greater dimensional grid described by minimal methods all of which boil
down to different kinds of arcs and nodes. These minimal method representations of components are
expressed in domain specific languages within ISEM. But starting with the minimal methods between real-
time system viewpoints it is possible to get rid of the complexities of UML/SysML that are accretions and
get a picture of the minimal representation of a Real-time System Architectural Design. We only need as
much language complexity as is absolutely necessary for the application, and we can also represent domain
specific information in created application-specific domain specific languages added to ISEM. This
representation is not in diagrams but is human readable and can be treated the same as code. But we could
turn it into diagrams if we wished. It is hierarchical and so does not have to have the flat complexity of
UML/SysML that is necessary for computer interpretation of the representation.
Our point has been that we should use Category Theory as much as possible as the basis of our description
of Designs. This is because it aids the analysis of complex mappings and thus helps us deal with the
complexity. Due to the simplicity and homogeneity of Category Theory it is easy to describe complex
configurations of mappings in a formal way that lends itself to consistency and completeness checking.
Upper level summaries of mappings must represent accurately the actual lower level mappings between the
actual elements. There is a checking process by which higher level morphisms are checked against the
actual lower level mappings to make sure that the upper level description is correct. But entities as different
from the morphisms can actually drop out because we can represent the mappings without the entities as
identity arrows and this is what gives us its generality because the same mapping can occur between very
different types of entity. In Category Theory there are really only arrows. And this uniformity allows
structural differences easily seen. Thus, ultimately entities of different types drop out and we get generic
mappings that can be the same despite the difference between the entities mapped. Categories are
differentiated by their different mappings rather than the different types of entities they contain like Sets.
Category Theory is a more Mass-like representation with the instance being identity looping arrows with
the same source and target than Set-like with particulars that are members of Sets. Sets of Sets lead to
paradox. The upper level Set is always called a Universe, so there is no ultimate set that all sets are contained
by. Categories of Categories do not lead to paradox and thus we can have representations that fully nest
without introducing inconsistencies or incoherence.
But although Categories are a powerful mathematical language for representing series of mappings it is
necessary to recognize that this language is very general and weak in terms of ontological specificity of the
entities that can be mapped. Ken Lloyd tries to remedy that by giving us anchors in an ontology that has
four worlds to which we add a fifth (the social). These worlds are derived from Popper and Penrose and
contain Mental entities, Physical Entities, Conceptual Entities and Mathematical Entities. Once we are

30http://holonomic.net/uml01A02.pdf
https://www.academia.edu/3796285/Proposed_Integral_Systems_Engineering_Methodology_Architectural_Design_Language
http://archonic.net/Integral%20Systems%20Engineering%20Methodology%20PalmerKD%20CSER2011%20110411kdp05a.pdf
https://www.researchgate.net/publication/265145662_Reworking_the_Integral_System_Engineering_Method_Domain_Specifi
c_Languages
13
given these entities then we can create Categorical Languages that connect them to each other. Or we can
see how the Social Sphere gives us languages based on Natural Language to describe each of these from an
Objective viewpoint. Without the Social there is no objectivity. But this is still too general. It gives us a
way to describe the formal a priori. But not the material a priori. The Material a priori has to do with the
general constraints of any computational device based on Turing Machines or Universal Turing Machines
that run on actual hardware of the Von Neuman type. These physical machines have pointers and
accumulators and thus emulate pointing and grasping which are the two kinds of Being that Heidegger
identifies in Being and Time (present-at-hand and ready-to-hand). But these general computing machines
are modeled in Software which we can represent as a Pointer Machine that manipulates Data Structures.
The Data Structures are what are grasped and manipulated by the algorithm. The Pointers are manipulated
to give access to specific variables. Thus at the level of Software we are still pointing and grasping, i.e.
operating in terms of Pure (pointing) and Process (grasping) Being. Software has the nature of Hyper Being
that Derrida describes as Differance. This is not generally recognized. Software is the first technological
entity to have this esoteric kind of Being within our worldview and it is transforming our worldview as we
speak as it supplants mechanical non-programmable devices. The idea of programmable devices came from
the difference engine of Babbage that combined the Jacquard Loom with the Calculating Machine and
attempted to produce the first mechanical computer which was theoretically possible. But it was never
completely built and we had to wait for electronic tubes and transistors for a Computer to finally be built.
Hyper Being has a dual esoteric kind of Being which is Wild Being which characterizes opaque artificial
intelligence techniques such as connectionist neural nets. Our time is a renaissance when we are exploring
the possibilities of computational systems and those that interface with the physical world are called real-
time software systems. They need to synchronize their activities with other processes actually occurring in
real time in the physical universe. We concentrate on this because it is the hardest case. Here we are
concerned with the fundamental basis of their design. The state of the art in this regard is UML/SysML
which is an artificial and ad hoc combination of elaborated design methods in a vast language that is
unwieldy and does not allow us to concentrate very well on what is essential. There was a time when there
were many different Software Engineering Methods being created and used. But the production of UML
has squelched much of this innovation. It was made so you could produce other profiles to include other
minimal methods but almost no one uses this capability. UML/SysML is a Rube Goldberg type of machine
that has killed most of the research into new methods which was created just to vendors could sell more
Software Engineering tools and did not have to adapt to new methodologies.
Here we concentrate on the material a priori of the design minimal methods for Architectural Design.
Material A priori means that they are based on essential distinctions that are part and parcel of the Turing
Machine representation that is computationally universal. There are a certain number of minimal elements
that are necessary to produce a Turing machine like a stack and a state machine. Whatever is absolutely
necessary to do the job is what is considered minimal. But we could also use a queue and a petri net. So
there has to be a data structure and a way of manipulating it called a state controller. The Turing machine
is an example of something that exists in an intersection of all of the Worlds of Ken Lloyd. The computing
device whether mechanical, or based on electronic tubes or transistors, is what is physical. In the Turing
machine there are symbols that are represented by bit patterns and these are like ASCII code. This is the
part of the machine that is adapted to our mental or cognitive powers that allows us to make a Symbolic
System based on this computational structure. Besides these basic Turing machine distinctions that are
physically realized one way or another that allows computation to occur, the only other constraints are
mathematical. But when we build an application based on a Turing machine we represent in those symbols
concepts that allow it to function to some purpose or with some goal in mind that it fulfills. But because we
are social creatures all this takes place in a social context. Not merely a psychological context. The
14
psychological context is constrained by the social context. The physical context constrains both the social
and psychological. The psychological and social context is constrained by the mathematical context that is
etched in the bedrock of Existence as order that is available in all possible worlds with space and time, that
is to say that has counting numbers and points that are the twin elemental entities in mathematics. Hegel
makes a good case that mathematical thinking is not the same as philosophical thinking, i.e. the thinking in
concepts. And Ken Lloyd recognizes this by including a conceptual world. There is a kind of chicken and
egg problem between the conceptual world and both the social and psychological worlds. It is unclear what
constrains what. There are Emergent Events that occur that produce large scale reorganizations of the
conceptual sphere in relation to the social and psychological spheres, like paradigm, episteme, and
ontological changes. And these can affect how we see the Physical Sphere. There are objective events that
go beyond what is merely mental into the social sphere. Newly discovered mathematics can change how
we see the mathematical sphere and how we can organize the other spheres. The conceptual world exists in
a realm of possibility and thus does not seem constrained by the physical world. It in a sense is our first
glimpse of the virtual world of the Idea that Deleuze discusses. Concepts seem to be untethered even from
Logic. Note that Logic and Reason is based on Language that is at the center of the Social world. The
mental world is what becomes visible in Phenomenology which has its own laws like those that produce
gestalts. We characterize these worlds as going from Thick (Physical) to Thin (Conceptual) and we
associate them with pairs of Schemas.

• Conceptual World
❖ Facet
❖ Monad
• Mathematical World
❖ Pattern
❖ Form
• Mental World
❖ System
❖ Meta-system (OpenScape)
• Social World
❖ Domain
❖ World
• Physical World
❖ Kosmos
❖ Pluriverse
The interfaces between the various worlds are the Dagger series.

• Conceptual World
❖ Philosophical Principles
• Mathematical World
❖ Foundational Mathematical Principles
• Mental World
❖ Schemas
• Social World
❖ Order/View Hierarchies
• Physical World
❖ Physics
15
A Turing Machine is a synthesis of the various different worlds that Ken Lloyd has identified based on the
work of Popper and Penrose plus the social world we all live in whose basis is natural language. There are
both Turing Machines and Universal Turing Machines. These are basically the same formalism used
recursively to describe itself in relation to itself. Universal Turing Machines run as agents individual Turing
Machines and Turing Machines can be run in parallel or nested. Thus, they can emulate both agency and
function, as well as producing simulations of events and data elements. These Turing Machines can be
scaled up to any level of abstraction as Gurevich Abstract State Machines. Each Turing Machine nested in
a Universal Turing machine is an integration of the various worlds identified by Popper and Penrose plus
the social world. And it can execute any task that is computable. But it cannot compute its own halting
state. Essentially a Universal Turing Machine is an ‘Operating System’ that runs other Turing Machines as
‘Applications’. Applications are expected to halt or at least be suspended on a particular processing platform
while a Universal Turing machine is expected to never halt unless manually or externally shut down. When
we render an application or system in Gurevich Abstract State Machine formalism then we are showing
that it is computable if the rules are coherent, consistent and complete. As an Abstract Machine that
encompasses a set of rules it appears as a Formal System. Each rule in that simulation touches all four of
the viewpoints on real time systems and embodies them in an executable node. We can if we want simulate
the entire Application in this way and it would be functional. But performance might be a problem. The
reason we introduce design beyond these simulations of computability is in order to improve performance
and other non-functional characteristics of the system. To do that we pull apart the viewpoints on the real
time system and then we generate the minimal methods, then we use those to create the design. The design
is a possible node in an design landscape of all possible designs. If we are wise we evaluate these for the
Praeto Optimal designs and then select one of those. What is done mostly which is unwise is create point
solutions that do not take into account the contours of the landscape of possible Architectural Designs.
A design exists in a design landscape with all possible designs that do the same thing. Our task is to find
the Praeto optimal designs from this infinity of possible designs and then trade off between them or select
one based on aesthetics if no performance difference indicates which is best for our purposes. But a design
itself is a configuration in a design grid. A design grid is multi-dimensional table and we follow Ossher31
in our construction of this multi-dimension grid that has levels: partitions, tiers, strata, and layers. This Grid
allows us to navigate our particular design within the design landscape and to compare designs within that
landscape. The individual components within the Grid is made up of a network of nodes and arcs of various
kinds from our minimal methods that describe some slice of the component. All the minimal methods or
just some can be used to describe a given component. This description could be in Domain Specific
Languages as human readable text as proposed in ISEM32. But Components within an architecture answer
to the question of How. The no order of Requirements answers the question Why. Requirements are not
ordered in any way but only differentiated between functional and other requirements. The next View/Order
Hierarchy after that of requirements is Partial Order. At the level of Partial Order Agent hierarchy and
Function hierarchy are split from each other. There is a Galois connection between the two-partial order

31 Ossher, Harold L. "Grids: A new program structuring mechanism based on layered graphs" POPL '84 Proceedings of the 11th
ACM SIGACT-SIGPLAN symposium on Principles of programming languages Pages 11-22 Salt Lake City, Utah, USA — January 15 -
18, 1984.
32 Proposed "Integral Systems Engineering Methodology" Architectural Design Language. Based on the Existing "Integral

Software Engineering Methodology" (ISEM) Architectural Design Language From Wild Software Meta-Systems. Response to
Request For Information (SE DSIG RFI) from the Systems Engineering Domain Special Interest Group(SE DSIG) of the OMG by
author. http://holonomic.net/uml01A02.pdf
16
hierarchies. This makes it possible for relations to exist between Agents (Who) and Functions33 (What).
The next level down is a duality between linear order without distance and partial order without distance.
This duality mimics the duality between the minimal methods themselves. It is composed of Relations and
CoRelations. Relations are arcs and CoRelations are nodes within design graphs that represent the detailed
design within a minimal method. In this gap in the Order Lattice is where the How hierarchy of the design
components are located. The Design Hierarchy fills a void in the lattice created by the interaction of
Relations and CoRelations. This is the only split in the lattice of methodological distinctions. It introduces
a free-space within which the creativity of design can be enacted by the practitioner. Everything else in
among the hierarchies is more constrained by the trace mappings that link the hierarchies. Requirements
set the constrains for the Design. The ConOps34 gives a global view of how the system should achieve its
mission and that is related to the top level Gurevich Abstract State Machine that shows it is computable.
From that top level GASM the rules can be refined to give greater and greater detail concerning the
functional operation of the system until the computability questions are answered. From there other
constraints can come in to produce alternative designs described by minimal methods within the Ossher
Grid. The next layer down in the lattice is full order and this splits between space as data (Where) and time
as event (When). The Events are represented by Temporal Logics and the Data is represented by the Entity,
Relationship Attribute diagrams. Between these two spacetime terms there exists the Kantian Meta-system
that includes Algebra, CoAlgebra, Geometry and Topology (CoGeometry) which represent co-analysis,
analysis, synthesis and co-synthesis as all the ways that data and event can be related. Once we get to this
point then we can see that the four major viewpoints on the real-time system are Agent, Function as partial
orders and Data and Event as full orderings. When we take these together we see that all four of these
viewpoints appear in the conditional rule which is the basis of the Gurevich Abstract State Machine. These
combine in a single structure which defines the most general model of how as components in a hierarchy
suspended between Partial Order and Full Order. Full order is what we use to measure space and time. It is
the environment in which the implementation code in a Turing complete programming language is executed
on hardware as a binary. Beyond that is combinatoric order of testing. Note that there is an approach called
Test First programming in which we build the testing meta-system before the System. In this approach the
Test Harness is created first and then the code that is tested. But this approach leaves the Design, and the
Requirements as implicit. This could be emulated at the ConOps level by creating a Gurevich Abstract State
Machine which is the meta-system of the System to be built and then create the rules within the System to
be built. This is a way to explore the environmental constraints on the System before building the System
which is a good idea. But this is rarely done. Another good idea is to create a model of the current way of
doing things before building the model that will change it. But this is rarely done as well. Generally, people
like to focus on what they are building that is new. The Real-time system executes in space and time and
thus is totally ordered but in a relativistic spacetime because there is not global clock. Combinatoric order
answers the question which-one? Which one of the many possibilities is the one that is produced?
Combinatorics is the way to explore the various possible inputs into the system and how it handles them in
order to ensure that it is without defects and is robust.

33https://www.academia.edu/9945650/2-
STRUCTURES_AND_DESIGN_METHODS_The_Mathematical_Foundations_of_the_Design_Field_with_respect_to_Viewpoints_and_Minimal_Me
thod_Structures
34 Conceptual Operations Document
17
Notice that there is a difference between the Categorical Imperative which has the form and material aition
or causes from Aristotle and the Hypothetical Imperative that contains the efficient and final causes also
from Aristotle. We can relate these to the four worlds of Ken Lloyd:

• Formal – Mathematical
• Material – Physical
• Efficient – Conceptual (energy theory, causal category, design structure)
• Final – Mental (goals, meaning)
This ignores social quasi-causes that are indirect in most case. However, those quasi-causes like language
determine what is objective, i.e. repeatable and observable by different teams of researchers. It is natural
language which is the first order representation of everything we conceptualize, design, and build. There
are formal, material, efficient and final languages that Ken Lloyd seems to have forgotten. He only has
languages that connect different worlds. But we also need languages that allow us to talk about a single
world. The only way to talk about the social world is with natural language. Formalizations of the social
world tend to lose too much information in the process of abstraction. But that means that Objectivity is
based ultimately on natural language which is anathema to most Scientists, but they use it. What else can
they do if they want to communicate with other scientists and avoid private languages.
A Formal System combines Truth, Presence and Identity. It has properties that combine these aspects of
Being which are consistency, completeness and clarity (well-formedness). When we add the aspect of
Reality we get three additional properties which are verifiability, validity, and coherence. The formal
system has to deal with what is outside of itself which is the reality to which it is addressed. And this
generates Meaning. Interestingly these Aspects of Being are related to the Philosophical Principles. Identity
is a First (isolata). Truth is a Second (relata). Presence is a Third (continua). Reality is a Fourth (synergy).
Meaning is a Fifth (integrity). All Design Theory Models are Formal Systems. Klir gives us a prototype as
a General Systems Theory (GST) of the Formal Structural System (FSS). To do this he breaks down our
system model into a structure of variables with types of values in relation to background (support, reference)
variables related to global changing values such as space, time or population (agent plus function) that
appear at different levels of abstraction in his epistemological hierarchy. Structures explain transformations
of Forms within a System. It is a kind of micro-formalism. This kind of structure makes it amenable to
computational simulation using algorithms. And we can imagine as Len Troncale35 has a kind of Artificial
Systems Theory that produces various simulations based on different isomorphism and linkage
propositions. More interesting though is the idea of discovering Systems Concepts as David Rousseau has
recently suggested. The point is that Formal Structural (Patterned) Systems are the dual in Schemas Theory
of Domain Worldly Meta-systems. Notice that Ken Lloyd speaks of Worlds which then he reduces to
Domains. What he means by worlds are regional ontologies or realms of experience of different kinds. But
it is the reduction to domains that allows categorical languages that map between Domain and Codomain
producing his six languages. And these languages should be seen as delimiting the environment (Meta-
system) of the System or the System itself. Systems and Meta-systems are inverse duals of each other.
Systems are wholes greater than the sum of their parts. Meta-systems are wholes less than the sum of their
parts. Between them we see Holonomics of Special Systems that are wholes exactly equal to the sum of
their parts (i.e. are supervenient) with special properties. Within either the System or the Meta-system we
can build Formal Structural System models. But these systems models when they are to be implemented as
computer software running on hardware platforms need to be designed using minimal methods within an

35 https://www.wikiwand.com/en/Len_R._Troncale http://lentroncale.com/
18
architectural Grid framework using domain specific languages if possible. When we invoke Design which
is based on Metis, the lowest limit of the Divided Line, that embodies mixture then we have to be concerned
with material a proris of software not just formalisms, or ‘systemisms’, or structuralisms. Software is
algorithms that manipulate data and execute in time. But the fundamental differentiation at the level of
Partial Order is between Agency and Function. Function is encapsulated in rules and agency is exterior to
rules as the environment in which they are triggered, and perhaps in parallel on different processors. From
Agency we get Performance and from Function we get the Intention of the system fulfilled. The Design can
be emulated by groups of rules, perhaps even rewriting each other, that operate on a Formal Structural
System like that described by Klir. But that occurs in a context of Worldly Domains and Systems always
fit into a specific Meta-systemic environment. Ken Lloyd is starting from the Ontology at the top and then
giving us a way to use Category Theory to describe the Domain Worldly Meta-system. The Design Formal
System based on viewpoints and minimal methods gives us a way to build up from the bottom a general
representation of a system that is intended to work in a specific environment as a real-time system. We need
to make it complete, consistent, and clear in relation to the aspects of Identity, Truth, and Presence. The
Minimal Methods allow us to produce a description a real-time software system at an appropriate level of
description. But the giving it the properties of the Formal System is very difficult. We need to explore the
design landscape rather than offering a point design. We also need to attempt to picture the external essence
of the design. This is done by creating a circular trace structure between the different hierarchies. To begin
this stretches only from Requirements to Design but as we go through the process of development the trace
structure will encompass all the hierarchies producing soundness when the circles of traceability are closed.
But as we go through the process we also need to contact Reality at each stage of the process. When we do
that we produce the properties of verifiability, validity and coherence in relation to the test and operating
environments.
But the key problem is that all formal systems including design theories have the problems pointed out by
Gödel in his completeness theorems. We can state this problem in ontological terms. If one of a pair of
related properties is in Pure Being then the other must be in Process Being. Thus, if consistency is Absolute
then completeness will be Relative. And the same is true for verifiability and validity, and for clarity and
coherence. What this means is that between these properties there is a gap between Pure and Process Being,
and that gap has the nature of Hyper Being. You can choose to make absolute either completeness or
consistency, but the other is forced into relativity. And because of that a gap is created with the nature of
Hyper Being between Pure and Process Being. And so here is where Hyper Being enters our Formal System
and contaminates it. This contamination occurs even if we use Ramified Higher Logical Type Theory, and
if we stick to Simple Type Theory then we do not notice the contamination, but we still cannot avoid it.
Once Hyper Being has been unleashed its dual Wild Being shows up. Wild Being is the nature of the surface
of the singularity of Ultra Being at the heart of any Real-time system. The singularity is the source of several
discontinuities that haunt Software like between its set-based design and its mass-based implementation
that is seen as compiled binaries. Software spans the divide between Set and Mass. Sets are emphasized in
our culture and Masses are taboo. But each has its own logic. The logic of Sets is Syllogistic Logic and for
Masses there is Pervasion Logic. But in the West Pervasion Logic is all but unknown. It appears in India
and China as the standard logic but does not appear in the West that only has Aristotelian Logic. We need
to use paraconsistent logics (or para-complete) and accept dialetheism, i.e. that contradictions in the world
are real. But that admission is hard and so we have a discontinuity between theory and practice that shows
up between design and code, as well as set and mass when we consider the compilation of code into binaries.
Software bridges these divides and thus takes on the nature of Hyper Being itself, and is perhaps the first
technological artifact to do that. This sets Software apart as an Emergent Event that is transforming the
world beneath our hands and feet such that things have gotten out-of-hand (Wild Being) as even our tools
19
are transforming in-hand (Hyper Being). Kurzweil talks about a technological singularity when the
machines are smarter than us. What Kurzweil does not understand is that the singularity is already there
implicitly in the ontology as Ultra Being. What we are experiencing is the dialectic between Hyper Being
and Wild Being that arise out of the Hardware embodiment of Pure Being (pointing) and Process Being
(grasping). Machines standing still are in Pure Being. Machines operating are in Process Being. But both
of these states are mechanical. Once we move from physical mechanics of motion to information mechanics
and Pure and Process Being are embodied in the Hardware CPU as part of the information processing
platform, then suddenly we are freed into a new realm that is virtual with very few constraints as to what
we build out of information. Software is inherently flexible. Much more flexible than the Hardware. Thus,
we have the slip sliding away of software that is thought of being like nailing jelly to a tree. But software
brings with it the virtuality and that is expressed as Wild Being that is the dual of Hyper Being. And between
these two esoteric kinds of being there is Ultra Being as a crack that cannot be filled and cannot be made
to go away. It shows up for instance as defects that cannot be found and are never completely stamped out,
so we have to live with them in our software. It shows up in Programming Languages as undefined states
that are combinations of legal instructions in a given language. It shows up in the discontinuity between
theory (design) and practice (coding) or in the discontinuity between source code and binaries. These
discontinuities are part of the material a priori of Software. The discontinuities in the order hierarchy
produced by the lattice of orders that Klir introduces as methodological distinctions is also part of the
singularities expression. As well as the minimal differences between the parts necessary for a Turing
Machine. It shows up in the fact that the Application Turing Machine does not know when it will halt. And
the Operating System Universal Turing Machine never stops except with a hard power down of the entire
system which many times are uncontrolled. It appears in the fact that sometimes the computing systems
have to be rebooted to set them right again because they have entered unknown regions of the state-space
of the Software System. The singularity at the heart of Design that eventually is at the heart of the
implemented embodied system that has been built off of the design sends its tendrils though all aspects of
Software Engineering and Artificial Intelligence and Artificial Cognition making it Alien to us because we
cannot understand the operation of the Artificial Techniques like Neural Nets for instance. If we can
understand the technique it moves into Software Engineering as just another tool to produce stable systems.
Intelligent or cognitive systems are unpredictable. But that means that they can descend from Complexity
into Chaos and they are not merely complicated and never simple.
The goal here has been to combine several techniques, methods, approaches, and viewpoints in order to
produce a way of looking at Software Systems Engineering that goes beyond UML/SysML which is the
state of the art. We are attempting to describe what we call a Categorical Orientation or Category Theory
centric approach to Systems Architectural Design both at the Software Engineering and Systems
Engineering levels. We realized that Category Theory is not enough and that it would take a patchwork of
techniques, methods, approaches and orientations to take us into Synergetic Engineering from where we
are now which is trying to design SysML #2 and making UML ever more complex like C++ has become.
There is a proliferation of programming languages. That kind of creativity in the invention of Design
Methods have been effectively stifled by the imposition by industry of UML in Software Engineering. And
in Systems Engineering they have followed suit by making the SysML profiles and following in the
footsteps of the Object Management Group. With Object in their name they will not be eager to adopt a
Functional approach instead. UML will probably maintain its object biases that make it difficult to use for
Real-time Design.
What we need is more than just a Paradigm Change, but rather a deeper change to a Category Orientation,
that is Category Theory centric approach. But unfortunately, this is not enough. So here we have tried to

20
specify some additional techniques, methods, approaches and orientations that might help if practiced as
well as the Categorical Orientation that is inherently functional rather than object oriented. In the categorial
approach the entities drop out and we are left only with directed graphs of morphisms that compose into
syntheses through groupoid structures.

CODA
The rest of this working paper is comprised of two presentations. One that I created for Dagger Theory but
never had a chance to give. The second is a presentation about Software Design Methods for a class on
Data-structures based on Category Theory. These two presentations together cover many of the elements
that are explicitly mentioned in this working paper. See also a presentation on George Klir’s Architecture
of Systems Problem Solving under the title “Formal Structural Systems in relation to General Schemas
Theory” given to the Systems Science working group of INCOSE.org. These to briefings do not deal with
Category Theory, but with the Software Design Minimal Methods based on Klir’s Methodological
Distinctions and with Dagger Theory which is the context for Architectural Design of Software Systems.
https://www.academia.edu/10303275/Formal_Structural_Systems_in_relation_to_General_Schemas_The
ory

Other papers of possible interest on the same topic by the author:

https://www.academia.edu/9945650/2-
STRUCTURES_AND_DESIGN_METHODS_The_Mathematical_Foundations_of_the_Design_Field_with_respect_to_Viewpoi
nts_and_Minimal_Method_Structures

See Also Kent D. Palmer (2007) Software Engineering Design Methodologies and General SystemsTheory,
International Journal of General Systems, 24:1-2, 43-94, DOI: 10.1080/03081079608945107

https://www.academia.edu/6861541/Software_Systems_Meta-methodology_old_

https://www.academia.edu/34831961/EMERGENT_DESIGN

https://www.academia.edu/3796285/Proposed_Integral_Systems_Engineering_Methodology_Architectural_Design_Language

https://www.academia.edu/3795976/A_Critique_of_SysML_from_the_point_of_view_of_General_Schemas_Theory

https://www.academia.edu/3795420/Gurevich_Abstract_State_Machines_in_Theory_and_Practice

https://www.academia.edu/3795338/Reworking_the_Integral_System_Engineering_Method_Domain_Specific_Languages

https://www.academia.edu/3795327/Hacking_the_Essence_of_Software

https://www.academia.edu/3796017/The_Ontology_of_Design

https://www.academia.edu/3795286/The_Essential_Nature_of_Product_Traceability_and_its_relation_to_Agile_Approaches

https://independent.academia.edu/KentPalmer/Foundations-of-Systems-Architecture-Design

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

Vous aimerez peut-être aussi