Artificial Intelligence Middleware


Notes:

Middleware is not the implementation of a concept, but rather it is a type of software that sits between different layers or components of an application or system, and provides services and interfaces to enable communication and integration between those layers or components.

Middleware is often used in complex systems, where different components or layers need to communicate and share data with each other in order to function properly. By using middleware, these components or layers can be isolated and decoupled from each other, making the system more modular and flexible, and easier to maintain and evolve over time.

Middleware can take many different forms, depending on the specific needs and requirements of the application or system. It can include components such as application servers, message brokers, data integration platforms, and other software that provides services and interfaces for enabling communication and integration between different parts of the system.

Artificial intelligence (AI) is a broad and diverse field, and it encompasses a wide range of technologies and applications. Similarly, middleware is a generalized concept that encompasses a variety of different software components and tools that provide services and interfaces for enabling communication and integration in complex systems.

Under the general rubric of “artificial intelligence middleware”, there are indeed four main categories: Multi-Agent System middleware, Game AI middleware, Dialog System middleware, and Robotics middleware. Each of these categories represents a specific type of middleware that is designed and used for specific applications and purposes within the field of AI.

  1. Multi-Agent System middleware is a type of middleware that is used in systems that are composed of multiple interacting intelligent agents. It provides services and interfaces that enable these agents to communicate and coordinate with each other in order to solve complex problems or achieve shared goals.
  2. Game AI middleware is a type of middleware that is used in the development of video games and other interactive applications. It provides a range of tools and libraries that can be used to create intelligent game characters and to simulate complex behaviors and interactions within the game environment.
  3. Dialog System middleware is a type of middleware that is used in natural language processing and dialog systems. It provides services and interfaces that enable these systems to understand and interpret spoken or written language inputs, and to generate appropriate responses or actions.
  4. Robotics middleware is a type of middleware that is used in the development of robotic systems. It provides services and interfaces that enable different components of the robot, such as sensors, actuators, and control algorithms, to communicate and coordinate with each other in order to achieve the desired behavior and functionality of the robot.

Dialog systems often involve the integration of multiple agents, and robotic systems may involve the integration of dialog systems. In these cases, the middleware layer can become quite complex, as different components and systems need to communicate and coordinate with each other in order to function properly.

Game AI may also include both “virtual robotics” and a dialog system layer, and in these cases the middleware layer can become even more complex, as the game AI needs to integrate with the game engine and other components of the game in order to provide intelligent and interactive behaviors.

In dialog systems, the middleware layer can sometimes become blurred, because the dialog system itself may perform some of the functions of middleware. For example, the dialog manager component of a dialog system may provide services and interfaces that enable different components of the system to communicate and coordinate with each other. Additionally, additional middleware may be used to interface with the dialog manager and/or the dialog system, in order to provide additional services or to integrate with other systems.

Wikipedia:

References:

See also:


robotmiddleware2

