An Overview of ALF


ALF is a collection of interrelated open source components. Each component stands alone, but they are designed to work together. Developers may limit their focus to one component. Each component is characterized by a high risk high payoff strategy that leverages revolutionary rather than evolutionary concepts. We expect that some components may not result in revolutions, but the likelihood is high that some will, and in any case the territory is worth exploring as the payoffs are so great. Problems being addressed and enabling concepts are noted below.

In the large, ALF is a system that creates and manages complex agent systems. Components are broken into three major groups:

• Translation of Real World Processes, Resources and Constraints into ALF
• The Autonomous Agent System Itself
• Novel Interface Strategies

Each major group has applicability in contexts that do not include the others. That is, some partners working on one area may not be at all concerned with, or even believe in the possibilities of the others.

Sponsorship and Development Strategy

ALF is an open source project covered by a BSD-style license. This allows embedding of ALF components in commercial products, but ensures that the open source elements will always remain free and with the source available for no more than distribution costs.

Participants in the ALF projects are either core sponsors, regular developers, developer-users or users.

• Core sponsors commit resources to ALF, govern the software foundation and guide the architecture committee. We expect that publicly funded projects will contribute as core sponsors.
• Regular developers commit themselves only to certain elements that are coordinated by the architecture committee, on which they may sit. The resulting components are intended to populate a specific desired architecture.
• User-developers are anyone who wishes to contribute any component, bugfix or extension at any time and in any fashion consistent with the license.
• Users of course are anyone which wishes to employ ALF in accordance with the open source license.

Core elements of ALF will be developed in several languages. The system itself will be largely Haskell. Other open source languages (probably PHP) will be employed in such a way that strikes a balance between revolutionary capability and accessible usability.

Some core sponsors are Fusecap, Inc. And the Advanced Enterprise Research Office (AERO) at Old Dominion University.

AERO intends to apply ALF to the domain of Agile Virtual Enterprise infrastructure for opportunistic aggregations of small high-value entities. ALF is intended to address a much wider domain of emergent, multilevel, problems in many sectors, but the initial focus is the VE, hence the ALF (VE) designation.

The Problems Being Addressed

ALF addresses some grand challenges. The idea is to exploit some novel enabling concepts to resolve or avoid these common persistent barriers:

The ability to represent processes literally as agents in a useful agent system, which also has the following properties:

• The ability to represent “soft” elements: missing elements of the system and unknown or implicit facts and dynamics.
• The ability to support multilevel systems where “higher” levels emerge and are (largely) defined by those under.
• Clever techniques which allow the representation system to be scaleable to complex, useful dynamic situations and high numbers of simulations.

Similar clever techniques which provide for “human” access of the processes in context, including:

• The ability to derive fractional metrics assigned to an element (process, resource ...) in the system context, for instance the fractional value contributed by a collection of agents toward some system goal.
• The ability to intuitively navigate and creatively manipulate and analyze the representation of the system and its inherent concepts.

In recognition that any one of these capabilities overcomes a major limiter, and that a workable solution in any one would be enormously useful, the architecture addresses these problems in as independent a fashion as possible. A useful result in one area is not restricted in being applied widely by difficulties in another area.

Some Philosophies and Enabling Concepts

General development tenets are:

• To be ambitious in terms of alternative approaches
• To provide for several innovations which can support each other but which are not mutually dependent
• To leverage existing work where possible, including standards

General development notions are:

• Declarative (functional) programming, with lazy evaluation
• Monads and situation semantics

Specific novelties are:

• Regular concept lattices: vectorized concepts
• Processes as (speech-act modeled) functions as agents influenced by bioinformatic notions of self-emergence
• Symmetry based visualization and navigation tools

SourceForge Logo