A Cognitive Core for an EIS

Abstract: The current vision of Enterprise Information Systems is rooted in a directed view of what information is, caused by the evolution of EIS on top of sequential machines. When introducing machine use of knowledge in an organisation, we need to break the connection with directedness. Humans have a cognitive layer, where the underlying structure is exploited in an undirected manner, affording the organism a vastly extended, and easily extensible, repertoire of responses. For the same reason, enterprises also need a cognitive layer. The cognitive layer for enterprises can be realised using a self-modifying state machine paradigm – a structure where the connections in the structure are undirected. The paper calls for an end to directed structures in the higher levels of an EIS.


Enterprise Information Systems represent the organisational knowledge and the enterprise’s long term memory. As such they have to be able to capture and process the multitude of knowledge and variety of information associated with a complex active organisation. Current systems are founded on the use of sequential computational models – machines executing a pre-programmed sequence of instructions. The fundamental limitation imposed by the sequential model on capturing and processing knowledge (that is, having to predict beforehand every state in the knowledge processing) has led to the introduction of different paradigms such as Frame Logic , RDF (and derivatives), Ontologies and other knowledge representation systems in EIS. But these paradigms provide only a limited improvement over the traditional approach since they suffer from the same restriction on processing directed pre-defined structures in a sequential manner, even though the traversal mechanism is made more dynamic. If we assume that an organisation has many characteristics in common with a human, we should expect there to be a large afferent structure which allows the organisation to keep in touch with its environment and its inner workings, an efferent structure which allows it to modify its internal and external environments, and a cognitive structure, which binds the two other structures together. We could say that knowledge is beginning to be seen as the driver of this cognitive structure, but if we did so, we would fail to recognise the limitations imposed by the traditional computational models that were developed in the very early days of computer science. Those models which were so essential in the development of computer science and its mathematical foundations, basically modelled computers as processors of a sequence of instructions. This relatively simple computational model was based on the idea that a mathematical proof could be represented by a sequence of steps, so that a machine capable of carrying out a sequence of steps would be capable of proving its internal working. Applying this model to higher levels of an EIS - knowledge processing - where many facets of information come to bear on each other in an unpredictable manner – brings with it the restrictions of the sequential model without adding any soundness to its underlying processing model because in this open environment a strict mathematical model assuming a static world, one unchanged by the actions of the computer or anything else, is not applicable.

We could also view a mathematical proof provided by a human as a directed trace through the state machine in a person’s head, where the part of the structure actually traced is only a fraction of the overall structure that allows the proof to be supported and to be "read". If the circumstances that gave rise to the proof change, then the structure modifies itself and the proof changes. If we base EIS on an automated state machine capable of self-modification, we end up with a very different way of building information systems – one that is based on knowledge.

With this perspective, we will try to look again at the information needs of an enterprise, mapping the requirements to what is possible if we do not assume an implicit direction in the EIS. This is not an invitation to hypothesise about a possible but unknown structure, rather to compare what can be achieved using a particular form of undirected structure with various forms of directed structure.

A Holistic Process

To set the scene, we describe an application which suggests, by its dense interconnections, an undirected form. A process for Information Extraction from earthquake reports is described in [2] and shown in Figure 1. To briefly recapitulate, words from the text are turned into parts of speech, parts of speech are turned into grammatical structure, grammatical structure is turned into semantic structure, semantic structure is turned into objects and events, and events are used to extend the existing knowledge structure. All of these processes have the same basic structure, and can interoperate, so that knowledge about grammar is used to disambiguate parts of speech, knowledge about events is used to disambiguate the grammar, knowledge about earthquake attenuation is used to disambiguate place names, and so on. All of the notionally separate processes operate synergistically and opportunistically in parallel – information generated by one process is immediately available to be used by any of the other processes. Outside the realm of computer science, such a description seems trivial – of course you would use everything you know to understand and validate what you are being told, and use what you have learned to understand what you are told next. The question we will explore is – why is such a description unusual, even singular, within EIS in particular and computer science in general.

The example brings up issues of: undirectedness, activity, visibility, granularity, message complexity, rapidity of structural change, self-modification and structural backtracking. The issues will be described in the context of an EIS. We begin with undirectedness.


Is Directedness Necessary

In the early days of computer development, when minimal machine resources imposed severe limits on what could be done, writing programs made up of a few sequential instructions was the only choice. As both machines and programs became larger, the dominant problem became how to ensure that the instruction sequence remained valid in an environment that could not be predicted. To create a sequence of instructions involves a multitude of decisions, decisions whose basis is no longer accessible, unlike a proof in someone’s head.