Artificial Intelligence “Middleware” Solutions

  • 2APL Platform and its corresponding Eclipse plug-in editor are developed to facilitate the development and execution of multi-agent programs. {related:}
  • 3APL Platform has a visual interface for the monitoring and debugging of agents being run therein, and a syntax-coloring editor for source code editing. {related:}
  • Agent Factory Framework is an open source collection of tools, platforms, and languages that support the development and deployment of multi-agent systems. {related:}
  • AgentBuilder is an integrated software toolkit that allows software developers to quickly develop intelligent software agents and agent-based applications. {related:}
  • AgentScape (Distributed Agent Middleware) is a middleware layer that supports large-scale agent systems. {related:}
  • agentTool is a Java-based graphical development environment to help users analyze, design, and implement multiagent systems. {related:}
  • AI.implant from Presagis is a multi-platform artificial intelligence (AI) authoring and runtime software solution. {related:}
  • AiLive is best known for its LiveMove series of Motion Recognition and tracking software products. {related:}
  • AiSeek provides accelerated AI solutions to power tomorrow’s computer games, making possible sophisticated and highly dynamic game worlds, populated by intelligent life. {related:}
  • Artificial Contender (TruSoft) is an AI middleware and set of tools that introduces a new type of AI agent to games – learning, adaptable AC agents capable of behavior-capture. {related:}
  • AWARE is a platform providing the middleware and the functionalities required for the cooperation among aerial flying objects. {related:}
  • CLARAty (Coupled Layer Architecture for Robotic Autonomy) is a reusable robotic software framework for the integration and deployment of new technologies onto robotic platforms. {related:}
  • Cougaar (Cognitive Agent Architecture) is a Java-based architecture for the construction of highly scalable distributed agent-based applications. {related:}
  • DI-Guy (Software Development Toolkit) is a set of C++ libraries and content that enable you to add realistic human characters to your application quickly and efficiently. {related:}
  • EKI One (MASA Group) is a one-stop solution for behavior in online and computer games providing a complete design and runtime environment. {related:}
  • Encog is an advanced neural network and machine learning framework, for Java and DotNet. {related:}
  • FAUST (Formal Analysis Using Specification Tools) was developed to help reaching high quality in requirements document, especially for complex systems with critical aspects. {related:}
  • GearBox (Peer-Reviewed Open-Source Libraries for Robotics) is not a framework, but provides software tools which could be integrated into complete systems. {related:}
  • Havok is a physics engine, designed primarily for video games. {related:}
  • ICE (Internet Communications Engine) is an object-oriented middleware that provides object-oriented Remote Procedure Call, grid computing and Publish/subscribe functionality developed by ZeroC. {related:}
  • IDK (INGENIAS Development Kit) consists of tools that implement notation and implementation techniques described in the original work ofthe INGENIAS Development Process (IDP). {related:}
  • IIOP.NET allows a seamless interoperation between .NET, CORBA and J2EE distributed objects. {related:}
  • IMPACT (Interactive Maryland Platform for Agents Collaborating Together) provides a set of servers (yellow pages, thesaurus, registration, type and interface) that facilitate agent interoperability. {related:}
  • Jadex Framework is open source and Java-based and especially targets the development of concurrent and distributed software systems. (see also: JadexCloud) {related:}
  • Jason IDE is an interpreter for an extended version of AgentSpeak, implementing operational semantics and providing a platform for development of multi-agent systems. {related:}
  • JDE (Jack Development Environment) is a framework in Java for multi-agent system development, built by Agent Oriented Software Pty. Ltd. (AOS). {related:}
  • Jena is an open source Semantic Web framework for Java. It provides an API to extract data from and write to RDF graphs. {related:}
  • JIAC (Java Intelligent Agent Componentware) is a multi-agent architecture and framework that eases the development and the operation of large-scale, distributed applications and services. {related:}
  • Kynapse (Autodesk) is an artificial intelligence middleware that empowers game developers to build compelling character behaviors in video games. {related:}
  • LCM (Lightweight Communications and Marshalling) is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems. {related:}
  • LS/TS (Living Systems Technology Suite) is an industry-grade, Java-based foundation for the professional development and operation of products and solutions based on software agent technology. {related:}
  • MARIE (Mobile and Autonomous Robotics Integration Environment) is a robotic development and integration environment focused on software reusability and exploitation of already available APIs. {related:}
  • MASA group (DirectIA) is a global company focused on the development of Artificial Intelligence-based Modeling & Simulation (M&S) software. {related:}
  • MASDK (Multi-agent System Development Kit) is the framework for visual designing of applied multi-agent systems, automatically producing the software code of agent classes in C++. {related:}
  • Miro (Middleware for Robots) is a distributed object oriented framework for mobile robot control, based on CORBA (Common Object Request Broker Architecture) technology. {related:}
  • MOOS (Mission Oriented Operating Suite) is a cross-platform suite of applications for operating autonomous vehicles. {related:}
  • MundoCore is a communication middleware which was specifically designed for the requirements in mobile- and ubiquitous computing systems. {related:}
  • Neuroph is lightweight Java neural network framework to develop common neural network architectures. {related:}
  • Nuin is a Java framework for building belief-desire-intention (BDI) agents, with a particular emphasis on Semantic Web agents. {related:}
  • Objectiver is a “Requirements Engineering” tool, a new generation power tool to engineer your technical and business requirements, based on KAOS. {related:}
  • OntoMap (Light-Weight Ontology Management Platform) is a knowledge a representation formalism, a reasoner, and a web portal for upper-level ontologies and lexical semantics. {related:}
  • OntoNet (Scalable Knowledge-based Middleware for Networked Systems) incorporates and integrates two aspects: ontological reasoning about system resources and declarative networking within routing components. {related:}
  • OpenRAVE (Open Robotics Automation Virtual Environment) provides an environment for testing, developing, and deploying motion planning algorithms in real-world robotics applications. {related:}
  • OpenCog is a project that aims to build an open source artificial general intelligence (AGI) framework. {related:}
  • OpenJAUS is a software library written in C++ that helps you use JAUS (Joint Architecture for Unmanned Systems) on your systems. {related:} (see also: JAUS Tool Set)
  • OpenOME (Organization Modelling Environment) is a general, goal-oriented and/or agent-oriented modeling and analysis tool. {related:}
  • OpenRobots software tackles the study and design of autonomous machines integrating perception, action and reasoning capabilities. {related:}
  • openSDK is a free and open-source implementation of Sony’s OPEN-R Development Kit, for now discontinued AIBO robots. {related:}
  • Orca is an open-source framework for developing component-based robotic systems. {related:}
  • Orocos (Open Robot Control Software) consists of portable C++ libraries for advanced machine and robot control. {related:}
  • PathEngine is “the most advanced pathfinding library commercially available.” {related:}
  • PlayerStage (Player Project) is free software that enables research in robot and sensor systems, probably the most widely used robot control interface in the world. {related:}
  • PTK (PASSI Toolkit) is Rational Rose plug-in that offers a support for PASSI (a Process for Agent Societies Specification and Implementation) a step-by-step requirement-to-code methodology for designing and developing multi-agent societies. {related:}
  • Pyro (Python Robotics) is a programming environment for easily exploring advanced topics in artificial intelligence and robotics without having to worry about the low-level details. {related:}
  • Rebeca Middleware is a new and powerful event-based middleware for information-driven applications based on publish/subscribe. {related:}
  • RSB (Robotics Service Bus) is a message-oriented, event-driven middleware aiming at scalable integration of robotics systems. {related:}
  • RSCA (Robot Software Communications Architecture) provides a standard operating environment for robot applications with a framework that expedites development. {related:}
  • SAP NetWeaver is SAP’s integrated technology computing platform, and is marketed as a service-oriented application and integration platform (SOA middleware). {related:}
  • Sesame (openRDF) is an open-source framework for querying and analyzing RDF data. (It contains a triplestore.) {related:}
  • SimBionic is an award-winning toolset for creating intelligent behaviors for simulations, games, and other interactive systems quickly and easily, without programming. {related:}
  • Skilligent is a robot control system, where user processes communicate to the system by sending and receiving agnostic UDP, TCP/IP or Serial messages. {related:}
  • SPADE (Smart Python multi-Agent Development Environment) is a Multiagent and Organizations Platform based on the XMPP/Jabber technology and written in Python. {related:}
  • SPARK (SRI Procedural Agent Realization Kit) is an agent framework, based on the BDI model, developed to support the construction of large-scale, practical agent systems. {related:}
  • SpirOps developed the first graphical editor for Artificial Intelligence behaviours, and some other tools to help you to simulate any number of choice making agents. {related:}
  • TAOM4E (Tool for Agent Oriented Modeling for Eclipse) supports a model-driven, agent oriented software development following the Tropos methodology. {related:}
  • UIMA is a component software architecture for the development, discovery, composition, and deployment of multi-modal analytics for the analysis of unstructured information and its integration with search technologies developed by IBM. {related:}
  • UPnP Robot Middleware (Universal Plug and Play) is a set of networking protocols that permits networked devices to seamlessly discover each other’s presence on the network. {related:}
  • Urbi is an open-source software platform to control robots or complex systems. {related:}
  • VisualSoar is a development environment written in Java to aid in the creation of agents for use in the Soar general cognitive architecture. {related:}
  • WURDE (Washington University Robot Development Environment) is middleware for robotics application development, designed to be maximally simple to develop in and easy to add support. {related:}
  • xaitment gives you all the runtime libraries and graphical tools you need to easily, efficiently and cost-effectively develop smarter characters. {related:}
  • YARP (Yet Another Robot Platform) is plumbing for robot software. {related:}

