[OVERVIEW] [PURPOSE] [ARCHITECTURE] [TECHNOLOGIES] [SOURCEFORGE]

Thumbnail Glossary

Agent Systems
Category Theory
Concept Lattices
Concept Topologies
Federated Models
Functional Systems
Haskell
Lazy Evaluation
Monads
Multilevel Agent Systems
Non-deterministic Systems
Non-linear Systems
Ontologies
Process Specification Language
Situation Theory
Soft Modeling
Symmetry Operators
XML

Agent Systems

This is a wide category of systems following the diverse definition of “agent.” Generally, agent systems are those in which many agents (usually different types of agents) interact independently and autonomously to produce outcomes. In interesting systems, those outcomes are non-deterministic. Agent systems range in granularity: some have “small” simple agents like neuron-like systems. Some systems have coarse granularity, where the agents have very big, complex behavior like systems, for instance agents that act as humans, schedulers, diagnosticians, companies, combat platoons, etc. ALF systems are targeted at medium granularity, where agents (and agent systems) represent processes as defined by normal conventions; therefore ALF granularity is highly variable.

Category Theory

This is the mathematical study of types, and thus a core theory of abstraction in computer and language sciences. Category theory complements set theory which is the default formulation for theories of logic. Category theory constitutes a formal toolset for reflection and modeled abstraction; one category theoretic notion in wide use is the monad. ALF supports the notion of situation which employs monads. Moreover, ALF attempts a novel approach to multilevel abstraction. The foundation for this relies on category theoretic notions.

Concept Lattices

Most knowledge representation systems employ graphs, often in the form of trees. The lattice notion regularizes the graphs into regular arrangements that resemble crystalline structures. Mapped concepts thus take on more vector-like properties. Creating and managing periodic concept lattices takes more work, but once done, it manages complexity well. This is because all relationships can be coded in a very simple, symmetry-based grammar, and all concepts allow vector operations. ALF has a module which exploits this notion as a way of managing complexity and providing a basis for topological transforms and novel user interface design.

Concept Topologies

Most concept representation systems are represented in a graphs. All graphs have some topological descriptors. Some representation systems -- like regular periodic concept lattices -- have both a discrete topology and a tight binding between the semantics of the concept and the syntax of its representation in the system. In such cases, manipulating the topology of the representation space can affect the index of concepts or theoretically the concept itself. A common operation is to transform the symmetry and dimension to create “fibre bundles,” which cluster concepts that have similar features. ALF supports this notion as a way of abstract pattern matching for agent affinity.

Federated Models

Enterprise integration strategies used to depend on everyone using a single modeling methodology, ontology, even a single data store. The first two of these are still common practice, resulting in many disadvantages. An alternative model is to register ontologies and federate by indices. This allows elements of the enterprise or system to maintain a legacy system or employ locally optimized methods. ALF federates modeled processes and resources, data, rules and process outcomes via an ontology-description based PSL-facilitated XML import.

Functional Systems

Most (likely higher than 99%) programming uses an “imperative” paradigm. An alternative approach is “declarative” programming, which includes “functional” programming. A major characteristic of functional languages is that they worry about what is computed, not the steps the machine must take to compute it. The standard expression is the “function” which takes inputs and produces outputs without “side effects.” The major advantage is that functions can be mathematically “pure,” allowing powerful techniques to be applied to the program itself. Functional programming is often considered nonintuitive, and usually relegated to “artificial intelligence” tasks and introspective studies. The central facility of ALF employs the functional language Haskell.

Haskell

A functional language carefully designed by the community to a standard to support the “pure” functional paradigm: lazy evaluation, weak typing, currying, and monads. Another functional language, Erlang, is widely used in commercial applications (mostly telecom), and supports fewer of these notions. Several Haskell environments exist; they are open source, run on all major platforms, and have a strong user/developer community. <http://www.haskell.org>

Lazy Evaluation

The technique of evaluating an expression at the last moment (and no expression is evaluated more than once) so as to avoid unnecessary effort or working with values that might have changed. Laziness is practically limited to the declarative programming paradigm. Laziness is a useful notion in large, complex agents systems where you wish to examine some constrained results without exercising (or even explicitly representing) the entire system.