There were efforts to move to a dataflow model, but the data pathways were still directed, and there was no sense of the data altering the pathways, with the result that the paradigm was limited in its applicability.

Expert systems were introduced, as a way of having rules decide for themselves when they should operate, thus seemingly breaking away from a sequential program, but again the individual rules were directed to a purpose. The transient structure created by operation of the rules was also directed (and effectively invisible to other rules in most implementations, leading to problems of extensibility and validity).

Artificial Neural Networks (ANNs) were introduced, in the belief that directed networks of weighted paths would begin to display the characteristics of real human neural networks. ANNs lack many of the attributes of human neural networks, in particular they are unable to support back-connection, so they can only be used in directed and relatively shallow applications. The decision on what is to be the output defines and limits what the ANN can do.

Logic programming suggests the use of logic, which is undirected, in programming. Unfortunately, its usual implementation involves a unification algorithm. This means that a directed structure is built on the computer’s stack out of potentially undirected pieces. When used in this way, the pieces become directed. A further conceptual difficulty is that the stack frames that make up the structure are invisible to the rest of the machine – they are not realised, except as (directed) pointers to instructions and data locations.

Constraint solving uses undirected constraint structure, but is driven by a program which provides the activity by choosing what constraint to apply next. The constraint structure is typically compiled, making the undirected structure static in its topology and static in the ranges permissible at its nodes. The only dynamic form the constraint structure takes is as variables on a stack, rendering its operation invisible and dynamically inextensible – attributes that are not easily compatible with an EIS.

Undirected, active, dynamically extensible software structures similar to those described in [1,2] (there are extensive references in [2] to details of the undirected structures, so they are not repeated here) have been demonstrated in the areas of

Data Mining
Engineering and Financial Analysis
Information Extraction from text
Knowledge Representation
Marketing Analysis
Project Management
Risk Analysis
Strategic Planning
Time Series Analysis

so it should be clear that Directedness, whether a sequence of instructions or a directed arc in an ANN, is not a necessary attribute of the structures used at higher levels of an EIS.

Someone familiar with neurons in animal nervous systems may feel that, since an individual neuron is directed in its operation, then Directedness in software seeking to support human neural systems is no bad thing. Animal neurons are connected in complex ways, with back connection and switchable output leading to self-excitation, as anyone who has observed a dog dreaming can attest. In humans the connections are much denser. Massive back-connection can result in apparent undirectedness at higher levels in the system, even though the base component is directed. An analogy is the operation of a computer made from transistors – the properties of the computer are not easily imagined solely by examining the properties of the transistor.

It should also be noted that we do not have to be precise in our simulation of animal nervous system structure, just as long as the end result has the same fluidity. In the same vein, our cars do not have legs and our aeroplanes do not flap their wings. In particular, we do not have to simulate the flow of charge down an axon, instead we can simulate a wire, which can carry signals in either direction and which may have readily demountable connections at both ends.

If directedness is not necessary, perhaps it is beneficial in ways that undirected structure would not be. This seems an unlikely proposition, given that undirected structure will always be more general in its applicability.

Is Directedness Beneficial

A directed structure is beneficial in terms of resource use when the task is invariant, which occurs at low levels in an EIS. Unnecessary undirectedness is also not beneficial – the activity in the structure should faithfully model the real world activity it represents. For example, when emulating the advancement of a process in time the notion of going backwards before current time is not only redundant but misleading.

We would claim that directedness is seriously detrimental to the operation of higher levels of an EIS. It is detrimental in two ways – it encourages sloppy thinking and it provides a poor description of the situation to those whose cognitive activity drives the enterprise.

The thinking of many people becomes captured by their tools. For a carpenter or a truck driver, this is no bad thing – they need to respect the physical limitations of their tools. For an enterprise planner, restricting their analysis to the limitations of a spreadsheet or other decision support algorithm can have disastrous results for the enterprise. The effect is insidious and self-reinforcing – the tool only shows me this, so this is all I think about, so I never ask for anything else, because I couldn’t have it anyway. The failing is not restricted to planners. To quote from [3] "The most difficult task connected with adopting new [computer] architectures is that it is hard to think about them using our von Neumann oriented minds." Thinking about EIS has been dominated by what seemed possible, rather than working back from what was necessary or desirable for the enterprise.