Dialog System Middleware

  • DIPPER is not a dialogue system itself, but DIPPER supports building (spoken) dialogue systems, by offering interfaces to speech recognisers (Nuance), speech synthesisers (Festival), dialogue managers, natural language understanding, and automated reasoning (SPASS, Bliksem, Mace, PARADOX). {related:}
  • Midiki is a toolkit that is friendly to linguists, supporting sophisticated behavior while providing full visibility into its internal operations. {related:}
  • TRINDIKit is a toolkit for building and experimenting with dialogue move engines and information states. {related:}

Frameworks:

  • CALLAS is a plug-in multimodal framework which allows easy and fast development of Art & Entertainment applications. {related:}
  • Embassi was a project sponsored by the German Fed. Ministry of Research to design and implement a generic dialogue system for rational (spoken) dialogues, ended in 2003. {related:}
  • Galaxy Communicator (MITRE) is a distributed, message-based, hub-and-spoke infrastructure optimized for constructing spoken dialogue systems. {related:}
  • GECA Framework provides a general purpose architecture for connecting modularized ECA functional components for multimodal human-agent interactions. {related:}
  • Jaspis is a framework for adaptive speech applications, designed to support distributed, highly context-sensitive applications that adapt. {related:}
  • Jindigo is a framework for developing and experimenting with incremental spoken dialog systems, developed at the Department of Speech Music and Hearing, KTH. {related:}
  • Maxent (Maximum Entropy Modeling Toolkit) is a general purpose machine learning framework for Python and C++. {related:}
  • OpenInterface is a framework with a graphical environment called OIDE, which allows the assembly of components to specify a “pipeline” defining a multimodal interaction. {related:}
  • OpenNLP library is a machine learning based toolkit for the processing of natural language text, and includes maximum entropy and perceptron based machine learning. {related:}
  • PAL Framework (Personalized Assistant that Learns) is a component architecture focused on improving the way that computers support humans through the use of cognitive systems. {related:}
  • SmartKom merges the advantages of dialogic communication with the advantages of a mixture of graphic control surfaces and gestures. {related:}
  • SRILM (SRI Language Modeling Toolkit) is a toolkit for building and applying statistical language models (LMs). {related:}
  • THSF (Thinking Head Software Framework) is open source software project developing middleware for the Thinking Head Project, in particular the “Event Manager” for the Articulated Head. {related:}
  • VHT Hub is the Java Hub Application Program Interface, part of the “Virtual Human Toolkit” by @USC_ICT. {related:}

Platforms:

  • CSLU Toolkit is a software library comprising a comprehensive suite of tools that enable exploration, learning, and research into speech and human-computer interaction. {related:}
  • SpeechBuilder is a suite of tools that helps facilitate the creation of mixed-initiativespoken dialogue systems for both novice and experienced developers of human language applications. {related:}
  • SUEDE is a speech interface prototyping tool allowing designers to rapidly create prompt/response speech interfaces. {related:}
  • WITAS RDE (Robotic Dialog Environment) is a software environment consisting of programs and modules for the systematic development and effective performance of dialogs between a human and a robot. {related:}