For the next generation of computer systems to achieve the level of capabilities projected in science-fiction movies, a paradigm shift is required. To leap forward with new capabilities requires that new problems be addressed. If systems are to autonomously pursue goals, then they will have to interpret and integrate apparently unrelated features. They will need to integrate information to determine relationships, balance alternatives and allocate resources. Actions happen simultaneously and must be considered collectively to achieve short-term tactical and longer-term strategic goals.
Since the invention of the computer and the subsequent evolution from the computer age to the digital age and eventually to the Internet age, the human mindset has been driven by the capabilities of digital computers, which have functionally changed very little since their inception. Most computers today process micro-coded instructions ‘sequentially.’ As such, programming languages are mostly sequential IF|THEN|ELSE scripts. Multicore and parallel processors just distribute the sequential processing for more efficient overall operation. Historically, the basic strategy has been to create smaller, cheaper and faster ways to process information, and to distribute the processing in different ways to process more information in the same way.
Therefore, we have developed the Knowledge Enhanced Electronic Logic1–4 (KEEL® )technology. KEEL is an umbrella term which incorporates the KEEL Dynamic Graphical Language, a method of integrating analog information and an architecture for packaging cognitive models as KEEL ‘engines.’
Source code of the KEEL Dynamic Graphical Language, where one would edit and test it on a graphical display. KEEL: Knowledge Enhanced Electronic Logic.
One example7,8 which demonstrates goal-seeking capabilities of unmanned aerial vehicles (UAVs) has been published (see Figure 2). In this demonstration, a KEEL engine controls each of the UAVs (evaluating targets, threats, system health, weapons, etc.) to control maneuvers, select targets, avoid collisions and select the moment to shoot (if appropriate). To evaluate the policy for the UAV, one can ‘watch it think’ in a simulation, or audit its behaviour using recorded sensor values to animate the KEEL Dynamic Graphical Language.
Cognitive-reasoning demonstration using unmanned aerial vehicles.
Language animation9 (see Figure 3) is an extension to the dynamic nature of the KEEL language. Real-world information, packaged as an XML (extensible markup language) file, can be read periodically into the KEEL development environment and used to manipulate the inputs just as if one had manipulated scroll bars. It is possible to freeze on decisions or actions and then trace through the logic to see why they were made. This makes it relatively easy to understand and audit complex behaviours.
Language animation. A simulation includes unmanned aerial vehicles (UAVs), each with a KEEL engine, which publish what they see to the KEEL toolkit (using the KEEL Dynamic Graphical Language), where the language is animated so one can watch the UAV ‘think.’
There are many cases where analysts need to define or respond to complex issues. A critical need is to provide a way to ‘help the analyst think.’ KEEL satisfies this demand with the interactive nature of the language. The analyst thinks in terms of the changing importance of information items and how each piece of information interacts with others. Development is iterative: add, test, modify, delete, refine and test again.
In summary, KEEL technology's graphical toolkit can be used to rapidly translate a domain expert's logic and thinking into quantified, characterized, complex decision-making logic for machines. The technology offers a way to save time and money by rapidly accelerating the design and development process by auto-generating the data tables and code. This technology allows addition of advanced capabilities to almost any application domain. KEEL provides the ability to focus attention on the broader system aspects of information processing without concern for specific coding practices. It can, therefore, be defined as a language for policy makers,10 with the ability to package those policies into software applications and devices. We continue to extend the KEEL toolkit and apply KEEL technology to new market areas.