The examples of systems which currently provide poor decision support are from areas which are difficult to program because of complex interactions:

Project Management

A good project manager has to take in many different aspects of a project – what it will produce, activities, times, costs, whether to curtail it. Relatively few projects are so simple that there do not exist alternative ways of doing things and contingencies in case of failure. The project plan, at its simplest, has at least two directions – the planner looks ahead and rolls back to now to work out what to do next. A holistic view of all the competing influences on a project is required, so no particular direction or emphasis can be assumed in the analysis.

Marketing Analysis

As one moves to higher levels in the enterprise, the people become less directed in their cognitive activity. To perform marketing analysis properly requires searching of structure within the organisation and imagined structures that lie outside it – the competitors and the customers.

Strategic and Tactical

Figure 2 shows two levels in an enterprise – strategic and tactical. The strategic level needs to respond to what is occurring at the tactical level, while also controlling it, so communication needs to be two-way. In addition, what is passing between the two levels is not simply values, but structure – "We have encountered a new competitor in these areas".

The Military Enterprise

The military enterprise, with its multi-level control structure, may appear directed, from the admiral or general on down, but cross-linkings and back-connections in the structure dominate behaviour. A ship provides transport for an army, which relies on protection from an air force. Intelligence from the scout guides the general’s decision. An EIS operating in "the fog of war" needs to bring together and partially synthesise information from many different directions – orders from above, requests from below - if it is to serve its users well. An armoured brigade is captured, a ship is sunk, a neutral state becomes a combatant - the synthesis needs to be on dynamically determined criteria, not a preprogrammed and directed view of what may happen.

Is Undirectedness Beneficial

If we assume the structure is also active, an undirected structure provides several benefits:

The structure is extensible in any direction
The structure can participate in its extension
Structures can be merged together

These properties of undirected structures support higher level operations in an EIS.

Some researchers have experienced difficulties – mainly to do with looping - with formalisations using undirected graphs. We would suggest this has more to do with the flexibility of the representation and the inflexibility of an algorithm, outside of the graph and operating on it. For the undirected structure we describe, there is no external algorithm which needs to keep track of the state of a graph representation of the structure – the activity is in the structure.

An Undirected Data Structure

An undirected data structure is relatively easy to create. Is this all that is meant?

This brings up the problems of what it is that understands the data structure, and where are all the states stored. If the structure is undirected, then there may be no data in a connection, there may be data flowing in either direction, or there may be data that has flowed in both directions in a consistent fashion in a given connection (that is, the new data is consistent with the old data, as 3..5 is consistent with 2..10). What is more difficult to handle is that the structure itself may change, due to the flow of information in it. We take the simple example

A = SUM(List)

We don’t know what the List is comprised of, and we don’t know in which direction information will flow through the connection represented by the EQUALS (it is undirected), and we don’t know whether the result will be logical or numeric (the EQUALS is a logical switching connection just as much as a numeric connection). If we are to provide a truly undirected structure, we need to go back to tors to try to understand what it is that we are representing – there were many other shortcuts taken when analytic constructs were first turned into a sequence of instructions.

As soon as we conceive of an undirected data structure undergoing dynamic modification, it becomes impossible to have an algorithm separate from the data structure and which manages it – the algorithm would undercut itself by its own actions. We are led to the concept of an active structure – one which incorporates both activity and data.

Are Undirected Structures Knowledge

The meaning of the word "knowledge" has been largely traduced in Computer Science, with almost anything not a program captured under the heading of "Knowledge-Based Systems".

If we go back to a more basic definition of knowledge, we come up with "structure uncommitted as to purpose". If we assume "human knowledge", then knowledge is a mental structure that a human can use in various ways. Books also contain knowledge, but in a trace form, ineffective until taken up by a human, who recreates in their mind an approximation of the structure that had previously existed in the author’s mind. Just as knowledge is extensible and mergeable, so are undirected structures. We will use undirected structure and knowledge structure interchangeably from here on, although the undirected structures we describe have no support for knowledge gained from the direct human senses – sight, sound, touch.

Are Undirected Structures Harder to Comprehend

We are all schooled to understand undirected structures before we encounter the constructs of Computer Science. We may have grumbled about Algebra, but we intuitively grasped the transformations of logic and language, we knew our web of relatives and we could read road maps. The more that a machine can handle the transformations that people in the enterprise perform in their heads as they view the environment in different ways, the more the machine can support them in their cognitive activity. What is being described by these undirected structures is not a new and impenetrable logical calculus, merely the more faithful rendition of the analytic reasoning that people already know.

