Software Systems Meta-methodology (old)

115
1 KEYWORDS: Software Engineering, Software Design, Software Methodologies, Ontology, Theory, Being, Philosophy of Science, Technology, Formal Systems, Structural Systems, Systems Meta-methodology. SOFTWARE ENGINEERING FOUNDATIONS Series Abstract: Software Engineering exemplifies many of the major issues in Philosophy of Science. This is because of its close relation between a non-representable soft- ware theory that is the product of design and the test- ing of the software. Software Engineering methods are being developed to make various representations of the software design theory. These methods need to be related to each other by a general paradigm. This paper proposes a deep paradigm motivated by recent developments in western ontology which ex- plains the generally recognized difficulties developing software. The paradigm situates the underlying field within which methods operate and explains the na- ture of that field which necessitates the multiple per- spectives on the software design theory. Part One deals with new perspectives on the ontological foun- dations of software engineering based on recent de- velopments in western philosophy. Part two deals with the meta-methodology of software engineering by laying out the structural relations between various software architectural methods. * * * [ SEFpart2f/draft4a/900912kdp (X90-999/601)] Copyright 1990 Kent D. Palmer. All Rights Reserved. Pre-publication copy. Not for distribution. DRAFT edited 2014.4.24 Orange CA. Telephone: 714-633-9508 Figures out of order due to the compression of the paper. PART TWO Software Systems Meta-methodology OVERVIEW: In this second part the ontological results of the first part will be extended by a study of specific software engineering methodologies and how they work to- gether in the design of real-time embedded software systems. The fitting together of methods into a coher- ent whole is the domain of systems meta-methodolo- gy as defined by Klir. Software engineering uses gen- eral systems theory as a foundation for describing structural systems. Structural systems provide the ar- chitectural frame work for defining software systems. Software systems design requires the development of four specific points of view. These points of view re- quire methods as bridges that allow movement be- tween viewpoints. This section explores the structural infra-structure of the method bridges between design viewpoints. The foundations of the Software Engineering discipline [ 1 ] have yet to be articulated definitively. Like all engineering disciplines little thought is given to the theoretical founda- tions of the discipline beyond borrowing from the residue of scientific theory and results. The first part of this essay suggested that this may be inappropriate with regards to the engineering of software, because it may have a differ- ent ontological foundation from other kinds of things we 1. A definition of this discipline may be found in Peter Free- man’s Software Perspectives See Bib#107. See also Bib#147. SOFTWARE ENGINEERING FOUNDATIONS A Paradigm for Understanding Software Design Methods Part One: Software Ontology Part Two: Software Systems Meta-methodology Part Three: Integral Software Engineering Methodology Kent D. Palmer, Ph.D. Software Engineering Technologist [email protected] http://kdp.me

Transcript of Software Systems Meta-methodology (old)

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

1

KEYWORDS:Software Engineering, Software Design, SoftwareMethodologies, Ontology, Theory, Being, Philosophyof Science, Technology, Formal Systems, StructuralSystems, Systems Meta-methodology.

SOFTWARE ENGINEERING FOUNDATIONSSeries Abstract:Software Engineering exemplifies many of the majorissues in Philosophy of Science. This is because ofits close relation between a non-representable soft-ware theory that is the product of design and the test-ing of the software. Software Engineering methodsare being developed to make various representationsof the software design theory. These methods needto be related to each other by a general paradigm.This paper proposes a deep paradigm motivated byrecent developments in western ontology which ex-plains the generally recognized difficulties developingsoftware. The paradigm situates the underlying fieldwithin which methods operate and explains the na-ture of that field which necessitates the multiple per-spectives on the software design theory. Part Onedeals with new perspectives on the ontological foun-dations of software engineering based on recent de-velopments in western philosophy. Part two dealswith the meta-methodology of software engineeringby laying out the structural relations between varioussoftware architectural methods.

* * *[ SEFpart2f/draft4a/900912kdp (X90-999/601)]Copyright 1990 Kent D. Palmer. All Rights Reserved.Pre-publication copy. Not for distribution.DRAFT edited 2014.4.24 Orange CA. Telephone: 714-633-9508Figures out of order due to the compression of the paper.

PART TWOSoftware Systems Meta-methodology

OVERVIEW:In this second part the ontological results of the firstpart will be extended by a study of specific softwareengineering methodologies and how they work to-gether in the design of real-time embedded softwaresystems. The fitting together of methods into a coher-ent whole is the domain of systems meta-methodolo-gy as defined by Klir. Software engineering uses gen-eral systems theory as a foundation for describingstructural systems. Structural systems provide the ar-chitectural frame work for defining software systems.Software systems design requires the developmentof four specific points of view. These points of view re-quire methods as bridges that allow movement be-tween viewpoints. This section explores the structuralinfra-structure of the method bridges between designviewpoints.

The foundations of the Software Engineering discipline[1]

have yet to be articulated definitively. Like all engineeringdisciplines little thought is given to the theoretical founda-tions of the discipline beyond borrowing from the residueof scientific theory and results. The first part of this essaysuggested that this may be inappropriate with regards tothe engineering of software, because it may have a differ-ent ontological foundation from other kinds of things we

1. A definition of this discipline may be found in Peter Free-man’s Software Perspectives See Bib#107. See also Bib#147.

SOFTWARE ENGINEERING FOUNDATIONSA Paradigm for Understanding Software Design Methods

Part One: Software OntologyPart Two: Software Systems Meta-methodology

Part Three: Integral Software Engineering Methodology

Kent D. Palmer, Ph.D.Software Engineering Technologist

[email protected]://kdp.me

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

2

are more used to encountering in our scientific and techni-cal endeavors. Because of this a radical paradigm for un-derstanding software engineering was ventured. Whetherthis paradigm which explains many of the difficulties increating large software systems is ultimately proven cor-rect, it is still necessary to understand the central featuresof the software discipline. These core features taken to-gether make up the essence of software practice are direct-ed at producing and controlling software entities. The ker-nel of this set of practices concern the nature of softwaredesign methods. Design methods are taken to be the heartof the software engineering practice. It is through thesemethods that the software entity comes into being in thesoftware development process through a series of essentialtransformations. So moving from the nature of the soft-ware entity we must next consider the nature of the soft-ware design methods. At this point no general theory ofsoftware design methods exists. What does exist is a pleth-ora of specific methods proposed by experts vying for pre-dominance. What is necessary is a comprehensive exami-nation of the field of methods through a kind of meta-meth-odological study of software methods. George Klir definesmeta-methodology as follows.

"In order to manage the complexity involved in the solu-tion process, systems problems can rarely be handled without any simplifying assumptions. However simplify-ing assumptions can be introduced in each problem in many different ways. Each set of assumptions reduces, in a particular manner, the range of possible solutions and , at the same time, reduces the complexity of the solution process.

"Given a particular systems problem, a set of assumptions regarding its solutions is referred to as a methodological paradigm. When a problem is solved within a particular methodological paradigm, the solution does not contain any features inconsistent with the paradigm.

"It is reasonable to view a paradigm which represents a proper subset of assumptions of another paradigm as a generalization of the later. Given the set of all assump-tions which are considered for a problem type, their rela-tion "paradigm A is more general than paradigm B" ... forms a partial ordering among all meaningful paradigms associated with the problem type. ...

"Paradigm generalization is a current trend stimulated pri-marily by the advances in computer technology. Any gen-eralization of a paradigm extends the set of possible solutions to the problem and makes it possible in many cases to reach a better solution. At the same time, howev-er, it usually requires a solution procedure with greater complexity. The study of the relationship between possi-ble methodological paradigms and classes of systems

problems is a subject of systems metamethodology. This is an important new area of research in which little has been accomplished as yet. The central issue of systems metamethodology is to determine those paradigms, for various classes of problems and the current state of com-puter technology, which represent the best compromise between the two conflicting criteria -- The quality of the solution and the complexity of the solution procedure. The main difficulty in this investigation is the there is usu-ally many alternative solution procedures which can be developed for a given problem under the same method-ological paradigm.

"Another issue of systems metamethodology is the deter-mination and characterization of clusters of systems para-digms that usefully complement each other and may thus be effectively used in parallel for dealing with the same problem. Together, they may give the investigator much better insight than any one of them could provide alone.

"Every mathematical theory that has some meaning in terms of a systems problem solving framework ... is actu-ally a methodological paradigm. It is associated with a problem type and represents a local frame within which methods can be developed for solving particular problems of this type. One of the roles of systems metamethodology is to compile relevant mathematical theories and identify their place in the overall problem space. Another of its roles is to propose new meaningful paradigms; the ulti-mate goal is to characterize and order all possible para-digms for each problem type. Since the recognition of a new paradigm is an impetus for developing a new mathe-matical theory, comprehensive investigations in systems metamethodology will undoubtedly be a tremendous stimulus for basic mathematical research of great prag-matic significance. Mathematics is thus a contributor to systems problem solving as well as a beneficiary of the later."

from George Klir in ARCHITECTURE OF SYSTEMS PROBLEM SOLVING pages 18 -19 (See Bib#164)

Software systems meta-methodology concerns the relationof software design methods for building large real-timesoftware systems to each other. It specifically refers to thedefinition of the ground that allows different methods to berelated to each other and compared. This ground for com-parison has not as yet been the subject of study or debatewithin the software engineering community. This is due tothe nascent state of the software methods themselves.There are a plethora of new software methods being pro-posed by experts in the field. Many of these are mentioned

in the bibliography of this paper[2]. Surveys of software

methods already exist [3]. Also a few taxonomies of meth-

2. For instance Hatley/Pirbahi (Bib#127), Neilson/Shu-mate(Bib#218), Ward/Mellor(Bib#290), Shaler/Mel-lor(Bib#268), etc.3. MCC Survey (See?)

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

3

ods and enabling tools, such as that produced by the Soft-

ware Engineering Institute (SEI) [4], have been created.The efforts of surveying and cataloging various softwaremethods is very important for the growth of software engi-neering design knowledge. However, this paper will seekto extend our appreciation of software methods in a com-pletely different direction. Here the emphasis will be uponestablishing a software engineering paradigm which willmake it possible to define the grounds against which anysoftware method can be understood and compared reason-ably to other, both similar & dissimilar, software methods.

A key part of the establishment of this paradigm was de-veloped in the first section of this paper. There a founda-tion was established to approach the definition of theunique aspects of software. Building upon that foundationthis section will attempt an analysis of the grounds for soft-ware methods. This analysis will proceed from existingmethods but will focus on the creation of a hypothesis as towhat the total field of software methods is like overall. Theconcentration on the field or ground that supports all pos-sible methods is what distinguishes this study as meta-methodological rather than methodological.

4. SEI Taxonomy (See?)

Software

TheoryP

A

E

D

EVENTwhen

AGENT

DATA

who

where

whatPROCESS

Essential View Points on Software Design TheoryFIGURE 1

why

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

4

Meta-methodology also concerns the relation of softwaremethods to the rest of science and scientific method in gen-eral. In fact this relation will be our starting point for ex-tending the paradigm laid-out in the first section of this es-say. Software engineering has a special relation to scientif-ic methods which has already been explored. A corollaryof this special relation is the relation between software en-gineering and general systems theory. When we speak ofgeneral systems theory we will be referring to the work of

George Klir as it appears in Architecture of Systems Prob-lem Solving [5] (ASPS) and his numerous articles. Klirhas created an excellent abstract representation of what hasbeen called formal-structural systems. In this study we willtake this representation to be definitive of what is meant byformal-structural systems even though many other repre-sentations exist in specific fields, like Chomsky’s Trans-

5. See Bib#164

Software

TheoryDesign

(why)

Problem

P

A

E

D

AGENT

DATA

(who)

(where)

methodical link betweenpoints of view on design

point of view

minimalrepresentation

DFD

dataflowprocess input/output

Representation via linking methodsbetween different points of view

EVENT(when)

(what)PROCESS

Space

FIGURE 2

Fuzzy or Non-representable

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

5

formational Grammar. Klir has done us the service of ex-pressing the essence of all the formal-structural systems ina single concrete representation. He is to be commendedon the scope and detail of his generic rendering of whatseparately appears in many disciplines with various con-tents. Understanding how formal-structural systems work,regardless of the details of content contributed by the var-ious disciplines, is an arduous task which is much simpli-fied with an abstract model as a point of departure. This es-say will use Klir’s representation as its starting point andany questions as to what is meant by a formal-structuralsystem should be referred to his book which merits seriousstudy.

In fact Klir’s ASPS has a special significance for softwareengineers. It should become the central reference for soft-ware engineering’s concept of what constitutes a ’system’.We produce ’systems’ yet it is difficult to get good defini-tions of what constitutes a ’system’ and what it means toproduce one. Definitions of ’system’ tend to be vacuous.Like the many fundamental concepts, ’system’ suffersfrom a lack of rigor and most definitions of it are so vagueas to be almost meaningless. When we define a ’system’ itis really its relation to formal and structural underpinningsthat make it meaningful. The full articulation of the for-mal-structural underpinnings of systems give real meaningto this all encompassing term [6]. Software engineers build’software systems’. By knowing what software is, i.e. themanifestation of the singularity [7] of pure immanence [8]in the differing/deferring [9] of automated writing, andwhat a system is, i.e. the fully articulated formal-structuralrelation between elements, then it becomes possible to takea deep look at what ’software systems’ really are. Thisdeep look is the purpose of software systems meta-meth-odology. Software methods are abstractions of softwaresystems which we can manipulate and know that those ma-nipulations are as good as manipulating the written code it-

self which may not exist yet. Our software design methodsare pictures of the essentials of software systems. The bet-ter our picture of those essentials then the better will we beable to design software systems. Meta-methodology con-cerns our getting the best possible picture of the essentialsof software systems. We already know that as in the veryterm ’software systems’ there is a clash between the essen-tial non-representability of software theory and the repre-sentable nature of formal-structural systems. Formal-struc-tural systems are precisely a means of representing thingsthat cannot be captured by formal systems alone. In factanything that involves time must be represented with struc-tural additions to formal systems. Formal-structural sys-tems are a means of making things that cannot be fullymade present-at-hand appear as if they could be renderedfully present-at-hand. Formal-structural representationshave proved themselves in physics to be very powerfulmeans of representing transforming objects in the world.Thus in ’software systems’ there is a confrontation be-tween a powerful form of representation and somethingthat is inherently non-representable. This clash is an inter-esting phenomenon by itself.

We need to know what formal-structural system are in or-der to understand their relation to software. Klir gives agood representation to work with. Yet beyond that there isa special relation between software and the general sys-tems science that Klir is attempting to found. Software rep-resentations are the data for Klir’s general systems sciencewhich has empirical as well as theoretical aspects. Abstractrepresentations of systems are represented as computerprograms and tested. Those tests are meant to reveal inher-ent properties of the general systems architectures whichhave been abstracted from similar concrete images in var-ious disciplines. This brings an interesting point to theforeground. General systems science itself has an intrinsicrelation to software. It seeks to be more than an empty ab-straction by discovering characteristics of systems by ma-nipulating software representations of systems architec-tures. So on the empirical side of general systems theory, ittoo must confront the essential nature of software as effect-ed by the manifestation of pure immanence. While generalsystems theory seeks to present a purely present-at-handpicture of what constitutes a formal-structural system, it isalso dealing with the non-representable nature of software

6. See Bib#255; See Also Bib#301.7. Singularity is used in the same sense here as in physics where it is a point within the area coverred by a theory where teh theroy breaks down. See Bib#128.8. Immanance is the opposite of Transcendence. What is Im-manent never appears in any form. Similar to the concept of the Unconscious in Psychology only applied to Ontology. See Bib#136.9. See Bib#79 and Bib#113.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

6

theory. The empirical discoveries of general systems sci-ence about systems architectures is in some sense an explo-ration of the same issues that are driving software engi-neering. In fact software engineering has an intrinsic rela-tion to general systems science which is similar to itsrelation to computer science. From the discipline of com-puter science it seeks the knowledge about how softwareworks in a small scale on various kinds of hardware. Fromgeneral systems science it seeks to understand the structur-al properties of general systems architectures also on asmall scale. The point is that software engineering uses thisknowledge to build large scale software systems. In theselarge scale systems quantitative changes in the dimensions

of the systems cause qualitative changes in the nature ofthe systems. The facets of the software engineering disci-pline are responses to these unexpected large scale effects.As general systems science explores larger and larger sys-tems architectures it becomes involved in building largerand larger software representations and thus needs soft-ware engineering discipline. Also as software engineeringfocuses more and more on design issues it needs to knowwhat general systems theory can tell it about general sys-tems architectures.

The fact is that software engineering draws knowledge

AGENT EVENT

DATA

who when

where whatPROCESS

Petri Net

Dataflow Input / Output

Data Objects

Worldline

Scenarios

Transport

Data Structures State Transitions

Mechanisms

Allocation of

Virtual Machine

Design Element Flow

Data Transitions

Function to TaskProtected

View Points Combine to Give Minimal Design MethodsFIGURE 3

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

7

from four disciplines. Besides general systems science andcomputer science it also draws from management scienceand social science. Software engineering should empha-size it roots in social and management sciences more thanit does at the present time. Software engineering concernsteams of people working together to produce the softwaresystem. It concerns the management of this developmentprocess which involves both general systems architectureand computer science knowledge as well as applicationspecific knowledge. By treating software engineering as ifit arises directly from computer science alone many of thekey features of software engineering are distorted. Soft-ware engineering is seen as merely ’programming in thelarge’. Instead software engineering is a mainly social phe-nomena of human beings confronting the task of buildinglarge scale software systems. In that task there is a need forcomputer science specific knowledge and application spe-cific knowledge. But it is the understanding of the generalsystems architecture which is key to making the whole sys-tem work properly. Beyond the general systems architec-ture, a large system is merely a large collection of smallprograms. This is why architectural design and the recentlyappearing myriad software design methods are of interest.These methods are of interest not just because they providethe abstractions by which we can structure very large soft-ware systems. They are also of intrinsic interest becausethey provide the means of building very large architecturalrepresentations for general systems science to experimenton. Also they are methods by which social and businesssystems can be described so that automated simulations ofthem can be constructed. They are a means of describingand controlling very large systems and their computer rep-resentations. Computer representations are a way of auto-mating and controlling the described systems themselves.Software methods thus take on a key role of connecting so-cial systems, business systems, and computer systems bydescribing at high levels of abstraction how these systemswork in a way which can be automated. This allows a di-rect connection between the descriptions of systems, thesimulation of systems, and the automation of systemswhich has never before been possible.

Probably one of the most interesting aspects of softwaremethods are their application to describing the softwaredevelopment process which is a social and managerial sys-

tem. Traditionally these methods have been used to modelthe manual systems replaced by automations before mod-eling the changes that would be made in the system whenit is automated. However, the modeling of the softwareproduction system itself shows the true versatility of thesemethods. What we are dealing with here is not somethingspecial to software engineering but a general purpose sys-tem description language which can be used to describeany system. This description is the first step in the processof automation or simulation of that system. Since any ob-ject system could be described using software methods,they are general purpose tool for understanding systemsand mapping between system representations. For this rea-son software engineering design methods have the sameclaim to generality that general systems science has. It is auniversal discipline which can be applied to the descriptionand modeling of any large scale system. It is the means ofcreating mappings between specific images of systems inindividual disciplines and their abstract counterparts. It isalso the means of mapping between abstract representa-tions of different kinds of systems. Finally it is the meansof mapping from an abstract representation of a systems toits software simulation or architectural equivalent. Soft-ware engineering provides the glue that allows generalsystems science to create meaningful connections betweensystems and their representations and simulations. Soft-ware engineering has a much broader role in science thanhas been hitherto recognized. It is this broader role thatcauses it to have a structure that exemplifies many of theproblems of scientific theory focused on by philosophy ofscience. Scientific theories are now reaching the stagewhere they are becoming complex enough that it is neces-sary to create computer representations of them. Scientifictheories have structures that are merely specific instancesof general systems architectures. Thus scientific theoriesneed to be engineered into specific systems architecturesso that scientists can explore their ramifications throughsimulations and artificial experiments. In order to createthese simulations software engineering methods are neces-sary to translate from the structure and specific facts of thescientific theory into the software representation of thosefacts. In this way software engineering methods will be-come more and more necessary to scientists as a means ofstructuring their representations of their theories and thesimulations in software performed using those representa-tions. Software engineering is a crucial component of fu-ture scientific explorations in many diverse fields. As sim-

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

8

ulations get larger and larger scientists themselves willstart using the language of software methods to design therepresentations of their theories. Thus it should not sur-prise us that many of the strange aspects of scientific theo-ries are manifested in software theories. Software theoriesare the representations of scientific theories that can betested in an artificial universe of a simulation. Softwaretheories are the concrete representation of scientific theo-ries in a dynamic form. This dynamic form is related to thenature of automated writing. Automated writing exhibitsas one of its side effects the differing/deferring of differ-ance which is the advent of pure immanence with in thefield of the structural system.

This concept of the embedding of a singularity within thestructural system which results in the fragmentation of per-spectives was elaborated in the first part of this paper. Thisis a key idea which is not recognized by Klir in ASPS. Thisis because Klir sees himself as operating at the level of

Being2 and does not explicitly recognize any higher meta-level of Being. Thus Klir believes his representation of thestructural system is purely present-at-hand even though thepurpose of creating a formal-structural system is to handleready-to-hand phenomena such as discontinuities in thetemporal unfolding of formal systems. If Klir’s presenta-tion of the formal-structural system had itself been at thelevel of the ready-to-hand modality then it would havebeen more philosophical in nature. Alan Blum in his bookTheorizing [10] and John O’Malley in Sociology of Mean-ing [11] have developed this kind of self-conscious theo-retical representations in sociology. They are more elegantbecause they say what they themselves do. It would bepreferable to operate with these kinds of self-consciousrepresentations in our explanation of software methods,but that would cause this text to become even more unread-able that it already is now to most readers. That kind of

10. See Bib#34.11. See Bib#224.

O

S

D

F

SS

SD

SF

S2S

S2D

S2F

MSS

MSD

MSF

MS

MD

MF

SMS

SMD

SMF

M2S

M2D

M2F

MetaModelsStructural Modelsinfinite regressinfinite regress

FIGURE 30Klir’s set of model types for general systems theory.

objectsystem

sourcesystem

datasystem

generativesystem

formal

metastructuralsource

structuraldata

structuralgenerative

metastructural

sourcestructuralsrructural

source

structuralstructural

data

structuralstructural generative

metastructural

data

metastructuralgenerative

soruce

metadata

metagenerative

structural

meta-metagenerative

meta-metadata

meta-metasource

meta source

structuralmeta data

structuralmeta

generative

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

9

self-consciousness is intellectually more honest but leadsto great difficulties in communication. Therefore we willaccept Klir’s naivete and will practice that same simplifiedapproach that assumes that the representation of the theorycan be at a different metalevel that the action of the theory.This is probably a false assumption.

Instead of attempting to make this presentation theoreticalself-conscious in the way Blum or O’Malley have we willposit the idea of the fragmentation of perspectives on theformal-structural system. This is equivalent to turning theformal-structural system inside/out as demonstrated in theprevious section of this essay. We will engage in workingout the implications of this program as related to Klir’s rep-resentation of the formal-structural system. This intellectu-al trick will make it appear that we are still operating inpresent-at-hand mode in our theorizing while in effect wehave represented both ready-to-hand and in-hand modali-ties in the more complex theory. The ready-to-hand is rep-resented in the fragmentation of the software level of theformal-structural system while the in-hand is representedby the hypothesized presence of a singularity hidden by themultiple perspectives. The alternative to this formulation isto enter into O’Malley’s universe of discourse which isposed within the ready-to-hand mode and introduce a sin-gle extra theoretical element to represent the singularity.Another alternative would be to construct a theory whichwas self-consciously operating within the in-hand modali-ty. This would probably take the form of poetic dialectical-ly cancelling aphorisms. Perhaps Frederich Nietzsche orTheodore Adorno were attempting this in their philosoph-ical writings. We will not be so bold.

* * *

The software engineering profession is composed of manyroles. One of those roles is the software engineering tech-nologist. The software engineering technologist has fourbasic realms of specialization. These realms concern soft-ware engineering practices, processes, methods, and envi-ronments. The software engineering technologist is firstand foremost a practicing software engineer. But as a soft-ware engineer his focus has been shifted from the productto the processes of software production that result in the

product. This shift in focus is from the present-at-handsoftware artifact (the ends) to the ready-to-hand means ofproduction. This realm of specialization has been assignedas the responsibility of the Software Engineering ProcessGroup (SEPG) as defined by Watts Humphrey of SEI [12].The SEI believes by defining processes and then by mea-suring the outputs of these processes we will be able tocontrol and improve upon our software development pro-cesses. One means of controlling software processes is toproceduralize the entire development cycle. Certain soft-ware processes are crucial, such as requirements analysis& specification or architectural and detailed design. Forthese crucial processes we may develop software methodsto guide us which go beyond rote procedures. These meth-ods provide detailed guidance in how to solve the problemsto which a particular process is addressed. Software meth-ods are very important. They provide a language for com-munication concerning the problem and solution spaces.They provide a means of capturing requirements or designconcepts. Examples of some more prominent softwaremethods are as follows:

o HATLEY / PIRBHAI [13]

Real-time Structured Analysis

o WARD / MELLOR [14]

Real-time Structured Analysis & Design

o SHALER / MELLOR [15]

Object Oriented Analysis & Recursive Design

o SPC / GOMAA ADARTS [16]

Ada Design Approach for Real-time Software

o NEILSON / SHUMATE [17]

Virtual Layered Machine /Object Oriented Design for Large Real-time Ada Systems

o CONSTANTINE / WASSERMAN [18]

Object Oriented Structured Design

12. See Bib#147. See also SEPG Handbook Bib#248 & Bib#265. 13. See Bib#127.14. See Bib#290.15. See Bib#268.16. See Bib#119.17. See Bib#219.18. See Bib#292.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

10

The software engineering technologist must be conversantwith as many of the major software methods as possible.Because these methods cover crucial software productionprocesses they represent the best expertise in how to solvethe important problems in software development. Differentmethods may be appropriate for different software proj-ects. The software technologist should be able to act as aconsultant concerning the tailoring of methods to the needsof projects and also the selection of particular methods.Beyond this comes the necessity to train staff in the use ofadopted methods. It is at this point that software systemsmeta-methodology becomes important. As it now standssoftware methods in general are fairly new. Many are be-ing proposed each year. Thus the software practitioner,whose main concern is building the software at hand, can-not be expected to keep up with the dizzying expansion ofthe field of software methods. The practitioner wants a toolbox of techniques that will work for him. He wants to adopta method which will facilitate the use of these techniquesin a coherent way. The software technologist thus needssome overview of what is available so that he can help thepractitioner select the appropriate techniques and methods.This overview can only be achieved by the development ofsoftware metamethodology. Software metamethodologygives a means of comparing methods with each other andattempts to give an overview of the general field fromwhich all software methods arise. Without a view of thefield from which these methods arise there is no way to ad-equately compare and discriminate between these myriadmethods. Software metamethodology is a theoretical disci-pline with very practical results. By establishing softwaresystems metamethodology the software engineering tech-nologist and the practitioner alike can establish the cover-age of a particular method and its relation to other methodswith different coverages. By coverage is meant how muchof the field of possible software methods does a particularmethod cover.

The final realm of specialization for the software engineer-ing technologist is enabling technology. The software en-gineering technologist should be part of a Software Engi-neering Technology Group which is concerned with en-abling software processes and methods in a softwareengineering environment. This involves Computer AidedSoftware Engineering (CASE) and Computer Aided Coop-

erative Work (CACW). Implementing software engineer-ing environments automates the tasks of software produc-tion. Up until recently software production was a mostlymanual process except for editing and compilation. Nowwith many new software tools coming on the market thereis a great diversity of vendor supported tools. These toolssometimes have their own unique methods associated withthem and also call for special software processes. Thusbuilding software engineering environments in the currentenvironment is not trivial. It usually means integratingvendor tools with home grown tools within a single envi-ronment.

This particular essay grew out of a very practical situationconcerning software methods and practice. Our SoftwareTechnology Evolution Project (STEP) had in 1986 just im-plemented a simple software engineering environment onSUN workstations using the IDE [19] Software-through-

PicturesTM CASE tool and Frame Technologies Frame-

MakerTM document processor. Upon completion of thisproject I began working on a project that was using this en-vironment. Immediately I noticed something was strangein the way our engineers were using the tools we had giventhem. I was appalled to see that they had introduced theirown ad hoc method rather than following that method sup-ported by the tool. At this point they had little training inmethods or in the use of the tool. However, I wonderedwhy they had changed the Hatley / Pirbhai [20] method. AsI began studying their modifications to the method whichwere still in the range of what was allowed by the graphicaleditor but were not allowed by the design analysis tools aninteresting picture became clear. All of the changes madeby the software engineers were attempts to introduce task-ing constructs into their design representations. On furtherstudy it became clear that the popular tools all supportedmethods that did not express tasking. It took some researchto find tools like DURRA by Mario Barbacci [21], Task

BuilderTM by Ready Systems [22], and StateMateTM byiLogics [23] which did support some sort of tasking con-

19. IDE = Interactive Development Environments of San Francisco CA founded by Tony Wasserman.20. See Bib#12721. See Bib#2322. See ???23. See Bib#126

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

11

structs. Since that time IDE has introduced OOSD [24] andSPC has introduced ADARTS [25]. Vincent Shen of MCChas also introduced RADDLE and its visual editor VERDI[26].

What is interesting is that since most software methodswere introduced to support information system develop-

ment the original methods like Yourdon/DeMarco’s Struc-tured Analysis [27] and Yourdon/Constantine’s StructuredDesign [28] did not deal with time. Hatley / Pribhai andWard / Mellor introduced Real-time Structured Design atabout the same time in which state diagrams were used todeal with the timing aspects of real-time systems. It wasthese methods which were implemented by most of theearly vendors producing commercial CASE tools. Yetthese tools did not deal with one crucial problem in soft-

24. See Bib#29225. See Bib#12026. See Bib#96

27. See Bib#7728. See ???

FIGURE 42

structure chart

data mutation

linear order with no distance partial order with distance

mapping

design element flow

HOLON

autonomousbehavior

behavioral automation

timespace space

time

agentpoint

partial order with no distance partial order with no distancegrasp

process

eventtime

linearity with distance linearity with distance

dataspace

internalfrom abovein hierarchy of system

externalfrom belowin hierarchy of system

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

12

ware engineering of real-time systems. That is the problemof tasking. Research showed that Gomaa had provided themost straight forward solution to this problem and our shopbegan using DARTS diagrams produced in the IDE pictureeditor. Other solutions were too expensive and this provedto be an excellent interim solution. The realization thatsoftware architectural design required more that just tem-poral ordering be added to the basic Yourdon/DeMarco/Constantine methods made it necessary to think throughthe relation between these methods. Paul Ward [29] pro-vided an insight into this relation between software meth-ods when he observed that different methods ordered thesame techniques in different sequences and by doing soproduced very different views of the same system. Thebest example of this is the difference between the Hatley /Pirbhai and the Shaler / Mellor methods. These use the ex-act same representation techniques but use them in differ-ent orders.

HATLEY / PIRBHAI

1) Dataflow Diagram

2) State Diagram

3) Entity Relation Diagram (optional)

SHALER/ MELLOR

1) Entity Relation Diagram

2) State Diagram

3) Dataflow Diagram

By applying both of these methods to the same problem Isaw that the kind of system that would be designed usingthese two different methodological approaches was verydifferent. I felt that this was an interesting phenomena andwondered what would happen when one added theDARTS tasking structure method of Gomaa to the set oftechniques to be used. The question was where should it beadded and what would occur if it were added at differentpoints in both suggested sequences. These ruminations29. See Bib#291

horizonhorizon

perspectiveSubject

intentionmethodmethod

?

M1M2

softwaretheory

perspective

Rrepresentationrepresentation

R

intention

non-representable

of explorationof exploration

e

FIGURE 38

{numena}{numena}

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

13

suggested that there was a field of knowledge here whichwas worthy of exploration in its own right. What was need-ed was a general approach to the whole field of softwaremethods, a meta-methodological study, which would giveguidance on how to connect techniques into method se-quences in order to get full coverage of the software engi-neering design solution space. The answer seemed to be tointroduce the concept of software systems metamethodol-ogy along the lines that Klir suggested.

In order to get a clear picture of the field of software meth-ods a good starting point seemed to be the abstraction fromeach technique used by the major methods (Hatley / Pirb-hai & Shaler / Mellor) and add that of Gomaa (DARTS).This lead to the conceptualization of the four perspectiveson software theory. These developed through a process offurther abstraction into what has been dubbed the four fun-damental software engineering perspectives.

The Four Fundamental Software Engineering Perspectives

WHO => AGENT view \ W softwareWHAT => PROCESS view \ H designWHEN => EVENT view / Y theoryWHERE => DATA view / ?(the idea)

With each of these perspectives is associated a minimalmethod that is used to represent that perspective by itself:

DATA viewpoint: Answers the question --Where is it in memory? Is modeled by enti-ty-attribute-relation diagram. Data in acomputer system is basically a manifesta-tion of the configuration of memory loca-tions and thus answers the question’where?’. Data is modeled in its pure stateusing Chen’s entity-relationship diagrams[30]. Extended from the concept of Spaceas represented by computer memory.

PROCESS viewpoint: Answers the ques-tion -- What is to be done? Is modeled byhierarchical functional decomposition. Pro-cess or functions models the what happensin a system in terms of data transforma-tions. This is related to the operators in the

formal language which define what can bedone within the system. Extended from the

concept of Grasping as Being2 representedby the accumulator in the CPU. Graspingallows manipulation which causes transfor-mations in data which are called processesin Dataflow terminology. Process does notmean independent processing in the senseused by UNIX in this context. Processmeans transformation by the application ofoperators to operands.

EVENT viewpoint: Answers the question -- When is it to happen? Is modeled by tim-ing diagrams that represent that merelyshow the temporal relations between sig-nals. Extended from the concept of Time asrepresented by the cycles of the CPU. It isalso depicted through the use of interval &temporal logics.

AGENT viewpoint: Answers the question -- Who does it? Is modeled by tasking a hi-erarchy which shows nested independentthreads of control within the system. The’actor’ paradigm developed by Hewitt [31]and Agha [32] is a development of this par-adigm in a pure form. Extended from the

concept of Pointing as Being1 as represent-ed by the index registers in the CPU. Point-ing is observing so the agent is an indepen-dent automated ’daemon’ or observer andactor.

Later it was realized that these four perspectives could beseen as extensions from the ontological categories devel-oped in the first part of this essay. But the main idea wasthat by taking these perspectives it was possible to takefundamentally different views of the software system un-der development. Combining this with the concept of Soft-ware Theory developed by Peter Nauer gave a means ofunderstanding software representations as being tied tothese perspectives. All of the representations produced bysoftware methods attempt to approximate the software the-ory. The software theory is the why of the system under de-sign. There are so many reasons why a system is exactlythe way it is that they could never all be written down. In-

30. See Bib#57.31. See ???32. See Bib#6

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

14

stead of asking ‘why’ through representations we ask ques-tions of reduced scope like: Who? What? When? andWhere? If one adds the assumption that only one perspec-tive can be attained by the designer at a time then one im-mediately has a reasonable answer to the question whysoftware theory cannot ever be completely represented.One also immediately introduces the hiding place for thesingularity which hides within the software formal-struc-tural system.

Once the four perspectives have been delineated it is pos-sible to get a handle on the interrelation between softwaremethods. The techniques like dataflow and finite automatawhich are strung together in ordinary software methodscan be seen as minimal methods. A minimal method is ameans of representing the software system from a singleperspective or as a means of transitioning from one per-spective to another. Perspectives are envisioned as lookingat each other. Perspective A looks at Perspective B from its

FIGURE 37A

mapping

Agent ProcessStructuralAutonomy

FunctionalBehavior

Usecase

sub-function

functionfunction function function functionSTART STOP

MODULE

sub-function

moving control token of autonomy

structure chart

FIGURE 37B

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

15

own viewpoint. This is what causes the minimal methodsto be different. The minimal methods when defined tell usthe absolute minimum conceptual baggage needed to tran-sition from one viewpoint to another. With the concept ofminimal method we no longer need to take the methodsgiven us for granted. We can analyze them to see what isabsolutely necessary in our methods. Finally, we achieve ameans of analyzing proposed methods by relating them tothe field of minimal methods as a whole.

This leads to another interesting point. When the dataflowdiagram technique is analyzed it becomes apparent that itis really composed of two minimal methods. One address-ing data flowing between processes and the other address-ing the transformation of data in stores by processes. Thuswe see in the dataflow a merger of two minimal methods.Data looks at Process as transforming methods while Pro-cess looks at Data as flowing streams between processes.The great success of the dataflow diagram may be attribut-ed to the fact that it represents a two way bridge betweenthe Process and Data viewpoints. We see in this method anexcellent example of how methods should be constructedto represent in the simplest manner possible the means oftransitioning back and forth between design perspectives.

This kind of study leads inevitably to an attempt to isolateall the minimal methods connecting the different designperspectives. This is not a simple task. A first cut was madein an earlier paper given at CASE88 workshop [33]. Theversion presented here is a further refinement. It is neces-sary to state that this version is still tentative. The processof attempting to isolate the minimal methods connectingall the design perspectives has demonstrated the ad hoc na-ture of the methods designers are using. Singling out thosetechniques that can serve as good oneway bridges betweenperspectives is a matter of intuition and analysis of the re-lations between existing techniques used by different pop-ular methods. This kind of analysis is necessary in order tocreate a concept of the field of design methods. The fieldconnects all the minimal methods via the fundamental de-sign perspectives.

View Point Pairs and Minimal Bridging Methods

PROCESS > AGENTMinimal Allocation / Mapping of Function to Task

Looking at Agents from the Process’s pointof view. Process views tasks as vehicles forsystem functionality. This method estab-lishes the mapping from function to task at-tempting to establish the logical coherenceof the tasks by grouping logically relatedfunctions as much as possible given perfor-mance requirements. See Mellor & WardVol. III of Structured Development forReal Time Systems[34] for an explanationof how Functional Allocation is done.

AGENT > PROCESSMinimal Virtual Machine

Looking at Processes from the Agent’spoint of view. Agent views Process as Vir-tual Machine Instructions performed. Thismethod attempts to establish the space/timecoherence of the logical functions withinthe tasks. Space/time coherence allows thesystem of tasks to function within the per-formance specifications. Space/time coher-ence may conflict with logical Coherence.Space time coherence is establishedthrough the construction of a virtual ma-chine which executes instructions whoseoutcome displays the required system func-tionality. See Neilson & Shumate’s de-scription of Object Oriented Design / Virtu-al Layered Machine methodology in De-signing Large Real-Time Systems withAda [35] for and explanation of how tobuild virtual machines.

PROCESS > EVENTMinimal State Transition / Process Activa-tion TableLooking at Events from the Process’s pointof view. Process views Events as state tran-sitions. State Transition Diagrams activateprocesses on specific event occurrencesgiven the current state of the system. SeeHatley & Pirbhai or Ward & Mellor orShaler & Mellor(Project Technology) forthe use of state machines in real-time anal-ysis and design.

33. See Bib#22634. See Bib#29035. See Bib#219

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

16

EVENT > PROCESS Minimal Petri Net

Looking at Processes from the Event’spoint of view. Process views Events as PetriNet representations of the flow of control inthe execution of virtual machine instruc-tions. Petri Nets establish the firing order ofprocesses. Processes are considered eventswhich move markers through the petri net-work. See W. Resig Petri Nets: An Intro-duction [36].

PROCESS > DATA Minimal Input/Output on Dataflow

Looking at Data form the Process’s point ofview. Process views Data as dataflow. Pro-cesses see data in terms of inputs and out-puts. The Dataflow diagram represents thismethod very well. See DeMarco StructuredAnalysis and System Specification [37] forexplanation of the Dataflow diagram.

DATA > PROCESSMinimal Data Objects (Encapsulation, Access Methods)

Looking at Processes from the Data’s pointof view. Data views Process as a transform-ing ’method’ operating on Data. Stress onData Encapsulation such as that by Guttagand Liskov [38] provides a method of orga-nizing processes with respect to data ac-cess.

AGENT > EVENTMinimal World-line

Looking at the Events from the Agent’spoint of view. Agent views Events as aWorldline(i.e. a track through spacetime).Following one agent through time andwatching what messages arrive in what or-der can be represented by a worldline dia-

gram. See Agha on Actors [39] for an ex-planation of the use of this method.

EVENT > AGENTMinimal Scenarios

Looking at the Agents from the Event’spoint of view. Event views Agents as Sce-narios. Scenarios show the sequence ofagents actions triggered by a given event. Itfollows the flow of agent’s actions given aspecific initial situation. Scenarios are thenormal means of doing mental simulationsto test a design. This is a standard methodwhich is used in software engineering butlittle documented in the literature.

AGENT > DATAMinimal Transport Mechanisms

Looking at the Data form the Agent’s pointof view. Agents view Data as data transportmechanisms such as Queues, Mailboxes,Semaphores, Pipes, Etc. Agents look atdata in terms of the transport mechanismsthat which allow communication betweenconcurrent tasks. See Gomma "SoftwareDevelopment of Real-time Systems" [40]for an explanation of a design method thatdisplays transport mechanisms.

DATA > AGENTMinimal Data Structures

Looking at the Agents from the Data’spoint of view. Data views Agent via a DataMonitor. The data structures used by agentsto support their activities are represented bythis method. Normally they are guarded bysemaphores or Hoare’s "Monitors"[41].

EVENT > DATAMinimal Design Element Flow

Looking at the Data from the Event’s pointof view. Event views Data as flowing de-sign elements. Event sees data as persistent.The most persistent elements of a systemare the design elements that are operandscreated in the design process. Normally

36. See Bib#24537. See Bib#7738. See Bib#189

39. See Bib#640. See Bib#11841. See Bib#141

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

17

these are considered a static clock workmechanism. However in real time systemsthey can usefully be considered as flowingthrough the states of the system with a lifecycle of their own.

DATA > EVENT Minimal Data Transitions

Looking at the Event from the Data’s Pointof view. Data views Events as changes indata values. Looking at print outs of a set ofdata elements as a program executes in theoldest form of checking out whether pro-grams are working. Events are representedas state variables to the system. Data seeschanges as changes in Data values.

Each minimal bridging method will only work in one di-rection but it may combine with its opposite bridgingmethod to provide a two way method bridge. An exampleof this is the dataflow diagram which combines the processto data and data to process bridges.

Others might derive a different set of minimal bridging

methods because different criteria may be applied in theselection process. My major criteria was the need to getbroad coverage of the space of possible different methodswhile representing all the currently known genuinely use-ful techniques. Thus practicality is an important aspect ofselecting and analyzing the relation between minimalmethods. It is important that a designer be able to look atthis as a map of the methodological territory. Yet it is alsoimportant that each method represents a completely differ-ent ’orthogonal’ aspect of the software system while at thesame time being to work together with the other methodsto create two way bridges and larger method sequences re-sulting from moving in a certain order through the designperspectives. This set of minimal methods will serve as aworking hypothesis until it becomes obvious that it is nolonger the best selection of minimal methods. By lookingat the techniques that have been chosen it will becomeclear what this set of minimal methods seeks to achieve:broad coverage, orthogonal independence, practical use-fulness, and systematic coherence.

Since this set of minimal methods results basically from anempirical selection of existing techniques there is little sur-prise that the complete set has some unusual features.These techniques were not developed in any systematicway they have been invented by different practitioners formany different purposes in various circumstances. Tomake an assemblage of these techniques, after the fact, andclaim unity for them would seem to be ridiculous. Howev-er, taken as a representative of what a software meta-methodological field might look like it is possible to test itto see what its short falls might be so that the next attemptto construct a field might be more successful. Analysis ofthe field of minimal methods reveals some strange proper-ties.

o Not all the method bridges are two way.

o The whole field is lopsided with process-task bridgebeing very complex while event-data is very simple.

o The elements of different minimal methods do seemto work together to a certain extent but it is difficultto see an overall pattern.

o Abstract analysis reveals asymmetries in the relationbetween the elements of minimal systems.

DATA STORE

data in data out

datatransform

modalinhibition

signal

Minimal Method

Minimal Method

Process>Data

Data>Process

PROCESSBUBBLE

(METHOD)

TWO-WAYBRIDGINGMETHOD:

Diagram

a single way bridge

a single way bridge

Two way method bridge between viewpoints

FIGURE 4

The Dataflow

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

18

These properties probably flow from the ad hoc and empir-ical nature of the elements combined, but let us suspendjudgement and treat this set of minimal methods as a unitedfield. That unified field represents the full extent of neces-sary fundamental software methods. Any methodologymust build upon these twelve minimal methods, then stringthem together by taking a particular path between the fourperspectives in order to design a software system. Accept-ing this hypothesis the rest of this essay will attempt to un-derstand some of the idiosyncratic attributes and the non-symmetrical relations between the various minimal meth-ods as they are presented here. In the process many inter-esting features of the minimal methods will come to light.In fact, it will become obvious that these features are high-ly significant and form an overall pattern which allows usto gain a deep insight into the nature of the methodologicalfield. It will become apparent that the methods, althoughchosen from an empirically field of currently used andavailable methods actually form a systematic field whichhas its own internal logic. This internal logic makes thefundamental differences between the points of view onsoftware design clear.

* * *What follows will be a graphical representation of themethod bridges between software perspectives. Eachbridge will be reduced to its idealized ’conceptual core’and a brief summary of the sources of the methodologywill be appended to each diagram. The reduction to ’con-ceptual cores’ allows us to project a highly symmetricalmodel of relations on the whole field of the methods mak-ing asymmetries visible. It is necessary to have all the de-tails of the method bridges before us as we begin to attemptto construct our software meta-methodology. Thus a com-plete symmetrical model will be developed here whichstep by step abstracts and relates the minimal methods togive a picture of the whole field of methods. This modelwill show how an infrastructure for the field as a wholemay be derived. As that field infrastructure is studied theasymmetries begin to appear the explanation of which isthe focus of the rest of this essay.

In the foregoing the method bridges have been abstracted

into what are called ’conceptual cores’. These attempt todistill the minimal system of concepts from each methodbridge. This has been done in order to allow easy manipu-lation of all the concepts within the field of software meth-ods. If we wish to discover the structure underlying thisfield it is necessary to reduce the methods to theoreticalstructures that can be compared and contrasted. For in-stance, these conceptual cores can be used to see how themethods define each particular perspective. There are thee’cores’ per perspective. The relation between these corescan be seen as a diacritical [42] system of concepts thatwork together to make a particular perspective visible inrelation to a software system. Each perspective can be seenas being defined by its three adjacent conceptual cores andall the conceptual cores working together define the sys-tem as a whole.

The definition of conceptual cores also allows us to isolateconcepts associated with representing viewpoints fromthose connecting concepts which tie these representationstogether. Viewpoint representations are described here asof three types: whitebox, linking or blackbox. Each view-point has all three kinds of representation. Each conceptualcore contains two viewpoint representations and two con-necting concepts. The connecting concepts may be sepa-rated from representational concepts to isolate the infra-structure of the method field. This substructure is repre-sented as a vector equilibrium. The vector equilibrium wasidentified by Buckminster Fuller as a key conceptual struc-ture in his geometry of thought [43]. It is an importantthreshold of theoretical complexity. In this case the vectorequilibrium represents the conceptual infrastructure of thefield of software methods. This infrastructure of connect-ing concepts, once isolated, can be used to identify the coreof the infrastructure which contains four key systems de-sign ideas: communication, causality, cohesion, and con-trol. These in turn mask the singularity of pure immanence.

42. See Bib#28043. See Bib#109

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

19

This reduction of the field of methods to conceptual coresof the two way method bridges leads to the separation ofthe connecting concepts from the viewpoint representa-tions which isolates the infrastructure of the formal systemof methods. The analysis of the infrastructure in turn leadsus to identify its core concepts. And finally, the hypothesisof the singularity at the center of the infrastructure is pos-ited. All these analytical moves are calculated to make thefield of methods more understandable as a whole in prepa-ration for the meta-methodological discussions that follow.Hopefully this brief discussion of the analysis of the fieldof software methods will serve to orient the reader. This isa complex subject which has many aspects. Using abstrac-tions such as these to render the field and its underpinningsvisible will help layout the important landmarks in thatfield and allow it to appear as a single gestalt worthy ofmeta-methodological study.

* * *

The question to be posed now is how to fit these four basicperspectives that have been identified into Klir’s represen-tation of a general formal-structural system. The represen-tation of the formal-structural system is too complex to ex-

plain in an essay of this length. Thus only the highlightswill be given to show the relationship of the four perspec-tives to what Klir defines as a ’system’. Klir’s definition israther elaborate because it involves the delineation of sev-eral ’epistemological levels’ upon which the term ’system’takes on different meanings.

Klir’s EPISTEMOLOGICAL LEVELS

infinite regressLevel 4,5,... Meta-systemsLevel 3 Structure system Level 2 Generative system Level 1 Data system Level 0 Source system Level -1 Object system-----------------------------------------------Level -2 LifeworldLevel -3 ExistenceLevel -4 Phenomenological WorldLevel -5 Ontological WorldLevel -6 Onto-theological WorldLevel -7 Ultimate Reality & Meaning

Grounding ONTOLOGICAL LEVELS

In order to establish the relation between Klir’s epistemo-logical levels and the references to ontology made in partone of this essay consider the negative levels added tothose delineated in ASPS. For Klir the object of investiga-tion does not belong among his epistemological levels ex-cept as an adjunct to the source system which is the repre-sentation of the object system.

"For our further considerations, let the term ’object’be defined as a part of the world that is distinguish-able as a single entity from the rest of the world foran appreciable length of time." ASPS pp33-44

Klir goes on to differentiate material from abstract objectseach of which are in turn divided into those found withinthe world and those that are man-made. This definition car-ries a great deal of metaphysical baggage emanating fromthe development of the western philosophical and scientif-ic tradition. At the very least the concept of ’object’ de-pends upon the coequal definition of a ’subject’ who is theperceiver of the object. Both of these terms are laden withmany philosophical interpretations which provide compet-

CK

@

G

?b

a Z

e

i_

Ul

SHELL CORE

KERNELpure immanence

images oftranscendence

communication(i)

cohesion(l)

control(j)causality(k)

i

j

k

l

formal structuralsystem of methods

FIGURE 25

connecting concepts

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

20

ing grounds for their theoretical elaboration. Instead ofdelving into that morass of competing dialectically relatedpositions that make up the bulk of the western philosophylet us attempt to extend Klir’s hierarchy in the other direc-tion into the realm of ontology in order to get a wider per-spective on the problem of the epistemology of the object.

Both the subject and object exist in what has been calledthe ’Lifeworld’. Husserl first introduced this term in hisbook The Crisis of European Sciences and TranscendentalPhenomenology [44]. Subsequently the concept was de-veloped further by Alfred Schutz in Structures of the Life-world [45]. The Lifeworld is the world of everyday life inwhich we all live. Science and Technology are culturalproducts that are built upon the Lifeworld [46]. Withoutthe Lifeworld they would have no reality at all. Objects areidealizations that exist based upon the concrete founda-tions of the Lifeworld. Subjects are also idealizations ofreal people that live their day to day lives and perceive or-dinary things that are sometimes raised to the status of anobject by elaborate focusing and isolating conceptual pro-cedures [47]. These elaborate procedures for perceivingordinary things ’clearly & distinctly’ were first inaugurat-ed by Descartes in his Discourse on Method [48]. Klir callsthese observational channels. These idealizations thatmake us subjects who perceive objects have over thecourse of centuries become second nature to many of uswho were successful in being ’educated’. For us there is noproblem when Klir assumes he can pass over the Lifeworldwith a scant three paragraphs [49] and go straight to defin-ing objects without even mentioning our subjectivity.Much of the energy of philosophy in the last hundred or soyears has been spent by the rediscovery of the Lifeworldand how it has been glossed over by idealizations of sci-ence and philosophy within the western tradition. Unfortu-nately this effort appears to have been lost on Mr. Klir. Yethe is not alone in this. Objective & subjective idealizationthat glosses over the Lifeworld is rampant in scientific dis-course. These glosses attempt to maintain our stance in thepresent-at-hand mode of perceiving reality. The problem isit reduces the multiplicity of life to a caricature.

The next level (-3) beneath the Lifeworld is the realm of’existence’. Existence is the one ontologically, related con-cept excluded from the western concept of ‘Being’. Exis-tence concerns the concrete specifics of lived experience.It is the realm of accidents which make up so much of theworld in which we live. All the individual particularitiesthat are one way rather than another seemingly by chancethat gives life its incredible diversity. Traditional philoso-phy always ignored existence in order to get on to morelofty ontological concepts. This realm was rediscovered inthis century by the existentialist philosophers such as Hei-degger [50], Camus [51], and Sartre [52]; who proclaimedthe slogan ’existence proceeds essence’ as the cornerstoneof their ruminations on everything. The fact that the Life-world is filled with non-essential particulars which couldbe many different ways, but in each instance is one partic-ular way cannot be denied. Existentialism is a field of phi-losophy that addresses this issue and seeks its significancewithout skipping over it.

Beneath the level of existence is another strata (-4) whichis called the phenomenological realm. This realm has alsobeen explored a great deal since the turn of the century pre-dominately by the followers of Edmund Husserl [53]. Phe-nomenology deals with the world of essences as perceivedin pure consciousness. Essences of things are their neces-sary attributes and the constraints that give those attributesinner coherence. From essences we build up simple ideasby a process of ideation. Ideas are glosses on essences.Once these glosses are established we use induction anddeduction to move between idealized abstraction and ide-alized particulars. Phenomenology seeks to unearth theroots of our idealized glosses in the perceived things. Phe-nomenology is a very significant advancement in modernthought. It replaces the naive ungrounded abstractions oftraditional philosophy and science with a precise vocabu-lary for describing perceptions both material and abstract.Klir’s division of objects into these two categories is a verycrude approximation to the more subtle noetic and noemat-ic phenomenological constructs that deal with our appre-hension of essences and ideas.

Beneath the phenomenological strata is the ontologicalworld which is level -5. Here we first encounter the con-cept of Being. Being is the most general concept we have.

44. See Bib#14845. See Bib#26346. See Bib#15147. See Feyerabend speaks of the theories embedded in per-ception and the need to overcome these in order to ’see the right thing’ in an experimental setting. The famous example is Galelio attempting to get others to see the same thing as himself when looking at the moon through a telescope. This is discussed at length in Bib#99.48. See Bib#8149. See Bib#164 page 33

50. See Bib#13351. See Bib#4852. See Bib#25853. See Bib#149

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

21

EVENT

DATAwhere

when

data views event as changes in data values

event views data as flowing design elements

s1

s2

s3

v

set counter increment

counter

nil counter

counter

static

print changes in variable each iteration

observerwatching datawill raise triggerwhen pre defined

trigger

threshold crossed

analog view

digital view

FIGURE 5

Data Content

conceptual coreEVENT ~ DATA

Trigger

Persistence

Pulse

(exciting

(transience)

State

Y

Dwhitebox

Elink

control signal)

G

e

event as pure transience

what lasts between transients

the content of the data structurethat changes

data trigger

when change

causes interruptin data

FIGURE 6

The minimal methods mentioned here are not well devel-oped in the literature. Event/Data relations are basically oftwo types. One may be looking at variables modified by asystem and making sure they are altered in the correct wayby the executing program. Or one may be looking at thedata structures that make up the mechanism of the softwareitself and seeing whether these data structures like pointers& buffers are used correctly. The view that design ele-ments flow through a systems states is a major improve-ment over the conventional concept of design elements asa static clockwork mechanism. Each of these two viewscorrespond to the internal relations between Data & Eventviewpoints. The fact that methods do not exist for thisbridge is very interesting. At first I could not even think ofexamples of these method bridges. It took some time to re-alize that this is because we look on our systems from thepoint of view of persistence of data structures not theirchange. The primitive nature of these methods shows thatwe are still applying Being1 as the criteria for the systemswe build and the process perspective inherent in Being2has not impacted our design approaches as yet.

The concept core shows how these two ill defined methodsmight be seen as addressing a single set of problems. Weare concerned with data as content (interior view) whichvaries according to transient system changes. Transienciesare Events viewed as links. The persistent state is thelength of time things remain the same which is differentfrom the coordinating state. Remaining the same dependson the sensitivity threshold applied. Significant changestrigger interrupts.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

22

PROCESS

AGENTwho

what

agent views process as virtual machine

process views agent as vehicles for system functionality

instructions performed

Tasking Structure

Implementation Model

mapping of process task

nested tasks

[I I I I I I I]

[I I I I I I I]

I m m I m m m

objectobject

<virtual machine

<virtual machine

instruction

method

call structurelower level

lowestlevel

FIGURE 7

conceptual coreDATA ~ AGENT

V

Awhitebox

Pwhitebox

Task

Virtual Machine

Mapping Arrows/

Process Transformation

Instruction

Call Structure

a

Z

embodiesfunctionality

allocatesfunctionality

functionality consideredin terms of implementation

agent considered as a vehicle for functionality

FIGURE 8

The methods presented here are further articulated byWard & Mellor (process allocation from and implementa-tion mode.) and Neilson & Shumante (OOD/VLM meth-odology). The two minimal methods here do not combineinto a simple two way method bridge. Two separate meth-ods are referred to in attempting to describe the relation-ship between Agent / Process. From the point of view ofprocess the main thing is that all the system functionalityis allocated to the tasks so that everything that needs to bedone gets implemented. The implementation model re-cords the progressive incorporation of constraints into theessential model. However, the tasking model developed inon the proceeding bridge is used here for the mapping ofprocess functions onto tasking agents that carry out thesetasks. The tasking structure may consist of nested tasks.But ultimately each task is composed of a virtual machinewhich is in turn composed of lower level virtual machines.From the task’s point of view it is the execution of virtualmachine instructions that causes functional processes to bedone. Thus agents see process in terms of these proceduresand functions that embody different aspects of systemfunctionality.

The task here is seen as a white box which we are lookingin side of either to place functionality by mapping or byseeing what functions are performed within the task. Interms of process we are concerned with the type of trans-formation that is to be performed either in terms of a re-quirements statement or in terms of the actual performancevehicle. The virtual machine and the mapping arrows actu-alize the relations between these two concepts. This bridgeis the most complex all.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

23

PROCESS

DATA

data in data out

data transform

inhibiting signal

data store

process

where

what

process views data as dataflow

data views process as transformingmethod operating on persistent data

FIGURE 9

DataflowArrow

Data Store

ProcessBubble Inhibition

Signal (mode)

conceptual corePROCESS ~ DATA

WDbackbox

Pblackbox K

i

process considered

data considered externally

externallyturning process off

means taking function out of the system

tracking data movement between storageand through transforming processes

FIGURE 10

The Dataflow is further articulated by Hatley & Pirbhai interms of its relation to control models. The key conceptthat they have added is the idea of inhibition control signalsto express system modality. This control is not adequatefor real-time design although it may suffice for the devel-opment of the essential requirements model. The Dataflowtechnique is very successful and shows the power of con-structing two way method bridges. The dataflow is used inrequirements analysis and specification phase to build theessential model of the system. It is then used in architectur-al design phase to elaborate the essential model into the im-plementation model by introducing constraints. The con-ceptual core is isomorphic to the major elements in the rep-resentational scheme.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

24

DATA

AGENTwho

where

agent views data as data transport mechanism

data views agent via data monitor

TASK1 TASK2

protected data

semaphore

queue

Monitor

Tasking Architecture Design

FIGURE 11

conceptual coreDATA ~ AGENT

U

AblackboxTask

Protected Data

Semaphore

Transport

(ownership)

Mechanism

Dlink

U

@

data considered only in

agent considered in relation to other agents

relation to its owners

the relation of ownershipto data by agent

means of sharing data betweencompeting agents

FIGURE 12

The methods articulated here are further developed byHoare (Monitors) and Gomaa (Tasking Architecture De-sign). The two minimal methods combine easily into anoverall architectural model similar to that of the dataflowdiagram. However, here the emphasis is upon architecturalissues of tasking rather than process considerations.

The conceptual core is derived from the basic concepts dis-played by this model.

Task here is treated as a blackbox because we are not con-cerned with what it does. Tasks are related to Protecteddata through their ownership shown by possession ofsemaphore tokens. Protected data is a liking aspect of databecause protection is the inverse concept of ownership.What is owned must be protected by the owner. Taskscommunicate via transport mechanisms. Transport mecha-nisms assure date integrity in a multitasking environment.

In this case the derivation of the conceptual core is straightforward because the methodical model has only four ele-ments which are isomorphic to the concepts in the core.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

25

EVENT

PROCESSwhat

whenevent views process as state transitions

process views event as petri net representation of control flow

s1s2

s3

eventaction

eventaction

eventaction

petri net

state

transition

place

A series of transitionsmay be reduced to getminimal state ma-chine for a given net

outputstate

state machine

entry

exit1 exit2 exit3

FIGURE 13

conceptual coreEVENT ~ PROCESS

X

Plink

Eblackbox

Coordination

Transition

Control Flow

Activating Control Signal State

_

F

process seen as a link

marker or actionstate or place in net

path between statesor path through net

events seen as interrupts

between states

FIGURE 14

The state transition method is well explained by Ward &Mellor and by Hatley & Pirbhai. The use of perti nets formodeling control is not as well known. Its advantage is thatdynamic models which pass tokens through the net can beused to track control flows throughout a complex systemwith multiple agents. The transition may be seen as the ex-ecution of an instruction in a virtual machine. The petri netmay be reduced to form the minimal machine by collaps-ing all sequences of instructions into a single transitionalblock. In this case it is through the petri net reduction thatthe transition between the petri net and the state machine isachieved. State machines invoke actions which may beseen as implementing process functionality.

The concept core is abstracted from these two methods.The transition (seen as the transition in the petri net and theaction called by the state machine) is considered as a link-ing aspect of process, that is process considered as transi-tions between states only. The event here is seen as the ac-tivating control signal (seen either as the event in the statemachine or as the marker in the petri net). As an activatingcontrol signal (pure interrupt) the Event is displayed as ablack box. The relations between these are captured by the ideas ofcontrol flow and coordination state. The control flowshows up as the path between states in the state model andas the path between transitions in the petri net. The coordi-nation state shows up as the places in the petri net and thestates in the state machine. Coordination states are differ-entiated from persistence states. Coordination states signi-fy logical states that control the virtual machines and allowagents to coordinate.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

26

EVENT

AGENTwho

when

agent views events as worldline

event views agent as scenarios

event

agent1 agen2t agent3 agent4 agent5

event

event

event

event

event

event

event

event

scenario

worldline

event

FIGURE 15

conceptual coreEVENT ~ AGENT

Continuity of Agent

Z

Sequence of Events

Communication

Inertial Frames

Channelbetween Agents

(temporal relationsbetween Agents)

Alink

Ewhitebox

Cb

may be decomposed intosmaller and smaller events

relativity in networked systems

messaging

illusory continuity

FIGURE 16

The worldline method is elaborated by Agha in the bookACTORS. The scenario method is widely used for mentalsimulation but no satisfactory description of it as a meth-odology is known. These two methods form a two waybridge in an atheistically pleasing way. The world line is ameans of understanding the relativistic relation betweenactors. The scenario is the major means of knowingwhether the system being designed will work properly.

The concept core expresses the inherent ideas behind thesetwo methods. The agent has illusory continuity and thissees the agent in its linking aspect. The sequence of eventscan be looked at with different thresholds of refinement.One event may be made up of many sub-events so that theEvent here is seen as a white box. The concept that agentsmay communicate with each other and the fact that theircommunication is structured relativistically are the twoother concepts that serve to bring out the relations betweenthe continuity of the agent and the decomposition ofevents.

These methods are very important to the development ofnetworked systems of any size. Now they are not widelyknown or appreciated. The analysis of indeterminate rela-tivistic systems will be of prime importance in the near fu-ture. One tool that models this method bridge is VERDIwhich is derived from RADDLE developed by VincentShen at MCC consortium in Austin Texas.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

27

All the essences of things depend on Being. So phenome-nology flows directly from ontology. The relation betweenindividual beings and the concept of Being is called byHeidegger ’ontological difference’ [54]. Being itself is notcontained in any one being. A class cannot be a member of

itself according to Russell & Whitehead in Principia Math-ematica [55]. This alone would justify the distinction ofontological difference to avoid paradox. Instead all beingsare contained in the world projected by human beings. Weare beings-in-a-world which Heidegger calls Dasein (be-

54. See Bib#287 55. See Bib#253

VIEWPOINT

Vlinking

Vwhitebox

Vblackbox

n

o

p

C

G

K

b

e

i

Three conceptual cores define aviewpoint. Each conceptual corecontains an image (V) of the viewpointbeing defined either in whitebox,blackbox or linking aspect. Eachconceptual core contains an image(n,o,p) of the other viewpoint that it islinked to by the method bridge. Eachconceptual core contains twoconnecting concepts (GiKebC)related to control, communication,coherence, or cohesion. Threeconceptual cores define eachviewpoint in a systematic way.

V

connecting conceptsrelated to:

controlcommunicationcoherencecohesion

conceptualcore of bridge

conceptualcore of bridge conceptual

core of bridge image of defined viewpoint

image of defined viewpoint

image of defined viewpoint

image ofbridgingviewpoint

image ofbridgingviewpoint

viewpointbeing defined

Linked conceptual cores systematicallydefine a particular viewpoint on system design

DEFINITION OF VIEWPOINT USING METHOD CORES

FIGURE 17

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

28

ing there). It is this concept of Being and its supposed frag-mentation that was treated in the first section of this essayat length. The fragmentation of Being is probably the mostsignificant event for the western philosophical and scien-tific tradition in this century. Before this century startedthere was only one kind of Being which was defined byKant and accepted by everyone as our inheritance from Ar-istotle. Now there can be recognized at least four types ofBeing. These four types of Being have been described indetail and software’s essence flows from just one of them.It is the fragmentation of Being that makes software ontol-ogy important. If there was only one kind of Being nowlike there used to be then there would be no question of the

ontological foundations of software engineering. Butthings have changed radically. And that change is thedeepest possible kind of change. It is this realization ofdeep change that needs to inform our understanding ofKlir’s epistemology of systems. The whole technologicalworld is teetering on the edge of an abyss. The Crisis thatHusserl recognized has deepened [56]. We exemplify thatunbalance in everything we do. The fractures at the onto-logical level percolate up through the phenomenologicalstrata, the existential strata, the Lifeworld strata, until theedifice of the idealizations of the structural system built so

56. See Bib#148

D

E A

P

Z

X

Y

W

V

XW

U

Y

U

Z

Vdata

process

agent

data

agent

event

process

agent

event

data

event

process

SYSTEMDEFINITION

DEFINEEVENT

DEFINEPROCESS

DEFINEDATA

DEFINEAGENT

event agent

dataprocess

STRUCTURAL

FIGURE 18

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

29

PROCESS

DataflowArrow

Data Store

ProcessBubble

InhibitionSignal(mode)W

Dbackbox

Pblackbox

DATA

AGENT EVENT

VAwhitebox

Pwhitebox

Task

Virtual Machine

Mapping Arrows/

Process Transformation

Instruction

Call Structure

X

Plink

Eblackbox

Coordination

Transition

Control Flow

Activating Control Signal(marker)

State

K

i

a

Z_

F

FIGURE 19

The conceptual cores of the method bridges defined in theprevious six diagrams will undoubtedly change as our un-derstanding of the application of structural systems to de-sign improves. They are wholly derived from an analysisof existent methods empirically present in design circles atthis time. The analysis of these methods is difficult due totheir different states of development. From what has beenseen sometimes the derivation is clear and obvious while atother times it is unclear. This is usually related to whetherthe bridge is two way or not.

Once these conceptual cores have been derived it is possi-ble to show how they can be used to define the particularviewpoints of system design. In the above diagram the pro-cess viewpoint is being defined by moving systematicallybetween method bridges that revolve around the processperspective. By revolving around a single design perspec-

tive iteratively a better and better picture of the systemfrom that point of view is represented. In revolving aroundthe perspective it is the concepts of the bridge conceptualcores that are being used to refine the system. In each rev-olution we could use a different one of theses key ideas asthe guiding theme of our analysis and representation con-struction.

Notice that from each method bridge the Process perspec-tive is treated differently. It is treated in turn as blackbox,whitebox and link. This variation of the treatment is pre-cisely what allows us to articulate the system from the giv-en viewpoint. In this step by step articulation the functionaldecomposition is developed.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

30

DATA

PROCESS

EVENTAGENT

DataflowArrow

Data Store

ProcessBubble

InhibitionSignal(mode)W

Dbackbox

Pblackbox

Data Content

Trigger

PersistencePulse

(exciting

(transience) State

Y

Dwhitebox

Elink

control signal)U

AblackboxTask

Protected Data

Semaphore

Transport

(ownership)

Mechanism Dlink

U

@

K

i

G

e

FIGURE 20

The same process of refinement is being carried out therewith respect to another perspective, i.e. that of data. Meth-od cores should be looked at in their relation to each otheras they relate to a particular perspective. One is only in oneperspective at a time looking at objects created from otherperspectives. Perhaps different methods should be createdthat link all the methods that surround a particular viewpoint. It is this kind of analysis that needs to be carried outbeyond the refinement of the idea of the method coresthemselves. All the ideas that go into describing a real-timeembedded software system form a formal-structural sys-tem that relate Being1 and Being2 concepts to describesomething rooted in Being3 This description must alwaysbe partial but that does not mean we cannot make descrip-tions. Our descriptions need to isolate the discontinuitiesacross which our formal representations cannot cross. Herethis is done by positing that those discontinuities are relat-ed to the shift between perspectives on the software designtheory. Thus the set of conceptual cores around a particularperspective are able to form a formal-structural system

which does not have discontinuities. What we are actuallydoing is venturing out form a particular perspective justenough to use its surrounding and thus defining methodsbut we are avoiding actually crossing the bridge. Thismeans of using the methods will result in the high defini-tion of the software system from a particular viewpoint andwill also cause sharply defined discontinuities between agiven viewpoint and another viewpoint to appear. Thebridging methods will allow us to cross these discontinui-ties gracefully. The redundancy of method viewpoints sur-rounding the different viewpoints (for instance U is part ofthe surrounding system for both Data and Agent view-points) is what allows the movement across the discontinu-ities to be made without total disruption of the design. Inother words something is the same when you get to the oth-er side. Speeding up the movement through the perspec-tives give the illusion of encompassing the whole theory.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

31

EVENT

DATA

AGENT

PROCESS

XPlink

EblackboxCoordination

Transition

Control Flow

Activating Control Signal(marker)

State

Continuity of Agent

Z

Sequence of Events

Communication

Inertial Frames

Channelbetween Agents

(temporal relationsbetween Agents)

Alink

Ewhitebox

Data Content

Trigger

Persistence

Pulse

(exciting

(transience)

State

Y

Dwhitebox

Elink

control signal)

G

e

C

b

_

F

FIGURE 21

Really seeing the whole theory is impossible because to thehidden presence of pure immanence. However the fasterand faster movement between the viewpoints will give theimpression of seeing the whole system. But our focusshould not be upon glimpsing the whole system but insteadupon the discontinuities that become apparent as we definethe system from each perspective. It is out of all these dis-continuities that all of our really difficult problems in sys-tem design come. These wicked problems express imma-nence as it constrains our freedom to design. The set ofmethod cores are in fact the very expression of our tran-scendence. Here we are conceptualizing the structural sys-tem that allows us to define the software theory abstractly.This abstract representation is our means of transcendingthe particular systems we are confronted with and allowsus to view them in relation to the generic software system,i.e. the pure theory. The definition of method cores is thus

the expression of the purely theoretical software theory.Because of this the development of the method coresshould allow us to develop our software design metrics.Currently metrics for code representations are becomingfairly well developed. The most popular of these are thoseof Halstead and McCabe. We are still though in a quandaryhow to apply metrics to designs. It is easy to see that if wecould agree upon a set of method cores then the conceptsof those cores should be what is measured in order to getquantifiable design metrics that describe the software the-ory considered purely abstractly as fully as possible. I sug-gest it is those metrics related to method cores that shouldbe related to quality measurement.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

32

AGENT

DATA

PROCESS

EVENT

Continuity of Agent

Z

Sequence of Events

Communication

Inertial Frames

Channelbetween Agents

(temporal relationsbetween Agents)

Alink

Ewhitebox

V

Awhitebox

Pwhitebox

Task

Virtual Machine

Mapping Arrows/

Process Transformation

Instruction

Call Structure

UAblackbox

Task

Protected Data

Semaphore

Transport

(ownership)

Mechanism

Dlink

a

Z

U

@

C

b

FIGURE 22

We are now ready to transition from the relation betweenmethod cores and their associated perspectives to the con-cept of the infrastructure of the formal-structural system.Note that in the case of each method core two of its com-ponents is related to the representation of perspectives. Theother two concepts have the function of relating the tworepresented perspectives. The question then becomeswhether it is possible to formulate any relations betweenthese mediating concepts. There are twelve mediating con-cepts in all and what will be shown here is that these forman infra-structure that reveals the deep structure of the me-thodical structural system. The infrastructure will be repre-sented according to the form Buckminster Fuller calls thevector equilibrium. This is an important synergistic theo-retical structure. Because of the empirical origin of our me-diating concepts we do not achieve a perfectly symmetricaltheoretical structure, but this is exactly the point becauseby considering these theoretical structures each mediatingconcept is related to all the others in ways that would notbe achieved otherwise. It is the consideration of the lack of

symmetrically of the theoretical structure in relation to thepure geometry of thought that should give us some insightinto what is ultimately wrong with this way of thinkingabout methods. Perhaps method cores should really befive-fold instead of four-fold. When one constructs a theo-retical structure it is exactly the anomalies that are interest-ing. The point is that there is enough coherence to this ex-planation that it is worth entertaining until some one canexplain more adequately the relationship of software engi-neering methods to each other.

So the next figure shows all the mediating concepts formthe conceptual core going together to form the infrastruc-ture of the formal-structural system by which the softwaredesign theory is represented.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

33

carefully by the philosophy and science begins to crumble.Outwardly there is a shiny exterior of technological prog-ress and inwardly there is ‘mithraic’ active nihilism de-stroying meaning in the world. We call this active nihil-ism ’mithraic’ [57] to show that the roots of this nihilismare historically very deep. Active nihilism has its roots in

the historical development of Zoroastrianism [58] whichwas taken to Rome by converted soldiers as a mystery re-ligion. This was a Greek style mystery cult that flourished

57. See Bib#7558. See Bib#307 and ??? by same author.

V

Awhitebox

Pwhitebox

a

Z

CK

@

G

i

F

_

Uba Z

e

Z Alink

Ewhitebox

Y

Dwhitebox

Elink

WDbackbox

Pblackbox

K

i

G

e

C

b

X

Plink

Eblackbox

U

Ablackbox

Dlink

_

U

F

@

FIGURE 23

vector equilibrium

infrastructure

connectingconceptview representation

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

34

CK

@

G

i

F_U

b

a Z

e

Communication Channel (blackbox)

Dataflow Arrow (link)

Transport Mechanism (whitebox)

Trigger exciting control signal (whitebox)

Inhibition Signal (mode) (blackbox)

Control Flow Arrow (link)

Coordination State (whitebox)

Semaphore (link)

Inertial Frames (blackbox)

Virtual Machine (whitebox) Mapping Arrows/Call Structure (link)

Persistence State (blackbox)

CK

@

G

i

F_U

b

a Z

e

COHESION

CAUSALITY CONTROL

COMMUNICATION

i

jk

l

FIGURE 24

If each of these core mediating concepts are related usingthe same schema of as the representations of the perspec-tives (whitebox, link, blackbox) then analysis reveals fourmajor complexes. These complexes may be related to sev-eral deep structural ideas with which all software systemsmust deal. These deep structural ideas are Communica-tion(i), Control(j), Causality(k), and Cohesion(l). What isinteresting is that each of these ideas concerns the relationof immanence to transcendence in some basic way. Con-trol represents the transcendence of master over slave andwhat are automata but pure slaves. Causality is a tradition-al way of expressing transcendencies. The cause is tran-scendent in time to the caused. Communication expressour ability to transcend the barriers between entities. Cohe-sion is the expression of the transcendental unity of the sys-tem. This reduction two four basic transcendental themesat the infra-structural level serves to show that the descrip-tion of the software theory as being rooted in Being3 is ac-curate. This minimal system of deep structural ideas thatare all representations of transcendence in various guises

core around the kernel of pure immanence that lies at theheart of the software design theory. It is this kernel of pureimmanence that we must constantly deal in our softwareengineering practice. If we do not recognize what we aredealing with it only makes the job more difficult. If insteadwe learn to recognize the different ontological categoriesthat effect our work and learn to use the work-arounds giveto us by the formal-structural system we can more easilyunderstand the source of those difficulties. There is no ’sil-ver bullet’ but not because we are dealing with a werwolf.There is no silver bullet because we are dealing with ourinnermost relation to technology as ’controlling nature’. Itis part of ourselves that we cannot see. It is a blind spot thatgrows darker the more we try to bring light there. We mustlearn to deal with it indirectly and ultimately accept ourown limitations.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

35

all over the Roman empire and was related to Gnosticism[59] and Manicheism [60] and subsequently influenced thedevelopment of Christianity [61]. The development of ex-treme conflicting opposites as ontological categories wasinherited by all of these related religions from Zoroastrian-ism [62].We experience that loss of meaning in the worldas an existential crisis described so well by Camus in TheMyth of Sisyphus. We see it as crime rates, divorce rates,inflation rates, suicide rates, abortion rates, deficit increaserates, pollution rates, garbage dump fill rates, ozone holeexpansion rates, resource depletion rates, poverty & star-vation rates along with a myriad of other indicators ofmodern ‘progress’ and our ‘manifest destiny’ working it-self out in the world [63].

The concept of Being is interesting because it is almostonly the Indo-european languages that have this concept aspart of the paraphernalia of grammar. Other languages likeChinese and Arabic do not have a concept of Being [64] assuch [even though early western scholars attempted to findit there and in frustration projected it upon these and manyother languages]. Instead these other languages have a con-cept of existence and what lies beyond that is consideredempty or void. Thus the levels (-4, -5, & -6) do not exist formost other non-Indo-european languages. The concepts ofBeing, with both essences and accidents, are a ridiculousfantasy from their perspectives. There is only the absoluteand from it flows existential beings. The concepts whichare fused together into our concept of Being are handledgrammatically in other ways. The concept of Being con-tains the idea of copula (A is B), ontos (A is !), attribution(A is blue), and identity (A is A). These concepts havebeen extracted from the grammatical Being over the centu-ries and make up our ontological concept of Being. The an-cestors of the Indo-europeans [65] are called the Kurgenpeople because they built burial mounds called ’kurgens’.They came out of central Russia and devastated the entireworld about the fourth millennia BC. Prior to that it isthought they originated between the Black and the CaspianSeas about 6000 years BC [66]. They were the first to usethe domesticated horse in warfare. They became the Ang-lo-saxons, Germans, Gauls, Latins, Greeks, Hittites, Per-

sians, & Aryan Indians. What is of interest is how theirconcept of Being came into existence. In all Indo-europeanlanguages Being is the most irregular verb. It is made ofseveral different Indo-european root verbs melded togetherover a long period of time to become what we think of as asingle grammatical term today. The point is that Beingstarted as a composite of different verbs all meaning ’to re-main’ or ’to persist’ which were blended together to forma single term with many different conceptual components.Thus the current fragmentation of Being is merely a returnof sorts to the original fragments which separately do nothave the same meaning. Without the concept of Being ourlanguage would be like Chinese or Arabic with only exis-tence and the Absolute veiled by Emptiness or Void.

When we look to what Being means we cannot help but seethat the ’remaining’ and ’persisting’ denoted by verbs frag-ments that make up the grammatical construct ’Being" re-fer to what C. G. Chang calls a ’subtle clinging’. This ’sub-tle clinging’ is clearly identified by Buddhist philosophyand connected to ’clinging & craving’ by human beingswhich is the source of all sorrow. The Buddhist antidote forthis malaise is the concept of ’emptiness’ or ’sunyata’.Through sunyata one may perceive and become immersedin the Absolute. The concept of Being is a barrier to thiskind of experience of Ultimate Reality. Instead within thewestern tradition there is another strata projected upon theAbsolute which Heidegger calls onto-theological. It imag-ines a Supreme Being who is called ’God’. For Kant theSupreme Being was an idealization of the concept of infin-ity. Each theologian imagines a different means of concep-tualizing ’God’. However, as long as ‘God’ is thought of ashaving Being or as associated with anything with Being,there is a fundamental flaw which flows from the arising ofthe artificial concept of Being. As ‘God’ Being faces theAbsolute. These conceptual glosses of ‘God’ are found bymen to be empty of meaning. Nietzsche then comes alongand declares that ’God is dead’. He was killed by thosewho approached Him through empty abstractions or by as-sociating Him with beings or Being. The death of ‘God’ isthe logical result of the creation of the concept of Beingwhich flowed from the forging of the grammatical con-struct ’Being’. Through the death of ‘God’ we lose contactwith the ultimate reality or Absolute that permeates our ex-istence in the lifeworld.

This brief excursion into the strata that underlies the struc-tural system is only meant to give an overview of what isbeing glossed by Klir. From this it is possible to see howontology is related to epistemology. These two specialtiestogether make up the subject matter of metaphysics. If theconcept of Being fragments; it effects all the levels above

59. See ??? on Gnosticism.60. See ??? on Manacheism.61. See Bib#30 and Bib#30562. See Bib#30763. There are endless examples of tales of woe. See Bib#204 and Bib#31. Also Bib#63.64. See Bib#28865. See Bib#19466. ??? Scientific American article on origins of Indoeur-peans.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

36

it. When ‘God’ was declared ’dead’ the empty conceptualunity cracked. Being fragmented without any unifyingforce to keep it unified. Essences lost their meaning. Exis-tence became absurd. The lifeworld was realized to be per-meated by Mithraic active nihilism and all the edifices be-yond that found themselves resting on the abyss of ground-lessness. The great chain of Being was suddenly broken.By saying that ‘God’ is dead Nietzsche merely pointed outthat the emperor had no clothes. Instead of listening weslay the messengers by attacking Nietzsche and his intel-lectual heirs. The technologist is caught in a world wherethe process of destruction appears in the guise of ’prog-ress’. This so called ‘progress’ is more aptly named ‘arti-ficial emergence’. Artificial emergence is the productionof empty novelty for its own sake. Newspapers, fashions,new model cars, and much technological innovation maybe classed as artificial emergence or excrescences (abnor-mal growths). This is contrasted to genuine emergencesuch as scientific revolutions or the appearance of a genu-inely new artifact that is not merely a combination of otherartifacts by some method of permutation of characteristics.Genuine novelty stands out on the background of excres-cence. The technologist is defined as the professionalwhose job it is to distinguish genuine emergence from ar-tificial emergence. All other features of the technologistsjob flow from this one characteristic. The technologist, re-gardless of field, must survey the continuous production ofnovel technical gadgets and attempt to make use of what isworth while for the purposes at hand. The real discrimina-tion of worth depends on making non-nihilistic distinctionsbetween genuine emergence of significant new technolo-gies from the background of marketing clatter over prod-ucts that are only variations on the same theme. Distin-guishing genuine emergence is the highest calling of thetechnologist. Where the scientist and inventor is trying tomanifest genuine creativity by facilitating genuine emer-gence the technologist is attempting to recognize it. Thismeans the technologist is attempting to find significancewithin the field of artifacts. That significance is predicatedon the recognition of genuine emergence. Without signifi-cance then nihilism [67] takes over and all the technical ar-tifacts become indistinguishable. Even the most mundanetechnological decision to use one artifact over anothermust reflect the recognition of significance. As Batesonsays ’differences that make a difference’ are important[68]. The line separating genuine emergence from excres-cences is the primordial significant difference from whichall others flow. The technologist attempts to understand thewhole field of emerging artifacts. Keeping up with this anddistinguishing what is really useful among competingproducts; what is worth reading among the myriad articles;

what is worth knowing from the avalanche of new books;what is important in terms of standards selection; etc. Thisis a dizzying and endless quest. The recognition of what issignificant in the face of information overload is a majorproblem. Only by knowing the background of excrescencecan the figures of genuine emergence of novelty be seen.

Through genuine emergence new meaning enters theworld. New meaning is constantly created and this is theinverse of the ’god is dead’ scenario. This new meaningmust be recognized and capitalized upon for it is the onlyantidote to the domination of mithraic active nihilism. Thisis what makes genuine emergence so important. It causesthe segmentation of our own scientific tradition (paradigmshifts > Kuhn [69]), Intellectual tradition(episteme chang-es > Foucault [70]), & philosophical tradition(Epochs ofBeing > Heidegger [71]). The point is that genuine emer-gence has a particular structure. That structure is writteninto the infra-structure of western metaphysics. As genu-inely new things come into existence from the void theypass through levels -4-5-6. In level -5 they encounter thefragmentation of Being. This encounter appears as the’thing’ passing through each kind of Being as a phase of itsbecoming. It passes through these phases in the reverse or-der of their numerical ordering: Wild Being then HyperBeing then Process Being then finally Pure Presence. Ineach phase they are best described by a different mathe-matical formalism associated with each kind of Being:Chaos then Fuzzy Sets then Probability then finally Deter-minate Calculus. These stages of emergence of the genu-inely new distinguish then from artificial emergenceswhich do not pass through all the stages. Instead artificialemergences are produced by the dynamic of the formal-structural system. The formal-structural system is not justa static representation as Klir’s work may suggest. Formal-structural systems are non-linear dynamic systems that ap-pear embodied in society and to a lesser extent in the arti-facts produced by our society. A natural output of dynamicformal-structural systems is erratic change (disorderly mo-tion). It is significant that if the erratic changes producednaturally by the eye are cancelled out the eye cannot see[72]. The scene moved perfectly in sync with the eye justdisappears. For a formal-structural system erratic motionmust be produced for the parts of the system to remainmanifest or present. If erratic motion were to stop the sys-tem would just vanish. Thus a great deal of effort and en-ergy goes into producing erratic change in every dynamicformal-structural system. Artificial emergence or excres-

67. See Bib#251.68. See Bib#301 and Bib#26.

69. See Bib#18170. See Bib#10471. See Bib#13472. See ??? {eye motion experiment}

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

37

cence is one of the main sources of erratic change in tech-nological systems. By producing myriads of slightly dif-ferent variations the system creates its own temporality.This temporality allows the system to ’see’ its environmentand also maintain its own presence. If the excrescencestops the whole of the formal-structural system collapses.By maintaining its erratic changes it appears neg-enthropicproducing structure as it feeds off the environment. As youcan see artificial emergence (excrescence) and genuineemergence are opposites. The former is a product of thedynamic formal-structural system while the other is thepassing through of ontologically, distinct phases as an en-tity comes into existence from the Void. The field of arti-ficial emergence provides the background on which appearthe genuinely emergent entities. Without the backgroundthe genuinely emergent entity could not be seen. Withoutgenuine emergence their would be no advent of meaning tosustain significance. And with no significance (differencesthat make a difference) then the nihilistic aspect of the for-mal-structural system would engulf it. This would be thesame as if erratic change stopped --- it would just disap-pear. Thus there is an inner connection between genuineemergence and the production of erratic change. They arenihilistic opposites. Stopping one is like stopping the other.Like all nihilistic opposites they only appear to be oppo-sites, but really they amount to the same thing. This givesus a hint that the formal-structural system and its ontolog-ical foundations are merely two aspects of the same thing.Unless we consider them both together they can never beunderstood. This is because what is hidden in one of the ni-hilistic opposites is revealed in its twin.

Understanding the relationship between the formal-struc-tural system and its ontological grounds is important be-cause it leads to a deeper appreciation of the relation be-tween man and technology. For the technologist (regard-less of field, and everyone engaged in the technologicalsystem is sometimes engaged in the role of technologist) itgives a clear view of the phenomena of never-ending vari-ation and change with which he must cope on a daily basis.The technologist is concerned with using new technologiesto improve efficiencies in the technological system. Butthe plethora of new ideas and artifacts is overwhelming.The technologist must establish his own criteria for what issignificant out of the onrush of new entities that confronthim. This criteria may be grounded by the realization thatmost of the effort to produce ’new’ things is merely erraticchange necessitated to keep the formal-structural systemmanifest. Occasionally a genuine new entity will surface.Its hallmark is that it will go through each of the stages ofmanifestation grounded by the different kinds of Being.The technologist must watch for these crucial changeswhich will cause a revolution in the apprehension of the

whole field of new technologies. The emergence of genu-inely new things causes paradigm shifts and restructuresthe technological field. Paradigm shifts are an importantphenomena that has been recognized in philosophy of sci-ence and which applies to all areas of human endeavor con-trolled by formal-structural systems. Paradigm shifts dic-tate the temporality of the technological field. They give astructure to our approach to that field. By watching thefield for indications of those shifts we can orient ourselvestoward the whole realm of technology. This orientation in-volves the realization of the significance of the differencesbetween different kinds of changes. This means appreciat-ing the difference between nihilistic or non-significant dif-ferences that are the result of excrescence and the non-ni-hilistic distinctions that indicate what is really ’relevant’ inAlfred Schultz’s sense [73]. What is relevant to the tech-nologist is what will keep him tuned to the changes in thetechnological field overall as it changes and occasionallyundergoes restructuring. The technologist finds himselflost in a constantly transforming landscape like that ofStanislav Lem’s SOLARIS [74]. He must use the restruc-turing of that landscape itself as his guideposts. This isachieved by recognizing the difference between genuineemergence (or the non-nihilistic distinction) and artificialemergence (or excrescence) which exemplifies nihilismand is produced by the formal-structural system as erraticchange (disorderly motion [75]) in order to hold itself inmanifestation. The formal-structural ’remains in Being’ or’clings to Being’ through the manifestation of the innerstructure of Being. This inner structure of Being is mani-fest in the passage of the genuinely novel through eachphase of manifestation supported by a different kind of Be-ing which can only be seen against the nihilistic back-ground of excrescence. But also the inner structure of Be-ing is manifested by the formal-structural system itself.

As a static representation the formal-structural system in-corporates Being1 & Being2. When it becomes dynamic itbegins to produce erratic change in order to keep itself vis-ible. Where does this erratic change come from? The an-swer can only be that it is produced by the differing/defer-ring of Differance at the event horizon that surrounds thesingularity embodied within the formal-structural system.Erratic change, like Brownian motion, is constantly pro-duced. It is the ground state of the non-linear dynamic sys-tem. In the production of erratic change all the differenttypes of mathematics contribute. Chaos, Fuzzy Sets, Sto-chastic & Determinate Continuity all contribute to produc-ing truly erratic change. This erratic change which exists as

73. See Bib#264.74. See ??? {Lem Solaris}75. See Bib#235 (Timeus)

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

38

the ground state of the dynamic formal-structural system isthe manifestation of all the different kinds of Being work-ing together to hold the formal-structural system in exis-tence. Within the realm of artificial existence the variety ofarbitrary peculiarities are the result of the action of the er-ratic change produced by the formal-structural system.This erratic change exemplifies the collusion between thedifferent types of Being, but it is particularly exemplary ofthe differing/deferring that masks pure immanence. In fact,erratic change of the ground state does not exhibit chaoticbehavior. Chaotic behavior is exemplified at higher energylevels of the dynamic formal-structural system. Chaoticbehavior becomes clear in the changes of structure that oc-cur when the dynamic formal-structural system reacheshigher energy levels or when genuine emergence occurs.In the ground state it is fuzziness that dominates erraticchange. There are myriad possibilities for combinations ofthe characteristics of existing artifacts. The permutation ofthese characteristics to produce hybrid artifacts contributesthe greatest amount of variability to the erratic change ofproduced technological artifacts. This has been recognizedby Koestler [76], Zwicky [77], and others who have stud-ied innovation and who attribute it to the chance associa-tion of unlikely characteristics of existent artifacts. Chaoson the other hand contributes to the restructuring of thewhole field of excrescences as it moves to another structur-ing regime at the advent of the genuine emergent entity orin the case of the paradigm shift.

* * *

Since We are dealing with the particular area of SoftwareEngineering Technology it is proper to illustrate the fore-going abstract analysis of the relation between the formal-structural system and its ontological grounds with an ex-ample form this specific technological area. In order to fa-cilitate this let us analyze the relationship between embed-ded software and the characteristics of technology de-scribed by Fandozi in his study Nihilism & Technology[78]. By establishing the relation between software andtechnology we automatically create a link between soft-ware and nihilism because nihilism is the essence of tech-nology. Nihilism is the face of erratic change within the so-cial system that produces technological artifacts. Nihilismas a form of differing/deferring masks the presence of pureimmanence. Nihilism exists so that non-nihilistic distinc-tions may be made. This is the equivalent of the old Zoro-astrian moral dichotomy good (Spenta Mainu) & evil(Angra Mainu) within the technological sphere. Just like

evil & good nihilism and the non-nihilistic distinction can-not exist and be seen without each other. They are comple-mentary interdependent opposites.

Fandozi enumerates the following characteristics of tech-nology:

Technology is pervasive.

Technology tends toward autonomy.

Technology is repressive.

Technology tends to conceal its own na-ture.

Technology is anonymous.

Technology emasculates ideology.

Technology attempts to make everythingavailable.

Technology is a process of formalizing andfunctionalizing the world.

No one would deny that embedded software is a kind oftechnology. But how can we say that embedded softwareexhibits these characteristics of technology enumeratedabove. Embedded software represents a symbiosis of theold mechanical technology with the new meta-technicalstructures. In the development of this symbiosis there is anintensification of the technical project. This transformationof the technical sphere in many ways clarifies its naturebringing to the forefront these characteristics described byFandozi.

Technology is pervasive. It effects all aspects of society. Iteffects what we do and how we do it in all spheres of life.It profoundly changes the lifeworld by altering structuresof everyday behavior. Our structures of behavior are con-ditioned by the artifacts that we produce and that operatewithin our environment. These artifacts, such as tele-phones, radios, computers, automobiles, planes, etc. havea synergistic compounding effect. They work together tocreate a complex technical environment which we workwith everyday. This interlocking of the aspects of the tech-nical environment is what gives it a deep pervasiveness.Think of the launch of the Hubble telescope satellite. Hereall the artifacts mentioned above and many more are usedtogether, each fulfilling a particular function to bring abouta successful launch. And what is it that allows this syner-

76. See ??? {Koestler Act of Creation}77. See ??? {Zwicky Morphological Analysis}78. See Bib#97

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

39

gistic effect of combined technologies to occur besides hu-man coordination? For the most part it is software embed-ded in various artifacts which allows the various technicalartifacts to work together. The technical environment isknit together with embedded software so that different ma-chines can work together efficiently. The deep pervasive-ness of the interlocking technical environment is madepossible by embedded software. That environment is sym-biotic with the technical human community. It is a socio-technical system [79]. It is software that even further deep-ens that symbiosis. The technical environment forms acontinuous whole within which the human being func-tions. The cockpit of a jet is a good example of this. It issoftware that makes the technical environment whole andalso adapts it to the human whose behavior is adapted tothe technical system. Without software the pervasivenessof the technical environment remains superficial. The pic-ture is of an environment filled with many different ma-chines that do not work together except by human coordi-nated use. These machines are not adapted to the humanbut instead it is the human that must adapt to each individ-ual machine. The deep pervasiveness allowed by embed-ded software occurs because the various machines can co-operate without human intervention and because the ma-chines can dynamically adapt themselves to the user.

It is thus clear that technology is pervasive not just becausewherever we turn we find ourselves falling over some ma-chine. It is pervasive because of coordinated use of ma-chines so that the whole work structure is determined bythe necessities of coordinating machines. The human coor-dination of machines as in a production line is limited bynatural human capacities. Software has the potential tosupplement and take over some of the work of coordinat-ing machines. This kind of software is called the Com-mand & Control system [80]. Embedded software in eachmachine makes it able to be controlled and for its currentstate to be sensed. Embedded software and command &control software working together allows a whole new lev-el of adaptive and interlocking coordination far beyondwhat is humanly possible for complex technical environ-ments. Thus we see that software allows an intensificationof the pervasiveness of the technical system by allowingadaptation and interconnection in ways that are not possi-ble without software. This intensification of the pervasive-ness of technology through increased levels of coordina-tion may be deemed meta-technical.

Technology tends toward autonomy. This is to say that

technology has its own agenda which supersedes that ofuser and maker of the technology. The agenda of technol-ogy is increased movement toward total control of every-thing including the human that created or uses the technol-ogy. The Parable of the Tribes [81] expresses the dialecticout of which the autonomy of technology arises. If anytribe achieves a technological advantage and uses it againstits neighbors then all the tribes are forced to adopt thattechnological way of doing things or be dominated. Dom-ination means the loss of autonomy. Colonization is justthis type of domination through technological advantage.Under domination the adoption of the dominant technolo-gy becomes necessary for different reasons. Only thosetribes who adapt to technological dominance by adoptingthe technology which gives advantage can remain autono-mous. By this dialectical relation between competingtribes technology begins to evolve. This mutation of tech-niques takes on the appearance of a Darwinian evolution.In fact the Darwinian model fits technology far better thatit fits biological evolution [82]. In Biology there is no mu-tation of one species to produce a wholly new species to befound in nature even though this is demanded by the theo-ry. There is only variance within species. The Darwinianmodel does not explain the discontinuous nature of biolog-ical evolution well. On the other hand, studies of the evo-lution of technology show that the Darwinian theory fitsvery well what happens when technologies evolve intonewer technologies. The parable of the tribes is the story ofthe survival of ... not the fittest.. but those with the techno-logical advantage. Over the long progress of human historysince the Kurgen invasion of the whole of the known worldin about 4000 BC this technological advantage (in the caseof the Kurgen people it was the use of the horse in warfare)has become recognized as the key element in economic &political warfare. Thus as time goes on we recognize tech-nology as an almost autonomous driver of human history[83]. It gives unfair advantage to those who are at the tech-nological cutting edge of their times. Everyone contributesto the growth of technology whether they like it or not. Itis an out of control positive feed back spiral.

However, this autonomy of technology which arises fromthe struggle for power between peoples and nations, whereeveryone contributes to the growth of technology, so thatthe agenda of technology is raised above everyone's agen-da --- this is only the superficial autonomy of technology.The deeper type of autonomy is that given to technology bythe presence of computing machinery and the software thatcontrols it and its peripherals. The autonomy of indepen-

79. See Bib#230.80. See Bib#28.

81. See Bib#260.82. See Bib#25.83. See ??? {Technology & Warfare}

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

40

dent artificial processors is a truer autonomy. Machineshave always acted by themselves via a transformation ofenergy [84]. Feedback circuits have allowed machines tobe self regulating. However, through the addition of com-puter control machines achieve a degree of self regulationwhich senses the environment and reacts in ways similar toan organism. This autonomy is set up by the human beingbecause self generation machines have not been producedyet. But once the machine has been set up it can be pro-grammed to sense its environment and react. Satellites area good example of this sort of robot. Programming is a fun-damental part of the ’set up’ for autonomy. It allows flexi-ble adaptation and response of the robot. It is like a windup toy which is wound and then let go to walk about inde-pendently. Thus programming manifests the slavery of theautomated technical system to its programmers. But onceprogrammed the technological complex acts independent-ly of the programmer; it appears in the environment as anautonomous independent agent. This is true even if theprogrammed system offers a control interface to the user.The user is controlling the autonomy of the programmedtechnical automaton. The automaton is still acting inde-pendently form the user. The point here is that the programuser -- a technologically adapted human -- is part of thetechnological system. He is the wizard of OZ behind thecurtain. He is the sophist or magician that hides behind hissophistry or sleight of hand. The autonomy of the techno-logical system as independent actor with its own agendahas appropriated the human slave. The master/slave dialec-tic of Hegel comes to play here so that it is impossible totell which is which. Technology has had its own agendawhich has through economic & political warfare beenraised above the agendas of the players of the power game.Through the evolution of computing machines as a generalautonomous processor the technological system has itselfachieved autonomous independence through which it canpursue it own agenda in a way hither to not possible. Thehuman being has been co-opted to serve the agenda oftechnology and provide it with the autonomy of movementand action as well. The autonomy of action given to tech-nological products intensifies the application of the tech-nological agenda to the world. Software is the mediator be-tween the programmer -- slave/master -- and the automa-tion -- master/slave. It is embedded software that makesthe master/slave dialectic possible. Without software as ameans of communication between automation and techni-cal human the actions of machines would remain disjoint-ed and non-adaptive. Through software embedded in com-puting machines controlling other devices technology be-gins to exhibit the kinds of independence which weattribute normally only to organisms. The autonomy oftechnology before was that of a preeminent cultural arti-

fact. Now that artifact is automated and acting indepen-dently in the environment. The first killing of a human bya robot occurred in Japan not many years ago. Who is themurderer? An environment filled with autonomous tech-nological artifacts is certainly different form one which isjust filled machines of various types closely watched byhuman manipulators. The autonomy of technology hasdeepened considerably with sensors and servo-mecha-nisms controlled by embedded software. The autonomy ofthe technological complex has deepened. This deepeningdependent on the presence of software and independentcomputing devices may be described as meta-technical.The autonomy of the technological agenda has been sup-plemented with the true autonomy of the technological ar-tifact.

Technology is repressive. This is a corollary of the surfac-ing of the technological agenda. Because the agenda oftechnology surfaces and comes to dominate the agendas ofthe players of the power game all other agendas ultimatelybecome submerged. The human diversity becomes subser-vient to the technological system and all features that areof no technical advantage are devalued. As such they slow-ly become identified as hindrances to efficiency. This ishappening to languages barriers in the European EconomicCommunity. These barriers cause joint technical projectsto cost five times what the same project would cost byspeakers of a single language. These human differences areinefficient and thus, despite claims of cultural worth, Eng-lish is becoming the technical language of choice everywhere in the world. The dominance of English is repres-sive because it causes other languages not to be used andother kinds of human diversity connected to language be-comes threatened. The success of American media thatfosters English detracts from local cultural media products.Technology as a cultural system only accepts a very nar-row band of human behavior. All other human behaviorsare irrelevant to the technological society [85] and as suchthey face extinction.

This repression of technology which rejects inefficient ornoncontributory human diversity is a surface phenomena.In many places around the world this repression takes on amore ominous character as the police state using technicalweaponry against its own citizens. Political prisoners allover the world are held enthrall by the sinister face of tech-nological gadgetry for eavesdropping, information collec-tion, processing and control, as well as torture [86]. Mostof this activity is aimed at controlling diverse human pop-

84. See Bib#21085. See Bib#9586. See Bib#259

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

41

ulations so they will be docile markets and work forceswhich do not threaten the stability of the dominant eco-nomic and political systems that foster the technologicalsociety. In many countries the police state becomes identi-cal with the technological system and the sensing and in-formation processing becomes essential control mecha-nisms. Without software this machinery of repressioncould not blanket entire societies. Software is essential tothe expanded control of the police state. Yet there were po-lice states much longer than there were the elaborate tech-nical apparatuses that they use today. In fact the policestate first appeared as the catholic church used the inquisi-tion to stamp out the Cathar heresy [87].

On a deeper level repression of individual differences be-comes the channeling of the human being into a technolog-ical mold. This is done by the education system [88]. Tech-nical societies require a highly educated docile population.This is why Japan is so successful as a technical society.American individualism was good to elevate the technicalagenda through the great strides of early innovation. But atechnical society must repress the individual differences sothat individualism becomes inefficient in the long run. Ed-ucation is a kind of programming of youth that makes themdocile and amicable to serving the technological system. Itteaches them the doctrine of relativism which disarms allindependent thought and action. Relativism is the positiveface of nihilism. It is nihilism whose negative aspects havenot yet become apparent. Relativism is the equivalent ofreligious dogma for the technocrats of the technologicalsociety. Education is an early repression of individual dif-ferences in order to mold good managers and workers.

Slowly computers are entering education curriculums.Computer based education materials are starting to be de-veloped. Educational software is an expanding field. Thiskind of software makes learning without teachers or bookspossible. The educational program lets self paced learningoccur. It allows training to take place in a simulated envi-ronment. This type of software for teaching shows a com-pletely different aspect of the usefulness of software. It isuniversally regarded as a positive and fruitful aspect ofsoftware development. No one sees educational softwareas repressive. It is the means of turning talents into skills.

‘Repressiveness’ is a word with negative connotations. Abetter word might be ‘channeling’. Technology causeschanneling. It channels the diverse human populations into

a narrow range of alternatives. Those who resist this chan-neling are either controlled by the police state or join theranks of the unemployed. Channeling when directed at theyoung is called education. Software takes educationalchanneling to a new level of sophistication. Education be-comes a game. Education becomes adapted to individualneeds and differences allowing one to one teaching againby automated means. Computerized education is a chan-neling environment which prepares the student for controlby making him docile in a computer controlled environ-ment. Thus educational software allows us to see the deep-er nature of technological repression. This repression ofhuman differences is inherently meta-technical.

Technology is anonymous and tends to conceal its own na-ture. We do not think of ourselves as living in a culturecontrolled by technology even though the artificial envi-ronment is everywhere around us. We see the artificial en-vironment as a means to furthering human ends. Humanactors that own and control technological means are whatwe see around us. The technological equipment are stageprops to the actions of other humans. This is merely anoth-er way of saying that technology is not present-at-hand. Itis not the focus of our projects unless we are building andmaintaining it. Because it is usually not present-at-hand itfades from view no matter how it clutters the environment.But this concealing of itself is but a prelude to its conceal-ment of its own nature. The nature of things are their essen-tial properties. Technology not only hides itself, but ithides what it is really like from us. This is why technologyhas been part of human life for thousands of years but it hasnot been focused upon by human society except only ex-ceptionally. Our era is one of those exceptions. Technolo-gy blends into human action. We see the actions and notthe technical means. Humans rarely realized that the tech-nical means had any nature different from the enabled ac-tions. It is only in eras of great technological change thatthe distinction between the way we do things and the tech-nical means can be made. Thus the attributes of technologydiscussed here appear. They are normally hidden. It is onlywith great difficulty that they have been discerned by phi-losophers over the centuries. This concealment of ’techni-cal essence’ or ’technical nature’ is itself an attribute of thetechnical. We might call this a meta-attribute of technolo-gy. Through the meta-attribute of essence concealment ap-pears the next level of Being. That has been described inthe first section of this essay as Hyper Being. It is the ab-solute concealment of pure immanence. Software takes itsnature from this meta-level of Being. Self concealment ofattributes is a meta-technological manifestation. With pre-ceding attributes the surface phenomena of technology hasbeen differentiated from the deep meta-technical phenom-ena. ’Self concealment’ as opposed to the ’concealment of

87. See Bib#3088. See Bib#33

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

42

nature’ are two such levels. Fandozi recognizes both ofthese levels. He speaks of the anonymity of technology.This is self concealment of what is not present-at-hand.The concealment of concealment is the associated meta-technical attribute. Both of these apply directly to soft-ware. Software is almost never seen directly. Normallyonly its effects are seen. Embedded software even lacks auser interface. It is hidden in the bowels of the machinery.The user might not even know it is there. This software un-like other kinds of writing is nearly invisible to everyoneexcept the programmer. When it is seen it is very difficultto understand. Software is by nature hidden. The eleganceof software designs are rarely appreciated. Besides hidingitself software hides its nature. Software appears as ‘just atext’. Yet it hides through the operation of multiple per-spectives the singularity of pure immanence beyond theevent horizon of Derrida’s differing/deferring of differ-ance. Probably no one would agree that software has thisinner nature. The nature is hidden. We only see it in ournightmares as yet another project fails as a werewolf forwhich we seek an elusive silver bullet [89]. So technolog-ical anonymity is the surface phenomena that glosses overthe meta-technical manifestation of technology hiding itsown nature.

Technology emasculates ideology. Human differences arenot the only kind that are repressed. Technology also re-presses ideological differences. Ideologies are the motiveforces behind political systems. They occur when a partic-ular set of ideas like freedom, liberty and fraternity becomethe central rationales of behavior. So it is interesting tonote that although the agenda of technology is raised aboveall others in order to give power to the tribe or state. Yet thestate is ultimately a road block which must be removed by’progress’ [90]. Multinational companies express the agen-da of technology more perfectly. The corporation is animaginary person created as a legal fiction. Imaginary per-sons have no need of ideology. Their behavior is not moti-vated. Only human beings need motivation. The corpora-tion is the equivalent of the self for the technological sys-tem. It is a vortex of human activity aided by technicalmeans which forms a system producing surplus value [91].The corporation is the point at which the economic andtechnical systems merge. By becoming a legal fictional en-tity it is recognized by the state. But the state only servesas a host for the corporation. Its ideology that motivates thepolitical system is not necessary for the technological sys-tem. In fact as the agenda of technology is raised - and thatagenda is the intensification of its attributes - these human

motivators become inefficient like other human differenc-es. The Soviets are slowly recognizing how their ideologyis counter productive. They are losing technical advantagebecause they insist on ideological control. Free flow of in-formation and open markets with free movement of peopleis more conducive to the flourishing of the technologicalsystem. The police state is ultimately counter productive.However, the emasculation of ideology is a surface phe-nomena. The deep phenomena is the ideational phenomenathat produces ideologies. Ideologies are political theories.At a deeper level technology harnesses ideation but deval-ues the product of ideation which are ideas. Technology ispractical. It functions by using the ideational process toproduce theories. These theories are embedded in machin-ery [92] for practical use. The pure ideas are discarded.Technology dwells in the realm of pragmatic intelligencedefined by Kant practical reason. The discarding of thepure ideas is what separates science from technology. Sci-ence is the opposite of technology in this respect. Sciencereveres the pure ideas and is only interested in technologyas a means of getting at those pure ideas. There is a naturalpartnership between science and technology because theend products of ideation are useless to technology. Tech-nology uses the ideational process itself. It creates theoriesembedded in machines rather than free floating - nonem-bedded - theories. An example of an embedded theory is asoftware design. As shown before in the first part softwareis a nonrepresentable theory which serves as a software de-sign. Software design depends on ideation - which produc-es illusory continuity - to give wholeness to the design asit evolves. Without ideation as a capability of the mind toproduce a differentiated theory and do mental simulationsthe theory would not be a whole. The computing machineis an artifact that externalizes the ideational process. Thesoftware artifact when represented as code execute at sucha speed that an illusory continuity for the processors ac-tions is created. As seen in part one this illusory continuityis crucial to the manifestation of the software design. So ata deeper level technology rejects ideas (the products of ide-ation) for the process of ideation which in software is ex-ternalized in the form of the running computer animated bysoftware.

Technology makes everything available. The anonymity ofsoftware shows it is not present at hand. But this attributeattaches it definitely to the ready to hand. ‘Made available’is equivalent to Being ready-to-hand. Total availabilitymeans ready to use to get some project we are focused ondone. Unavailable is a hindrance to the technological proj-ect. Our conditioning to this attribute is shown by anger atthe slightest inconvenience. Availability means the free89. See Bib#43

90. See Bib#191. See Bib#27 92. See Bib#232

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

43

flow of information, people, goods for immediate con-sumption. Any barriers to this flow is unacceptable. Thisfree flow shows the likeness of technology to fire whichconsumes its fuel. The fire consumes resources and lives toproduce artifacts which are consumed by the market. Thefire is the vortex of activity within the corporation whichfeeds the frenzy of consumption within the free economy.Free economy means open to total availability. Technolo-gy strives to make everything available which fits into thetechnological system, including itself. Technology propa-gates its own availability even as it hides itself and its na-ture. This contradictory set of attributes gives us a hint thattechnology has its own mode of disclosing. It hides in re-lation to the present-at-hand but becomes conspicuous inthe ready-to-hand. As another mode of disclosing we seethat technology functions in a different kind of Being. Be-ing is manifestation. Different kinds of manifestation willallow hiding in one mode with exposure in another. Thereis no meta technical level associated with this attribute.Technology takes its Being from Heideggers strange mix-ture of Being and Time called ‘Process Being’.

Technology formalizes and functionalizes the world.Technology is structural and is best represented by the for-mal-structural system such as that described by Klir. Tech-nology can formalize and functionalize precisely becauseit is structural. ‘Structural’ means it has the ability to struc-ture. To structure is to impose form. Functionality is an at-tribute of form. Structure determines the functionality of aform within a set of forms that can be transformed intoeach other. Functionality is the relation of a form from astructured set of forms to the whole set. Structuralism han-dles the discontinuities between the forms of this set.Structuralism builds bridges between forms across thesediscontinuities. The forms evolve through time, changinginto each other. If this process is fast enough the change offorms appears continuous and then this is a model of ide-ation. Form and function is the means by which we under-stand what is present-at-hand. We concentrate on formsand apply our functions to transform them. This transfor-mation changes the functions of the form. If that change isradical enough they are replaced by another structurally re-lated form. Technology can only formalize because its na-ture is structural. This means that technology operates onthe present-at-hand forms with their functions from thehidden space of the ready-to-hand. If it were not once re-moved in another mode of Being it could not operate onforms. Thus this attribute of technology connects it yetagain closely to Process Being.

Software is a meta-technology. Where technology makeseverything available and formalizes/functionalizes the

world-software does that and more. Meta technology in-tensifies technology. Meta-technology "technologizes"technology itself. This becomes apparent in the way com-puters make math skills more necessary while at the sametime taking away the tedium of the computation. It is nolonger necessary to be able to do the computation. Yet is itnecessary to know what the end product of the computa-tion means. Without this knowledge ‘garbage in-garbageout’ becomes more than a truism. It describes precisely thesituation where there is reams of overly precise data whichwhen processed is meaningless. When everything is avail-able then relevance, significance, and priority becomescrucial. Thus education becomes more important. One canno longer do production jobs without basic computer andthus mathematical skills. Thus while technology makesavailable, the question becomes ‘available for what?’What do we do with what has been made available to us.What are the significant facts in our data base? How do wefind out? Meta-availability is relevance. Meta-availabilityis filtering. Software provides the means of automatic fil-tering of information. It can automatically signal the arriv-al of an important fact while filtering out irrelevant infor-mation. So while software makes more information avail-able as a technology it also allows filtering of what isavailable which is a meta-technical aspect that allows thetrue nature of software to be glimpsed. All we need to dois look at the evolution of abstracting journals to see thisexemplified. Now the references of articles are cross-refer-enced to discern related articles. This has been taken an-other step where clusters of heavily referenced articles areidentified and named as cutting edge subdisciplines. Theidentification of cutting edge subdisciplines allows a read-er to immediately identify the crucial papers publishedeach year by seeing how heavily referenced they are andwhether they belong to a cluster of heavily referenced pa-pers. This is a kind of information filtering which shouldintensify research and the dissemination of important find-ings.

Software plays a part in the formalization and functional-ization of the world. Yet this has already been started byother technologies that foster the creation of formal-struc-tural systems in the world. Software as a meta-technologymust do more than merely formalize and functionalize. Itmust intensify the formalization and functionalization insome way to qualify as a meta-technology. The intensifica-tion of formalization occurs through the operationalizationof formal languages. Formal languages are used to writesoftware modules called functions that take inputs andtransform them into outputs. Thus is some way formaliza-tion and functionalization is epitomized by software. Soft-ware must have its input in a certain form to make use ofit. Each piece of software fulfills a specific function. It de-

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

44

mands a certain set of formalized behaviors on the part ofthe user in order to work properly. Installation must bedone exactly right. The program accepts a certain limitedrange of user behaviors and responds consistently to the in-stilled behavior patterns associated with its user interface.Software simulates the world and by running its simulationwithin an environment it sets the pace and conditions theenvironment. So software allows the formalization andfunctionalization of the world to be automated. The auto-mation is a simulation of some aspect of the world whichends up driving the world and causes behaviors of peopleto change to accommodate the simulation. By epitomizingformalization and functionalization and confronting indi-viduals in everyday life with formal and functional re-sponses it causes those individuals to change their behav-ior and conform. The result of conformity is that the indi-vidual enters into the simulated or artificial environment ofthe complex dynamic software artifact [93]. Our vision ofTRON [94] being sucked into the computer is becomingfundamental mythology that haunts everyone who fails toget a good credit rating. The software has a replica of uswhich in some sense controls our basic economic behavior.The stock trader who does computer trading has an activereplica - called strangely enough a daemon [95] - thatwatches for the price of a stock to change beyond a certainthreshold and it buys or sells based on that movement au-tomatically. Software allows us to enter the simulated arti-ficial world and that artificial world get mixed up with thetangible world of everyday life. The end result is a confu-sion about what is real. Fortunes are made and lost not onpaper but within the electronic media of the computer cir-cuits. Software makes the world a simulation. Through thisanalysis of Fandozi’s attributes of technology we have de-fined a set of meta-technological attributes related specifi-cally to the role of software in the world today.

The meta-technical (like software) is...not just pervasivebut interlocking and adaptive; not just tending toward au-tonomy; but truly autonomous; not just repressive; butchanneling; not just concealing (anonymity) its nature, buthiding a singularity of pure immanence; not just emascu-lating ideology, but harnessing ideation; not just makingall available, but filtering for relevance; not just formaliza-tion and functionalization, but simulating in an artificialenvironment.

Recognizing the meta-technical in the midst of the techno-logical milieu is very difficult. Yet it is necessary in orderto respond appropriately. The meta-technical as exempli-fied by software is an interlocking and adaptive environ-ment composed of truly autonomous ‘daemons’ whichchannels behavior by harnessing ideation and filtering rel-evant information to produce a simulated artificial realitythat hides a singularity of pure immanence. On the otherhand the technological exemplified by the formal-structur-al system is pervasive yet anonymous. It is repressive andemasculates ideology. It tends toward autonomy whilemaking everything available. It conceals its nature whilepursuing the agenda of formalizing and functionalizing theworld.

Technology is intensified and guided by the meta-techni-cal. Yet at the heart of the meta-technical is a phenomenaof cancellation. The meta-technology is the limit of tech-nology [96]. Upon reaching that limit technology turns intoits opposite which is the proto-technology of Wild Being[97]. This is exemplified by the rise of interest in acupunc-ture [98] and homeopathy [99] and other types of ‘alterna-tive traditional’ medicines [100]. The meta-technical islike a veil where on encounters the limits of technologyand sees those limits clearly [101]. From this encountercomes alternative or appropriate technologies. As onepasses through those limits there then appears proto-tech-nologies which harken back to archaic technologies. In ourtime each of these approaches to technology are flourish-ing side by side. Our culture as a whole favors technologi-cal means until the side effects become unbearable. Thensmall is suddenly beautiful [102] and we opt for appropri-ate alternative technologies [103]. Thus we all use leadedfuel until it starts to appear in cow’s milk which causes itto go into our bodies from which it does not emerge. Thensuddenly we are environmentalists attempting to managethe exploitation and pollution of the environment enoughso that it does not effect us. When even management failswe then become proto-technologists attempting not just tofind alternatives but attempting to go back to archaic tech-nologies that were hither to rejected alternatives [104]. Noone tries acupuncture until all other forms of medicine fail.It is a last resort. In ancient China it used to be the first re-

93. See Bib#3994. The romantic Walt Disney movie about the hacker that is sucked into the computer and forced to play computer games in virtual space like a gladiator..95. See Bib#197 for the origins of this term.

96. See Bib#247.97. See Bib#18698. See Bib#6599. See Bib#71 and Bib#176.100. See Bib#195101. See Bib#144102. See Bib#262.103. See ??? {The New Alchemists}104. See Bib#72

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

45

sort [105]. When drugs fail we try stress reduction and oth-er health maintenance strategies when these fail we at-tempt to learn what the ancients know that we have forgot-ten. This harkening back to Shamanism [106] which isnow called ‘New Age Thought’ is a reconstruction and notthe original [107]. The original has been lost and only thearcheological remains are left [108]. The proto-technical isa kind of nostalgia for what has been lost [109].

In software engineering we encounter the limits of technol-ogy by dealing with complex representations of systemswe cannot see which are nonintuitive and may act in coun-ter intuitive fashions which are hard to explain. We workin an environment where our tools are software artifactsthat help us build software artifacts. These software arti-facts are simulations of parts of the world which must besimulated themselves in order to know if they work cor-rectly. This simulation is done with test software whichsimulates the environment of the simulation to see whetherthe built software will track what is happening in the envi-ronment correctly. The software simulates without actuallyknowing anything about the environment. Whateverknowledge is not coded into the software product is thrownaway. The attempt to regain and use this discarded knowl-edge is called ‘knowledge engineering’. Knowledge engi-neering is proto-technical in that it attempts to get at theknowledge in the human being that allows him to knowwhat is significant. It is an attempt to code the knowledgeinto a software artifact that will not forget it. Software for-gets knowledge and preserves behavior. Knowledgewaresacrifices behavioral coherence for knowledge preserva-tion. Passing through the event horizon of differing/defer-ring the meta-technical realm collapses. The singularity isnot seen but disappears. What is left after the collapse is theproto-technical. In software this is the knowledge of thebuilder of the software. Automatic code generation is aproto-technical activity. Software reuse is a proto-techni-cal activity. All activities which attempt to transcend the‘software problem’ are inherently proto-technical and dealwith knowledge acquisition, preservation, use. Software istrapped at the behavioral level. It ultimately lacks theknowledge that would allow complete adaptation to its en-vironment. It is the human expert that best exemplifies thistotal adaptation to the environment. In the proto-technicalstate software attempts to become its own designer by re-placing the expert designer. Software has become too com-plex for the human being. Now software defines software.

The human reenters the arena of ignorance about software.Everyone is a user. The software engineer merely uses thesoftware construction tools rather than their end products.At that point we will have passed through the barrier ofsoftware which was too difficult for humans to handle di-rectly. Software with expert design knowledge must han-dle software. Software is in this way destined to become anon-human artifact. Humans built software. Software ex-tracted the knowledge of how it was built. It then startedgenerating itself and humans became excluded because itwas too complex and costly for humans to handle thebuilding process. This sounds like a science fiction scenar-io. Yet already code generating systems have been showneffective on simple problems. It is the nature of the meta-technical to collapse and push those who experience thelimits of technology beyond technology into the proto-technological realm. In this we do not solve the problem ofsoftware because we are the problem. When we are exclud-ed and pushed into the proto-technical realm we, as a prob-lem, have been solved by the technical system anonymous-ly seeking autonomy. We have met the software problemand it was us. Our incapacities and our limitations as hu-man beings.

* * *

The essence of technology is nihilism. This essence can beseen in the intensification of the attributes of technology inthe guise of the meta-technical. Thus the attributes of themeta-technical must be the attributes of nihilism which isthe summary of this inner core of technology that is exem-plified by software. Nihilism has two aspects. There is thepassive aspect which occurs when nihilistic opposites areproduced that conceptually lead to cancellation. This can-cellation of nihilistic opposites causes an enthropic loss ofmeaning in the world. When nihilism becomes activemeaning is destroyed purposely. Active nihilism can prop-erly be characterized as Mithraic and Manicheistic (i.e.,heretical) and ultimately rooted in Zoroastrianism. Its rootsare deep in history and this is a virulent disease to whichwestern culture is all too prone. In the realm of the meta-technical we are dealing only with passive nihilism whichhas been called previously excrescence (abnormal growth)or artificial emergence. This is a dynamic of the automatedformal-structural system by which change is manufac-tured. This manufactured erratic change creates the possi-bility of seeing the formal-structural system within its en-vironment. This has been called minimal change or disor-derly motion.

Without this type of basic erratic change (a kind ofBrownean motion for systems) no other changes would bevisible. Since we are usually only interested in the changes

105. See Bib#237 & Bib#286106. See Bib#123107. See Bib#284 & Bib#53108. See Bib#89109. See Bib#139 & Bib#90

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

46

made visible this type of minimal change of formal-struc-tural systems normally goes unnoticed. In software thisminimal change is seen in such phenomena as softwarebugs, designs thrashing between alternatives which areboth bad for different reasons, and contradictory require-ments. These are all phenomena that are endemic to soft-ware where changes occur which make other changes thatwe are more interested invisible. It is the attributes of themeta-technical that makes excrescence occur in the techni-cal arena. Excrescence allows the formal-structural systemto be seen on a ground of many different systems. Excres-cence is a phenomena located at the event horizon sur-rounding the singularity of pure immanence. At that eventhorizon there is a constant shifting between possible statesof the formal-structural system. It is constantly trying newpermutations of its status that will allow greater interlock-ing or closer adaptability. This is an autonomous channel-ing function that acts as a teleononic filter as described byMonod [110]. It channels the system into narrower andnarrower evolutionary changes in the interaction of thesystem with its environment. This excrescence appears asbursts of ideational relevance called newness. The noveltyis purely artificial. It calls to the fore new figure/ground re-lations without changing the essential structure of relationswithin the overall gestalt. The scintillation of the event ho-rizon where this phenomena is generated is the very stuffthat the artificially simulated world is made. Each spark ofscintillation lights up the darkness of Plato’s cave. Thesophists (sometimes called programmers) carry chairs andevery day objects (design elements) which cast shadows(sometimes called graphical interfaces). The world behindthe glass of the computer screen is more alluring than thatbehind department store windows. The former moves byfiring an electron gun at us. The activated phosphor dottakes a short time to fade. This shower of sparks in our di-rection is just enough of an indication to produce all sortsof imagined images upon which our preconceived ideasare projected. Ideation uses the illusory continuity of themoving display image as a springboard for its activity. Wework all day with computers then relax by watching TV orgoing to a movie. We enter wholly into the media simulat-ed environment. Its power to intrigue us is the ability toconstantly produce slightly modified stimulation to whichwe become addicted. If the stimulation wasn’t alwaysslightly different we would quickly lose interest. Interest isstimulated relevance produced as excrescence by a dynam-ically permutating formal-structural system. When we loseinterest because the image in the illusion is no longer rele-vant then we break out, momentarily, from the confines ofthe cave. Real people and things are not nearly as interest-ing as the simulated world. In real life if you wreck the carit costs a bundle. In the simulation you lose a few points.

In the simulation it is possible to do all the interesting ex-ceptional things we avoid in the ‘real world’. But when thesimulator is hooked up to the ‘real controls’ different rulesapply even though it may be hard to tell the difference be-cause the interface is virtually or actually the same.

When the point of cancellation is passed the erratic chang-es turn into chaos [111]. This is in effect raising the formal-structural system to higher energy levels in which its sys-tem states proliferate by bifurcation. The formal structuralsystem produces nihilistic (i.e., self-cancelling) opposites.The self cancelling opposites appear as bifurcation statesembedded within chaos. Chaos occurs whenever a thirdthing in present to disturb the symmetry of the bifurca-tions. Each bifurcation represents a nihilistic opposite.Even within chaos there occur clear spaces where the cha-os abates and the bifurcation appears clearly again beforeit is again overwhelmed by chaos. The arising of nihilisticopposites out of the chaos of images clears the way for thethird thing to appear yet again as the embodiment of ex-crescence. The manifestation of the third thing breaks thebifurcation and it is immediately overwhelmed again bychaotic states. In our culture the production of simplisticself cancelling opposite positions for the manipulation of‘media-ignorant’ masses has become a high art. These ni-hilistic opposites appear to solve the problems of the com-plex chaotic environment giving a false sense of clarity.This false clarity of bifurcations arising from the chaosonly appears to be broken by the arising of a third positiondialectically related to the nihilistic opposites. This dialec-tical synthesis appears to be a "new thing" but in fact it isthe advent of a new wave of chaos which will give rise yetagain to the production of false opposites again. This dia-lectic within the chaotic field moving from chaos to nihil-istic opposites to the advent of the ‘new’ synthesis of athird thing which brings again chaos is the nature of a cha-otically bound system. The chaotic substructure forms thebasis of erratic change upon which the fuzzy, probabilisticand deterministic layers are built.

Understanding how nihilism and erratic change manifestfrom the chaotic substrata is important. The meta-technicalarises from the proto-technical and brings possibilities intoplay adding to the chaotic dynamics. Possibilities areturned into actualizations that are properly stochastic bythe action of chaotic dialectics.

110. See Bib#207 111. See Bib#117 & Bib#278

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

47

The chaotic field represents a myriad of possible states thatthe system might assume. The arising of the third thingcauses the system to leave the regime of bifurcation and re-enter chaos. This is related to the point where chaos clearsand a single state arises which leads to bifurcation again.The clearing of the chaos and the arising of a third thing tobring back chaos are related possibilities. This is again likethe arising and cancellation of the virtual particle discussedin part one. There it was seen how the different kinds ofBeing participated in the manifestation of this theoreticalcomplex made necessary by the infinite energy of space-time.

The exit from the chaos is an epiphany which is like a par-adigm shift where a single way of looking at the world sud-denly becomes dominant. This single track cannot main-tain itself without splitting into nihilistic self-cancellingopposite states. The system will oscillate in these until sud-denly the two positions themselves bifurcate. As bifurca-tion continues the set of nihilistic opposites begins to havestructure. The nihilistic opposites appear to arise out of no

where. They are possibilities being actualized. They ap-pear upon the background of chaos. They arise as figureson that ground and the dynamic formal-structural systempops from one nihilistic state to another randomly. Thusthe actualization of possibilities includes the arising of thepossibility out of the infinite possibilities of chaos and therandom entry and exit of the possible states which havearisen.

Being1 is the current determinate state of the system.

Being2 is the probabilistic movement of the system be-

tween its various actualized states. Being3 is the arising of

actualized states from the chaotic background. The reentryof the system into chaos is also a function of Being3. Itrepresents the cancellation of nihilistic opposites and their

being overwhelmed by chaos. Being4 appears as the epiph-

any at exit from chaos and as the arising of a third thing(synthesis) which causes reentry into chaos.

The formal-structural system has its basis within the clear-ing of abated chaos. It arises as the infrastructure of bifur-cated states. Bifurcations have a specific structure whichallows the formalization of the relations between bifurcat-ed states. This formal-structure allows the discontinuitiesbetween dynamical states to be bridged. Formalisms em-body the image of a particular state. Structuralism compre-hends the transmutation from dynamic state to dynamicstate within the range of possible states

Formalism and structuralism arise within the abated chaosperhaps analogous to what Heidegger calls the ‘clearing-in-being’. The formal-structural system that describes thebifurcation states of the dynamical system has its mathe-matical basis in topoi which are sheaves of boolean sys-

CHAOS

CHAOS

YY

clearingin chaos

nihilisticopposites

‘New’Third Thing

SYNTHESISFIGURE 26

CHAOS

CHAOS

YY

clearingin chaos

exit from chaosepiphany

Third

FIGURE 27

Thing

entry into chaocancellation

probability

discrete alternativ

CHAOS

CHAOS

YY

clearingin chaos

Third

FIGURE 28

Thing

Being4

Being1

Being2

Being3

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

48

tems. It has been shown that there is an inherent relationbetween topoi and fuzzy systems.[112] Computing devicesmake use of this same boolean mathematical substructureas the electronic basis of software. Software exists in theboolean space and makes use of the structure of booleansystems to model more abstract conceptual forms. Thusthere is a direct relation between bifurcation spaces andboolean discrete mathematical spaces where bit patternsmodel images of system states. In both cases it is the sub-structure of binary systems which is the foundation of for-mal structural systems. This is an important perspectivebecause it shows the deep relationship between the formal-structural system and both the bifurcation space withinchaotic dynamics and the boolean mathematical tracesupon which the semiotics [113] of software is based.

As an aside it is important to note that we cannot see pastthe veil of chaos which hides the origin of the dynamicalformal-structural system. This origin is always hidden.Proto-technology and proto-science constantly attempts topiece together the archeological evidence and reconstructthe original archaic science beyond the veil of history. Pro-to-science and proto-technology is a nostalgic attempt toregain the past which is doomed to failure because the cha-otic veil can never be lifted to see the ‘primal scene’ [114]of the true origin. Thus the efforts of cultural anthropolo-

gists to reconstruct the archaic science and technology as acrude reflection of our own science and technology as LeviStrauss has done only in the end emphasizes our own fail-ures. There is, however, another route to the archeology ofarchaic knowledge before the arising of chaos. Taking thisroute necessitates a radical reappraisal of our own superi-ority in relation to other intellectual traditions. The fact isthat the western intellectual tradition is a diversion fromthe archaic traditions which it cannot understand because itrefuses to see its own inherent inferiority. This blindnessamounts to a hubris which is always ultimately punishedby the ‘gods’. An excellent portrayal of this hubris in rela-tion to the archaic medical tradition of China is given byBruce Holbrook in the Stone Monkey [115]. The attemptto understand archaic sciences in their own terms [116]rather than as nostalgic proto-sciences is just beginning. Inorder to participate in this adventure it is necessary to beprepared to venture outside Being. For the descendents ofthe Indo-european Kurgen people, who are still enthralledin that subtle clinging, this is very difficult.

This excursion into the depths of technology is relevant be-cause software methodologists are also technologists. Wemust deal with technology and learn to recognize its inten-sification into meta-technical facets. This perspectivecauses us to approach the definition of the formal-structur-al system a little less naively than we might have other-wise. We bring back from the philosophical substrata someinsights into the significance of the formal structural sys-tem that we can apply to understanding how software (me-ta-technical) perspectives alter our view of the formal-structural system (technical) as defined so succinctly byKlir.

* * *

In the foregoing we have discussed in-depth the substrataupon which the formal-structural system is based. Now wewill attempt to enter a particularly robust static representa-tion of a formal-structural system provided by George Klir.We will enter like visitors into a medieval cathedral. Asvisitors we cannot study every detail but only get an overallimpression. The formal-structural system is the cathedralof the twentieth century western intellectual tradition. Un-like Chartres it is not built of stone. Instead it is an ide-ational structure upon which all of western science andtechnology is founded. Like medieval cathedrals there aremany different versions of the formal-structural system.We have selected one with the most parts intact. Touristsgo to Chartres because the original glass is intact and we

112. See ??? {N?}113. See Bib#92114. See Bib#193

originclearingbefore

FIGURE 29

chaos

2

481632

Third Thing

CHAOS

115. See Bib#144.116. See Bib#116

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

49

can see the relation between the images in stone and theimages in glass as the medieval peasant might well havedone. In this case the stonework is like the technologicalsystem and the patterns in glass are like the scientific superstructure. In the cathedral the local interpretation of scrip-ture was read off the walls and windows by the illiterate. Inthe formal-structured system each discipline has its ownvariations on the same themes. The technologically illiter-ate are dazzled by the spectacle of the high priests. As Ni-etzsche says the ‘last man’ blinks. In later ages these dif-ferent kinds of formal structural system representationsmay be studied by intellectual historians like art historiansstudy the cathedrals. When they were built too high cathe-drals collapsed. High Gothic had its limits; so to these in-tellectual edifices will eventually realize their own inher-ent limitations. Until then they are the main means for un-derstanding everything in the world. Unfortunately theyare built on the shifting sands of fragmented Being. Thus itis possible for the entire edifice to collapse at any moment.So we had better make our tour quickly before any tremormight occur.

A quick overview reveals that the edifice of this particularstructural system contains several layers called epistemo-logical levels. The first level is the object layer which is thesystem raised to a figure against the ground of all possiblesystems. This figure has a set of attributes and it is the re-lation between these perceived attributes that constitutesthe system. Attributes are compared to what Klir callsbackdrops - the name for very general environmental attri-butes whose values vary continuously system wide. Theobject system obviously entails the subject/object dichoto-my and all that this implies in traditional philosophical dis-course. In other words the object system is assumed by Klirto be present-at-hand. The source system is a general rep-resentation of the object system prepared for study. Attri-butes become variables and ‘backdrops’ become ’sup-ports.’ In other words observational channels are set up forstudying the object system. This instrumentation for objec-tive measurement becomes the source for data about theobject system. The source system is the experimental setup. It becomes the data system when measurement accord-ing to scientific protocol begins. When enough data hasbeen taken and analyzed so that the rules governing datageneration have been discovered then the data system maybe compared to the generative system that simulates theobject system. The generative system is often composed ofdifferent simulating models which work at different times.The models may generate data adequately when the dy-namical system is in a particular dynamic bifurcation state.When the dynamic system pops to another bifurcation statethe model must be changed. Models are formal and gener-ally generate linear behavior that simulates the system un-

der study. Changing models brings out the relation be-tween models which is the structure underlying the system.Note that structure handles discontinuous changes in thedata. Nonlinearity is mapped into structural concepts. Thisis exactly the relation between the formal and structural as-pects of the formal-structural system. Meta-levels of rela-tions between relations form an infinite regress of finer andfiner structural systems modeling. In fact meta-systemsand structure-systems regress infinitely forming two hornsthat arise from the basic source, data and generative sys-tems. The meta systems are an infinite progression of mod-els-of models-of models. . . Where as the structure systemsform an infinite progression of relations-between rela-tions-between relations. . . Klir has well represented the re-lations between these two infinite regresses which alwaysoccur to purely formal systems of the type first created byRussell and Whitehead in Principia Mathematica [117].

Each bifurcation creates another meta/structural level ofanalysis. Eventually these become impractical to under-stand and the formal structural system with too many meta-levels self destructs as it is overwhelmed by chaos. A mod-el is necessary for each bifurcation state. When a bifurca-tion state bifurcates again a meta-model must be abstractedto cover both models covering the new bifurcation states.The meta-model explains how the two new states relate tothe old single model. Models are composed of entities andtheir relations. Structural relations between models allowthe explanation of discontinuous jumps between submod-els. Each level of bifurcation demands another infra-struc-tural level to explain the new sets of discontinuities be-tween models. Thus structure represents the increase offragmentation whereas meta-levels represent the increas-ing levels of abstraction necessary to hold the system to-gether as a single object. Meta-levels represent analysis.Bifurcation drives the need for ever deeper levels of syn-thesis and analysis. Ultimately the human mind even withthe aid of computer can only stand a few of these meta lev-els of embedding. As bifurcation progresses the analyst isquickly driven beyond his capacity to model and the wholeformal-structural system cracks up. The whole representa-tion cancels itself out and one is forced to start over look-ing for a new more robust model.

* * *

To this static representation of the formal-structural systemproduced by Klir we bring a demand which lies outside ofhis purview. We need to represent the perspectives that

117. See Bib#253.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

50

have been found to be an important element of the meta-technical. Fandozi in his discussion of technology almostequates perspectivalism with nihilism.

"Although Marcuse’s analysis was concerned primarily with the theoretical background of science, it is important to see that there emerges in his results a concept of reality which is the correlate of the scientific endeavors and which lets the world appear as perspectival.* Entities in the world no longer possess a definite nature as such, but are rather defined by their context, e.g., a tree is an obstacle for the new freeway, potential lumber for a house, or an aspect of aes-thetic appreciation. The destructiveness of tech-nology is not, just based on the fact that lumber takes priority over aesthetics, but that any per-spective as interpretation of a thing becomes equally possible, equally cogent. A thing is de-fined according to its use and that use itself is a function of the current level of technology and other extraneous factors - - factors which do not directly confront the thing in question. The thing itself is not allowed to address us; it is not permitted to define its own situation, to pre-scribe a meaning to us. Within the scope of arbi-trarily eligible perspectives, things lose their definiteness, their presence within a interrelated totality. They become mere stuff, formless mat-ter; they approach a state of non-being. Things become nothing".

Pages 106-107 in P. R. Fandozi Nihilism and Technology [118].

This paragraph in many ways shows the relation betweenthe meta-technical - perspectives and nihilism better thananything else said here. It is perspectives which hide thesingularity. It is the equi-possibility of perspectives whichconstitute their nihilistic aspect. So as has been shown inmany ways in this essay possibility is married to passivenihilism of the meta-technical. Perspectivalism and possi-bility are intimately related. We see new possibilities whenwe switch perspectives. Those possibilities are hidden andnew ones appear as we switch perspectives again. Possibil-ities are the showing and hiding avenues related to per-spectives. Yet this showing and hiding is deeper than that

of the ready-to-hand. It is the showing and hiding which isinherently social. Intersubjectivity the famed problem ofphenomenologists appears here [119]. Intersubjectivityhides the ‘essence of manifestation’ which amounts to thesingularity of pure immanence. In intersubjectivity there issomething hidden irrevocably that may never be shown. Itis embedded in the interchange of perspectives. It is that ar-bitrary interchange that causes passive nihilism to eat upmeaning. Sartre calls it ‘nausea’ as he contemplates thewaiter in the cafe. Most philosophical analysis - sociallynaive - concentrates on the self/other dichotomy. More so-phisticated analysis realizes that this is an abstraction frommore complex social interaction [120]. Yet it is possible tohypothesize that perspectives bifurcate just like dynamicalsystem states on the way to chaos. In our case, we wish to

maintain our analysis at the threshold of 22. We recognizethat the chaos of social interaction is primary. The individ-ual appears for our culture as an isolated ego from this mi-lieu. He experiences bifurcation at separation from thestate of immersion in the presence of the mother. Motherin time becomes mother/father and ego becomes self/other(I/thou). However, we are not dealing with these basic ar-chetypal psycho-social dichotomies [121]. Here it is amore abstract analysis which will consider the perspectivalfragmentation of the formal-structural system. A set offour specific perspectives to be suggested here are relevantto the analysis of software systems. Yet the point beingmade is more fundamental. The perspectives form a mini-mal system in the sense defined by B. Fuller in SynergeticsI and II [122]. It is the minimal system of perspectives thatis complex enough to hide the singularity. Most analysis offormal-structural systems use only one or two perspec-tives. They do not attain the required complexity necessaryto represent meta-technological systems. The advance sug-gested here is to consider how the formal-structural systemis distorted by the introduction of a minimal system of per-spectives. This is a concrete example of the intensificationof the technical into the meta-technical. In effect we are in-troducing the equivalent of relativistic intervals into thespace-time continuum within which the formal-structuralsystem exists.

One might well ask at this point what a perspective reallyis. An excellent semiotic study concerning this issue is Sig-nifying Nothing [123]. In that study the structural equiva-lence between ‘the number zero’-‘vanishing point’-and

118. See Bib#97.

119. See Bib#281120. See Bib#200121. See Bib#154.122. See Bib#109123. See ??? {Signifying Nothing}

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

51

‘money’ is suggested. Suffice it to say for us that a perspec-tive is the cutting of the world into multiple related hori-zons. The intersection of the structures that define thesehorizons is a null point which is ‘no where’ in relation tothose defining structures. This ‘no where’ is represented bythe vanishing point within the horizon. By signifying thevanishing point the opposite observation point may bespecified. Thus the perspectival structure gives a means oforderly movement from observation point to observationpoint by moving the vanishing point. The multiple hori-zons reveal different realms of possibility open to explora-tion. What is open to exploration from one perspective isclosed to another. This only gets complex when differentsubjects are simultaneously exploring different perspec-tives. Then relativistic rules apply between simultaneouslyexploring subjects. Perspectives can either be quantitative-ly different in terms of space, time, position; or qualitative-ly different. Qualitatively different perspectives are thekind Fandozi referred to earlier. From qualitatively differ-ent perspectives one sees different kinds of timings insteadof different sides of the same things. Qualitatively differentperspectives are much harder to deal with. Since we aredealing with a specific example of meta-technology (i.e.,software) this problem is not as difficult as it might seem.In fact we will postulate, as explained in part one of this es-say, that it is the foundations of the technological systemthat provide the basis for distinguishing between the quan-titative perspectives relevant to software. Two of these arequantitative and related to space/time. The other two arequalitative and related to the first and second meta-levelsof Being. The quality to be distinguished is the present-at-hand from the ready-to-hand. The western philosophicaltradition contributes amply to the possibility of this dis-crimination. Now these four perspectives (named here:event, data, agent, process) unfold has already been laidout. The question now is what the insertion point for theseperspectives into Klir’s representation of the formal-struc-tural system.

The insertion point for perspectives is readily provided byKlir. It is provided by his discussion of ‘backgrounds’ and‘supports’. Let us turn our attention to these ready made in-sertion points for perspectival differences and consider theramifications of this limit that will move us from the tech-nical to the meta-technical in a single bold stroke.

* * *

According to Klir the object system is composed of a set ofattributes and a set of backdrops. Any one attribute or

backdrop has a set of possible values whose range is cir-cumscribed. Klir maintains that a position of ontologicalignorance [124] may be maintained concerning the ‘reali-ty’ of attributes and backdrops. This is possible becausethe entire ‘object system’ is disposable. It is merely thestarting point for the definition of the source system whichis an instrumentally defined measuring device leviedagainst the object system. In the source system object attri-butes translate into operational representations called‘variables’. Likewise object backdrops (i.e., global envi-ronmental attributes) translate into operational representa-tions called ‘supports’. Supports allow different observa-tions of the same variable to be distinguished.

"When more than one support is in-volved, the overall support set is the Cartesian product of the individual supports sets. Properties recognized in each individual support set have to be properly combined to express recog-nizable properties of this Cartesian product. These properties of the over-all support set (the Cartesian product) are then used in characterizing, togeth-er with properties of the associated state set, an elementary methodologi-cal distinction. If the same properties are recognized in each of the individual support sets, it is easy to combine them, and the derived overall proper-ties are homogeneous over the whole Cartesian product. The situation be-

124. See ASPS p 37.

ORDERINGNO ORDERING

PARTIAL ORDER

LINEAR ORDER

DISTANCE

NO DISTANCE

DISTANCE

FIGURE 31

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

52

comes more difficult when properties recognized in the individual support sets are not the same. In such cases, there are at best some overall proper-ties that do not extend over the whole Cartesian product". [My emphasis]

Klir ASPS page ??

The last two sentences of the quoted paragraph are impor-tant for this study as they point the way to understandingthe fundamental properties of software methods. Whenmultiple support sets are used which do not share the samemathematical properties then the Cartesian space repre-sented by these supports is intrinsically fragmented. Itturns out that this is true of the supports for the softwaresystem. Each of the four fundamental perspectives supplythe supports for the software system. These supports, asnoted in part one, are event, data, agent and process. Thesederive from time, space, pointing and grasping which arethe ontological foundation of any formal-structural system.In this case the environment which is posited for the objectsystem is its own ontological foundations. These founda-tions provide the essential backdrops for all formal-struc-tural systems. When we drop the pretense of ontologicalignorance it is readily realized that the object system andits environment are the same thing turned inside out. In ourcase the object system is the formal-structural system it-self. Its only possible environment is its ontological pre-suppositions. These presuppositions lead to groundless-ness. The groundlessness of the ontological environment is

nothing but the reflection of the erratic change of the for-mal-structural system itself. It is these ontological founda-tions which manifest groundlessness that are the systemwide universals that can be used as backdrops for measur-ing the attributes of the formal-structural system. As back-

drops they are space/time and Being1/Being2 (i.e., point-ing/grasping). These are turned into supports in the sourcesystem which appear as data/event/agent/process. Thetransition from ‘backdrop’ to ‘support’ occurs through thearticulation of perspectives and their projection back ontothe ontological foundations. The ontological foundationsbecome buttresses which allow one to get a view of a por-tion of the formal-structural system. The key point here isthat the place where perspectives plug into Klir’s represen-tation is right at the base where he defines backdrops andsupports. When supports do not share mathematical prop-erties then the inherent fragmentation of perspectives oc-curs within the total support set. Different horizons openup to different perspectives due to this fragmentation of thetotal support set. Klir is very precise about the method-ological distinctions that derive from the mathematicalstructures of the various supports. It turns out that there area limited number of possibilities for combination of thesemathematical properties as shown in Figure 31.

Each of the supports may be of any of these five method-ological distinction types. Which type (a, b, c, d, e in Fig-ure 32) each support is determines how easily the supportsmay be combined and the degree of fragmentation that oc-curs in the total support space. It is possible to assign eachof our perspectival supports to a particular methodologicaldistinction as shown in Figure 33.

Space and time are as any physics student knows a fullylinear ordering in which distance may be described. With-out this continuous backdrop the description of physicalsystems would be well nigh impossible. The fact that thecontinuity is itself an illusion projected upon time andspace and maintained by the ideational mechanism of thereal number line and calculus need hardly be mentioned.Agent and process on the other hand are represented bypartially ordered sets. They cannot support the concept ofeither linearity or distance. In software methods the puredescription of each of these perspectival minimal methodsis a hierarchy represented as a tree structure. Agents areseen as a tree of tasks (tasks within tasks) and process isseen as a tree of functions (functions within functions).How far a task is from another task makes no sense. Pro-cesses are not transitive. It cannot be said whether a func-tion is ‘between’ to other functions (or not unless data flowis added). Functions themselves without time or space or-

FIGURE 32

NO ORDERNO DISTANCE

PARTIAL ORDERNO DISTANCE

NO DISTANCE

LINEAR ORDERWITH DISTANCE

LINEAR ORDER

WITH DISTANCE

PARTIAL ORDER

a

b

c d

e

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

53

dering added are just a library of routines some of whichcall others in a tree like structure. Thus agent/process sup-ports are very different from event/data supports in termsof the methodological distinctions that apply to each per-spective.

If you ask "who?" or "what?" - these questions do not referto continuums but to differences in accidental and essentialcharacteristics. Who you are is dependent on the accidentsof your life. Who were your parents. What name they de-cided to give you. What house was available when youcould afford to buy. What number was next when you ap-plied for a social security number. What day you happenedto be born on. Who you are is determined by all the acci-dental circumstances that distinguish you from everyoneelse. This set of accidental facts that makes you unique area set which has only at most partial ordering. Likewise allthe essential facts about you, like what you believe in ordon’t, your skills, your profession, your hobbies, that indi-cate what kind of person you are at most partially ordered.You belong to this set which is a subgroup of another set.The complex Venn diagram that singles out both in termsof accidents and essentials from all others in the populationcannot be fully ordered.

Pointing and grasping are modalities for the human en-counter with things in the world. The set of things pointedat are distinguished from those which are not. Likewise theset of things grasped forms a distinct set over and againstwhat is not grasped. Without adding space/time at bestthese can be partially ordered into sets of things pointed toor sets of things grasped. Inherently there is no distance norlinearity in pointing and grasping. Only hierarchies of dis-tinctions can be supported by these modal concepts.

This realization that different mathematical distinctionsapply to the various software methodological supports is acrucial step in understanding the way perspectives arefragmented. The fragmentation has a particular structurewhich has important implications for software designmethods. These implications are best brought out by study-ing the diagram of methodological distinctions producedby Klir more closely.

There is a great imbalance between agent/process supportsand event/data supports. Event/data supports have the ben-efit of full ordering which will allow any signal or datumto be pinpointed in the linear ordering of memory locationsor CPU cycles. We can gage the distance

between any two signals or datum by counting discrete cy-cles or memory addresses. Thus it is clear where and wheneach datum/ipsity (eventity) occurs in the discrete space/time environments provided by computing hardware. Themapping of this full discrete ordering onto an illusory con-tinuity of the space/time environment made possible by thedistribution in space of processors and the illusion of con-tinuous execution due to fast instruction processing allowsthe computer with its software to fit into our picture of thephysical universe. Space/time eventities within the com-puter map to space/time eventities outside the computer.This mapping makes use of the power of the illusory con-

WITH DISTANCE

PARTIAL ORDER

d

agent < process

data/eventspace/time FIGURE 34

NO ORDERNO DISTANCE

PARTIAL ORDERNO DISTANCE

NO DISTANCE

LINEAR ORDER

WITH DISTANCE

LINEAR ORDER

a

b>

c

e

whatessencegrasp

whoaccident

point

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

54

tinuity of the real number line to give a four-dimensionalcontinuous support space. This four dimensional supportspace (either space/time [x+y+z-t] or Minkowoski’s time-space [past+present+future-nowhere]) has very powerfulrepresentational features. Without this possibility of map-ping simulation spaces onto our idea of the physical uni-verse computing machines would be useless.

On the other hand the agent/process supports are weaklyordered. This weak ordering is difficult for us to deal with.We are used to dealing with fully ordered mathematicalobjects. Sets are not as easy to manipulate as cartesian co-ordinates. Yet we recognize that the weak ordering ofagent/process has its own significance. Accidents and es-sences are weakly ordered by their nature. Space and timeare like empty vessels for objects to move in. We cannotsay anything about the objects themselves using space/time. The essences and accidents that define the objects asmore than blank empty entities are what give us really im-portant information about the things gliding through spaceand time. Essences and accidents give us a glimpse insidethe black box. We pay for this glimpse inside the blackbox. We pay for this glimpse by losing ordering informa-tion. We gain by finding out who’s who and what’s what.These partial orderings with no distance can be seen as thedelineations of kinds either essential or accidental. In phi-losophy these are called ‘sortals’ by some who think it im-portant to distinguish natural complexes [125] from ab-stractions. We can basically sort things according to exter-nal coherences or internal coherences. External coherencesrelate to the accidental configurations of things that appearin the world. Internal coherences relate to the essentialconfigurations of natural complexes within themselves.The internal coherences give one kind of sorting while theexternal coherences lead to a completely different kind ofsorting. Klir lumps both together under the concept of"population". We think of a population as a set of organ-isms of a similar kind. It is composed of individuals in aparticular space-time distribution. But important informa-tion is to be gleaned by looking at the internal and externalcoherences of the set of individuals taken a whole. The ex-ternal coherences will classify individuals on extrinsic fea-tures such as serial numbering. The internal coherenceswill classify individuals on the bases of intrinsic character-istics like their different behaviors. These intrinsic and ex-trinsic characteristics tell us a great deal about the set of in-dividuals that space time distribution alone would not beable to tell us. Yet this information is dependent on ourability to distinguish. The most basic essential distinctionof an individual is based on behavior. The sortals related tobehavior are called processes or functions. The most basic

accidental distinction of individual is based on autonomy.The sortals related to autonomy are called agency. Theagent is the source of a behavior. The behavior is the ex-pression of the autonomy of the agent. In the field of com-putational machines the behavior of a processor is thetransformation of data grasped in accumulators. The au-tonomy of a processor is the indication of which task is incontrol by pointing at an execution thread or context. Theindividual processor, like the minimal organism in a popu-lation, has both autonomy and behavior of its own. Theconcept of population contains both of these conceptswhich from the viewpoint of software methods need to bevigorously distinguished.

All of this becomes clearer by realizing that in the courseof the development of software we traverse the set of meth-odological distinctions (a, b, c, d, e) from no ordering tofull ordering of space-time eventities. Requirements are

125. See ??? {Natural Complexes}

competing closely coupled multiple economies

competing hetero- genous

competing homo- geneous

competing monolithic

distribut-edclosely coupled

distribut-ed hetero- geneous

distribut-ed homo- geneous

distribut-edmono-lithic

intercon-nected special devices

integrated special devices

parallel processors

parallel monolithicarray

unix processes

multiple interrupt server

multi tasking

single program

FIGURE 35

autonomous behavior

beh

avio

ral a

uto

no

my

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

55

normally without ordering or state some boundary condi-tions for space time ordering of eventities. As analysis anddesign progresses the exact space time ordering systemeventities is determined. Software methods need to be ableto describe these fully ordered eventities and do so in termsof events and data perspectives. However making certainevents occur at particular points in space are the purely per-formance aspects of the system. It is also very important toanalyze and design who does what in the system. The‘what’ characterizes the functionality of the system. Thatis the particular kind of expected behavior in space time.The ‘who’ characterizes the division of labor between co-operating agents. The ‘who’ normally determines thestructural aspects of the design. The ‘who’ is structuralwhereas the ‘what’ is formal. This reversal occurs becausepoint and grasping are mutually sustaining like space andtime. They are complementary opposites that make eachother possible. The assignment of autonomy to individualsstructures their interaction. The assignment of behaviors toindividuals formalizes their actions. In the one case struc-ture is on the surface while formalism is deep while in theother case formalism is on the surface while structure isdeep. Pointing is the action of an autonomous individual.The deep aspect is the formalism of rendering a present-at-hand image at the point of focus. When this ability is as-signed to an autonomous individual the surface structuralaspect becomes apparent where different individuals dodifferent things in cooperation. Grasping is the behavior ofan individual. The deep aspect is the structuralism of ren-dering a ready-to-hand means of moving between tempo-rary gestalt images. When the behavior is assigned to a par-ticular individual the surface formal aspect appears wherea particular individual has a language of transformationshe can perform to transform one image into another.

Grasping is the behavior of an individual. The deep aspectis the structuralism of rendering a ready-to-hand means ofmoving between temporary gestalt images. When the be-havior is assigned to a particular individual the surface for-mal aspect appears where a particular individual has a lan-guage of transformations he can perform to transform oneimage into another. Structuralism and formalism belongtogether. Each fills a crucial role in the full articulation ofthe other. Thus there appears both formal-structural andstructural-formal phases similar to the difference betweenspace-time and time-space. There is ‘behavioral autono-my’ and ‘autonomous behavior’. The former emphasizesthe behavior of the individual over autonomy whereas thelater emphasizes the autonomy of the individual over be-havior. The autonomy of competing processors is greaterthan the autonomy of tasks. The behavior of closely cou-pled environments is more complex than that of monolithicenvironments [126].

* * *

Traversing the lattice of methodological distinctions (a, b,c, d, e) in the development from requirements to design tocode; it is clear that at a certain stage each support is madeup of non-ordered sets of distinction. Then at some stageall become partially ordered with no distance. In the finalproduct events and date (space and time) become fully or-dered (linear with distance). However, at most, agent andprocess remain partial orderings. This is a big problem forsoftware engineering. The fact that agent and process sep-arately can at most be partially ordered without distancecauses a major break between the space & time supportsand the model supports. This "gap" in the representationalpower of these two different kinds of perspective causes arift in the designers ability to move from concepts of agentsand processes to a final space/time ordering of softwareeventities. This rift is the major methodological problem ofsoftware engineering. Even though it is possible to appre-ciate that the lack of full ordering for model perspectives

126. See Figure 35.

FIGURE 36

NO ORDERNO DISTANCE

PARTIAL ORDERNO DISTANCE

NO DISTANCE

LINEAR ORDERWITH DISTANCE

LINEAR ORDER

WITH DISTANCE

PARTIAL ORDER

a

b

c d

e

mappingstructurechart

Agent < > Process

Space / TimeData / Event

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

56

allows a fuller expression of internal and external coher-ences of the software’s functionality and structure. Still itis difficult to deal with this rift in practical terms. In the de-velopment of software methods it is this gap which must beaddressed. It is in fact this intrinsic rift which is the faultline that hides the singularity of pure immanence. In ad-dressing the fracture that separates software ‘supports’ weare orienting ourselves to the hidden heart of software.

Even though agent and process can each by themselvesonly be partially ordered with no distance, together it ispossible for them to approach closer to full ordering. In or-der to attempt to narrow the rift the two partial orders areused together to imitate linearity without distance (struc-ture chart) and to imitate partial order with distance (map-ping) [127].

In mapping distance is expressed in how many boundariesmust be crossed from one end point to the other of a map-ping arrow. The minimal formal calculus of G. Spencer-Brown in Laws of Form [128] may be applied to measurethe distance implied by mapping. In structure charts linear-ity is expressed as a calling sequence. The control flow ofa calling sequence is like passing a token of autonomythrough the software system. Autonomy is passed fromfunction to function and the sequence of calls representsthe linear structure of the program.

It is interesting to note that these two ways of using twopartial orders together are duals. There is a one to one cor-respondence between their elements. The path of the tokenof autonomy is analogous to counting boundary crossingsin the mapping. The point here is that structure charts andmappings are the two minimal methods that connect theagent/process perspectives. These minimal methods aremuch more complex than those that connect the event dataperspectives. There is good reason for this lopsidedness inthe complexity of minimal methods in these cases. Theminimal methods connecting agent/process must make upfor their weak orderings. They do this by working togetherto attempt to bridge the gap to full ordering. In so doingtwo possible gap bridging paths are articulated which leadto the minimal method of ’mapping’ and the minimalmethod of ’structure charting’. Note that the inherent lin-earity of structure charts approaches the representation oflinearity in time. The inherent distance of mapping ap-proaches the representation of distance in space. So struc-ture charts are close to the temporal ordering of software

eventities and mappings for traceability are close to thespatial or data orderings of software eventities. Yet beingclose is not the same as being completely isomorphic. Ineach case a crucial ordering characteristic is missing. Yetif the linearity of space and the distance of time is relaxedas it can be for some classes of systems (es informationsystems rather than embedded systems) then this attempt atgap bridging is good enough to give full methodologicalconvergence. However in embedded real-time systems thisrelaxation is not possible. So there is a class of softwaresystems in which the rift cannot be hidden. In this class theinner nature of software becomes apparent as we stretchthe limit of what we are able to do with software. It is thatclass for which methodological studies are most necessaryand it turns out that this is the class of systems that attemptsto sense and react to the ‘designated-as-real’ or ‘physical’world.

No wonder software is hard to build and software methodsare difficult to use. There is a fundamental rift betweenwhat our perspectives can represent in an ordered fashion.This gap is in principle unbridgeable even though for someclasses of system the rift appears to vanish. Our most im-portant methods (structure charts and mapping) attempt tobridge this gap. Because of this function these methods aremore complex than any of the other minimal methods thatact as bridges between perspectives. Linearizations of thesoftware system together with many to many mappings arethe two main ways we have to approach the mental simu-lation of our systems. Linearizations through which tokensof autonomy move expresses these systems in terms of au-tonomous behavior. Many to many mappings express thebehavioral autonomy of the system. The former showswhat part of the system is autonomous at what point in itsexecution. The latter shows how the overall system behav-ior is automated by deployment of functionality to differ-ent system segments. Autonomous behavior means . . .what part of the overall system is acting independently.Behavioral autonomy means . . . how has the behavior beenpartitioned across autonomous units. These two differentaspects like their counterparts space/time and time/spaceare difficult to express. One looks at individual pieces ofthe system as encapsulating behaviors through which au-tonomy moves given different inputs and states. The otherlooks at the overall system as expressing a set of behaviorsand looks to how those behaviors are allocated to the dif-ferent pieces of the system. This difference can be broughthome by referring again to the gestalt. The gestalt is a num-ber of dynamically related figure ground relations. Eachfigure ground relation expresses a particular kind of behav-ior of the gestalt whole. The total behavior of the gestalt isthe sum total of these relations. Yet all cannot be seen atonce. Our perception moves through the figure-ground re-

127. See Figures 37A&B.128. See Bib#44

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

57

lations one at a time. This is like the movement of autono-my through the structure chart. Looked at analytically wecan see behavior distributed among different figures.Looked at synthetically we actually perceive the shiftingfrom figure to figure as the center of attention changes.Perception snaps from one whole to the next. The back-ground of the gestalt remains always ready-to-hand in re-lation to the present-at-hand figure. We point at the figurebut we grasp (understand) the whole gestalt which is morethan the sum of its parts. Behavioral autonomy means giv-ing autonomy to behaviors via mapping. Autonomous be-havior means the automation of the behaviors seen in a par-ticular linearization which moves through each of the fig-ure ground relationships. In autonomous behavior theaccidents of where control is within the linearized systempredominates. In behavioral automation the essence of thebehavior of the whole system predominates [129].

* * *

We have taken our clue for how to deal with the relationsof perspectives to the formal-structural system from Klir’sdiscussion of ‘backgrounds’ (in the object system) and‘supports’ (in the source system) and the relevance ofmethodological distinctions. By looking at the differentkinds of methodological distinctions that relate to agent/process perspective versus event/data perspectives wehave seen the advent of a fundamental rift between thesepairs of perspectives. That rift gives us our first concreteevidence of the presence of a singularity within the set ofsoftware perspectives. It has also indicated an interestingway of looking at the relations between software methods.Methods arise as means of attempting to bridge the rift be-tween pairs of perspectives that are methodologically dis-tinct in Klir’s sense. Agent/process perspectives are aug-mented from partial order with no distance to have eitherlinearization or distancing. Event/data are reduced fromfull ordering to emphasize either linearization or distanc-ing. Thus the meeting point of methods occurs in the meth-odological distinctions related to linearity with no distanceor partial ordering with distance. Perspective pairs (agent/process or event/data) are more extreme in their orderingthan the methods that connect them which exemplify lin-earization or distancing. This is a key point that makes adeeper understanding of software methods possible. Allsoftware methods come in pairs. Each pair relates two soft-ware perspectives. One method from a pair emphasizes lin-

earity while the other emphasizes distancing. The pairsmay be thought of as looking from one perspective towardthe other perspective or vice versa. Thus the mappingmethod looks at agent from the point of view of processwhereas the structure chart method looks at process fromthe point of view of agent. The point of view exemplifiedby the method uses the other perspective as an object. Thesubject/object dialectic gives each method its own pecu-liarity: what is a subject for one method is an object for itsopposite method. This inversion of subject-object relationsis then colored by the emphasis on either linearity or dis-tancing that gives substance to the method pairs. Methodpairs may be considered as bridges between particularpairs of perspectives. Methods give the designer a meansof traveling from one perspective to another in his mentalsimulations of a software system. The designer may onlybe in one particular perspective at a time. Design work is apath of thought which traverses the perspectives one at atime in order to build abstract design representations of asoftware theory. The software theory is the ultimate syn-thesis of the software system projected by the designer.The ultimate synthesis revolves around the subjectivity ofthe designer and cannot be completely represented. Thedesigner as subject assumes the different software perspec-tives one at a time to get the particular view each offers.The terminology invented by Husserl [130] in his phenom-enology can be used to describe this process. For the de-signer as subject there is the projection of the ‘intentionalmorphe’ upon the ‘hyle’ or matter of the software system.In this case the matter is a pure plenum of off/on bits. The‘intentional morphe’ is a forming intention that projectsthe software system. From this fundamental subject/objectinteraction ‘noema’ and ‘noesis’ arise. The ‘noema’ in thiscase are the various levels of software objects like ‘bit’,‘byte’, ‘counter’, ‘statement’, ‘routine’, ‘program’, or‘software systems’. The ‘noesis’ is the various ideationalstructures such as go to, assignment, if statement, algo-rithm. The noesis is the thought structures which determinethe structuring of the program. The noema is the structuralconcepts which ultimately, translate into patterns of bits.

Husserl’s terminology gives us a terminological precisionfor dealing with subjectivity similar to that offered for ob-jects (called systems) by Klir. This terminological preci-sion is required in order to situate our concept of ‘meth-ods’. Methods are normally understood as sets of tech-niques used in a particular order to produce abstractrepresentations of software objects. In fact, these represen-tations are particular aspects of a software theory.

129. If this distinction between Behavioral Autonomy & Au-tonomous Behavior appears forced; there is good reason. They are nihilistic opposites now seen in action. Don’t worry they cancel leaving nothing at all. See Bib#251. 130. See Bib#150

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

58

Methods are a kind of noesis at a particular level of ab-straction which produce a corresponding noematic repre-sentation. The level of abstraction at which software meth-ods arise is precisely where software comes to be consid-ered a system. Klir’s lame definition of ‘a system’ as a setof attributes avoids the controversy surrounding the syn-thetic nature of systems. Systems are natural or artificialcomplexes with internal and external coherence. They arenormally sets of dynamically interacting objects. Klir’s po-sition of ontological ignorance is compounded by his emp-ty definition of a system as a collection of attributes. Byavoiding the controversy surrounding the synthetic natureof systems he is led to build the general science of systemson weak philosophical grounds. Operationalism pushes allsubstantive questions concerning the nature of the systemunder the carpet. It is ultimately the same position as thatwhich claims technology is neutral. It is the epitome of ni-hilistic positions. Operationalism and technological neu-trality allows the subject to identify with technology. Wegive up our humanity without a second thought. We are thetechnological system looking at the world through ‘obser-vational channels’. When we lose our ability to distinguishbetween ourselves and technology. That dehumanizationleaves us totally lost in the nihilistic essence of technology.Instead we must struggle with the concept of a system anddistinguish it from the concept of object. An object is athing pointed at and focused on present-at-hand. A systemon the other hand is a set of objects interacting dynamicallyas a whole. This is precisely the same idea of a set of fig-ures with the same ground that dynamically form a seriesof gestalts. The idea of a system is an attempt to make theground within which the objects of a system relate dynam-ically present-at-hand. In physics this is represented by theconcept of a field. In the field system wide interactions be-tween objects are given a specific mathematical form. Asystem would be better recognized as a manifestation ofready-to-hand phenomena. As such it can never wholly bemade present-at-hand. Thus come the problems of defininga system. Either definitions render it empty as does Klir orget tangled in messy ontological problems. The recogni-tion that a system is more than an object with a differentkind of coherence immediately leads us to suspect that ithas different ontological grounds. These grounds areglossed over by futile attempts to turn it back into a mereobject as Klir would have us do. Instead of recognizingthese grounds out right Klir reintroduces the distinction be-tween general systems and specific systems. Systems sci-ence occupies a meta level to the study of all particularizedsystems by various disciplines. The meta-level is intro-duced surreptitiously in the sophistic style so common inwestern theorizing. The structure of Klir’s systems theoryis brilliantly conceived. But it lacks the straight forwardrecognition of the difference between systems and objects.Objects are present-at-hand focuses of attention for sub-

jects. Systems are present-at-hand representations ofready-to-hand phenomena. These representations alwaysmix formal and structural representations to achieve theireffect and always represent meta-level constructs, wherethe contents of forms are structured, to achieve controlover the transformations from one form to another. The setof transforms is characterized as a system. In this mannerform and structure mediate between objects and meta-ob-jects (i.e., systems).

The ‘intentional morphe’ is what projects form on content(hyle). The noetic and noematic cognitive striations revealpure form and pure structure as abstractions within thefield of the system. Form and structure are actually boundtogether as necessarily intertwined within the system.They are the internal and external coherences of the sys-tem. The external coherence appears as the series of formsarising within the gestalt whole. Structure is the transfor-mations of contents allowed by the categorization of con-tents. These transformations of content allow the trackingbetween formal transmutations which makes it possible torelate a particular form to all the other manifestations gov-erned by the system field.

content + form

object

FIGURE 39

form

structure system

noematicnucleus

essence

abstractedformal

relations

categorizedcontent

meta-objectset of

transformations

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

59

According to Husserl it is the arising of essences as distinctfrom simple ideas which is the key point. Essences are dif-ferent from the results of induction or deduction. These lat-ter are purely formal logical performances. Charles Piercecontrasted these with ‘abductions’ [131]. In abduction onejumps to the conclusion. As Husserl noted one knows ‘a li-on’ the moment it is seen. Its essence leaps forth withoutinduction or deduction. Essences arise at the systematiclevel. Objects have noematic nucleuses which reveal theirform-content coherence as objects. Noesis provides ourability to understand transmutations by categorizing con-tents and mapping between discontinuities informal pre-sentations. The ability to perceive structural relations re-veals the essence of the objects. The objects essence relatesto its possibilities of variation and reveals its inner neces-sary structure. Essences are separated from accidents as theinner coherences of objects. This separation of essencefrom accident appears for the first time at the systemic lev-el. There is a direct line between that separation and thearising of point/grasp or agent/process as images of the

model differentiation between the present-at-hand Being 1

and the ready-to-hand Being 2. Essences have a differentmode of Being than objects as neomatic nuclei. Husserldiscovered this and Heidegger based his whole philosophyon this difference in modality. Essences express the vari-ability of the object within the systemic field. They expressalso the limits of that variability where one figure/formtransforms into another and the gestalt changes. Once it isrealized that essences have a different modality from the

noematic nucleus that supports them then the importanceof accidents becomes obvious. Accidents are what makedifferent incarnations of a certain kind of essence unique.This uniqueness is the key to connecting essences to con-crete lived reality. This is why existence occurs as a levelbetween the phenomenal and the life world. Existencegrounds essences. The agent/process dichotomy relatesthis same point back to software systems by the distinctionbetween autonomy and behavior. Without processors func-tional behavior would never be concretely realized inspace/time.

Systems are meta-objects whose nature is technological.Systems are in fact the technical view of everything. Wesee everything as systems. In this way we convert theminto meta-objects which we can deal with technologically.Klir’s epistemological levels show how this technologiza-tion of objects works in a clear way. The object is instru-mented, observed and then simulated. Then the object it-self is discarded and replaced with the simulation artifact.The simulation artifact at a technological level may be amachine that imitates the original but makes the processimitated more efficient. This process of technologization isintensified at the meta-technical level. There software al-lows the simulation to be adapted and integrated. The dif-ferences between the technological and the meta-technicalhave already been discussed. The meta-system appears inKlir’s work as the infinite regress of meta-models andmeta-structures. These two infinite regresses are similar tothose generated by Russel and Whitehead’s theory of log-ical types [132]. This is where the concept of meta-levels131. See Bib#231

phase 1

phase 1phase 2

phase 2

reversability

reversability

limit

perspectivelimit

perspective

spacetime

timespace

x+y+z-t

past+present+future-nowhereFIGURE 41

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

60

as the solution to logical paradoxes was first tried on alarge scale. The problem was that infinite regresses ofmeta-levels were produced so that solving the paradoxesjust changed where the problem lies. That these same infi-nite regresses should appear in the description of the for-mal-structural system is an important fact. The fact thattwo infinite regresses appear together is also important.These are the expression of the in-hand modality Being3

within the description of the formal-structural system. Thesingularity of pure immanence is the ultimate source ofthese two horns of Klir’s dilemma. The dilemma is that in-finities cannot be factored out of his model they appear asthe ultimate barrier to fully understanding systems.

* * *

Software systems are ‘systems’ to the extent they imitate

hardware. As software they are really meta-systems. Whenwe build software systems this distinction between systemand meta-system is lost for the most part. We do not thinkof the meta-system but suppress it by outlawing suchthings as gotos & self-modifying code thinking that theproblems have been solved by this expedient. When wecome to define the software method we find that this dis-tinction again becomes, very important. Our approach hasbeen to take the singularity which the infinite regress ofmeta-structures and meta-models banished by Klir to exot-ic realms beyond where it is possible for us to think clearly.(Remember Bateson pointed out that we have difficultythinking beyond the fourth meta-level). Instead our ruse isto take the singularity and embed it at the heart of the de-scription of the formal-structural system. This is done byturning our four perspectives into ‘supports’. Thus the re-lation between perspectives as ‘supports’ and system attri-butes, i.e., the component concepts of methods, expressesthe relation between system and meta-system (between

process Being2 and Hyper Being3). What Klir presents asa present-at-hand model has two other modes of Being hid-den in it. We have drawn out the ready-to-hand (as system)and contrast it directly with the in-hand (as singularity thatis source of two infinite regresses of meta-levels). Thepresent-at-hand object which was Klir’s empty definitionof object has been given life by introducing a true subject-object dialectic. The subject ‘takes’ perspectives and viewsfrom one perspective the object bound to another perspec-tive. The observation channel becomes an introspectionwithin the system of the formal-structural system itself.Each introspective observation channel is characterized asa minimal method. A method is a means of viewing otherperspectives and also a means of moving to another per-spective. The dialectic between the perspectives and themethods provides the relation between the system and themeta-system. The perspectives are faceted, and embeddedwithin their facets is the singularity of pure immanence -the point of pure cancellation for all the relations betweenthe perspectives. What is left when this cancellation hasoccurred is the proto-technical meta-meta-system.

This transformation of Klir’s formal-structural system rep-resentation causes methods to play a crucial role. They areessential bridges between the technical and the meta-tech-nical realms. Through methods the essential natures of sys-tems become clear. The essence of systems must in fact bemeta-essences because systems are the field within whichessences are first apprehended. The essence of the fieldthat gives rise to essences must be a meta essence. Essenc-es and accidents are delineated by partial orderings with nodistance. These are contrast with full linear ordering withdistance provided by space/time. The perspectives them-

132. See Bib#68.

G

D

S

O

metametastructure

?

object

source

data

generative

FIGURE 40

infinite regressinfinite regress

singularity

model

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

61

selves arise from these two opposite methodological dis-tinctions. It is in fact the methodological positions of lin-earization without distance and distancing of partial ordersthat support the meta-essences. Methods are meta-essenc-es. This is why they can describe systems which are thefields within which essences and accidents are discovered.Only as meta-essences can methods be directly related tothe nature of meta-systems composed of software. Only asmeta-essences can methods deal with the presence of thesingularity and represent the nonrepresentable softwaretheory. Each introspective observation channel connectingperspectives on the formal-structural system contains asingle meta-essence that bridges not only between the per-spectives but also between the perspectives and the systemobserving itself. What is a meta-essence? Sounds esoteric.An essence is the variability of the object. One would ex-pect the meta essence to express the variability of the sys-tem. It must express the limits of the variability of the sys-tem. Without the necessary attributes of the meta-essencethe system would no longer be a system. The set of meta-essences together make up the internal coherence of thesystem and the meta-essences all cancel making the sys-temic field vanish. Meta-essences must cancel leavingonly the residue of Wild Being which is what lies beyondcancellation.

* * *

The next step is to extend the concept of methods as meta-essences built upon intermediate methodological distinc-tions. This can be best done by comprehending the differ-ence between linearization (L~D) and distancing (P+D).The difference between Spacetime (x + y + z - t) andTimespace (past + present + future - nowhere) has alreadybeen mentioned. This difference occurs because of the na-ture of the interval. Intervals consist of a temporal and spa-tial displacement. Because of relativistic affects one ob-server may see the temporal phase to be larger or smallerthan another observer. The theory of relativity in physicsexplains the relation of expanding and contracting phasestructures for different observers in different inertialframes of reference. The understanding of phase structureof intervals is also important for understanding the relationof minimal methods as meta-essences.

In the interval between two perspectives there is a phasestructure. This phase structure may be shifted in relation toeach perspective. In spacetime this shift may cause thespace phase to be displaced in relation to the time phase orvice versa. The two phases are separated by a point of re-versability [133] which is the area where the transforma-

tion from one phase to the other occurs. The phase struc-ture can be looked at in two ways. If space is emphasizedit is spacetime whereas of time is emphasized it istimespace. Minkowoski timespace model is an example ofhow time can be emphasized over space. Light cones dis-tinguish past, present, and future whereas the spatial com-ponent is reduced to the "nowhere" of nonoverlapping lightcones. In spacetime the time component is one dimension-al whereas in timespace it is the space component that isone dimensional. The important thing here is that the inter-val relates two perspectives and there are always two waysof looking at these two perspectives. Minkowoski’s spa-cetime model is best for thinking about casualty in a fourdimensional plenum. Einstein’s spacetime is a better mod-el for thinking about communication and synchronization.These models emphasizes either the linearity of time(timespace) or the distancing of space (spacetime). Bothallow the phase structure necessary for relativity to appearwithin the interval. One model emphasizes one kind ofphase as primary whereas the other emphasizes the otherkind of phase.

When we consider the minimal methods related to event/data, or time/space, the phase structure of the interval playsan important role. The two methods which appear here arecalled ‘data mutation’ and ‘design element flow’. Data mu-tation is the most basic of methods for determining wheth-er software is working properly. We enter print statementsinto the program and check their changing values as theprogram runs. Data mutation may be observed by the pro-gram itself. A threshold is set up which will cause a controlsignal to be generated, when the data values cross a crucialthreshold. The streams of changing values in different vari-ables is a fundamental way of looking at a program whichemphasizes linearization. The other method which servesas an introspective observation channel is design elementflow. This minimal method concentrates upon the flow ofdesign elements like pointers, counters, timers, etc.,through system states. The emphasis is not on instanta-neous values but upon correct operation within a particularsystem state. Most designers consider design elements asclockwork like mechanisms. These clockwork mecha-nisms work together in a static gear work fashion to manip-ulate input/output data. In fact design elements flowthrough system states just like input/output data. With de-sign elements it is the relation between various kinds of el-ements which determine how the system works. A systemneeds several different design elements in order to work. Itis the interlocking mechanism which introduces a certainsemantic distance into the system. The more complex sys-tem will have a greater diversity of design element types

133. Cf. Merleau-Ponty’s ’Chiasm’ in Bib#203

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

62

working together. This can be seen by differences in Hal-stead metrics which compute total operators/operands ver-sus unique operator/operands. This semantic diversity to-gether with the complexity of system states determinespaths of design element flows. The design elements cross-ing system state boundaries introduces distance into thesoftware system. The distance is the opening up of differ-ence between diverse kinds of design elements working to-gether in an interlocking fashion which changes as systemstates change. Distance here means similar/dissimilar andnear state/far state. The treatment of dissimilar types of de-sign elements working together in the same state and thetreatment of the same element across various system statesis how distance appears. Distance is the opening up of dif-ference in terms of differentiation.

Note that both data mutation and design element flow aretwo different ways of looking at the same thing. Data mu-tation may consider several different data objects valuesinstantaneously or the history of a single data object. De-sign element flow may consider the state changes of a sin-gle design element or the differentiated set of design ele-ments present working together in a single state. These arediachronic and synchronic views. When design elementsare considered as merely data objects with instantaneousvalues then data mutation has precedence. Every design el-ement has as its basis a data object. Design elements flowis the event view of data whereas data mutation is the dataview of event. Design elements emphasize the systemicevents that happen to design elements. Data mutation em-phasize the data changes that are brought about by system-ic events. The data centered view watches the data objectsthemselves and looks for instantaneous changes. The eventcentered view considers thresholds of system significantchanges to key design elements flowing through systemstates as important.

The crucial difference between these two methods is theemphasis of one phase over the other. One is a timespaceemphasis while the other is a spacetime emphasis. Datamutation emphasizes spatial aspects of the software sys-tem. Data are kept in different memory locations and whatis printed is the instantaneous value. Input/output variablesare emphasized. This is a timespace view. History is im-portant. Design element flow is the cartesian product ofsystem diversity and system state diversity. Thresholds ofvalues are important and internal variables are empha-sized. This is a spacetime phase space. The internal differ-entiation of values within system thresholds is important.

A way of perceiving the difference here is to examine the

distinction between system dynamic simulations discreteevent simulations. Both are performed on digital comput-ers. In system dynamics it is the deltas between systemvariables over time that is important. In discrete event sim-ulations with queues it is the interlocking of system com-ponents that is important. Both are dynamic simulationsbut these are two very pure examples of the difference be-tween data mutation versus design element flow views ofa system. The system dynamics simulation looks at a sys-tem as a series of attributes which change in relation toeach other over time. The internal connection of the attri-butes is not considered but only their outward behavior inconcert. The discrete event simulation sets up structuressimilar to the system under study and allows the individualbehaviors of discrete elements to add together to make upan overall system behavior. In discrete event simulation itis the internal relation among system components that isimportant more than the instantaneous readings of exter-nally observed system attributes. One is an approximationworking from the outside in and the other is an approxima-tion working from the inside out. System dynamics (out-side - in) emphasizes the history of attribute values read in-stantaneously, (linearization). Discrete event simulation(inside-out) emphasizes the relation among internally dif-ferentiated system elements working together to create asa side effect overall system behavior (distancing). Systemdynamics has the premise that the whole of the system canbe characterized by itself. Discrete event simulation saysthe system is the sum of individual component behaviors.Considering the examples of different types of simulationit is possible to see that date mutation sees each data objectas a disconnected system attribute. The history of thesevalues over time is an external view of the system history.Design element flow gives an internal picture of individualsystem components interaction. This interaction whensummarized becomes a picture of system wide actions.This is a restatement in terms of software systems of whatArthur Koestler called the Janus [134] like nature of sys-tems components. They are holons which act as systemsviewed from below in the control hierarchy and act as com-ponents working together when viewed from above. Theconception of the holon is precisely the area of reversibilitybetween the two phases of the interval. Linearization of theholon is related to an external or view from below. Dis-tancing of the holon is related to the interval or a view fromabove that sees differentiations interacting and working to-gether to form a whole system. The system is a holon com-posed of holons [135]. Each holon is both componentworking together with other components and a whole sys-tem itself. Meta-essences describe holons from differentperspectives. Where essences describe the variation of ob-

134. See Bib#177.135. See Bib#234.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

63

jects and their limits of variability, meta-essences describethe variation of holons and their limits of variability. Ho-lons are the components of systems. They are subsystems.A software theory must strive to create holons that work to-gether and also function independently as systems. Holonsorganize the system gestalt where a certain set of systemobjects appears. In another gestalt a different set of systemobjects appears. The holons are the transitions between ge-stalts. They control localized transformations of objectsbetween gestalts. Holons are not objects themselves. Soft-ware theory strives to construct holons because it is thatwhich will make a software text into a software system.The interaction of holons are the meta-system. Design heu-ristics strive to impart paths of thought that will result inholonomic structure [136]. Design heuristics are the mostimportant aspect of design methodology. Through heuris-tics we attempt to learn how to create holonomic structure.These holonomic meta-structures exist in the intersticesbetween meta-models and meta-structures. They cannot beseparated from the intertwining of meta-structures andmeta-models. They are seen in the elegance, simplicityparsimony of systems design. Where software theory isnonrepresentable software holons may be glimpsed bypassing back and forth between linearizing and distancingmethods and may be indicated with heuristic aphorisms.

* * *

At this point begins a derivation of the methods of softwareengineering. By derivation is meant a step by step explica-tion of the relations between the methods starting fromprimitives which are related to single perspectives that arecombined in order to allow the bridging of the gaps be-tween perspectives. Minimal methods are defined and thenfinally the holons that lie between minimal methods are in-dicated. Derivation is a difficult process because it goesagainst traditional approaches to the development of meth-ods which are normally ad hoc. Derivation treats the meth-od ‘space’ in a systematic and rigorous fashion. Because ofthe complexity and length of exposition needed by full der-ivation only an outline will be presented here. In the out-lined derivation only the major structural elements will betreated. The treatment will attempt to place these methodsin the context of the formal-structural system while build-ing up all the major structural elements necessary to dealwith the interrelation between methods fully. A series ofentity-relation diagrams will be used to build up the rela-tions between elements of the methods step by step.

Let’s begin with an overview of what a system is to us be-fore we attempt to be explicit about the definition of per-spectives. A system is a gestalt of interrelated forms. Assuch it has a foundation that depends on both formalismand structuralism. Formalism is a set of rules for manipu-lating contents. The contents remain unspecified within theformal system. Only the rules and their relations to eachother are important. Structuralism is a subformalism inwhich contents are classified and become bound by theirown rules. By shifting levels back and forth between for-malism and subformalism (structuralism) functionalchanges are represented as transformations. The formal-structural foundation of the system allows the gestalt to bemodeled explicitly. The gestalt itself is however alwaysmore than can be captured by an formal-structural modelof a system. The formal-structural model of a system thatappears within the horizon of the world is always a gloss oran abstraction. Systems are intrinsically both temporal andspatial in their differentiation as natural complexes withinthe world. The fact that they appear within the worldmeans that they may be observed by multiple observers. Itis from the observation of a system gestalt that Klir’s epis-temological levels arise. These are balanced by the onto-logical levels already described. The observer uses theepistemological levels in order to focus on different as-pects of the system gestalt. The observer applies the for-mal-structural matrix to the observed system gestalt in or-der to get a dynamic model that can be understood theoret-ically. There is no limit to the sophistication of theoreticalunderstanding. An infinite regress of meta-models andmeta-structures linking models assures this. Behind this in-finite regress may stand the singularity of pure immanenceas an unattainable limit.

What has been described is the superstructure which al-lows systems to be viewed theoretically and philosophical-ly. This superstructure is essential for systems science andsystems philosophy but is inessential for the developmentof an approach to methods. For the development of an ap-proach to methods the concept of meta-system is impor-tant.

A system may be described in purely formal-structuralterms. In this case the attempt is to give a present-at-handdescription of a ready-to-hand entity. However, a meta-system contains a singularity of pure immanence and isperspectively fragmented. This means that a meta-systembreaks up the community of possible observers so that eachobserver must take a particular position in relation to thesystem in question. The meta-system structures the com-munity of possible observers. The meta-system encom-passes the infinite regresses of meta-models and meta-136. See Bib#185.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

64

structures giving them coherence as they revolve aroundthe singularity of pure immanence. The perspectives pres-ent qualitatively different views of the system under study.Perspectives see a particular set of qualities to the exclu-sion of other qualities. This set of qualities acts as a filterwhich enhances certain aspects of the system and causesother aspects to be veiled. This qualitative filtering is animportant phenomena. It cannot be accounted for in for-mal-structural terms. Qualitative filtering gives an aesthet-ic dimension to the study of the meta-system which cannotbe seen in relation to the system alone. Design eleganceand optimum solutions enter into consideration by thisdoor. The perspectives available in relation to the softwaremeta-system are DATA, EVENT, AGENT and PRO-CESS. Data means information stored in a specific place inmemory. Event means temporal modulation of signals.Agent means different loci of independent action. Processmeans specified functional transformations. Softwaremeta-systems organize the observation of formal-structur-al systems.

The observation of systems must account for their gestalt-like character. As such each system has a set of facets. Theobserver may focus on any given facet conditioned by aparticular perspective which will alter the quality of thefacet. A given facet is conditioned by the environmentalcontext to which it responds. The environment, which isthe world from the point of view of a particular system,contains many contexts. Contexts interpenetrate within theworld [137]. This means that many different contexts ap-ply simultaneously to a particular system without necessar-ily interfering with each other. This interpenetration of sys-temic contexts is called their holoidal character. They are,as George Leonard says, like holograms [138]. For the ob-server these contexts are seen as different roles. The worldhas a set of environments depending on how many systemsit appears to contain. An environment has a set of contextswhich interface with the facets of any particular system.The observer has different roles related to the environmen-tal contexts. The observer has four qualitatively differentperspectives which will allow him to focus on a particularfacet. The system synthesis organizes all the facets of thesystem. The focus highlights synthesis as it controls a par-ticular facet that is the current center of attention. Systemsalso have modes of operation. A mode is a select set of sys-tem responses keyed to an environmental context.

Beyond the gestalt nature of the system it is also importantto note that systems have sub-systems. A subsystem is a set

of systems that cooperate to make up an overall system.Subsystems are holons in the sense of Koestler in that theyhave a Janus face. They appear as parts working togetherfrom the outside and as complete systems from the inside.Systems may or may not be seen to be composed of sub-systems. This depends on whether the gestalt contains sub-gestalts. These sub-gestalts may or may not be related tothe meta-system. For instance, a purely formal-structuralsubsystem may exist next to a subsystem with a meta-sys-tem within the same over arching system. However, if asystem has both a meta-system and nested sub-gestaltsthen the meta-system organizes the nested sub-gestalts.

* * *

The meta-system extends the system in two directions. Themeta-system allows the articulation of supersystems andsubsystems that act together to form a whole. The meta-system also allows the differentiation of perspectives fromwhich the qualitatively different facets of these systemsmight be viewed. Within the meta-system the behavioralsynthesis of the system becomes a harmony of subsystemseach with their own synthesis and the perspectives of mul-tiple observers. The perspectives of multiple observers me-diates between the articulated subsystems and supersys-tems which bracket the system itself. Meta-systemic har-mony is an important concept that gets little treatment bygeneral systems theory. That theory sees systems as ran-dom collections of attributes without even the coherence ofa gestalt. So how could they go on to deal with the harmo-ny of meta-systems. This lack of insight or short-sighted-ness is a symptom of our cultural disintegrity. The inabilityto see harmony in meta-systems leads directly to a kind ofcognitive dissonance that shows everywhere in our envi-ronment. The best discussion of harmony must come fromthe study of cultures which were not so blinded. ChungYing Ching’s article "On Harmony as Transformation"[139] is an excellent study in the meaning of harmony. Hedistinguishes four grades of harmony:

A. Logical consistency Formal systemB. Interactive relation Structural systemC. Mutual support Meta-system HolonD .Interpenetration Meta2-system Holoid

Ching’s first level of harmony is that which occurs in a for-mal system. Within a formal system logical consistency ofrules governs the harmony of propositions. The second

137. See Bib#55138. See Bib#299 139. See Bib#61.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

65

level of harmony is that of interactive relation which oc-curs which can only occur when time impinges on the for-mal system turning it into a structural system. The thirdlevel of harmony goes beyond the formal and structuralsystem. It is only captured by the meta-system. This is themutual support by holons (Arthur Koestler) within thesame system. Holons are systems within systems. For thisreason they can only be described adequately in terms ofmeta-systems. The fourth level of harmony is the interpen-etration of mutually supporting subsystems. This is de-scribed by George Leonard in the The Silent Pulse the ho-loid [140]. The best exposition of interpenetration is byFrancis Cook in his book on Hua-Yen Buddhism. Interpen-

etration may be described as a meta2-system phenomenawhich is generally demonstrated by referring to holo-grams. Holograms are lightwave interference patterns inwhich the whole form is contained in every part in poten-tia. The Holographic Paradigm by Ken Wilber explainsthese concepts [141]. This definition of the different levelsof harmony is important for the understanding of systemsand meta-systems. It gives a view which has been totallyneglected within western science and engineering. Thisview is beginning to become important with such move-ments as Deep Ecology [142]. It is a view which attemptsto understand the harmony we experience, but generallyignore, within the world. This harmony holds systems asholons together in mutual support to form meta-systems. Itholds meta-systems together through mutual interpenetra-

tion to form worlds or meta2-systems. Harmony is the aes-thetically perceivable guide which should inform our sys-tems design and construction work. This aesthetic dimen-sion is generally lost because engineers do not considerthemselves artisans in the same way as architects. For thesoftware engineer we might wonder what interest therewould be in harmony when his product is never seen. Yetwhat Alexander calls the ‘quality with no name’ (nb theTao [143]) [144] pervades everything that we create as hu-man beings. Even software design must take seriously theinner harmony of the systems it produces in order toachieve elegance, simplicity and optimality. These canonly be achieved by taking into account the harmony thatbecomes apparent in the relations of systems to each other.Mutual support is only made visible by comparing wholesto each other. Interpenetration only becomes visible whenit is realized how differences are exactly what makes itpossible for things to be the ‘same’. As Heidegger saysthere is a belonging together among things that are the

‘same’ which is different from and richer than the conceptof identity [145]. Interpenetration allows the mutual sup-port of the details of different subsystems to be grasped asa holoid where those differences allow the greater whole tobe realized in actuality.

In our exploration of methods it is precisely this perceptionof harmony which must be brought out into the open. Thisis because it is that aesthetic perception of harmony whichcounteracts the fundamental nihilism of technology andmeta-technology. Because meta-technology deals promi-nently with meta-systems that may be seen as holons it ispossible to glimpse the non-nihilistic distinction throughthe veil of nihilistic erratic change and excrescences. Thetechnical system is also a human system which has the pos-sibilities of realizing the non-nihilistic distinctions in themidst of nihilism. This makes the agenda of deep ecologythe inner most possibility of the technological system.

* * *

Software engineering is taken here as the exemplary praxisof our age. Its essence is nonmaterial production. Work hasalways been understood before as physical work that in-volved rearranging material matter to some end. Softwareengineering rearranges gigabytes of ASCII characterswhose physical representation is perfectly mailable. Thisexemplary praxis changes the nature of all other praxis.Blue collar traditional manufacturing work is transformedby computer literacy. Production of physical products be-gins by programming the production line machines. This ismost significantly borne out by the idea of the human Ge-nome project. In this project it is suggested that the entirehuman genome may be read. The secret book of human lifewritten in the DNA spiral in each of our cells might be un-locked. The DNA code could then be used to reprogramhuman development. Thus we intend ultimately to repro-gram ourselves. We see ourselves essentially as the pro-grammers of everything in the world including ourselves.Selective breeding is replaced by genetic engineeringwhich is essentially a kind of biological software engineer-ing.

So software engineering is an important example of howthe technological world is being transformed in our time.As such it is interesting to note the relation between nihil-ism and non-nihilistic harmony within this new discipline.

140. See Bib#185.141. See Bib#299.142. See Bib#83.143. See Bib#183.144. See Bib#9. 145. See Bib#130.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

66

Nihilism is intensified at the meta-level of Being 3, HyperBeing. Nihilism becomes the active destruction of mean-ing in the technological society. Within this bleak and direpicture we note the arising of the importance of harmony.Disharmony and strife in the world highlights the need forharmony. We experience harmony in stark contrast to theexcrescence of erratic change or noise produced by the dy-namic formal-structural system. At the world fair in 1960 Iremember an exhibit that showed a single machine a milelong crawling through the rain forest of the future (whichis now). In one side went everything living and dead fromthe rain forest in the machine’s path. At the other end cameout a road and on the road trucks carrying the transformedrain forest. This machine is the mythical image of the dy-namic formal structural system transforming wild intotame in a single all encompassing transformation. Nowwith holes appearing in the O Zone the ‘myth of the mega-machine’ is slowly being replaced by furtive searches forharmony in a world which is fast on its way to becominglike Venus - uninhabitable because of excessive green-house effect.

In software engineering, a realm which is safely within thetechnical establishment, there is no pollution. We use sucha small amount of power that solar cells could furnish allthe necessary energy. Now we waste paper by the ream butthese print outs are ultimately unnecessary. We couldachieve the ideal of paperless environments if necessary.Thus every way you look at software engineering it is akind of production that has risen above the dirty industries(i.e., polluting and resource destroying) of the industrialera. Post-industrial production like software engineeringalthough it is within the technical sphere apparently has aradically different nature from traditional production. Soft-ware production is clean. It is the traditional industriescontrolled by software that are still dirty. And softwarehelps those inherently dirty industries to be cleaner andmore efficient. Retooling no longer means remachining.Resource utilization may be monitored. Pollutants emis-sions may be monitored. Software allows traditional pro-duction to tighten its control on waste and inefficiency.Software exerts an influence on traditional productionwhich is subtle and profound toward a cleaner, more effi-cient, more harmonious working of the myriad differentparts of the industrial complex.

We might say that machines display the harmony of logicalconsistency (A) embodied by the formal system. Chemicalprocesses display the harmony of interactive relations (B)embodied by the structural system. In interactive systemscatalysts which facilitate but do not enter into interactions

are possible. Chemical and mechanical industries havebeen the traditional productive centers of our economy.However it is only software which makes possible a har-mony of mutual support between elements of the chemicaland mechanical industrial complex. In the past careful de-sign has brought these elements into close interaction as inthe automobile. However, actual mutual support with mul-tiple feedback relations between parts was primarily a sideeffect of design rather than being intrinsic to the system.With the advent of software the mutual support is intrinsicto the system. This software based harmony in airplanes iscalled ‘fly by wire’. It is only the electronic signals be-tween cooperating processors that allows the plane to fly atall. For instance, it is said that some aircraft with forwardswept wings could not fly without computer controlledcompensation. Thus, software introduces the possibility ofintrinsic mutual support between subsystems within themeta-system. In this way the artificial meta-system be-comes a reality only with the advent of software.

It is the holonomic harmony of the meta-system which isthe ultimate aim of software. Thus the aim of softwaremethods must be the definition of the holons which makethat harmony realizable. Methods as formal systems can-not capture these holons. They show up as the heuristicswhich are the real heart of any method. Instead methods intheir interaction with the structural system of the softwareitself make the holon/heuristics visible for the first time. Inour attempt to derive our methods rigorously we must keepin mind the goal of making these heuristics visible. Meth-ods are meta-essences of systems. Systems are composedof objects with attributes. These objects have essences inthe traditional sense. (Attributes which if varied past a cer-tain limit the object is no longer the ‘same’ object). Sys-tems compose meta-systems which are the active environ-ments of the subsystems. Meta-systems exhibit the harmo-ny of mutual support between subsystems. The presence ofmutual support is the sign of a meta-system or active envi-ronment. The subsystems within a meta-system are holonsin Arthur Koestler’s sense of being both parts and wholessimultaneously. It is software which makes mutual supportan intrinsic rather than an extrinsic attribute of the meta-system. Software operates within the realm of Hyper Being3 which is governed by the essence of manifestation - thesingularity of pure immanence. A meta-system with ex-trinsic mutual dependence is not governed by the action ofthe singularity, whereas the meta-system with intrinsicmutual dependence must be so governed. This makes usthink about all organic creatures which are based on DNAcoding. All such creatures achieve intrinsic mutual depen-dence by carrying a copy of the master software in the nu-cleus/cpu of each cell. This implies that all organisms op-

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

67

erate on the level of Hyper-Being in some aspect of theirexistence and are governed by the law of pure immanence.It is obvious that mechanical and chemical processes playa large part in the functioning of the organism. The formaland structural relations of the mechanical (physical) chem-ical processes are not recognized to be controlled explicitlyby the software of the DNA strand. At this point the phys-ical and chemical analogies breakdown and a new softwaremetaphor must be used. Biologists are only slowly realiz-ing the implications of this change in metaphor. The bodyis a multiprocessing distributed system where each cell isholonomically independent/dependent processor. We real-ize the truth of this when dealing with neurons but falterwhen it is necessary to extend the metaphor to all cells ofthe organism. The question is how does the singularitymanifest within the functioning of the organism?

Within the meta-system exhibiting intrinsic mutual depen-dence achieved on the basis of software there is a fragmen-tation of perspectives that is necessary because of the pres-ence of the singularity. With respect to software this frag-mentation appears first in the separation of space(memory-data) and time (cpu cycles-event). Then laterthere appears the separation of pointing (agent) and grasp-ing (process). We will start by looking at the first separa-tion more closely. As has been shown these exhibit meth-odological distinctions (in Klir’s sense) of full metric or-dering (distance + linear order). Thus these two views areeasier for us to understand since we are used to dealingwith the full ordering of the x-y-z-t coordinate schemefrom intermediate level mathematics. As also noted abovespacetime/timespace is originally a single entity whichmay be viewed in two distinct ways. These two views in-form our separation of the time and space views. There canbe no total separation of space from time only shifting ofperspectives in such a way as to emphasize one or the othermomentarily. Our four basic perspectives are not totally di-vorced from each other but grow out of each other in a waythat is mutually reinforcing. Mutual support is real and ba-sic. It is ‘actual’ in the sense of Kubler in his book TheShape of Time [146]. ’Actuality’ differentiates into the in-terval which can either be viewed in terms of timespace orspacetime. These are further abstracted into space as dataand time as event.

What we wish to do is present first the pure space/data per-spective and then the pure time/event perspective beforeblending these to get the minimal methods that act as abridge between these two pure perspectives. This is thenext exercise in the derivation of software methods. The

derivation process aims to construct the minimal methodsin such a way that the holon/heuristics may be glimpsed inthe exchange between minimal methods on the bridge con-necting pure viewpoints. However, it must always be keptin mind that the ‘pure perspectives’ are a hypostasis fromsomething which is organically bound together. For in-stance, ‘spacetime’ and ‘timespace’ are meta-views whichallow the ideal views of ‘time’ and ‘space’ to appear as dis-tinct. But what is spacetime/timespace before the meta-views came into existence. What is the ’actuality’ of spa-cetime/timespace. It is obviously buried deep in the singu-larity. This is exactly what the singularity is not showingus. There is a lost - unrecoverable origin which is alwaysalready lost. The singularity is the dark face of this origin.We construct primal scenes to cover over this primal lost-ness which explain it away. But the origin of spacetime/timespace before the Big Bang is lost forever even thoughin a sense it is ever present. Like the relics of the Big Bangwe constantly live in the midst of the actuality of the originof spacetime/timespace. The singularity is the dark face ofthe always lost origin of the four perspectives. We livewithin the nexus of their unfolding. Experiencing that un-folding we are what Heidegger names ‘Dasein’ instead ofsubjects. The objects caught in that experience of unfold-ing might be called ‘ejects’ because of their being thrownalong with us. As Heidegger says we realize our essentialnature as falling within the world toward the abyss ofgroundlessness. It is within the ready-to-hand modalitythat Dasein relates to ejects within the world. In the pres-ent-at-hand mode we are again safely subjects relating toobjects. Subjects and objects do not experience the unfold-ing from the lost origin. They are static entities. Perfectspecimens for nineteenth century science. However, oncewe begin to recognize systems and become observers ofsystems suddenly the world is dynamic again. Those sys-tems are not like objects - as Klir would lead us to believe.He makes the minimal number of assumptions in order toavoid controversy. Systems exhibit formal and structuralcoherence wherein appear the harmonies of logical consis-tency and interactive relation. Yet systems also appear assubsystems within meta-systems. When these meta-sys-tems are purely extrinsic then we can say that the meta-sys-tem is projected as an abstraction on the subsystems. In thiscase the meta-system is an artifact. However, when themeta-system is intrinsic then it must be held together withan ontic structure like software. In organisms it is the DNAspiral and organisms are the exemplar of the dynamic in-terdependent mutually supportive meta-system. In factWhitehead used ‘organisms’ as the metaphor in his pro-cess-based philosophy which attempted to describe whathas been called ‘ejects’ above. The meta-system corre-

sponds to the meta-observer (meta2 subject). The meta-ob-server is the observer observing himself or the thinker

146. See Bib#180.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

68

thinking about thought. This is the final refuge of reason.It is a refuge in paradox which encapsulates the singularityin an analogous way as the meta-system. The best exposi-tion of this is The Tain of the Mirror by Roddlphe Gasche[147]. A good discussion also exists in The Sociology ofMeaning by John O’Malley [148]. Reflectivity and self ob-servation is a manifestation of the meta-system which willnot be dealt with here. See also the Reflexive Thesis byMalcolm Ashmore [149].

* * *

Understanding the layers from Process Being as manifes-tation out to the full expression of the world is importantfor our study. Heidegger speaks of the world as a ‘clearing-in-being’. We can think of it more as a vortex which like agalaxy has spiral arms. The arms form successive veils thatobscure the center of the galaxy. The center of the vortexis the point of manifestation - pure upwelling of existenceunfolding like a fountain - out pouring. This is pure ecsta-sy. "Humankind cannot bear very much reality" [150]. Soeach layer building out from the empty center of the vortexis a veil covering up that reality we cannot stand. The firstlayer is our experience of reality as Being. Being as C.Chang has said is "a subtle form of clinging" almost exclu-sively the sole province of Indo-European languages. In allthese languages the conjugation of the verb of ‘Being’ isthe most irregular. This is because the concept was forgedfrom multiple roots with similar meanings all indicating‘abiding’ or ‘remaining’. This veil of Being, subtle cling-ing to phenomena, is so deeply rooted in the western con-sciousness that we think of it as the foundation of thewhole world. It is a surprise to us when we discover thegroundlessness (the abyss) which is like quicksand beneathour feet. We discover ourselves to be falling and otherthings (ejects) are thrown with us into existence. The con-frontation with Being focuses us upon our own imperma-nence. The subtle clinging to things which Being repre-sents is experienced as everything being torn from ourgrasp. At this level our grasp of things in the world is mostimportant.

The next layer of veils is where we have reified and madestatic everything. We separate ourselves from everything -subjecting all things to our gaze. We are dialectically relat-ed as subjects to all the objects we have projected. We pre-

tend to be transcendent subjects untouched by the world asif that could possibly reduce our vulnerability to death.Distancing is the watch word at this level. This is the levelat which scientific technological subjugation of the worldoccurs. The distancing is represented by the pointing thatcreates the present at hand. Being is stultified by its sepa-ration from time. Being is no longer dynamic. This is theKantian universe of discourse. Transcendental objects areprojected as the ideal supports for this view of the worldwith God as infinite ideal connecting these two poles - thethird transcendental.

The next layer of veiling begins to become dynamic again.Only now the subject begins to be an observer of systemsrather than the subjector of objects. From domination wemove to a recognition interactive relations. From the logi-cal consistency of formal systems we move to the harmonyof structural systems based on interactive relations. Herethe observer sees the gestalts of system. This is a new entryinto an engagement with Process Being in a completelydifferent way. Here Process Being supports the dynamismof the formal-structural system rather than the primordialencounter with Being. Observer and system are locked to-gether in mutual definition. Suddenly the observer effectsthe observed system in ways we still find puzzling.

The next level of veiling appears as the reflectivity ofthought thinking of itself. It is the observer observing itselfcaught unawares by Lacan [151] in the mirror stage. Thisis the meta-observer caught in self paradox so well de-scribed by Douglas Hofstadter in Godel Escher & Bach[152]. This paradoxicality of reflexivity is matched at thislevel by the less explored nature of the meta-system whichmay have the intrinsic harmony compared by software. Atthis level mutual support appears in the environment of thesystem that becomes a holonomic subsystem.

All meta-systems ultimately interpenetrate to make up theworld. Here interpenetration is given C. Chang interpreta-tion as non-impedance (interference) of one meta-systemwith another. This is a primitive interpretation of interpen-etration which will suffice in this context. A fuller treat-ment may be found in F. Cook’s book on Hua-Yen Bud-dhism [153]. The world is made up of a myriad of meta-systems both intrinsic and extrinsic. These meta-systemsinterlock to form a coherent world where systems simulta-neously function in different meta-systems as subsystems.

147. See Bib#113.148. See Bib#224.149. See Bib#19.150. See Bib#94.

151. See Bib#182.152. See Bib#143.153. See Bib#66.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

69

The world is the meshing together of all the different meta-systems to form a concrete "de-totalized totality" as Satrewould call it [154]. It is the totality of everything there iswithout any explicit totalizing principle giving it inherentunity. We experience our world as the manifestation of allthat is in a semi-organized formulation we learn fromchildhood throughout our education. Different cultureswithin the global village have different twists on the samebasic superstructure that governs all aspects of our lives.Historically the divergences in ‘world views’ was muchgreater but slowly but surely a global culture is replacingthose divergent views. The de-totalized totality of post-modern techno-culture is becoming more and more perva-sive. The world encompasses the limits of our understand-ing. Multiple worlds used to exist side by side within thecosmos but these are becoming extinct faster than our plan-ets wildlife. The world is the outer limit of the vortex ofmanifestation.

The vortex of the unfolding of the world is a metaphor thatallows us to explore the fundamental aspects the harmonicnature of things. Each layer addresses a different kind ofharmony most of which were identified in the analysis ofChing Ying Chung. However, we need a way to see thisharmony and analyze it in a concrete manner. This neces-sitates the development of a vocabulary which will allowus to talk about what is crucial at each level of the vortex.Each veil has its own necessity that must be respected if weare to deal with harmony in a concrete way rather than as anebulous concept with no actual referents. The vocabularyto be introduced has already been shown diagrammatical-ly. Working inward from the peripheral of the vortex weencounter each of these terms in sequence. A brief expla-nation will follow.

The world’s limits are horizons within which all things ap-pear. Meta-systems or environments provide contextswhich to the reflective consciousness are situations. Theobserver has a focus on a particular facet of the systems ge-stalt. Dasein is shown the truth of its own care and the fateof the eject as they arise from pure manifestation which isthe center of the vortex.

Each perspective within the meta-system participates inthese harmonic levels. Each perspective has its limits whenit touches horizons. These horizons mark the interpenetrat-ing boundaries with other worlds. Each perspective has a

context with respect to the immediate environment of thesystem. The system has a facet that is focused on by the ob-server. The observer can also look within the system at ob-jects which have attributes. We will not deal with the fatedaspects of ejects since these have no psychological dis-tance from us yet. They are transitional objects [155]which are not yet totally decoupled from Dasein. Daseinand eject merge indistinguishably like the sucked thumb.This is an important level of care for self and the fated ap-pearance of the object as it is in itself phenomenologically.Our analysis of all perspectives really revolves around dis-tinguishing the following harmonic levels as in Figure 52.

This vocabulary allows us to discuss for the first time theharmony of design that we all strive for. In the field of soft-ware engineering this harmony is implicit in everything wedo. It has long been recognized that simple, elegant solu-tions are superior. Yet we lack a way of expressing the aes-thetics of design. With this vocabulary we can talk abouteach level of harmonization with an appropriate word andwe can see how the different levels work together in de-sign.

Recognizing the important place of harmony in design iscrucial to software methodology. Methods without a senseof harmony are empty tools without a craftsman to givethem life. The aesthetic aspects of engineering are very im-portant and little developed in this age. By building a vo-cabulary explicitly linked to the grades of harmonizationwe can begin to explore this unexplored territory.

* * *

The definition of the pure data perspective begins by rec-ognizing the difference between ‘class’, ‘entity’ and ‘in-stance’. A class is a set to which entities belong from whichthey could inherit attributes. For instance, the class ‘air-plane’ is a set of attributes such as wing span, number ofengines, etc. This set of attributes is given coherence whenmapped on to an entity. An entity is a generalized form thatincludes attributes as well as some other features. Thesefeatures include the name, a set of relations with other en-tities, an assembly, a set of faces, and a set of slots. Thename is an unique identifier for the generalized form. Theset of relations, such as ‘has_one’ or ‘has_set’ shows howthe entity fits together with other kinds of entities. The as-sembly is a set of parts that comprise the entity. Parts areother subentities of different kinds that acting together per-

154. See Bib#257. 155. See Bib#303.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

70

form the actions of the entity. The faces of the entity are theexternal views that other entities may have of a specific en-tity. The set of slots are active equations or rules that recal-culate if any values of attributes they are tied to change.

An entity is more than merely a collection of attributes.The entity is the concrete realization of an object whichmay exist within a system. This concrete realization is ageneral entity which has Being and persists through time.It has faces, parts, attributes, relations, and recalculatingslots. As such it can serve as a model of any passive objectwithin a system. It represents the pure data view of an ob-ject within a system.

Such a pure data view sees the datum. The datum is thelimit of the data perspective. It is the observed value of anattribute of the object. Klir’s treatment is perhaps adequatefor the observer who experiences the system as an un-known ensemble which he is attempting to reconstruct ormodel. However, for the software engineer who is attempt-ing to construct a system by design such an empty object isnot adequate. Instead we need a model of a general entitywhich can form the building block of our system construc-tion. We know that within a system there are various kindsof entities in multiple interlocking relations with each oth-er. Each of these entities belong to classes that expresstheir kind. Kind here is expressed as a collection of attri-butes. Since Aristotle attributes have been divided into es-

World

System

Gestalt

EpistemologicalLevels

OntologicalLevels

Observer

Foundation

Formalism Structuralism

Axioms Catagoriesof Contents

Rules Transformation

is in

is in

has set

has one

is a

supports

usesuses

depends ondepends on

has set has setuses uses

FIGURE 4 3

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

71

sential and nonessential (or accidental). Essential attributesmust be present for the entity to remain the same kind. Ac-cidental attributes may be varied without effecting the kindof the entity. Here kind is reduced to arbitrary sets of attri-butes. Kind is of course more than just sets of attributes.This is a external, minimal view fostered by analytic ‘anti’-philosophy. ‘Kind’ has internal structure as well being acollection of attributes. The ‘entity’ fills this void by pro-viding a general basis for the internal structure of any kind.The entity has relations with other entities which form asynchronic whole within the system. The entity also has anassembly of parts giving it internal differentiation.Through its external relations and internal differentiationthe entity fulfills its role as the general model of an objectwithin a system. Each entity may form the prototype of awhole series of similar entities of the same kind. These arethe instances of an entity. An instance will replicate all theattributes of the original class of the entity. An entity mayinherent from several classes at once. So the entity is thelocus of inheritance of attributes. Within the particular in-stance these attributes are called replicas. The slot is the ac-tive portion of the entity. The slot is the result of an equa-tion recalculating. This equation is based on the currentvalues of attributes. Through the slot the entity is given adynamism related to the assignment statement [156].Through the equations related to slots the inner structuringof the relations between attributes can be modeled. Theseinner relations are static but express the inner structure ofthe entity itself as a data transformer.

The pure data view sees entities as nets of relations be-tween different kinds. The entity is composed of an assem-bly of parts and it expresses a structuring of relations be-tween attributes that produce other attributes. The entityhas different faces which are seen by other different enti-ties. The entity is a general purpose construct for express-ing clusters of persistent data in definite structures. Thesedata structures will be called data ‘objects’. The entity is adesign concept necessary for the theoretical constructionof systems from the point of view of data alone. The con-cept of entities have gained prevalence through the emer-gence of object-oriented design in software engineering.Entities and their relations are modeled via Chen’s entity-attribute-relation diagrams [157]. A good introduction tothis is found in Shaler/Mellors book on Object OrientedAnalysis [158]. However our formulation differs some-what from their’s because we need a more robust designrepresentation for software systems.

* * *

The event perspective is very different from that of data.Each system can be subjected to an event perspective. Thekey idea in the event perspective is the ‘signal’. A signal isa stream of pulses or a steady state of energy in differenti-ation from other signals. A signal implies a stream of ener-gy whose differentiation remains fairly persistent. The oth-er signals along with the one under consideration form abundle of signals which have specific relations betweeneach other. The signal needs the bundle of signals in thesame way the ‘entity’ needs the class to give it kind.Through the synchronic/diachronic unity of the bundle thelacuna (blank spots) in the signal can be comprehended.The signal may either be broken by lacuna or modulated.These breaks or modulations when they cross imposedthresholds are events. An event is a change to a signal orgroup of signals that takes place at a specific point in time.Events have names and also have temporal relations withother events or lacuna. These temporal relations are repre-sented in terms of interval logic in terms of before-after-during relations as defined by James F. Allen [159].

X before yx equal yx meets yx overlaps yx during yx starts yx finishes y

These relations plus their inverses form the tem-poral logic of Allen

Interval logic allow time relations to be expressed withouta objective time line being established. This is importantbecause an objective time scale is not always possible. Inmany systems the temporal points at which things occur isnot as important as the linear ordering in time. Interval log-ic establishes linear ordering without necessarily having toestablish distance between time points. Interval logic al-lows us to relax distance to get the pure linear ordering oftime. Bundles of signals may belong to a sheaf of signals.The signal sheaf can express branching bundles of signals.This allows temporal, or modal, logic of necessity and pos-sibility to be expressed [160]. The core of a sheaf can beinterpreted as the necessary core of a set of possible

156. See Bib#54.157. See Bib#57.158. See Bib#268.

159. See Bib#10.160. See ??? {Temporal Logic}

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

72

worlds. A bundle of signals may branch at a particular timepoint to show two different routes of system evolution. Thesignals that have necessary modulations or breaks belongto the core of the sheaf unaffected by the branch which iscommon to all possible worlds. The sheaf contains all thesignals pertinent to the system. In this way the temporalview of the system is articulated as a series of events onsignals within a sheaf of bundles of signals where there areboth synchronic relations between signals and diachronicrelations between intervals.

* * *

This is a short introduction to the vocabulary and conceptswhich are necessary to understand the pure data and eventviews of systems. Every system can be understood as akind of entity and as a sheaf of signals. Both entities andsignals have the persistence necessary for Being. A systemdescribed as a sheaf of signals or as a set of entities withinthe system entity has the robustness necessary to be a fulldescription from these particular points of view. Howeverat this point these perspectives are totally separate eventhough they arose ultimately from the same lost source.Entities are static and signals are dynamic. The attributesof an entity could be tied to a set of signals. Thus thechanges in attributes that cause recalculation of slots mayoccur. In this way entities may appear to change over timeby the changes in their attributes [161]. However, this typeof linkage, which is the traditional one, is totally superfi-cial. What is needed is a deeper fusion between the dataand event perspectives.

Notice above that we linked signals to attributes. This sug-gests that the concepts of entity and signal are actually or-thogonal to each other. In fact when signals are attached toattributes then these attributes may experience events. It isonly the instances of an object that have attributes with val-ues. Thus there is formed a nexus where instances of enti-ties reflect events in bundles of signals. This nexus is giventhe name "eventity". By ‘eventity’ is meant the same asWhitehead called the ‘organism’ in his process centeredphilosophy [162]. Its ontological foundation is the ‘eject’described above in relation to Dasein. The eventity com-bines fully the features of the data and event views into asingle common element. The eventity is more like a pro-cess than a static object in a frozen world. The eventity isthe nexus of the orthogonal connection of signals to the at-tributes of instances of entities. But the eventity brings tobare the entire structuring of the data and event views on a

single nexus of transformation. Transformation becomesthe key idea because the eventity is a dynamic process ofunfolding where bundles of signals are actively gatheredby the entities whose attributes they are linked to and con-trol. As signals differentiate within a bundle associatedwith a entity the associated attributes differentiate. Sinceparts are associated with sub-bundles and since relationsbetween entities can change after time, the eventity givesan excellent means of modeling the dynamic parts of a sys-tem diachronically. The eventity is seen as a series of phas-es within an overall process rather than a static ever persis-tent object. Even though entities and signals are purely per-sistent their combination can describe a dynamic nexuswhich is more like the ‘organism’ described by Whiteheadin ‘Process and Reality’ [163]. It is bringing together theoverall structure of the data and event views that allowsthis representation of dynamic subobjects of systems. The‘eventity’ contains:

grid location plus movement {spatial attributes}start time plus extent {temporal attributes}local timeclockinstances plus attribute’s replicasbranch and bundles of signalssignals attached to attributesparts listsclassesslots and equations

This is a fairly robust design representation yet it still lacksa crucial ingredient which is Automation.

* * *

The addition of the automation to the eventity is a keytransformation from a means of representing the elementsof systems passively to the active representation a virtualprocessor that can simulate the dynamics of a system. Thisis a move from the passive eventity to an active eventitywhich is also an automation. The automation is added bothto the eventity proper and to the assembly of its parts. Cer-tain attributes are defined as input variables, states and out-put variables. The input variables accept a stream of sig-nals and the output variables generate a stream of signals.The output signals are based on the input signals and thestates. This is the basic form of the finite state machinewhich is generally known as a foundation of computer sci-ence. The eventity becomes a transformer that transformsinput signals into output signals. The slot with its equationthat fires is the mechanism by which the automation is ef-

161. See Figure 54.162. See Bib#298. 163. See Bib#298.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

73

fected. So the need for including this mechanism in the en-tity becomes readily apparent.

However, the eventity also has an internal assembly ofparts which must be coordinated. This is done by makingthe assembly an automation as well. The states of the partstogether with the state of the eventity determines the reac-tion of the eventity and the activators of the parts. Theworking together of the assembly automata and the eventi-ty external behavioral automata allows the eventity to or-ganize the behavior of its component parts as well as tohave a holistic behavior itself. The eventity contains bothaccepting automation (the assembly) and generating auto-mations (the eventity state machine) in a single structure in

order to effect its role as a holon. From the outside it hasthe behavior of its state machine while on the inside it is or-ganizing the behavior of its parts with the assembly autom-ata. The assembly is a cybernetic mechanism which is mar-ried directly to the automation to produce a self governingmechanism that at the same time controls its parts. This isan ‘autonetic’, or self-controlling, mechanism. Thus theeventity augmented by dual finite state machines may becalled an autonetic eventity. As such it is composed of thefollowing parts:

AUTONETIC EVENTITY

state list {Sn}

System Observer

FIGURE 4 4

Meta-system

Perspectives

Data Event Agent Process

Meta-models

Meta-structures

Singularity

has set

takes position

seessees sees sees

has one

has four

has

hasapproaches

approaches

regress

regress

Software theory

filters filters filters filters

makesnon-representable

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

74

current state {Si}input mapping {I}output mapping {O}reaction mapping {R}activation mapping {A}automata definition {Ixs}assembly definition {PSxs}

* * *

The ‘autonetic eventity’ is a fairly complex theoreticalstructure. It combines the conceptional structures of thepure data and pure event views of the system with the dualmechanisms of the automation and the cybernetic controlstructure. The autonetic eventity stands as a combinationof the temporal and spatial viewpoints on a system. Thesetwo fundamental viewpoints arose from the always lost or-igin of the singularity and separated at the level of Dasein/eject to become totally reified at the level of subject/object.Within the gestalt of the observer/system layer the entityand signal appear as the persistent focus of these perspec-tives. We discern the independent structuring of conceptswithin each perspective and how these can be recombinedinto a synthetic unity of the eventity which is equivalent toWhitehead’s organism in the process philosophy. Theeventity combines the persistence of the entity with thetemporality of the events. By taking this hybrid structurethat allows the perspectives to interface and adding inwardand outward automation we gain a general purpose simu-lator for dynamic formal/structural systems. A system maybe viewed as an ensemble of autonetic eventities. This en-semble is itself an eventity with its own assembly called a‘synthesis’ by which the parts of the system are controlledand coordinated.

This view of the system as an autonetic eventity composedof autonetic eventities provides a foundation for beginningto attempt to understand software methods. A softwaresystem is a good example of a dynamic formal-structuralsystem. The concept of the autonetic eventity can be usedto analyze the design of this kind of dynamic system. De-sign analysis and design synthesis are dependent on soft-ware methods. For only with software methods can we at-tempt to understand the dynamics of the system at a levelof abstraction higher than the execution of the code itself.Software methods are a representation at the ‘system’ levelof abstraction. This level of abstraction is above that of thehigher level languages commonly in use today. ‘Ada’ and‘C’ are examples of these higher level languages. They areidiosyncratic in their construction. They contain many fea-tures beyond the three constructs necessary for structuredcode (branch, iterator, sequence). They do not deal with

the software system as a whole but merely define eachstatement. The interaction of all the statements togetherwith inputs defines the software ensemble. Whether thesestatements act together as a system is difficult to discern bylooking at the sequences of statements alone. This is be-cause of the fundamental problem of non-locality [164].Software design elements may have to be spread throughout the code to achieve a certain effect. Unless all the plac-es in which the design element appears is known alongwith how they work together the effect of the de-localizeddesign element cannot be known. Design methods attemptto deal with non-localization of design elements by creat-ing a level of abstraction above the code where de-local-ized design entities may be conceptually localized. Local-ization insures that the conceptual structure will not exe-cute. It is not executable in the sense of code statements.However the design elements at the more abstract levelmake the multiple de-localizations at the code level com-prehensible.

This level of abstraction is where entity and signal appear.It is the level at which the software system might be repre-sented as a set of interacting autonetic eventities. Since theautonetic eventity is foreign to our usual concept of a de-sign element it will remain useful to speak in terms of thekinds of design elements that normally appear in design aswell in order to make our point clear. Design elements arenormally thought of as ensembles of statements that worktogether to perform a single duty. For instance a queue maybe a design element which is used in many places in a sys-tem for different ends. The design element has a wholerange of forms and levels of abstraction that it operates atto accomplish its work. The design element may be some-thing as lowly as a pointer, counter, timer, buffer or aslarge as a data base or communications protocol. Like thecode, the traditional software design elements form andlevel of abstraction that is idiosyncratic. Thus the conceptof an autonetic eventity as a higher level design elementserves as a means of finding the middle level of complexityand abstraction to refine our concept of the design element.

We expect software methods to allow us to focus in on theway design elements work together to form a single systemout of diverse elements. The system is a gestalt whichworks by combining diverse parts in coordinated efforts toachieve common goals. Understanding the system as awhole by looking at this cooperation of design elementsmay only be done by using software methods at the properlevel of abstraction. It has already been pointed out thatmethods appear as the relation between design points of

164. See Bib#274.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

75

view. Here we are dealing with only two points of view:event and data. We expect here two minimal methods toarise in order to let us see data from the point of view ofevent and vice versa. We are focusing in on these two min-imal methods in order to get a sense of how to derive all theother minimal methods which relate all the other permuta-tions of viewpoints.

The two minimal methods that arise at this point are called‘data mutation’ and ‘design element flow’ methods. Theyarise from the relation of the autonetic eventity to the soft-ware system as a whole. For instance, the design elementflow minimal method arises in order to formulate the rela-tion between system states to design element states. Thishas two forms. One form shows the multiple transitions ofthe eventities in relation to system states while the othershows the multiple eventity states that are the nodes of sys-tem transitions. In this way the overall coherence of thesoftware system can be designed and maintained [165].

These two forms of the design element flow minimal meth-od allow designers to formulate the coherence of design el-ements working together. Here event views data as flowingdesign elements. The events are the transitions (eithereventity or system) and the data are the state values (eithereventity or system). The method focuses on a crucial as-pect of the eventities working together in a coherent way togive the impression of coordinated behavior. This methodfocuses on the coherent relations between state machinesat different levels of abstraction. It could just as well be ap-plied to the relations of the eventity automata and its parts.It is clear that this method is directed at a particular aspectof the systemic overall functions of eventities working to-gether.

The other minimal method that arises at this point is the in-formation flow diagram of data mutation. The changes ofsystem and eventity states are just a special case of thechanges in the data components of software systems. Mostof the attributes and slots of the eventities that make up asystem will be in constant flux throughout the executionhistory of the software system. The Data Mutation minimalmethod addresses this other very important aspect of thefunctioning system. The data mutation minimal methodhas two aspects. The first is the trace of the signals attachedto eventity attributes. As signals are modulated they causechanges in the values of attributes of the eventity. Thesemodulations may be recognized as events by the systemwhen a difference that makes a difference to the system oc-

curs. These differences that make a difference are informa-tion. They are no longer pure datum because the systemmakes a judgement as to the importance of a particularchange. Information flow within a system occurs whendata about changes that make a difference is moved aroundthe system in order to cause reactions within the system.Events are recognized by using the slot equations. Achange in a particular attribute when it passes a certain val-ue causes a certain slot value to change and this signals re-actions by the state machine of the autonetic eventity. Thismay cause other attributes of the system to be altered. Onlyby watching the traces of the signals of general eventitiestogether can this kind of reaction be discerned. This is oneof the most basic software testing techniques. Pick a set ofrelevant variables and watch how they change as their val-ues are printed to the screen. The information flow be-tween program variables is the most basic way of verifyingthat a program is working correctly. As with the design el-ement flow method the data mutation has two basic dualrepresentations.

The information flow diagram shows the traces of data mu-tation. The information network shows the flow of infor-mation between attributes divorced from the signal traces.The information flow within a system is the manifestationof the internal temporality of the system. The coordinationof information flow within the system is crucial to a sys-tems overall functioning. In fact software systems are pri-marily characterized by information flows. This is whythey are called information processing systems. In manyinstances it is primarily the storage and manipulation of in-formation which is the primary concern of the non-real-time software system.

We see here that information flow mapping and state coor-dination are the fundamental aspects of the system that arehighlighted by these two methods. These two aspects worktogether to give the spacetime coherence of the system.The different variables that represent both states and vari-ables must be spatially distinguished. They each changeover time one within a finite set of state transitions on dif-ferent levels which the other varies continuously over wideranges of values. These variations are monitored by thesystem and reacted to so that information flows through thesystem are related to input values. The causality manifestin the autonetic eventity is the combination of input valuesof attributes and the reactions of the state machines to theseinputs. Thus the two minimal methods encapsulate veryfundamental aspects of the functioning of the software sys-tem.

165. See Figures 55 & 56..

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

76

* * *

This derivation of the two minimal methods that relate dataand event perspectives has been carried out in great detailin order to show how perspectives combine to give rise tomethods. As a speculation it is possible that these two min-imal methods are related to E. S. Bainbridge’s formula-tions of the dual representations of automata [166]. Studiedfrom the point of view of category theory one arrives at thedual of a category by reversing the arrows. Arbib and oth-ers have assumed that this is an opposite automata wheretime runs backward. Bainbridge makes the intriguing casethat in fact that the dual of the state machine representationof an automata is an information flow representation. Ifthis is true then it may well be that these dual representa-tions of automata find their manifestation in these two min-imal methods. The duality of automata representationswould be a very good foundation for these minimal meth-ods. However it is not clear whether this connection toBainbridge’s work is justified.

* * *

A general discussion of the impact of this derivation ofthese two minimal methods follows:

Software methods address the whole software system.Each one gives a unique view of that whole. Each perspec-tive as subject views the other perspective as object. Thusbetween each set of two perspectives on the software sys-tem there are two one way bridges. Associated with eachof these bridges is a software method that combines ele-ments of each perspective in a unique way. Thus ‘data mu-tation’ combines time and event to produce informationflows and nets while ‘design element flow’ combine timeand event in a different way to produce coordinations ofstate machines. These minimal methods are meta-essenc-es. If objects have essences then systems of objects musthave meta-essences. An essence is the set of attributeswithin certain limits which an object needs intact to main-tain itself. As has been said essential attributes are distin-guished from accidental attributes. A meta-essence refersto objects embedded within system gestalts. Meta-essencesgovern the presentations within gestalts. In a gestalt a se-ries of objects are presented in a certain order. Under cer-tain circumstances one object is brought to the fore for pre-sentation while others are submerged into the background.In another circumstance other objects are brought to the

fore. Meta-essences govern the presentational sequence ina gestalt. This presentational patterning is the heart of thedynamic formal-structural system. The patterning is themeta-essence of the system. It determines what is essentialand what is accidental within the context of the system. Itdetermines what objects are necessary and their orderingwithin the system. If a system has a single meta-essencethen it does not have a singularity. However, a system witha singularity has multiple meta-essences which are unitedby the singularity. The meta-system has the singularity asits core while the system has the meta-essence as its core.Within the meta-system the set of meta-essences organizethe relations between perspectives. Meta-essences are thusvery important in the study of both systems and meta-sys-tems. The expression of meta-essences within softwaresystems are as minimal software methods. They serve asbridges between perspectives and thus give unity to shat-tered perspectival fragments. Here we have focused in onthe relation between data and event views of the softwaresystem. It has been seen how elements from these perspec-tives combine to give rise to these methods. The methodsfocus in on an aspect of the system which has global sig-nificance. What is true of these two minimal methods (datamutation and design element flow) are true of the other tenminimal methods as well. Each minimal method distin-guishes the perspectives it connects while pointing to aunique aspect of the global system.

What is important however are not so much the minimalmethods themselves as what is seen in the area of revers-ibility that is discovered by oscillating between them. Aswe develop systems it is necessary to iterate between pairsof perspectives. In this oscillation we glimpse the heuris-tics which guide toward harmonic design. Methods areonly a language for representing system wide design is-sues. They are a means for communicating design ideasand representing aspects of final design decisions. Meth-ods usually include a set of procedures for applying mini-mal methods in order to elaborate the design. But methodsdo not tell you how to pull a good design out of a wickedproblem which is multiplying constrained with no obviousoptima. Methods usually include some heuristic that at-tempt to give some guidelines in this area. The heuristicsare normally few and far between. They are the words ofwisdom of very experienced system designers. An exam-ple from structured design of Yourdon-Constantine is tostress cohesion and minimize coupling. This is a famousexample of a heuristic for software design. These heuris-tics normally appear very sparsely in texts on methods bur-ied as pearls of wisdom among the methodological para-phernalia (such as how to draw the right diagrams and whatare the steps to follow). But these heuristics are very im-portant pointers toward the way to instill an aesthetically166. See Bib#21.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

77

pleasing and practical coherence into the designed system.These heuristics cannot be represented within the method-ology but only indicated. In designing a system one is at-tempting to instill a mutual-dependence among the varyingparts of the system. This mutual support and internal co-herence is an aspect of the meta-system. It must be instilleddespite the barriers erected by perspectival fragmentation.It is only glimpsed as one jumps from one perspective toanother. It is a holon that exists in the gaps between per-spectives. Thus it is not captured by any one perspectivenor by the minimal methods that attempt to bridge the gapsbetween perspectives. These heuristics are knowledge ofwhat makes systems harmonic and how to instill that har-mony. As holons they are glimpses of the wholeness of thesystem. As knowledge they exist at the level of knowledge

not information. Information is built into the software sys-tem. Knowledge informs the design of the software systembut is not captured by it. The holon/heuristic is captured atthe next meta-level of Being - Wild Being. It is not cap-tured at the level of the singularity in the meta-system. Ar-tificial intelligence deals with the application of heuristicsand knowledge representation. Software engineering en-codes knowledge into the design of the system but thenthrows it away during implementation.

The real work of developing software engineering methodsis to attempt to capture these heuristics to guide design.They are seen by passing back and forth between minimalmethods in design iterations. In order to make this discus-

System

FIGURE 4 5 Meta-system

Perspective

Observer

Mode

Environment

WorldHorizons

Context

Facet

Focus

Synthesis

has set

has set

responds to

has set

has one

has one

highlights

has set

org

aniz

es

provides

has setconstrains

frameshas

displays

Sub-system

Super-system

has set

has set

is a

has set

has set

has four

takes position

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

78

sion more concrete I will suggest a possible heuristic to de-scribe the holon that appears between the data-mutationand design element flow minimal methods.

Heuristic 1. Do not treat design elements as clockworkmechanisms but treat them as flowing, transforming ele-ments with their own life cycle within the life cycle of thesystem.

Heuristic 2. Minimize coupling and maximize cohesionof system entities by reduction of information flow acrosseventity boundaries.

Heuristics such as these attempt to tell you how to build abetter system in the language of the methodology. They

strive to fulfil the prerequisites of mutual support betweenparts of the designed system. They instill the harmony ofmutual support into the system from the perspective of themeta-system. This harmony should lead to simplicity, ele-gance and aesthetic balance in the designed system. Itleads to increase in what Alexander calls ‘the quality withno name’ called by the Chinese ‘the Tao’ or ‘the Way’.Software engineering needs to discover these heuristicsthat indicate holonomy - the wholeness of systems. Todayour discussions focus of concrete computer science tech-niques or at best methods. The true heart of the softwareengineering discipline is the discovery of the heuristicsthat should guide our use of methods. This should be thefocus of our research giving life to our methods and instill-ing harmony into our software systems. As with all other

System

FIGURE 4 6

Observer

Environment

WorldHorizons

Context

Facet

Focus

has set

has set

has one

has set

has set

has set

has set

dataeventprocessagent

datum

class

entity

instance

interupt

sheaf

signal

eventfunction

transform

contextbubble

externalperipheral

network

processor

task

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

79

disciplines the most harmonious is usually the optimal.

* * *

Up to this point the focus has been on those points of viewassociated with space and time. As was pointed out earlierthese points of view are easy for us to comprehend becausethey are fully ordered. Cartesian coordinates and the realnumber line allows us to give full ordering, in terms of lin-earity and distance, to all points in space and time. We aretaught to deal with this illusory continuity in mathematicsfrom an early age. This mimicking continuity found in theworld mathematically seems natural to us. So natural thatit goes unquestioned. Unfortunately we discover that digi-tal computers have some difficulty mimicking continuity.It is necessary to construct elaborate work around likefloating point numbers in order to maintain the illusion ofcontinuity. The digital nature of computers leads us toview mathematics differently. Finite mathematics takes ona new significance. Calculus begins to take a back seat. Ithas provided the defining framework for the western viewof the world since its invention. Now we begin to explorethe granularity of the illusory continuum it offered us as ahaven for so long.

With respect to space and time we notice that our descrip-tions of these fundamental categories need no longer mim-ic the continuity we find in the world at all times. In the ar-tificial digital universe it is possible to relax our simulationof continuity. This is done differently for space and time.With space it is possible to relax linearity to get partiallyordered distances. With time it is possible to relax distanceto get linearity without distance. In non-real time systemsthese relaxations cause great simplifications to occur insystem design. For instance in human interfaces it is manytimes only necessary to get the sequence right and as longas response times are not too long it is not important exact-ly how long the response takes. Or again in data base sys-tems search trees may allow efficient retrieval of informa-tion which is not sorted into a linear order. The distancesbetween information elements are just a few algorithmssteps up and down the tree which would be a great distancefrom the perspective of a linear search. Multiple searchtrees for the same data base makes the stored sort order ir-relevant. In digital systems these and other similar relax-ations of space and time constraints allow many useful in-formation systems to be built. However real-time systemsdemand the full articulation of spatial and temporal orderin order for the system to adapt to the events in the world.Meeting real world time deadlines and the spatial move-

ment of information across a computer network becomes acrucial aspect in these systems. This is unfortunate becauseeven though space and time views of the system can ex-pand to handle these constraints the other important view-points, which will be discussed next, cannot handle this ex-pansion. These other viewpoints are agent and process. Aslong as we are not dealing with real-time systems this dis-crepancy does not show up. The shift to real time systemsopens a rift in the relation of software methods to each oth-er which does not appear in conventional information sys-tems.

This is important from the point of view of methods. Thespace and time oriented methods we have just describedare associated with the partial ordering of linearity withoutdistance and partial ordering with distance. Partial order-ing with distance is related to the design element flow min-imal method by which state machines are coordinated. Thelinearity without distance is related to the data mutationminimal methods by which information flow within thesystem is coordinated. Information datums have no dis-tance from one another. State machines are not necessarilysequential. These two minimal methods exemplify the dig-ital system in a relaxed state not necessarily coordinatedwith external real events in space and time. However, forthe digital system to mimic external continuity state mech-anisms and information flow must be coordinated together.Information takes time to flow across the network and statemachines can be made to operate sequentially. For in-stance, the addition of an executive cycle to a real-timesystem is a crucial addition that adds a basic sequential as-pect to a system that might merely be interrupt driven. Theminimal methods of data mutation and design elementflow must be used together to gain the leverage in systemdesign necessary to produce an adequate spacetime repre-sentation of the real-time system. Because they must beused together the oscillation between viewpoints (eventand data) is guaranteed. This oscillation allows glimpses ofthe holons in the chiasm of reversibility that exists whenone jumps between viewpoints. These holons are fleeting-ly represented by heuristic aphorisms that tell how to usethe methods to achieve a harmonic design. Examples ofthese heuristics have been offered.

Methods give us a language by which we can talk aboutdigital software systems design. Methods used togetherprovide leverage to approach the difficult problems thatarise when designing extreme systems. Real-time systemsare extreme in the sense that the digital must adapt to andmimic the continuous. This goes against their nature. Theadvantages gained by the relaxation of time and space con-straints is lost. The rift between minimal methods opens

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

80

up. Seeing these rifts we gain insight into the relations be-tween the data and event viewpoints. The holons of harmo-ny are glimpsed. This means that the language of methodslead us to a point beyond this language. Methods are meta-essences that make visible the harmonic cores of systemsensnared in meta-systems.

* * *

Now it is possible to switch from the discussion of the dataevent perspective to the discussion of the agent and processperspectives. These two perspectives are fundamentallydifferent from data and event. A similar derivation of min-imal software methods will be attempted in this case aswell. But that derivation will take on a completely differentcharacter. This character is motivated by the nature of theinherent ordering of these perspectives. These perspec-tives, agent and process, are inherently only partially or-dered. We are not used to dealing with partial orders. Theydo not fit our training that always assumes full ordering. Sowhen we are confronted with partial orders we think theremust be some mistake.

The real question is why are different perspectives given todifferent levels of ordering. We would expect them all tobe the same. Perhaps this difference between perspectivesis an illusion? Because we expect full ordering, as if it were‘natural’, we suspect there is something wrong with ouranalysis of these perspectives. Instead we should suspectour ‘natural’ prejudice for continuity which is misplacedwithin the digital world of computers.

It should be clear by now that every conceptual structurehas its dual. This is a fundamental ‘law’ of category theoryin mathematics. It should follow directly from this ‘law’that the conceptual structure just described that related theevent and data perspectives requires a dual. That dual is theconceptual structure that appears between agent and pro-cess perspectives. As we explore this ‘dual’ conceptualstructure it will become apparent just how different the du-als can become while still bearing an internal relation toeach other. The dual of spacetime/timespace is not just aninversion of superficial properties. It is a fundamental in-version of deep conceptual relations. Because of this thecomplementarity between these duals has a profound sig-nificance for understanding systems and meta-systems.

The place to begin is a general consideration of the lopsid-ed nature of the two sets of perspectives. In the case of thespatio-temporal perspectives the definition of the perspec-

tive itself was quite complex while the minimal methodswhich connected them were fairly simple. For these newperspectives exactly the opposite is the case. The definitionof the perspectives is simple but the connecting minimalmethods are very complex. This shift in complexity is animportant phenomena. It shows that the inner relation be-tween the dual sets of perspectives is very unusual. It por-tends a deep structuring by the singularity of pure imma-nence. The displacement of complexity in the dual, like thedisplacement of images in dreams that belie the uncon-scious, gives us indirect evidence of the action of the al-ways already lost source of the dual images of the inter-locked perspectives.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

81

In the technical world it is taken for granted that everyoneis asleep to the significance of images and their relations.The text of the technical is rarely read (in the sense ofhermeneutics). Both because of schooling and proclivityengineers disdain the efforts of literary critics. Because of

fear of lack of competence the literary critics are held atbay. Thus the technical and meta-technical worlds form aclosed system seemingly immune from criticism. Yet it isprecisely here that the deep structures are revealed in themost extraordinary fashion. For instance, this study findsgreat significance in the relations between software meth-ods. Surely these significances will be denied. Yet the ar-cheology of knowledge should be able to treat any culturalartifact finding human significance in any of them. In theengineering realm this significance is denied more stronglythan any other field of human endeavor. This alone shouldmake us suspicious. Yet Heidegger opened up the techni-cal to us [167] in Being and Time giving it a deep meaningfor the first time. This study seeks to do the same for themeta-technical. Meta-technology is the as yet unrecog-nized spin-off from technology. It is technology taken toits limits where it collapses into the proto-technical. Theultimate meta-technical event is nuclear war in which thesuper powers cancel each other leaving only the residue ofsavagery - if any humanity at all. This is the age in whichnuclear war hangs like a pall over every event giving it achanged meaning. Software makes nuclear war feasibleeven if it makes nuclear defense infeasible. Thus the postmodern age is the meta-technical era where all meaningsare changed by the possibility of annihilation.

* * *

Space and time comprise the field of action within whichthe system functions. Together they form an opening, anopen place, within which manifestation occurs. Space andtime together give a patterning to that open place that de-termine what can happen there. This intrinsic patterninghas been reified into our mathematical metric which de-scribe position and occurrences as "backdrops" (Klir)against which object attributes are measured. The open-ness of space and time as a stage upon which action takesplace is of primary importance for the articulation of thesystem. However, there is a dual to this openness which islittle noticed in the literature of systems theory. That dualmay be characterized as a kind of closedness, or ’closure’.In this case the closure appears as the relation between theobserver and the observed. Within the openness of spaceand time the observer ’closes in’ on the observed. Normal-ly we think of the system as the observed which is appre-hended by an ideal scientific subject which is never speci-fied. That observer exists in a kind of ‘nowhere’ which isthe origin of a spatial perspective that is associated with aparticular vanishing point. The ideal observer becomes aposition which we can all assume under the disguise of our

A

E D

A P

D

E Ppetri net

state machine

info flow

state coord

mapping

VLM

DARTS dataflow

Actor DARTSworldlinescenario

dominantperspective

dominantperspective

objectsuper

method

Agentsuper

method

Data

Background

FIGURE 7 3

167. See Bib#310.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

82

scientific persona to view the system objectively. Fromthat position we feel safe from involvement in the work-ings of the system. However, recent quantum physics andexperiments in social sciences both lead us to the conclu-sion that this separation of observer and observed is a de-lusion [168]. In fact, there is an intimate inexplicable linkbetween observer and observed as idealized concepts. Theobservation of the system changes its operations. As a cor-ollary we might guess that the observer is also changed bythe interaction with the observed system. Thus mutual ef-fectivity of observer and observed is a key concept whichmust be taken into account by our system’s theory. The ob-jective description of Klir which all but forgets the actionof the observer on the system must be replaced by a sys-tem’s theory in which the closure of the observer on the ob-served and vice versa is recognized.

It is not surprising to find that once this closure of observ-er/observed is recognized it moves right into the under-standing of the system itself at a fundamental level. It con-stitutes another pair of perspectives on the workings of the

system that now includes the observer within it. The ob-server becomes part of the system and the system becomespart of the observer. Their interaction form the basis forgauging all other interactions within the system and be-tween the system and the meta system or its subsystems.The openness of the clearing-in-being is balanced by theclosure of the observer/observed interaction which it con-tains and supports. At a more basic level the openness andclosure merge into the manifestation of Process Being wit-nessed by Dasein as being-in-the-world. However, afterthe reification of separating the nihilistic opposites of sub-ject and object, which deny all other actions other thandominance that subject the object, then the differentiationof openness and closure become inevitable. When the rei-fied elements become active and are seen as dynamic sys-tem/observer interactions, then openness and closure as-sume a primary importance as the dual means of the appre-hension of these interactions. The subject/object relationsare purely static delineations of territory within the open-ness of the clearing-in-being. The observer/system interac-tions allow the dynamic interplay between the territorialpositions. However, for the most part the free play of ex-change between positions is limited and no territory isgained or lost. The subject/object dichotomy anchors the168. See Bib#152.

SystemObserver

Environment

World Horizons

Context

FacetFocus

Subject Object FIGURE 4 7

has set

has set

has onehas one

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

83

observer/observed relations so there is no loss of identityfor the ego in the interactions with a particular system. Thiskind of anchoring may be seen clearly in Klir’s generalsystem’s theory divorced from any phenomenological so-phistication. Unfortunately it also leaves us with a systemwith no internal coherence that has been reduced to a mereobject. The subject is safe from involvement but at theprice of not really ever understanding the system as any-thing other than a random collection of attributes chosenby the subject. The interplay in which the ‘objects them-selves’ suggest their own articulation and interact with theobserver is lost. The result is ignorance that masqueradesas knowledge. Phenomenology suggests we listen to theobjects themselves and allow them to suggest their own co-herence and the ways they are best understood. Objectivescience explores the terrain of nature only on its ownterms. However, the will-to-power that motivates theirneed to dominate is based on a massive insecurity. Onemight be lead to say an ontological insecurity because itstems from the projection of the subtle clinging of ‘Being’upon a world which is inherently void. The observer/sys-tem interaction exhibits a limited dynamism tied directly to

the subject/object underpinnings which have reified theworld into a totally static configuration. It is, however,necessary to allow the free play of these interactions in or-der to realize fully the character of systems that have beenreleased from the prison of objectivizing dominance by thesubject. In such systems the observer/observed interactionbecomes a fundamental relation upon which all other sys-temic relations are based. The closed borders of the subjectand of the object are thrown open. In the interaction ob-server and system merge into a new dynamic whole. Thesystem is effected by the observer and the observer is ef-fected by the system. The observer becomes part of thesystem and the system becomes part of the observer. In thismerging there is a closure in which these two at times be-come indistinguishable or at least closely bound up witheach other so different aspects of the meta-system that em-braces both appear as one at one time and as the other at an-other time. Observer and system-as-observed form subsys-tems of a single meta-system which have dynamic inter-changes with one another. The closure of the observer onthe observed system and the counter closure of the ob-served system on the observer might be called a ‘cloture’.

actuality

FIGURE 5 0singularity

interval limitlimit

meta-viewspacetime

meta-viewtimespace

VIEW"time" "space"

VIEW

upwelling

reversability

there is really only one limit

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

84

The cloture is like an in-folding or mixing which is the op-posite of the unfolding of the openness within which theobserver-system (ob-sys) occurs. Because the nature ofcloture is closed, interlocking, and obvolute it is not as wellarticulated its dual of spacetime/timespace. Yet it is spacet-ime/timespace that ultimately bind the observer and sys-tem together if nothing else. Yet we know that ‘spooky ac-tion at a distance’ also exists because of the proof of Bell’stheorem. Thus the intertwining of observer/observed is in-herent in the nature of things [169]. This intertwining iscalled ‘cloture’. Space-time unfolds from the singularity.In the singularity (the always already lost origin) there is asingle limit. This limit splits to give rise to the interval inwhich space and time are mixed. The meta views of spa-cetime and timespace arise as two ways to look at the in-terval and from these arise the concepts of separated timeand space which are then artificially merged again in ourmetric conceptions. This opening out of the interval fromthe singularity is matched by an opposite movement whichis called here cloture.

By Bell’s theorem’s proof we now know that particles thatare once related never cease to be related no matter how farapart they become. Somehow the separation of things intimespace is inessential whereas relatedness is essential.The openness of the interval of spacetime/timespace issomehow superficial. This means the universe no matterhow big it expands is somehow fundamentally interrelatedbecause it all started by means of a single event the Big Be-ing. This interrelatedness pervades everything. The singu-larity from which the universe arose is in some way iden-tical with the whole of the universe itself. The common or-igin ensures a deep interrelatedness that Chung has ascalled ‘interpenetration’. This is the highest form of har-mony. Beyond this fundamental interpenetration due tocommon origin of everything in the universe, there is thefurther interrelation of mutual dependence which occurswhenever two things interact in the universe. The interac-tion of observer and system is no exception to this. Onceinteraction occurs, then mutual dependence follows whichultimately is based on interpenetration. This interlocking169. See Bib#82.

PERIPHERIWORLD

MANIFESTINGCENTER

Dasein

Eject

System

Subject

Reflection

Meta-system

< Observer

Object >

FIGURE 5 1

Extrinsic Harmony

Intrinsic Harmony

without singularity

with singularity

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

85

occurs when one system impinges on another. The trace ofthe interaction is carried away with the two parties. Nomatter how far they get from each other in spacetime thereis a basic interrelation through the medium of their inter-penetration which is the trace of the singularity (or theircommon origin within). The interlocking of observer/ob-served-system is a cloture by which interaction leads tomutual dependence based on interpenetration. In the clo-ture there is a relation of belonging together or ‘sameness’like that described by Heidegger [170]. A web is formed byeverything that interacts as they leave their traces on eachother. This web grows stronger with prolonged contact un-til the web becomes a seamless fabric of mutual interrela-tion. Mutual interrelation taps the source of the interpene-tration that ultimately unites everything. The web of clo-

ture is just as important as the opening in which it occurs.In fact the web that fills the opening is in some ways morebasic. Both the opening and the web arise from the singu-larity. The opening is an unfolding from the single limit ofthe singularity into the multiple limits of the intervals with-in spacetime/timespace. The web of cloture is the creationof mutual dependence through interaction based on thetraces of the singularity left on everything which appearsas the interpenetration of all things. From the web of clo-ture arise ecological systems and cultures. Rupert Shel-drake has begun to explore phenomena related to cloture inThe Presence of the Past [171].

In fact all meta-systems are webs of cloture. Meta-systems

170. See Bib#130. 171. See Bib#266.

Perspective Perspective Data Event

Interpenetration Horizon Datum Interrupt

Context Class Sheaf EnvironmentMeta-System

Interactive Relation Facet Entity Signal System

Local Consistency Attribute Event Object

Truth o( Manifestation

Merged Eject

Openness

Instance

Spacetime/Timespace

World

Mutual Support

(Fate)

FIGURE 5 2

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

86

that do not contain singularities are merely environments.In environments different systems interact and form mutu-al dependences. These mutual dependences tap the inter-penetration of the subsystems to produce a deep harmony.In some cases the meta-system will represent to itself itsown always already lost origin as a singularity. When thesingularity appears the perspectives on the system frag-ment. This reification and reintegration of perspectives al-lows the singularity, or lost origin (the impossible), tohaunt the meta-system without ever being observed. Clo-ture exists not just between observer and observed withinthe meta-system; cloture exists between each element of asystem. Any element of a system may be considered as ob-server or observed by any other element. The elements ofsystems take account of one another by mutually effectingeach other in their interactions. They react to each other. Itis the sum total of these natural reactions that make up asystem. This is in fact mutual observation. Observation isnot a passive perception. Observation is a reaction to theother. It is the sum of these reactions to others and the in-ternalization of this set of reactions which defines the selfof each entity within the system. G. H. Mead made this po-sition clear in his analysis of society in terms of symbolicinteraction [172]. Each entity is defined in terms of its mul-tiple cloture with all other elements within a system. Mul-tiple cloture is the key for understanding how the two otherperspective (agent and process) on a system arise. Thinkagain of the difference between essence and accident. Theessence is the set of attributes and their interrelation whichare necessary for anything to be ‘what’ it is. The accidentalattributes are those that can change without causing a thingto change kind. Any eventity within a system may be con-sidered with respect to its essential or accidental character-istics. By considering its essential attributes we assign it toa class. Normally accidental attributes vary over timewhile essential attributes tend to vary less overtime. Whenwe are attempting to pin down what remains of a thing it isthe essential attributes which are sought. The essential at-tributes give a thing its Being or persistence. An instance,of an eventity is distinguished more by its accidental prop-erties than by its essential properties. Accidental attributesdistinguished instances of the same kind. Kindness is de-pendent on persistence of essential attributes.

When an eventity is thought of as an observer of all othereventities in a system, it becomes clear that the multiplecloture defines each eventity instance giving each itsunique position within the system. This diacritical defini-tion whereby the meaning of each element in the systemflows from its relation to all other elements obviouslygives a new twist to the accidental/essential dichotomy. It

is clear that any system made up of a certain set of differentkinds of eventities. These eventities have specific relationsbased on the interaction of their persistent attributes. Butalso each eventity probably has multiple instances that alldefine each other diacritically by their accidental proper-ties. Thus diacriticality occurs on two levels. It occurs onan essential level by the relation between eventities of dif-ferent classes and on an accidental level by the accidentsthat define each unique instance. Essential diacriticalitymay be viewed as independent and orthogonal to acciden-tal diacriticality regardless of the spacetime positions ofthe instances. The dynamic nature of systems are depen-dent on the interplay between these two forms of diacriti-cality. The system can be recognized as the same over timebecause of the essential diacriticality between kinds ofeventities. In can be recognized to change because of theaccidental diacriticality between different instances. Actu-al movements in space and time may be irrelevant here butusually these form a third level of important change.Changes in essential diacriticality is called the evolution ofthe system. Changes of accidental diacriticality is calledthe system dynamics of the system. Change of levels of in-stantiation of different eventities is called population fluc-tuation. Changes in spacetime position of instances iscalled demography.

The essential diacriticality exists because within a systemthere are persistent and changing relations between the es-sential attributes of eventities. Accidental diacriticality ex-ists because within a system there are persistent and chang-ing relations between the accidental attributes of instancesof eventities. These two types of diacriticality are differentfrom the essential and accidental attributes of the eventitiesthemselves. These types of diacriticality are two comple-mentary aspects of the web of multiple cloture between allelements of the system. These two aspects are in fact thebasis of the other two perspectives on the system calledhither to ‘agent’ and ‘process’. The difference betweenagent and process has been characterized by the differencebetween what and who. Who you are is almost entirely de-pendent on your accidental attributes. Your date of birth,address, social security number, name are all things thatare inessential, but they are the very things that identifyyou. These accidental attributes answer the question as towho you are. On the other hand what you are distinguishesyour kind from all other kinds. For instance what you be-lieve, what you do for a living, your education, your genet-ic make up. These are all essential to what kind of personyou are. Perhaps they were originally random as well but ifany of them were changed you would be a different kind ofperson. The difference between ‘who’ and ‘what’ is funda-mental to our way of thinking about any population. Klirmentions space, time, and population as basic backdrops172. SeeBib#200.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

87

for attributes of systems. But population is a complex con-cept. Separated from concerns of demography or numeri-cal ratios population becomes a combination of who andwhat. And these separate components of population actu-ally separate into two independent perspectives on theeventities that make up a system. This is similar to the wayspace and time separated from spacetime or timespace.

With respect to systems just reducing these perspectives to’who’ and ’what’ related to the attributes of entities andtheir instances, is too simplistic. Actually it is not the es-sential and accidental attributes that determine these per-spectives but essential diacriticality and accidental diacrit-icality. Essential diacriticality is related to system evolu-tion and accidental diacriticality is related to systemdynamics. System evolution is related to functional pro-cess of transformation. System dynamics is related to a lo-cus of action as an identifiable agent.

The diacritical essential relations in systems express them-

selves as transformations. These processes of transforma-tion within the system appear as functions that take a cer-tain input and produce a specific output. Eventities cooper-ate to produce these changes. When transformations effectthe whole system, because functional relations change, thesystem is said to evolve. Essential diacritical relations arenot static. If they were static then there would be no sys-tem. Systems are normally characterized by the chains offunctional relations that constitute it. These chains arecalled processes. A process is a specific set of transforma-tional steps that lead to a specific end. All systems containthese chains of transformations made up of functionalsteps. The chain of transformations is held together by thepersistent essential attributes of the different kinds of even-tities that make up the system. On the other hand each sys-tem will be made up of different vortexes of action wheredifferent kinds of eventities work together. A vortex of ac-tivity is not necessarily the same as a chain. Different vor-texes of activities, called virtual processors, may performseparate functional steps in a single process, or all the func-tional steps of a single process may occur in a single virtualprocessor. Activity vortexes and chains of transformations

System

has set

Data Perspective

Class Attribute

Entity Slot

ReplicaInstancePart

Assembly

Relation

has set

has set

has one

has set

is an

instantiates

has set

has set

has one

FIGURE 5 3

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

88

depend on eventities and their instantiations. However,these are completely different concepts from that of theeventity. The eventity takes inputs and produces outputs.But the differences between inputs and outputs do not nec-essarily constitute a transformation. Nor is an eventity nec-essarily an activity vortex, a transformation or an activityvortex may be in the interspace between several eventitiesthat cooperate together to perform the transformation ormake up an activity vortex. In some sense the transforma-tion and activity vortex are absences rather than fullnesses.It is precisely because they are absences that an eventitycan step into that space and fill the role. Yet the role wasthere even if there is no particular concrete thing that canbe identified to do all the work. It is better to think of trans-formations and virtual processors as two types of operatingareas between groups of cooperating eventities. Associat-ing them with a positive structure is a mistake of misplacedconcreteness and leads to misunderstanding the nature ofsystems. Systems effect chains of transformations calledprocesses through the cooperation of different kinds ofeventities working together. Systems are composed ofmany different virtual processors which are vortexes of ac-tivity by cooperating eventities. Virtual processors and achain transformations may or may not overlap. The voidsthat are vortexes of activity or functional processes may ormay not be filled by a single eventity effecting thesechanges by itself. More likely in complex systems vortexesdo not overlap chains and there is no functional or process-ing eventity. Groups of different kinds of eventities coop-erate to form vortexes or chains. This is why we need theconcept of system over and above the concept of object.Systems are precisely set of cooperating eventities thatform vortexes of activity that are virtual processors orchains of functional steps that form processes. In processesthings change kind. The process transforms its inputs fromone kind of thing to another. In activity vortexes thingschange who they are. If nothing else who is active at a giv-en time changes. Activity is the fluctuation in the acciden-tal attributes of one or more instantiations. Transformationis the change in the essential attributes of one or more in-stantiations.

We have grave difficulty thinking about anything that isnot a concrete thing. Vortexes and chains of transformshave no substantial thing to pin our hat on. Yet systemstheory that concretizes everything within a system is ingrave danger of misunderstanding the whole system. Wewill use terms like nexus, locus, vortex and chain to de-scribe these sets of changing diacritical relations within thesystem. We will attempt to avoid false concretization. Vor-texes of the actions of virtual processors are seen from theagent perspective. Chains of functional transformationsthat form processes are seen from the process perspective.

These two perspectives appear as two aspects of the dia-criticality of multiple closure within the system. The ‘who’of an eventity within a system is determined by accidentaldiacriticality between instances of different kinds of even-tity. The ‘what’ of an eventity within a system determinedby the essential diacriticality between eventities of differ-ent kinds of eventity. But who and what need not be tied toa particular eventity. An agent may be a group of interact-ing eventity instances. Likewise a chain of transformationsmay be effected by a group of interacting eventities. Theselocuses of transformation or activity can change the whatand who of other eventities within the system. An eventitymay either be acting, acted upon, or both in respect to aparticular locus. The locus has a function or an identity asan agent which is independent of whether it is associatedwith a single or a group of eventities.

* * *

Once the agent and process perspectives have been clearlyidentified it is possible to begin the derivation of the mini-mal methods associated with the bridge between these twoperspectives. We will begin by differentiating how theseperspectives view the different levels of harmony. At thehorizon the agent sees peripherals in the world which areeither sensors or actuators. These are normally specializedhardware equipment that the system interfaces to in orderto be connected to the world. At the horizon the processsees the externals which are either sources or sinks for itstransformation resources or products. The context for theagent is a network of processors which form a cluster inter-connected by communication channels. The context for theprocess is the skin of the system that forms an envelopearound its chains of functions. This is normally denoted bya context bubble in structured analysis. The facet focusedon through the agent perspective is the virtual processor.This is a locus of coherent activity. The facet focused onthrough the process perspective is the transformation. Thisis a chain of functions that lead to a particular result by aset of specific steps. The attribute that the agent looks forwithin the processor is the task. The attribute that the pro-cess sees within the transformation is the function. Thetask or the function are the threads of coherence withintheir respective loci. A virtual processor may have severalthreads of coherence within its activity vortex. A transfor-mation may have several threads of coherence within atransformation. These threads of coherence are very im-portant. They make it possible for the system to be coher-ent as a whole. Weaving together all these threads of co-herence within a system is what differentiates a systemfrom an object. Having the locus of activity and transfor-mation is not enough. These are only theaters of operation

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

89

Environment

FIGURE 4 8

Interpenetration

System

Object

EjectDasein

Subject

Observer

Reflection

Manifestation

World

Meta2 system

meta-system

Mutual

Dependence

Interaction

Logical

Consistency

Aleithia

meta-observer

meta3-essence

heuristicsmeta2-essence

entityessence

essencing forth

meta-essencemethods

ready-

present-at-hand

to-hand

out-of-hand

in-hand

ready-to-hand

in-hand

SingularityActuality

out-of-hand essence of manifestation

no thingepiphanyup welling

allways already lostorigin

primal scene

wisdom

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

90

in which the coherence of the system may be expressed.Good design using the language of minimal methods andguiding heuristics together with insight make it possible toconfer coherence on the software system. Eventities are thewarp of the system while the threads of coherence form thewoof of the system.

* * *

The entity-relation description of these two perspectives asshown is very simple and has already been explained forthe most part. A detail is that processors normally have aphysical substrate in a central processing unit. However,this physical hardware substrate may be many levels re-moved by layers of virtual processors. Tasks time share theresources of this hardware substrate. In this essay we donot use the word ‘process’ to signify an independent taskas it is used in Unix. Tasks may or may not communicateor share memory. Tasks are independent threads of execu-tion within a virtual processor. Tasks may contain a hierar-chy of sub-tasks.

Each transformation within a system has a transformateand a transformand. The former is the operator and the lat-ter is the operand. Each transformation may contain inde-pendent functional threads that are interwoven functionperforms a specific step within one of these threads. It hasspecified inputs and outputs. Functions have implementa-tions in standard programming languages like C or Ada.Functions are normally algorithmic. All functions or trans-formational chains may be expressed by the control struc-tures of structured programming (i.e., iterator, selectionand sequence). A transformation chain may contain multi-ple functions performed at each step. So chains may havesubchains or branching chains. Functional chains are al-ways expressed as action verbs. All functions must be ex-ecuted by a processor within a task to become actualized.The activity of the action verb is performed in the vortex ofactivity. Outside that vortex it is static. Real transforma-tions only occur when the vortex of activity in the virtualprocessor is brought together with the functions that areimplemented. Implemented nonexecuting functions arestatic code. Implemented executed functions perform ac-tive transformations in time and space. A processor that isnot executing implemented functions is idle even if tasksare running. Pointing and grasping must work together forreal work to be accomplished. The agent embodies point-ing and the process embodies grasping. The processor ispointing at the currently executing instructions of the im-plemented function. The transform grasps and manipulatesthe inputs turning them into outputs. A processing trans-

form does actual work with concrete results in space andtime. A processor without a transform is using time but notproducing any spatial changes. A transform without a pro-cessor takes up memory but does not produce any changesof inputs to outputs in time. The processing transform ex-ecutes the threads of coherence in the system. These arethreads of coherence with the loci of action and the loci oftransformation.

Within the system eventities participate in processingtransforms. All four perspectives from the meta-systemonto the system are brought together in this statement.Eventities combine the event and data perspectives. Pro-cessing transforms combine the agent and process perspec-tives. When eventities participate in the processing trans-form an executing software system is the result. The sys-tem viewed statically would discover several independentelements. There is the eventity, its autonetic substrata, theprocessors and the transformations. Processors and trans-formations only touch in a single moment in time. The pro-cessor plays the music of the transformation chain of func-tions. As it plays the music the keys of the autonetic statemachines are touched producing different effects. Theeventities are the different instruments in the orchestra ofthe system.

Notice that processor and transform fall apart when notheld together in time and space. On the other hand eventi-ties persist to hold both space and time together whether ornot the system is executing. Openness produces unitywhereas closure produces separation.

* * *

Next it is necessary to explore the minimal methods thatcombine these perspectives and act as a bridge betweenthem. In this case the methods that are minimal are com-plex. This complexity stems from two sources:

1.agent [173] and process are only partially ordered,

2. agent and process do not combine easily but must beforced together unlike event and data. A processing trans-form is an overlapping of locis not a thing like an eventity.

Both agent and process are described independently asnested tasks or nested functions. Other than the partial or-

173. See Bib#240.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

91

Horizon

Context

Facet

Attribute

Care

Role

Focus

Situation

Center

Fate

constraints

noematicnucleus

essence

esse

gist

relevance

attitude

spirit

FIGURE 4 9

Singularityessence of manifestation

Manifestation

V

O

R

T

E

X

crux

Actuality

Inward

Spiral

Outward

Spiral

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

92

dering of that hierarchy they have no internal structure oftheir own. This structural poverty allows them to expressmeaning. The structural richness of data and event causethem to not be able to express meaning very well. Proces-sors and transforms are merely diacritical markers relatedby partial ordering. They have no real structure of theirown. They simply reflect important points in the systemsstructure.

These hierarchies of agents and processes must combine toproduce minimal methods. When the two hierarchies areplayed off one another there is enough information to pro-duce either partial order with distance or linearity withoutdistance.

In this context linearity without distance can be associatedwith the ‘virtual machine instructions’ minimal method.

Partial ordering with distance is associated with the ‘map-ping between functions and tasks’ which is the other min-imal method connecting agent and process. Virtual ma-chine instructions are the embodiment of functionalitywithin the task. The ‘distance’ between the instructions hasno meaning. The instructions are executed in a linear se-quence by the virtual processor. The virtual machine in-structions are the implementation of the function which al-lows it to be executed by the virtual processor. Both virtualprocessors and virtual machines may exist on many levelswithin the software system. By turning a function into a setof virtual machine instructions the processor is then able toexecute the function. In this way functions are executedone by one in a chain to complete a transformational pro-cess. The processor does its processing by executing thevirtual instructions that comprise a virtual machine.

A virtual machine is a composed set of instructions. Each

ENTITYv

vv

vv

v

v

v v

v

v

interval

eventevent

attribute

attribute

attribute

attribute

attribute

v

v

FIGURE 5 4

signal

signal

signal

signal

signal

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

93

instruction is a lower level virtual machine. Nested virtualmachines are executed by nested virtual processors. Theterm ‘virtual’ here indicates that the processor is not nec-essarily a hardware implementation. The processor couldbe emulated in software which runs on a lower level hard-ware or software processor. Virtual machines performtransformations. They are implementations of state ma-chines. The instructions are fired in a certain order givenparticular inputs to produce specific outputs. Part of the in-structions functioning is the reset of the state of the ma-chine for the next invocation of the macro instruction.

The relation of macro to micro instructions may be shownby a structure chart diagram as those of Yourdon-Constan-tine used in structured design. The sequence of calling mi-cro instructions is determined by the state of the macro ma-chine and the inputs (or parameters) given to the macromachine. Virtual machines are used to implement the statemachines of autonetic eventities. They are abstract imple-mentations which makes functionality processable in away that also embodies the automata. An automata is amapping from inputs to outputs and states. This mappingmay be a table lookup or more commonly it is an imple-mentation of some functionality which makes the transfor-mation from inputs to outputs. In this later case outputs arenot already available but must be made. Making outputsfrom inputs and available data is a transformation per-formed by the virtual machine. That virtual machine alsoresets its own state to be ready for the next invocation. Byresetting its own state it is able to participate in the externalfunctioning of the system which expects different respons-es in different circumstances. When a virtual instructionhas its own state it is a virtual machine. It is multi-function-al. On the other hand an instruction may not have its owninternal state in which case it is just a straight implementa-tion of a function. Functions transform inputs into outputregardless of external changes in the system as a whole.They always do the same job. Many times virtual instruc-tions are merely functional implementations.

When virtual instructions are associated with particulareventities they are called operations or ‘methods’. In thiscase the operations change the values of attributes or slotswithin the eventity. In object oriented design ‘methods’ arethe only means of changing data encapsulated by the even-tity. We will make the distinction here between operationsand workers. An operation (or ‘method’) is a virtual in-struction that changes an internal attribute of an eventity.A worker is invoked by the state machine of the eventity totransform input to output and change the state of the even-tity. Operations are visible outside the eventity whileworkers remain hidden. In constructing virtual layered ma-

chines the lowest level instructions ideally all end in oper-ations (or ‘methods’) on eventities. The word ‘method’ foroperations in persistent data will be avoided.

However some virtual instructions are pure transforma-tions of inputs to outputs with no persistent data beingchanged. These pure functions which exist to some extentcannot be associated with a persistent object. These tend tobe garbage leftover when a purely object oriented designmethod is used. This problem with purely object orientedmethodology has been identified by Vaclav Rajlich [174]among others. The problem is solved by using the ObjectOriented Design/Virtual Layered Machine (OOD/VLM)method proposed by Nielson and Shumate in the book De-signing Large Real Time Systems with Ada [175]. Thisbook and their article with the same name should serve asa major source on this methodology. The methodologygives concrete implementation to functional transforma-tions for a particular level of virtual processor. Functionaltransformations are accomplished by the processor execut-ing the virtual instruction. Virtual instructions may or maynot be virtual machines with their own state values. A vir-tual instruction with no state values is a simple transforma-tion. A virtual instruction that is also a lower level virtualmachine is multi-functional reacting differently to externalsystem states at different times. The virtual processor andthe virtual machine intersect at the executed instruction.

* * *

The other minimal method that serves as a bridge betweenagent and process is the mapping between tasks containingvirtual machines and functionality. This mapping allowsus to see how the total system functionality is to be carriedout by the threads of coherence (tasks) executing the virtu-al instructions of virtual machines. This traceability fromthe functional decomposition of the system to the specificelements that implement that functionality is very impor-tant. In order for this traceability to be carried out two othermethods must exist. These methods map both process andagent perspectives onto the data perspective. The methodconnecting agent and data perspectives was defined by Go-maa and is called DARTS [176]. A new version developedin conjunction with the Software Productivity Consortiumis called ADARTS [177] and uses Ada. The method con-necting process to data is the Data Flow Diagram used in

174. See Bib#243.175. See Bib#219.176. See Bib#118.177. See Bib#120.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

94

structured analysis developed by Yourdon and DeMarco.These two methods are each composed of minimal meth-ods which combine to produce a single macro method ortwo way bridge between perspectives. There is a high de-gree of parallelism between these two macro methods.This parallelism allows isomorphic mappings betweentasks and functional bubbles. That mapping illustrates howthe macro functionality of the software system is accom-plished by the threads of coherence (tasks) in the virtualprocessor. Without this kind of mapping there would be noway of seeing if the entire system would function properly.This is different from the perspective that looks at the indi-vidual virtual machine instruction within a particular taskto see what micro function it embodies. Functionality isboth system wide and narrowed to the particular instruc-tion executed now. Both types of functionality must be co-ordinated for the software system to work properly. Thetwo minimal methods that connect agent and process as-sure this coordination by giving a means of representing it.

The mapping minimal method is not as complex as the vir-tual machine minimal method. The mapping is a web oftraceability links between functions and tasks. The methodis explained best in the third volume of the Ward-Mellorseries called Structured Development for Real Time Sys-tems [178]. The process of creating the mapping is called’functional allocation’. In functional allocation one first al-locates functionality to processors, then to tasks and finallyto sequential modules (virtual machines) within tasks. Ateach step of this crucial system architectural design pro-cess the essential model of system functionality as a dataflow diagram should be modified to reflect implementationdecisions. Functional bubbles may be split between pro-cessors or tasks so new bubbles and associated data flowsmust be added. The resultant transformed essential modelis called the implementation model. This implementationmodel is isomorphic to the processor-task-module imple-mentation decomposition of the system into process-ableunits. Functional allocation is the process by which thismapping is produced. Functional allocation may be de-scribed as the transformation of the functional descriptionof the system into an implementation description which re-sults in traceable links. This transformation is evolvedthrough a mental processing of the functional essentialmodel. That mental processing results in an implementa-tion model and a system architecture in terms of processor-task-module descriptions. It is here that the main effort ofdesign work is done by mental simulation. Mental simula-tion in design is a virtually ignored aspect of the designprocess. There are almost no books or articles on how toperform mental simulation in design work. Yet this is ex-

actly the most difficult part of the design process. Designsimulations are necessary during functional allocation inorder to make the system work properly. Without mentalsimulation during design there can be no correct process-ing of a system at execution time. Without methods thesemental simulations are too complex for the mind to handle.Methods are the language which mental simulations areexecuted in by the mind of the designer. But the actualwork of how to do mental simulations is not described any-where. As a result software design is a very difficult typeof mental work. Software design is mentally exhausting.Each set of virtual instructions must be simulated mentallymany times before they are ever executed by a virtual pro-cessor. In fact the mind is the first virtual processor for allvirtual machines. Mentally simulating virtual machines isdifferent from ordinary thinking. There is a rigor to mentalsimulation that is not necessary in thinking which goesagainst the grain of the mind and is particularly difficult toemulate. During this process the designer is not just emu-lating the paths through the virtual machine under variousconditions he is at the same time changing the virtual ma-chine that is being emulated so it will function correctly.This is a very complex task that is very difficult to performparticularly because only a small part of the virtual ma-chine (seven to nine chunks) can be kept in short termmemory at a single time. One is constantly losing onesplace or realizing the relevance of some other aspect of thesystem to the problem at hand. Thus mental simulationstend to be diverted and interrupted in mid-stream as longterm memory suggests other relevant connections withinthe system being designed. How to do mental simulationneeds to be a high priority research area. Tools and meta-methods need to be developed to support this work andtake the drudgery out of it. The definition of a frameworkof methods such as that developed here is a good start. Butthe methods and heuristics do not touch the heart of theproblem of system design which is the mechanics of men-tal simulation.

* * *

Having said that the virtual processor and the chain oftransformations are loci. It is still possible to substitute theeventity into these loci. When the eventity is substitutedinto the place of the virtual processor it becomes an ‘actor’after the meaning of Agha and Hewett. Here the eventitybecomes an agent and is identified with either the proces-sor or the task thread of coherence. Likewise the eventitymay be substituted into the chain of functional transforma-tion. In that case operations are associated with the eventi-ty that perform these functional transformations whichmay be independent of the modification of persistent data.178. See Bib#290.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

95

The addition of these operations allow the eventity to beidentified with either the virtual instruction or with persis-tent data objects.

By making these additions the eventity comes to serve as ageneralized computational emulator. It is a generic designelement which can perform many different roles within thesystem. Yet this connection with the virtual processor andtransform should not lead to the fallacy of misplaced con-creteness. Processors and transforms are independent oftheir linking to an individual eventity. They are more likelyto be represented as cooperating groups of eventities.However, the ability to represent processors and trans-forms as eventities does serve the purpose of giving us asingle multifaceted design element that can be the basis of

system design. The eventity is fairly complex. But thiscomplexity allows faithful representation of the ‘systemic’nature software aggregates. The problem with using lesscomplex design elements such as queues, pointers, coun-ters, timers, etc., is that the systemic character of the mech-anism they embody is hidden. In order for these systemicfeatures to be presented in the design, the design elementmust represent the complexity of the spacetime backdropsas well as being an automation. In this case the automationis dual in order to represent outward and inward controlover parts. Thus, I argue that the eventity is just complexenough to represent the systemic features of software de-signs. And this is very important. Unless the systemic fea-tures are represented then there is no way to hone in on aharmonic design. Harmonic design depends on the repre-sentation of the systemic - figure ground dynamics. Differ-

EVENTITYSTATES

SYSTEMTRANSIT

EVENTITYTRANSIT

SYSTEMSTATE

SYSTEMSTATE

SYSTEMSTATE

EVENTITYSTATES

EVENTITYSTATES

SYSTEMTRANSIT

SYSTEMTRANSIT

DESIGN ELEMENT FLOWDUAL REPRESENTATIONS

FIGURE 5 5 FIGURE 5 6

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

96

ent eventities may serve as both elements of the figure orthe ground within the system. Eventities give a generic de-sign abstraction which is at the right level of complexity tocapture the whole gambit of system functioning. Below thethreshold of the eventity, which is robust enough to repre-sent a subsystem, the systemic interdependencies are sub-merged within the panoply of lower level design elements.It is as if the system were out of focus. When the granular-ity of the design elements is wrong the system is blurred.Eventities are at the right level of design element complex-ity to bring the system into sharp focus and thus ease theburden of design work.

* * *

Now it is necessary to consider the relation of the minimalmethods associated with the agent and process perspec-tives (i.e., mapping and virtual layered machine) to themetrics of system supports. As has been mentioned bothagent and process perspectives are radically different fromthe fully ordered space/time perspectives. The agent/pro-cess perspectives are only partially ordered. This meansthat within either of these perspectives that exhibit clotureonly partial order relations between elements may be ad-duced. Consider the agent perspective. An agent is an in-dependent actor or center of activity. Our natural modelsfor independent agents are organisms. For independentcenters of activity, or actors, the concept of linearity anddistance have no meaning. By their nature actors are pro-cessing simultaneously independent of each other. Theyonly take turns in a linear fashion if they are forced tothrough some synchronization mechanism. The distance

between processors is also irrelevant to their processingcapability although it may be important with respect totheir ability to communicate as a network. Now considerthe process perspective. A functional transformation alsolacks comprehension of distance and linearity. Like pro-cessors, transforms operate in space-time. But functional-ity when abstracted from the space-time milieu has no in-herent linearity or distance component. Consider the dataflow diagram. The distance between bubbles is irrelevant.The bubbles fire when all their inputs are available. Thuseach bubble is really like an independent processor. Thenetwork of bubbles is ordered by the data flow arcs. Butdata flow arcs are a spatial feature flowing from the dataperspective. A data flow diagram with no arcs would bestatic. Without inputs there would be no firing. Withoutarcs the dataflow nested bubbles are merely a partial order-ing of system functionality. There is no linearity becausethere are no data flow arcs and the distance between bub-bles is irrelevant.

This should suffice to show that linearity and distance donot have meaning for the pure agent and process perspec-tives. Yet obviously for the minimal methods of mappingand virtual machines these concepts do have meaning.Mapping connects the hierarchy of agents with the hierar-chy of processes. Through this connection between the twohierarchies the notion of distance becomes meaningful.One can think of distance as the number of boundariescrossed in the background hierarchy. One hierarchy is usedas foreground, usually process, and the other forms thebackground, usually agent. The background forms a gridagainst which foreground objects can be measured. For in-

AttributeAttribute

EVENTITY

signalsignal

?? eventevent

FIGURE 5 7

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

97

stance, a single process bubble might be split between twoagents. The separation of the process functionality by theagent demarcations induces distance. This is why we callthis assignment of functionality to multiple agents ‘spread-ing’ the process out within the system. In this case two par-tial orders when connected by mappings gives rise tomeaningful demarcations of distance. Distance is mea-sured by counting the boundaries crossed in the back-ground grid by objects in the foreground grid. On the otherhand virtual machines exhibit linearity. The instructions ofa virtual machine are fired in sequence. The idea of dis-tance between instructions, however, has no meaning.Each instruction is an implementation of some functional-ity that can be executed by a virtual processor. The instruc-tion is the intersection of the functional map of the systemwith the processor map. These single points of intersectionare active one at a time in sequence and their firing consti-tutes the execution of the software program. Here again itis the relation between agent and process hierarchies at thesingle point of execution linearity through time that allowstwo partial orders to emulate a linear order without dis-tance.

As a general principle agent and process are inherently par-tial orders when viewed separately. When used togetherthey can emulate linearity without distance (virtual ma-chine minimal method) or partial order with distance(mapping of functionality to agent minimal method). How-ever, agent and process cannot emulate full ordering in theway event and data perspectives can. This means that thereis no equivalent of cartesian coordinates for agent and pro-cess. In cartesian coordinates both linearity and distancemay be seen at once. Event and data may be representedwithin cartesian coordinates or via a timeline using realnumbers on the x, y, z and t axes. There is no equivalent tothis for agent and process perspectives. Processes andagents may be seen as moving in time and space but theydo not themselves give rise to fully ordered supportsagainst which system variables might be measured. Agentand process only give rise at most to supports with linearitybut without distance, or supports with partial order withdistance. This seeming defect in the process and agent per-spectives is a major barrier for software system modeling.In information systems the barrier is not readily apparent.In these systems the space-time constraints are relaxed.Thus all the minimal methods suffice to work together tomodel the system. However, in real-time reactive systemsthe event and data perspectives must interface with eventsin the world and move information through the network tomeet the system needs. In that case a gap appears betweenthe fully ordered capabilities of the event and data perspec-tives and the lack of that capability in the agent and processperspectives. This gap is the hiding place of the singularity

of pure immanence. It is the unbridgeable gap betweenopenness and cloture. It is what makes the design of real-time reactive systems so difficult. This is because ultimate-ly the methods do not help at this extreme point. Ultimatelythe methods breakdown and there is no full coordinationbetween system supports. There is only a partial coordina-tion. The system must be designed according to the mini-mal methods as they overlap when space-time constraintsare relaxed. Then the space-time constraints must be tight-ened to discover performance as the system is executed.The performance where the system is executed must be an-alyzed and then the design is modified to attempt to solveperformance problems. The gap between methods designand system execution performance is a fundamental ele-ment in the software system. It is this gap which gives soft-ware science its important role in observing executing sys-tems. It is this gap that gives software its quasi-experimen-tal nature. It is this gap which is the point of cancellation ofHyper-Being.

In fact the gap is not a defect. It is an important indicatorof the nature of software. Agent and process embodymeaning in a way event and data do not. The poverty thatagent and process have from the point of view of systemssupports is made up for by their ability to serve as markersfor meaning. Data and event have no internal dimension.They represent complete exteriority. Process and agent onthe other hand have a dimension of interiority in which se-mantic value may be invested. The expressiveness of agentand process in terms of semantic content balances theirpoverty with respect to metric ordering as system supportvariables. This fact shows that software methods can bevehicles for semantic expression. They have a natural in-terface with language that appears whenever we say ‘what’or ‘who’. We anthropomorphize agents and project organ-ism (or even human) qualities upon them. This is not cor-rect but it shows the viability of the semantic interface ofthese methods with language. This interface is even morepronounced with respect to saying what a function is. Wespeak of functionality in the same way we confer meaningon things in everyday life. By this means the functioningsystem becomes a particular kind of thing - i.e., it comes toinhabit our world along with us. The bank teller softwarewith its hardware does the job of the human teller. It be-comes an ’automatic teller’. The emulation becomes thething it is emulating. Our ability to say what a software sys-tem is and thus incorporate it into our world flows from theinterface of the process perspective with language. Theprocess elements in the system serve as bearers of meaningas do the agent elements. This connection between soft-ware systems and linguistic reality is very important. Thefact that software methods have this interface shows thattheir structure in relation to the gap between openness and

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

98

cloture is no accident. In this we see an essential extensionof technology into meta-technology.

The derivation of the minimal methods that directly relateagent and process perspectives or event and data perspec-tives has led to an appreciation of the difference betweenthese two sets of perspectives. They can be contrasted interms of the ordering metrics associated with them. Event/data perspectives are fully ordered whereas agent/processperspectives are only partially ordered. We see clearly howthe minimal methods derive from relaxation of ordering inthe case of event/data and a tightening of constraint interms of agent and process. The tightening of constraintoccurs when partial orders are combined to attempt tomimic fuller ordering. There is however a limit to thismimicking and full ordering is unobtainable. This impos-sibility that lurks at the heart of the matrix of software per-spectives is an important phenomena that determines the

nature of software. It bears out the ontological analysis al-ready performed in the earlier part of this essay. The gapbetween event/data and agent/process is the fundamentallocus of differing/deferring within which the singularity ofpure immanence resides. The gap itself is like the event ho-rizon of the singularity. It only shows up through a detailedrigorous analysis which seeks to understand fully the inter-relation of minimal methods that spring from the perspec-tives on software design.

The four minimal methods explored thus far are crucial tounderstanding the nature of the gap between openness andcloture. What has been learned by this analysis and at-tempted derivation may now be applied to the other mini-mal methods. There are five other methods that relate theperspectives (agent, process, event and data):

EVENTITY

signalsignal

?? eventevent

FIGURE 5 8

FIGURE 5 9

AttributeAttribute

EVENTITY

signalsignal

?? eventevent

AttributeAttribute

EVENTITYAttributeAttribute

EVENTITYAttributeAttribute

INFORMATION NETWORK

INFORMATION FLOW DIAGRAM

VALUE VALUEcompare

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

99

EA Worldline/scenario Two way bridge

PD Data flow Two way bridge

AD Tasking and comm mech (DARTS) Two way bridge

PE State machine One way bridge

EP Petri net One way bridge

Interestingly enough three of the remaining methods aretwo way bridges composed of two complementary mini-mal methods which fuse into a single macro method. Ofthese three macro methods two are very similar. Those arethe data flow method of Yourdon and DeMarco and theDARTS method of Gomaa. In these methods agent andprocess are almost interchangeable. There is a direct paral-lel between all the features in these two macro methods.This shows that the data perspective exerts a powerful or-ganizing force which sees agent and process in very similarways. Attempts have been made to synthesize these twomacros methods into a single overarching representation.For instance, Mitchell D. Lubers of MCC developed "AGeneral Design Representation" [179] which attempts tocombine the data flow and tasking/communication mecha-nisms into a single super method based on a Unix process-es and pipes motif. This kind of collapse of two macromethods into a single super method has the danger of con-fusing the perspectives which are intrinsically distinct.From the separation of data flow and DARTS is opened outthe mapping minimal method and the virtual layered ma-chine method. In fact it is possible to see that the view-points from which two macro methods diverge (i.e., thedata and the agent perspectives) have the greatest organiz-ing capacity with respect to the software design. Withineach pair of viewpoints separated by the gap there is adominant viewpoint (agent dominates process) (data dom-inates event). The dominant viewpoint has diverging mac-ro methods (two way bridges) which opens up the arena inwhich the methods connecting the opposite set of view-points exist within.

The inferior perspectives from each pair (event and pro-cess) are connected by two one way minimal methodswhich are state machines and petri nets. These minimalmethods are important but do not have the overall organiz-ing capacity that the cones of methods arising from thedominant perspectives have.

DATA DATA FLOW AND DARTS ORGANIZE MAP-PING AND VLM

AGENT WORLDLINE AND DARTS ORGANIZESTATE COORDINATION AND INFORMATIONFLOW

From this we can see why the object oriented design is be-ginning to achieve dominance over the functional orienta-tion. The methodological field itself has an internal struc-ture that would shift the balance in the favor of data orient-ed minimal methods. We would expect the same sort ofultimate emphasis on ‘actor’ like systems such as that de-scribed by Agha. The process/event axis would apparentlyhave to be subservient to the two major triangles of supermethod groupings.

This does not mean that any of these methods should be ne-glected in system design. It means that there are intrinsicorganizing principles in the field of the methods which dic-tate the perspectives from which the most powerful orga-nizing forces will naturally radiate.

* * *

Partial order Linear withwith distance no distance

ActorScenario worldline

DARTS Monitors and tasks Tasks and comm mechanisms

Data flow Methods and data stores Data flow arrows

BackgroundState machine Petri net

Each of the eight minimal methods shown above can be di-179. See Bib#192.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

100

vided into those which approximate linearity without dis-tance metric and those which approximate partial orderingwith distance metric. The concept is that all minimal meth-ods approximate one or the other of these two intermediarymetrics. All of these minimal methods are combinations ofthe fully ordered and the incompletely ordered perspec-tives. Each of these methods operate across the gap be-tween perspectives with similar metric orders and thuscombine in various ways dissimilar ordering elements.However, in this case the approximation to the intermedi-ary metrics comes from the collapsing (relaxation) of theevent perspective toward linearity and the collapsing (re-laxation) of the data perspective toward distance. The in-teraction of a partially ordered perspective with a fully or-dered perspective that is related causes the fully orderedperspective to dominate. Thus worldline and scenario havea dominant linearity. As does state machines and petri nets.Whereas in DARTS and data flow their submethods havea dominant distance component. For this reason the directderivation of the two intermediate orders is not straight for-ward as it was in cases previously studied. Yet for the mostpart the paradigm of which sees each minimal method asan incarnation of an intermediary level metric construct(L-D or PO + D) can be applied directly.

For example the ‘actor’ macro method which combinesworldline and scenario minimal methods has a mapping tothe two intermediary level metrics.

Scenario Worldline

Partial Order + Distance Linearity-Distance

Linearity is dominant because the event perspective’s fullordering collapses into L-D. Thus both of these minimalmethods are apparently linear. The worldline may be seenas a fully ordered timeline or as a sequence of events for asingle agent. Scenarios cut across multiple timelines witha linear ordering of events performed by multiple agents.However, because worldlines may be relativistically relat-ed in the absence of a global clock this linearity of scenar-ios is not what it may seem at first glance. The distancingof agents in different inertial frames (associated with non-synchronous clocks) plays a role in scenarios not present inworldlines. Worldlines normally collapse from full timeordering using the real number timeline to a linear se-quencing of events and actions. Scenarios involve the slic-ing across worldlines in non-orthogonal planes that allowscausality between events and actions to be seen. When sce-narios become involved with relativistically related world-lines - usually this is not obvious - then there is interval dis-

tancing between events and actions. The ‘actor’ model ofconcurrent processes is designed to handle this kind of in-terval distancing which allow nonsynchronous clocks formultiple worldlines. Here it is clear that the dominance oflinearity contributed by the event perspective to these twominimal methods is not straight forward. Distancing insin-uates itself within the scenario minimal method in waysthat may not be obvious. Thus though the analysis is cloud-ed it is not impossible. Ultimately it is possible to under-stand how the intermediate metrics show up within the twominimal methods being studied.

Another case is the DARTS and dataflow macro methods.These are very similar. In both, distance is emphasizedthrough the relaxation of the space (or data) perspective.For this reason it is clear that the data flow bubbles or tasksboxes strung together by data flow or communicationmechanism arcs is a linearization metric. Whereas the re-lation of process bubbles or task boxes to data stores ormonitors is primarily a distancing metric. The linear se-quence of bubbles strung together by arcs is contrastedwith the mapping of methods to data objects. The linear se-quence of tasks strung together by communication mecha-nisms (queues mailboxes, etc.) is contrasted with the map-ping of tasks to monitors. In these cases linearity and dis-tancing appear clearly in the different related minimalmethods. Distance appears in the mapping from active topassive elements. Multiple active objects are related to asingle passive object. In object oriented design this map-ping is made such that there is a close binding between themethod and the data object. In functional design the map-ping is less direct so that there is greater distance betweenthe function and the data object. With respect to tasks andmonitors the distance appears as contention of tasks overthe same resource.

The final example is the state machine and petri net mini-mal methods. Petri nets are like refined control flow chartswhich are augmented with states and control flow tokens.The petri nets emphasize the linear flow of control; where-as the state machines emphasize the relation of state placesto each other. Distance appears as the number of interme-diary states exist between any two states. Linearity appearsas the sequential path as the control token. Petri nets andstate machines are intimately related. The emphasis onstate diagrams is the static representation of the state placesand their interrelationship. The emphasis on petri nets isthe linear sequence of states that a control token movesthrough as the transitions fire. The former is static whilethe latter is dynamic. The former is emphasize distancewhile the former emphasize linearity. It is interesting thatit is the state machine which must be added to the eventity

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

101

to make it essentially autonetic. One state machine governsthe coordination of parts while the other governs externallyobservable behavior. The fact that the state machine/petri-net minimal methods are leftover as outside the agent anddata super method complexes is very significant. It showsthat the state machine/petrinet methods have a specialplace in the field of minimal methods. This special placehas been characterized as the background because they arenot included in the super method complexes. But theycould just as well be characterized as the jewel that standsout on the background of the super method complexes. Itis state machine and petri net methods which are used tomodel the structure of automata. Automata are either ac-tive or passive depending on whether they are parsing in-put or defining output. When the active and passive statemachines are combined in a single two part complex theybecome autonetic or self governing. The self governing au-tonetic automata can be described in terms of state ma-chines or petri nets depending on the static or dynamic em-phasis. When the state machine/petrinet is combined withthe eventity then the autonetic eventity is the result. Theautonetic eventity is the key to advanced design that takes

into account all four perspectives on software design. Itcombines all four perspectives into a single multi-purposedesign element. This integration of design perspectives byadvanced knowledge of methods is the crucial work ofsoftware meta-methodology.

* * *

This essay began as an exercise in meta-methodology.Meta-methodology seeks to understand the interrelation-ships between methods. Software design methods derivefrom the four fundamental perspectives on the softwaresystem. These perspectives (agent, process, data andevent) have been identified with what Klir calls ‘back-drops’ or ‘support variables’. The minimal methods definethe relationships between these supports. The support rela-tionships form a substructure that serves as the foundationfor the superstructure of the designed software system.Normally the substructure is invisible because its mainpurpose is to provide something for designed system vari-

actuality

FIGURE 6 0 singularity

meta-viewspacetime

meta-viewtimespace

VIEW"time" "space"

VIEW

upwelling

SO

clotureinteraction

mutual dependence

interpenetrationtrace of common sourcecommon source

S=SubjectO=Object

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

102

ables to be measured against. In this essay an attempt tomake the substructure visible has led to an appreciation ofthe complexity of the field of intra-method relationships.This substructural field is the backdrop against which allthe relations between designed system variables must beunderstood. If a variable can only be measured against oneperspectival support variable, then only the method associ-ated with that perspective may be used to define that de-signed system variables relation to other designed systemvariables. If a variable can be measured against two per-spectival support variables then the relevant minimalmethod may be brought to bear to define the place of thatdesigned system variable within the whole designed sys-tem. The more perspectival supports that the designed sys-tem variable can be measured against the more central thatvariable is to the internal structure of the designed system.The key system variables can be measured against all theperspectival support variables. As the design progressesmore and more of the designed system are brought withinview of all the perspectives. In a fully defined system agood portion of the superstructural variables should be inprinciple situated in relation to the total field of the sub-structure of support variables and their bridging methods.

The development of design perspectives as support vari-ables allows us to plug our design methods that flow fromthese perspectives into Klir’s overall definition of the epis-temological levels of the formal-structural system. It ishowever necessary to read Klir’s overall definition of theformal-structural system in a particular way in order to seeits significance for software design. Klir’s general systemstheory should be considered the basis of software engi-neering formalism. Having defined the generic backdropsor perspectives applicable to all software systems thenKlir’s general system theory becomes a general theory ofsoftware systems. We need only look at it in terms of sys-tems design instead of systems inquiry. This may be ac-complished by realizing that every designed system mustinterface directly with its environmental anti-system. Thedesigned system and the anti-system form two subsystemsof a meta-system. In the design process technical sourcesystems for both the designed and the anti-systems must bedefined. The external system boundary separates the de-signed source system from the anti-source system. Boththe designed and the anti-source system variables are mea-sured against the fundamental perspectival support vari-ables. These fundamental software design perspectivesmediate the interchange between the two source systems.Once the source systems have been defined then the dataflows across the external system boundary are isolated. Inrelation to these data flows the anti-data system is defined.Its reciprocal designed data system is postulated on the ba-sis of the needs of the anti-data system. The designed data

system is the inverse of the anti-data system. The next stepis to define the designed generative behavior system. Thisis the software capable of generating the required datastreams. This generative behavior system may require fur-ther development of structural and meta-models whichdrive the generative behavior (software) system. Supportinvariant constraints between variables necessarily changeovertime. These changes from one model that generatesdata to another are structural relations. Meta-models re-cord the changes in structural relations. Each level abovethe generative behavior system records the embedding ofmore and more sophisticated constraints into the softwaredesign. Structural systems record changes in design systemvariables relations. Meta systems record changes in thesupport variable set in relation to the designed system vari-ables. In the process of design variables measured againsta single perspective are extended to be measured againsttwo perspectives, then three perspectives and then fourperspectives. Each extension of a designed system variableto another support perspective allows another meta-systemlevel to be defined. What is invariant in relation to two per-spectives may be variable in relation to a third perspective.The addition of other support variables, other than thoserequired by the software design perspectives, allows thisprocess of generating meta-systems to become an endlessregression like that of the endless levels of meta-structures.The two infinite regresses of meta-structures and meta-sys-tems approach infinity ending in the singularity of pure im-manence.

Klir’s definition of the formal-structural system gives afirm basis for understanding the embedding of structureinto the software design. Formal methods in software engi-neering normally apply logic and other discrete mathemat-ical formalisms to the definition of software. These formal-isms must be augmented by an appreciation of meta-struc-ture and meta-system articulation. Software design mustbe defined by structural as well as formal relations. Theformal relations are the basis for understanding these struc-tural relations. Klir’s model of the formal-structural sys-tem is the only known model where these structural rela-tions are clearly defined. Thus formalisms such as logic,set theory and axiomatic definitions should be appliedwithin the framework of general systems theory to achievea proper formalization of software design. These formal-isms are independent of the software design methods.

The field of software engineering must necessarily drawfrom several sources which work together to get full cov-erage of the problem areas being addressed. The unifyingdiscipline is mathematical category theory which is ap-plied to abstract automata. To this is added Klir’s defini-

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

103

tion of a formal-structural system with its various episte-mological levels. The formal components of the formal-structural system may be controlled using various othermathematico-logical formalisms such as logic or set theo-ry. For software systems the four fundamental perspectivesmust be added along with the bridging minimal methods.These perspectives define the substructure upon which thedesigned system superstructure is built. To these sourcesmust be added domain analysis [180] which adapts thesoftware design methods to a particular domain. Domainanalysis is explained by S. Shaler and S. J. Mellors article"Recursive Design" [181]. In this article they identify fourtypes of domain:

1) Application Domain Specialized Architectures

2) Service Domain Database, Operating System, etc.

3) Architecture Domain: Agent, Event, Process, Data

4) Implementation Domain: How architectures are incar-nated as programs.

The design methods articulated in this essay describe in de-tail the architecture domain. Implementation domain in-cludes languages, operating systems, data bases and othertools at various levels of abstraction which allow the who,what, when and where of the design to be expressed as‘how’ - this is implemented concretely so that it runs as anexecuting software system. Service domains are variousspecialized architectures which serve the applicationwhich in turn has its own architecture. Each of these do-mains consist of objects that have data and states as well assets of operations that modify the data and states. Shalerand Mellor suggest using their object oriented analysismethod to delineate these domains. Within the architecturedomain however the concept of autonetic eventities is amore powerful organizing construct. Within each domainvarious mathematico-logical formalisms may be applied toorganize and keep consistent the design information. Butthese formalisms must remain subservient to the generalsystems theory concepts which are applied to each domainin order to discern the systems that give the objects withina domain coherence. Object oriented analysis lacks thesebasic systems theoretical constructs. Architectural designmethods must eventually be applied to the various domainsin order to render the software design which may then beimplemented. The steps of meta-design might appear asfollows:

1. Identify domains and their relations

2. Identify objects in domains and their operations

3. Apply formalisms to all domain objects and op-erations

4. Apply design methods to formally constrainedobjects

5. Embed meta-structures and meta-models in do-mains

6. Implement designed system

7. Study implemented design behavior.

Meta-design takes into account the place of the designmethods in the world as they are applied to different appli-cations. Design methods by themselves are merely an ab-stract view of how all embedded software must be struc-tured. When combined with domain analysis, formal math-ematico-logical methods, and Klir’s definition of theformal structural system, these formal methods find theirapplication within the world.

* * *

This essay must finally turn to considering the significanceof the substructure of software methods in relation to thesuperstructure of the designed system. Meta-design positsthat these software architectural methods must be under-stood in relation to other disciplines. But fixing the placeof the field of software methods among other disciplines isnot enough. We strive here to understand the meta-techni-cal in some fundamental way. It is clear that the meta-tech-nical is the substructure added as a supplement to the tech-nical formal-structural system as defined by Klir. This sup-plement dovetails with Klir’s definition by fitting into theslot of ‘backdrops’ and ‘support variables’ that ground allmeasurements within the software source system. Yet thesupplement adds unwanted elements. The perspectives donot all have the same metrical format. The division be-tween fully ordered and partially ordered metrics causesthe field of software methods to be distorted. This distor-tion when surveyed carefully reveals a serious gap be-tween the two kinds of metrics. It has been posited that thisgap hides the singularity of pure immanence associated180. See Bib#140.

181. See Bib#270.

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

104

with Being 3. Software derives its inherent nature from this

kind of Being 3. Software is a strange kind of writing. It isautomated writing which shares weird characteristics withthe automatic writing of the explorers of the paranormal. Inautomatic writing some other force from another realm issaid to control what is written. The Ouija board is oftenused as a tool in the seance. The fingers are moved by spir-its from another world to spell fateful words in answer toquestions. This phenomena is sometimes explained as un-conscious direction of the motor system. It is usually dis-missed as self delusion by those who are too easily im-pressed by tales of the supernatural. Whatever the explana-tion automatic writing is a strange, borderline phenomenaset outside the boundaries of the domain of order and rea-son. In automatic writing the question is ‘who’ or ‘what’ iscontrolling the writing. Some other agency other than thesubject is posited which is speaking to us...from the uncon-scious; ...from the spirit world; ...from our need for self de-lusion.

Within the realm of technology, well within the domain oforder and reason, safe from all accusations of pseudo sci-entific tendencies, there is another kind of automatic writ-ing. In this case it is the written text of software executedby the central processing unit of a computer. At first glancean altogether different situation. Yet on further analysis

and reflection software becomes more and more strange.Slowly it is realized that software is not like other mundanethings. It has a special kind of presence in the world. Thatkind of presence has been named Hyper Being. It is thecancellation of Process Being of Heidegger with the Noth-ingness of Sartre. It indicates the existence of pure imma-nence, unseeable, behind the showing and hiding of tem-poralized (i.e., pure transcendence) presence. By analogywith the physics of Blackholes; pure immanence is like thesingularity surrounded by an event horizon (i.e., outsidethe laws of physics and things beyond reasons and normalorder). In physics strange things occur at the hypothesizedevent-horizon. What occurs at the event-horizon whereProcess Being and Nothingness cancel becoming crossedout is described by Derrida as differing/deferring of Differ-ance:

"Derridian difference is movement which per-mits the spacing required by difference while necessarily deferring fixed relations between signifier and signified".

Community Without UnityPages 157-158William Corlett [182]

SYSTEM EVOLUTION

SYSTEM DYNAMICS

POPULATION FLUCTUATIONS

DEMOGRAPHY

essential attributes relations

accidental attributes relations

numerical relations

spacetime position relations

essential diacriticality

accidental diacriticality

instantiation diacriticality

position sensitive diacriticality

between instances

FIGURE 6 1

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

105

This event-horizon has been identified with the gap be-tween fully ordered and partially ordered perspectives onsoftware design. The gap between these two pairs of per-spectives is a fundamental difference. This difference isopened up by the more fundamental differences betweenpure immanence and pure transcendence and between thetwo cancelling forms of pure transcendence: Process Be-ing and Nothingness. The dynamic of the presence/non-presence of Process Being set against the dynamic of pres-ence/absence of Nothingness gives rise to the phenomenaof cancellation. In cancellation the present becomes a non-present absence. What was present just vanishes throughannihilation. No even a trace is left. This means pure tran-scendence in its two poles turns into pure immanence - that

which can never be made present and which is inherentlynonpresent and absent. That singularity of pure imma-nence is then in one sense identical with pure transcen-dence. In fact the ‘purity’ of immanence and transcendenceslowly becomes suspect. Perhaps these also are nihilisticantimonies of pure reason which also ultimately collapsein the cancellation. What is left after the dust has settledfrom this cancellation of nihilistic meta-physical oppositesis the world - not even a leaf has rustled as a result of thesemomentus metaphysical events - which lies undisturbedbefore us wild and primordial which existed before the ed-ifice of ideation was erected. Differance is the opening upof the fundamental metaphysical differences which createsan opening which all other differences can operate. Thisopening up of the difference between pure immanence andpure transcendence which in turn flowers into the differ-ence between Process Being and Nothingness creates the

182. See Bib#69.

Perspective Perspective Agent Process

Interpenetration Horizon Peripheral External

Context Network Envelope EnvironmentMeta-System

Interactive Relation Facet Processor Transform System

Local Consistency Attribute Function Object

Truth o( ManifestationPopulation

Eject

CLOTURE

Task

World

Mutual Support

(Fate)

FIGURE 6 2

sensor oractuator

source orsink

context bubbleskin

cluster

chain offunctions

vortex ofaction

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

106

external/ internal horizons of subjectivity. When the sub-ject looks out it sees the infinite horizon of Process Beingas temporalized manifestation of things in the clearing-of-being. When the subject looks inward it sees the infinitehorizon of Nothingness where all its searching for an in-ward core get lost in an endless desert of nowhere. Thesubject gazes on the world from this nowhere. Corlett de-fines the subject as . . .

"any being capable of maintaining continuity across time. Accordingly, a (reasonably collect-ed) person can be a subject, but so can a neigh-borhood or village".

Page 22, Community Without Unity. [183]

The subject has been defined by Corlett in a way whichseparates this concept from the individual, but what isdeeply interesting if not thought provoking (in a Heidegge-rian sense) is that agency has been projected by computertechnology outside the human organism. Computers driv-en by software can be seen to fall under this definition ofsubjectivity. They maintain continuity as agents acrosstime/space as CPU cycles and digital memory. Thus thehuman organism becomes replaceable by the automationas a locus of experience in terms of a space/time nexus.This new subject does not just maintain continuity passive-ly but acts as a transformative agent as well. In some wayit is possible to see that the definition of the four funda-mental perspectives is some minimal definition of subjec-tivity and that the ‘gap’ of the event-horizon of cancella-tion opens up directly in the middle of this minimal defini-tion of the subject. Whether the subject is a singleprocessor or a cluster (neighborhood or village) is not rel-evant. Fragmentation of agency is not as important as183. See Bib#69.

Perspective PerspectiveAgent Process

Network Envelopecontext bubble

skincluster

chain offunctions

TransformationProcessor

System

input output

transformatetransformand

FunctionTask

enablingmechanism

enabler enabled

activatedactivator

FIGURE 6 3

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

107

maintaining the illusion of continuity. The illusion of con-tinuity is precisely what the notion of the subject guards.This illusion is generated by the mechanism of ideation.Ideation repeats the image fast enough so that the gaps inthe projection cannot be seen. The differences betweenrepetitions are glossed so that differences within the pro-jected image can catch the eye. Within the human organ-ism pretending to be ‘subjugated’ these images are his sim-ple ideas. Within the automata these images are the primi-tive operations of software commands.

Human beings have projected their carefully designed sub-jectivity out beyond themselves into the world. The ide-ational mechanism has taken on a life of its own in a non-organic realm. But the crucial question becomes ‘who isthe designer’. We fashion our robots as we attempt to re-fashion ourselves through genetic meddling. Strangely wediscover that software is the key in both cases. The geneticsoftware of DNA allows us to reprogram ourselves whilethe software that controls the automata allows us to mimicourselves in silicon representations. The ‘designer’ in bothcases is not easily pinned down. The organic foundationsare changing while the ideational locus of subjectivity isprojected outward. Suddenly we wonder who is writing thesoftware? It is certainly not the subject because that is whathas been thrown out into the world as automata. It is not thehuman organism because that is changing under our feet.

When we search for the ‘designer’ we look into ourselvesand see only nothingness. We don’t know who we are. Wediscover only viewpoints from nowhere. When we lookoutward we see an infinite horizon of temporality full ofbeings we project as we fall towards death. Some of thosebeings are automatons animated by ourselves. Some ofthose beings are organisms we alter genetically. Suddenlywe realize that perhaps the nothingness of our own view-points from nowhere is perhaps identical to our projectionof manifested beings. These two horizons of transcendencein that moment collapse. The ‘designer’ as subject in aflash disappears. Pure immanence and pure transcendencemerge. All at once we are savages again. The ideational ed-ifice has collapsed. Reason has become the same as mad-ness. Order is indistinguishable from disorder, yet the hu-man species has been altered irrevocably. The human spe-cies has been redesigned to adapt to the externalized agentsthat now control mann - it. From the unconscious, or theworld of spirits, or the realm of self-delusion the automaticwriting has been done. The ‘designer’ is elusive. But thatelusive ‘designer’ has used the meta-technology of soft-ware to rewrite who we are.

Differance is the name of the movement that opens up thespacing wherein differences are seen. In that spacing - be-

Agent Hierarchy Process Hierarchypartial orderpartial order

linear order without distance partial order with distanceVIRTUAL MACHINE MAPPINGintersection at instruction

in processing transformstatic mapping

of transforms to processor

FIGURE 6 4

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

108

tween pure immanence and pure transcendence - betweenProcess Being and Nothingness - between subject andKlir’s object system there occurs the deferring of fixed re-lations between signifier and signified. There in that spac-ing the temporality of nihilistic artificial emergence and er-ratic change constantly turns over the soil so the seed of anon-nihilistic distinction may be planted and grow into thetree of genuine emergence. In Old English the words treeand true are related by vowel shifts. The world was envis-aged as the tree of Yaggrasil. When the Kurgan peopleroamed the great forest that was Europe, the tree seemed tobe the dominant structure in the world connecting heavenand earth. The straight tree did that best and was calledtrue. In our times only those genuine emergences rooted inall four kinds of being stand out in the nihilistic landscapethat has replaced the great forests of Europe and the Amer-icas. ‘Software’ as a concept is one of those great treeswithin the nihilistic landscape. Software is a kind of entitywhose roots go deep. It reaches down to tap the ground wa-ters of Hyper Being and becomes a means of reaching evendeeper to the level of Wild Being. Then knowledgeware

becomes embodied in software. Software reaches throughthe cracks in the metaphysical bedrocks and taps the pri-mordial writing that expresses differance. The automated/automatic writing of difference is the face of the ‘designer’who redesigns the subject. The origin of the forms that the‘designer’ imposes on the subject are always already lost.By definition the origin cannot be made present. As welook into the face of the meta-technical phenomena we seethe fragmentation of our subjectivity. As designers of au-tomata we eventually have to allow them to become non-deterministic (as they embody knowledgeware). That is nolonger controlled by us. As designers of ourselves we be-gin to evolve as organic artifacts. As designers of the bion-ic combination of these two evolutions we become the lostorigin of a different kind of creation - ‘the ubermann’.

"When Zarathustra arrived at the nearest of towns lying against the forest, he found in that very place many people assembled in the market square: for it had been announced that a tight-rope walker would be appearing. Zarathustra

MACROINSTRUCTION

STATE

PARAMETERS

MICROINSTRUCTION

STATE

PARAMETERSMICROINSTRUCTION

STATE MICROINSTRUCTION PARAMETERS

MACRO

VIRTUAL MACHINE

MICRO

VIRTUALMACHINE

LEVEL

LEVEL

MICROINSTRUCTION

FIGURE 6 5

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

109

spoke this to the people:

I teach you the superman. Man is something that should be overcome. What have you done to overcome him?

All creatures hitherto create something beyond

themselves: and do you want to be the ebb of this great tide, and return to the animals rather than overcome man?"

NietzscheThus Spake ZarathustraPage 41 [184]

X STATE

INPUT

WORKERINDICATED

CurrentState

WORKER

Output

Input

ModifyInternal

Data Store

Set New State

OPERATION

OPERATION

OPERATION

PRIVATE DATA

EVENTITY

macro instruction

microinstruction

macro instruction

macro instruction

FIGURE 6 6

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

110

In the Gameplayers of Zan, M. A. Foster imagines the‘Ler’ as the next step in human evolution. They are totallyinvolved in playing the game of ‘Zan’ which is their inter-face to the ultimate machine which is an autopoetic space-ship. This wedding between the creatures we may createfrom our organic basis and the autopoetic automatons wemay create from inorganic projections of subjectivity isbrought to life in Foster’s classic science fiction. But thisdeep possibility owes its potential to the genuine emer-gence of the archetype of software as a fundamental meansof exercising power. Given this tool our will-to-power en-ters a new realm in which meta-technology takes over asthe dominant theme from technology. Whether Foster’s vi-sion is realized or not there will be profound changes fromthe fragmentation of Being. And the intensification oftechnology as meta-technology is not the end. After thefull flowering of meta-technology comes the final state ofproto-technology in which we return to savagery and con-front chaos directly.

"Very well. What does the game have to do with piloting? I know the game, thanks to Krisshatem, but I fail to

see..."

"The hard question; thus the hard answer. Let me build a dynamic identification series for you: consider vehicles. You make a cart, a wagon, hitch it to a pony, and off you go. Its purpose is to go, but it can be stopped, and it doesn’t change, or stop being a cart. Yes? Now consider a bicycle, which must be in balance to go. Yes? Now an aircraft; it can only be stopped when it is finished being a functional airplane, yes? You can’t stop it just anywhere, and never in the air, unless you have rotary wings, which is just cheating the system. Yes? Just so the leap to the ship. It is a quantum leap into a new concept in machines. If indeed that is the proper word. Be-fore, we had machines that could be turned off. The more complex they became, the harder to turn off. With the ship, we enter the concept-world of machines that can’t be turned off - at all. They must be on to exist. Once you reach a certain stage in the assembly of it, it’s on and that’s all there is to it. And when you build it, you are building something very specific; that is the law of multiplexity. The more developed the machine the more unique it becomes".

184. See Bib#220.

ImplementationModel Essential

Model

VirtualMachines

Eventities

Tasking

MENTALSIMULATION

FIGURE 6 7

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

111

"So then" she continued "this machine can only operate, be on, exist in one mode only. A space-ship which can’t be turned off. Now in the true-mode of that existence the laws we limited liv-ing creatures perceive about the universe are so distorted that they may as well not apply. One doesn’t look out a window to see where one is going! The kind of space that the ship per-ceives, operates in, is to creatures such as you and I, chaotic, meaningless, and dangerous, when perceived directly, if we can at all. To confront it directly is destructive to the primitive mind, indeed the whole vertebrate nervous sys-tem. At present, Dragonfly Lodge thinks this underlying reality - universe is destructive to all minds whatever their configuration, life and form or robotic. Basic to the universe: that is its innermost reality cannot be perceived. A limit.

So we interpose a symbolizer, and that translates the view into something we can perceive and control. And we must control it, for like the sail-ing ship our ship emulates, it cannot exists un-controlled, and there can be no automation to do it for us (the Ler). It is flown manually, all the time; even to hold it in place relative to our per-ceptual field. For at the level of reality we are operating at here, to perceive is to manipulate. As you go further down into mystery, they be-come more and more similar; even the forerun-ners (the last men) know that. But at the ship they converge!!

Gameplayers of ZanM. A. FosterPage 370 [185]

185. See Bib#103.

FIGURE 6 9

DATA STORE

virtual processing eventity virtual instruction set eventity

object eventityactor eventity

add connection betweenoperations & persistent

data

add queue

add executive loop add externally visible operations

EVENTITY ROLES

TASK OPERATION ON DATA

VIRTUAL INSTRUCTIONSPROCESSOR

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

112

The automata ceases to exist when turned off. Softwareneeds the executing hardware. When we have projectedourselves totally into virtual space via our cybernetic crea-tures like ‘knowbots’ and the system goes down what willbe left over. The overman will probably be totally lockedinto his narcissistic interaction with the automata like theLer. Perhaps he will have already discarded his creator‘homo sapiens’ when the system goes down. Once geneticengineering has taken place there is no going back. Littleimprovements here and there finally lead to somethingquite different even barring intentional reengineering. Thetechnical adaptation of the human so that man no longerconfronts technology occurs through meta-technology.

Hardware and organic wet ware merged through softwareand became symbiotically merged. Knowledgeware gov-erns the synthesis. What cannot merge becomes the dis-carded and the savage - the proto-Ler or last man.

In software the destiny of humanity is written. Visionsfrom science fiction are not needed to tell us that importantevents for the fate of humanity are happening in our times.Software meta-methodology has a pivotal role to play inthese events.

* * *

Agent

Event Data

Processinferiordominant

inferior dominant

l

l

FIGURE 7 2

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

113

Dedication:

This paper was written over the period from September of 1989 to June of1990. It was just in this period that my son, aged eight, Shuaib Ibrahim Palmersuddenly grew ill and finally died. In November he fell ill and was discoveredto have a brain tumor. On January 22 he had his first operation to remove thetumor. The tumor turned out to be an epidermoidal cyst in the third ventricalof the brain attached to the Hypothalmus. This first operation was a success,but within a few months the cyst had grown back. A second operation was at-tempted on May 18th and Shuaib died on May 25th from a massive stroke aftershowing initial signs of recovery. In the brief period between his two operatonsShuaib spent a great deal of time drawing and painting and attained unusualproficiency for a boy his age. Shuaib, the inventor of many wonderful things,was created with an extremely rare flaw which suddenly manifested and

claimed his life. As with all the creations of God, both he and his flaw ex-pressed the perfection of Gods work. This essay with all it’s inherent imper-fection is dedicated to my son, whom I love, in death as in life with all myheart.

Klir’sFormal-Structural

System

DesignMethods

A PE D

supportvariables

Data SystemSource System

GenerativeBehavior

CategoryTheory

abstract automata

FormalMethodsfrom Logic& Mathematics

DomainAnalysis

FIGURE 7 5

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

114

EssentialFunctional

ModelTaskingStructure

VirtualProcessor

Layers

Virtual

MachineEventity

Layers

TransformLayers

Functions

HARDWAREMental

SimulationAnalysis

Synthesis

Requirements

FIGURE 6 8

TRACEABILITYMAPPING

Process Allocation

Constraints

ImplementationFunctional

Model

SOFTWARE ENGINEERING FOUNDATIONS: Software Systems Meta-Methodology by K.D. Palmer

115

Data System

Source System

DESIGNED SYSTEM

A PE D

Source

Sink

Anti - Data System

Anti - Source System

A PE D

supportvariables

supportvariables

ANTI-SYSTEM

META-SYSTEM

GenerativeBehavior

META-Structures META-Models

FIGURE 7 4