Monads

A powerful technique to represent state in functional programming, which by definition has no intrinsic state. Originates in category theory. The word has ancient philosophical roots and was tied to this general notion by Leibnitz and later Whitehead. Championed in functional programming by Wadler. <http://cm.bell-labs.com/cm/cs/who/wadler/> A facility of ALF attempts to employ situation theoretic notions of implicit fact sets as monads.

Multilevel Agent Systems

Agent systems consist of agents, usually of different kinds, interacting in a world that has certain behavior. Many interesting situations in the real world exhibit layered behavior. An example is the world of molecules, each of which can be said to have agency and interact to produce emergent systems. A higher level exists, the level of cells and such, that has a different (but related) ontology, definition of agent and behavior. The lower “level” can be said to “evolve” the higher. Many systems have several such layers. A facility in ALF works to support layers in systems like human enterprises.

Non-deterministic Systems

Systems whose behavior cannot be predicted in advance, usually because of random factors and/or nonlinear behavior. Most useful real-life systems are non-deterministic. ALF adopts known science in this regard, generally known as the “Sante Fe” model, but shies away from an overreliance on numeric abstractions such as probabilities.

Non-linear Systems

Systems composed of processes, some of which exhibit discontinuous (or nearly so) outputs. The result is behavior that appears erratic (sometimes called chaotic).

Ontologies

An ontology is a formal description of the manner in which knowledge is represented and includes the "physics" of the world of that knowledge. As with monads, the term has longstanding philosophical and theological origins, but has a very specific and formal meaning in AI. Now, ontologies (some rather watered down) are becoming widespread and standard in web-based XML collaboration among federated systems. A useful ontology comprises a fact-based vocabulary, higher level facts about the world of those facts. There are ontological efforts completed or underway for many interesting domains, including business processes. PSL deals with manufacturing processes, and because of its superior formal underpinnings is a basis for ALF processes.

Process Specification Language

PSL was developed by a coalition led by the US National Institute of Science and Technology. PSL is a proposed standard ontology for the exchange of process models. Legacy projects are PIF and KIF, Knowledge Interchange Format, which provide some theoretical foundation. ALF uses PSL in a broader way than originally intended, using PSL-like constructs for higher level business processes in a multilevel agent system. ALF imports or federates processes via PSL-informed XML descriptions.

Situation Theory

Situation theory is a powerful addition to logic, developed by leading logicians, mathematicians and linguists at Stanford’s Center for the Study of Language and Information. At some cost, it addresses the ability to represent “situations” as first order citizens in logic. The theory and resulting calculus were devised to address a vexing problem of reasoning about context and tacit knowledge at the same level as explicit utterances. Since then, the situation mechanism has been applied to a broad range of implicit notions. PSL employs the situation calculus in axioms concerning situated process state. The Business Applications of Situation Theory workshops developed notions of enterprise state and soft models in a multilevel agent system. A module of ALF implements the notion of enterprise state (situation) as monads.

Soft Modeling

Analyses and simulations of many systems are flawed because they only model the elements that can be modeled. But the real world is more interesting, and includes so-called "soft" information. This includes unknown futures (changing or chaotic external conditions), unknowable dynamics (from the "soft" sciences for example), unmodeled elements (because of cost, dynamism or politics), and tacit knowledge. Without "place holders" for this information, the system is hobbled. ALF includes the capability to capture this notion using the mechanics of situation theory.

Symmetry Operators

Symmetry is a universal principle found in natural systems and exploited in several useful mathematical domains. Most firmly rooted in group theory, symmetries often appear in metamodeling and consequently in knowledge-related graph theoretical tools. An element of ALF leverages a symmetry-based grammar over its graphs, organized as lattices.

XML

eXtensible Markup Language. A new standard for web-based data exchange and domain-specific languages that is being widely adopted. It is a notation for tree grammars using something like s-expressions coupled with a grammar description. XML can be used in a functional paradigm. ALF employs XML descriptions of descriptions (using the PSL ontology) as a standard, open means of importing or federating processes.

[OVERVIEW] [PURPOSE] [ARCHITECTURE] [TECHNOLOGIES] [SOURCEFORGE]