Activity, Visibility, Granularity

We have already touched on these in discussing the limitations of directedness. These limitations can be partially overcome by cutting processing activity into smaller pieces. But how small? The EIS will of necessity have chunked most of the data, but when it comes to analysis, the amount of activity that can be undertaken without some outside influence intruding is quite small. The undirected structures we are proposing can go down to the atomic level – the level of a PLUS operator – while also operating at coarser levels of granularity. For a military enterprise, Human Resources may need to plan at the level of an individual soldier, while a general plans at the level of a division. For each level’s atom, the plan needs to have an atomic level of activity, where the result of the activity is broadcast throughout the structure, so other elements interested in the activity can either overturn the activity, be influenced by it or influence others that will be affected by it. The visibility referred to here is the ability of any node in the structure to potentially connect to any other node, and thus sense what is occurring. This form of activity visibility requires an undirected structure.

Directed structures can be extremely sparse, and can be dynamically assembled on the stack, in the manner of logic programming. As applications become huge, won’t we be forced back to directed structures because of resource constraints?

Undirected structures can assemble themselves into extremely sparse structures – the advantage of being undirected and active is that they can carry their own instructions on how to assemble themselves, and information can then flow in them in any direction to determine their validity. An algorithm which can manage many elements cannot tolerate too much local specialisation – it becomes bogged down in testing for special cases. The local activity in an undirected structure results from the local structure, so each locality can be as specialised as desired.

Ensemble Messaging

At some point the "Information" part of an EIS breaks down – what needs to be passed is no longer information, but knowledge. When a strategic level in the enterprise wants to control a tactical level, it passes structure which can control transactions carried out at the tactical level. In the past, this might have been described as "business rules", but this implies a directed use. If undirected structure is transferred instead, the same structure can be used at the strategic and tactical levels. What we should expect to see at different levels in an EIS are different levels of complexity in the messages being propagated – from single values or blocks of data, to ranges of values and sets of objects, to undirected structure.

Structural Change

The structure of an EIS is usually in a continual state of change to mirror changes in the enterprise or its environment Depending on the enterprise, the permissible lag in the EIS structural response to environment change may range from hours to months. Even the largest enterprise can find that its existing system needs rapid change based on major shocks beyond its control.

The structure of the EIS can be wholly passive during this change, or it can actively contribute to the process. If it contributes, the change time can be shortened considerably – effects ripple through the structure and mistakes are prevented because the structure is validating itself in the process of self-modification. An analogy is the patient who lies awake on the operating table and guides the brain surgeon to the site needing repair - a necessary approach in complex systems. There is a cost for having this flexibility built into the structure, but it is relatively low, as once a direction of flow is established, it will remain until there is some reason to change.

If the structure is capable of structural backtracking, different scenarios can be quickly examined. Structural backtrack relies on all the states being stored in the structure, which is a necessary attribute of an active undirected structure.

What Should an EIS be Capable of

An Enterprise Information System is effectively the distributed nervous system of the enterprise, connecting together the digestion of a mass of data, a task best left to machines, with those centres of cognitive activity that are best left to humans.

If we have an interface between EIS and human, won’t that need to be directed? One popular form of EIS interface is a "dashboard", mirroring the instruments and controls in a car. A car has physical limitations, a relatively benign driving environment, and can be taken off the road for service. An enterprise operates in a logical hyperspace, can’t be shut down for service and sometimes deliberately crashes into, or gobbles up, its competitors. There are many useful metrics that can be represented on an enterprise dashboard, but there are also many that cannot.

A human driving an enterprise has the ability to move to a location in the enterprise's hyperspace, bring together many strands, some of which resulted from previous interactions, weave them together dynamically and move on. It is this form of human cognitive activity that the EIS should seek to support – an unscripted interaction, where the notions of input and output are fluid and the human can implant new structure dynamically. The EIS provides whatever level of partial synthesis required, so the human can stand on that and reach further. At some point, as the EIS reaches into the cognitive level, it needs to have undirected structure to support complex synthesis. The closer to the goal of supporting human cognitive activity the EIS can attain, the less informal structure (humans talking to each other) needed to surround, override and subvert it.

Comparison with other Technologies

Multi-Agent Systems

