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.
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.
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.
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.
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.
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.
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>
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.
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.
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.
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.
Systems composed of processes, some of which exhibit discontinuous (or nearly so) outputs. The result is behavior that appears erratic (sometimes called chaotic).
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.
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 is a powerful addition to logic, developed by leading logicians, mathematicians and linguists at Stanfords 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.
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 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.
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.