[Versión en Español]


ASL - Abstract Schema Language

Schema Theory (Arbib 1992) tries to define aspects from animal behavior. Several simulation systems have been developed in different application domains.

  • In the robotics domain, RS, Robot Schema (Lyons and Arbib 1989), based on port automata, has served as basis for the modeling of highly structured robotics environments, where RS' main characteristics are its static and synchronous nature, and its notion of schema assemblages as a basis for composition.
  • In the computer vision domain, VISIONS (Draper et al. 1989), based on a distributed blackboard architecture, has served as a basis for image understanding applications, where VISIONS main characteristics are its dynamic and asynchronous nature, and also permitting the inclusion of the assemblage abstraction as a basis for composition.

These systems have certain limitations, such as RS restrictive static nature, and VISIONS particular architecture limiting its application to other domains. Moreover, neither RS nor VISIONS includes capabilities for integrating neural network processing.

To overcome these modeling restrictions, ASL (Abstract Schema Language) was designed based on these two systems, adding new aspects such as a general architecture based on concurrent object-oriented programming, and integrating with neural network.

  • ASL represents a schema as a "template" from which many instances can be created similar to object-oriented systems (Wegner 1990). ASL incorporates concurrent object oriented programming aspects, while implemented with such technology. ASL uses a hierarchical model, enabling top-down and bottom-up designs, supported by a concurrent language enabling a a distributed implementation, besides integrating with neural networks. ASL´s other characteristics are its dynamic and asynchronous nature, and the inclusion of dynamic schema assemblages as the basis for composition. The behavioral description of a schema describes how an instance of that schema will behave in response to external communications. Each schema instance has a set of multiple input and output ports through which communication takes place. A schema assemblage, the basis for aggregation, is a network of schema instances, and it may be considered a schema for further processing. Since a schema may be decomposed into any number of component schemas, there may be virtually any level of abstraction.

Some of the most important aspects introduced in ASL:

  • Delegation: Schema implementation may be chosen in a dynamic way, via the ASL high-level language or by delegating processing to neural networks
    Wrapping: Previously developed code may be statically linked within a schema.
  • Heterogeneity: Incorporation of two different programming concepts, neural processing and procedural processing, into a single model.
  • Encapsulation: A schema instance includes a public interface while all data and its particular implementation are internal, thus providing flexibility and extensiblity since local changes to its internal data structure and implementation do not affect its interaction with other schema instances. Furthermore, the communication abstraction of input and output ports permits greater flexibility in communication and in the design of schema architectures.
  • Reusability: Following object-oriented abstractions, such as inheritance, the definition of schemas as shared templates from which schema instantiation takes place, permits their reusability in new schema definitions.

A current research goal is to integrate schemas and neural networks in a seamless simulation environment as a necessary step if we are to develop more complex models, inspired by biological systems, serving as foundation for adaptive and learning systems. In the ASL and NSL - Neural Simulation Language synthesis, schemas will be specified directly, or in terms of underlying neural networks, allowing the structured analysis of complex networks, and the control of versioning as subsystems are revised in a modular way to better adapt a complex model to a large body of data.