The difference between the undirected software structures referred to in this paper and Intelligent Agents lies in the granularity and the malleability of the structure that contains the agents. Detail of the undirected structure is described in [2], but basically activity is limited to atomic packets executed by operators, and the result of the activity is then broadcast on the network, potentially allowing any other operator to observe and react to it. The network structure is "soft", that is, it exists in memory and can be modified by an operator in the structure.


Application of the self-modifying state machine paradigm is appropriate across the EIS spectrum. The examples given emphasise the flexibility that undirected structure bestows.

Data Mining

Mapping can be readily established between columns in a database and nodes in the knowledge network. Pushing data into the structure allows the structure to store information in memory operators, as well as analyse and transform it. Removal of the connection to the database allows information to flow out of the structure at the same point where information previously flowed in. The normal data mining process of transformation of the data into statistics and then into rules for use by some other system is avoided. This ability of undirected structure to support multiple use also allows the operative structure to update itself after every transaction – to "learn on the run".

Market Analysis

The example has to do with the marketing analysis of retail products. It is popularly assumed that marketing is for people who are incapable of rigorous analysis. Instead, marketing is often characterised by a stream of critical decisions, made in an environment of fierce competition and razor-thin margins under time pressure and with inadequate information, as it involves predicting the actions of competitors, and their response to your (intended) actions. If the tools of rigorous analysis can’t keep up with the free-flowing, dynamic nature of the task, small wonder they are discarded for "off the top of the head" analysis.

The marketer discovers that sales of a particular brand of coffee, in a particular size, are declining. It could be that customers are moving to a different size, or a different brand, or the public’s taste is changing, or there are seasonal factors that cause the downturn. History is a poor guide, because this area of the market has changed recently, so last year's figures would need elaborate transformation to be of use. The tools that exist to support decisionmaking in the area are seriously flawed:

The Time Series Analysis tools that are based on matching a mathematical function over many seasons only support prediction in a long term stable market – the marketer doesn’t have the luxury of this stability.

OLAP tools are capable of supplying figures in any cross-section, but do not support any deep analysis of those figures – the analyst needs to create a conceptual structure that will guide the analysis.

The analyst must (figuratively) crawl over the structure represented by the sales figures over time, drawing threads together, making hypotheses in different directions – Is it increased advertising of another brand? - Is it a price increase on our part or a price cut by a competitor? – Is it fewer shops stocking our product? – Is it the sum of all these things? For the actions of the analyst to be automated, it is critical that the EIS be able to pull many things together fast – to be integrated to a greater degree than is currently the case. We need to be able to automate what the analyst does – crawl in any direction through a higher dimensional space, making decisions on what to do next depending on what is encountered. This doesn’t sound as though the structure can be directed or the task can be pre-programmed.

Program/Project Management

This is an application where the one knowledge structure must have many uses. Cost can drive the project, or activities can drive the cost, or time, or resources, or ROI. If the resources constrain the project unacceptably, then the project drives the acquisition of new resources, which drives the cost. The final result is stasis, where no aspect is driving, or being driven by, any other aspect. The structure could be viewed as a large constraint problem, except that it is continually jumping from one topology to another as it searches for the combination of topology and state that is consistent. An undirected structure is also necessary to allow the structure to be extended in any direction as new influences on the project emerge.


This discussion has focused on directedness and its relevance in EIS. EIS should support and integrate the human cognitive activity within an enterprise. To do that successfully, some areas of an EIS need to more closely match the human cognitive structure, so that interaction between human and EIS is faster, easier and less limiting.

This paper is not of the usual, comfortable form – a new brick being added to the imposing edifice built by prior research. Instead, it is that unusual and unpalatable form, a call for a paradigm shift. It seeks to point out a flaw in the foundations of current EIS, and, if accepted, it would require a mental shift away from directedness, at least in the higher levels of an EIS intended for large or dynamic enterprises.


[1] Anon (2002) Active Knowledge Manager Using Dynamic Self-Modifying Knowledge Models (IST-2001-32533) retrieved October 2002 from http://www.diffuse.org/0208-rtd.html#ACKNOWNET

[2] Various (2002) AcKnowNet Active Knowledge Manager – Final Report (abridged), (IST-2001-32533), retrieved October 2002 from http://www.inteng.com.au/Defence/abridged_report.htm

[3] Riley, H.N.(1987), The von Neumann Architecture of Computer Systems, retrieved October 2002 from http://www.csupomona.edu/~hnriley/www/VonN.html

Technical Discussion

Similar Papers

Active Structure In Law