Advanced artifact framework for multi-agent systems with observable properties, PubSub communication, and comprehensive data source integration
SPADE Artifact is a sophisticated plugin for SPADE 3+ that implements the artifact-based multi-agent systems paradigm. It provides a framework for creating shared computational resources that agents can observe, manipulate, and interact with through well-defined interfaces.
Built on Python's asyncio architecture and XMPP messaging protocol, SPADE Artifact enables agents to coordinate through shared data structures, databases, APIs, and external systems. The framework implements observable properties using PubSub mechanisms, ensuring real-time synchronization across distributed agent networks.
Main artifact framework with general data integration capabilities including SQL, MongoDB, CSV, and REST API support.
Specialized implementation for FIWARE Context Broker integration with NGSI-LD protocol support and IoT-focused features.
Connect to SQL databases with native SQLReader support. Execute queries, manage transactions, and enable real-time data synchronization across agent networks with automatic connection pooling and error recovery.
Process CSV files with built-in CSVReader functionality. Handle large datasets, streaming data processing, and automatic schema detection with support for various encoding formats and delimiter configurations.
Integrate with external REST APIs using APIReader. Support for authentication, rate limiting, response caching, and automatic retry mechanisms. Handle JSON, XML, and other data formats seamlessly.
Native MongoDB support with MongoDBReader for document-based data management. Handle complex queries, aggregation pipelines, and real-time change streams with automatic connection management.
XMPP-based publish-subscribe mechanism for real-time agent communication. Observable properties automatically trigger notifications when artifact state changes, ensuring distributed synchronization.
Advanced integration with FIWARE ecosystem through dedicated spade-fiware-artifacts library. Separate implementation with full NGSI-LD protocol support, Orion and Scorpio Context Brokers, and specialized IoT data management optimized for asyncio operations.
PubSub Architecture: SPADE Artifact uses XMPP-based publish-subscribe mechanisms to enable real-time communication between agents and shared artifacts. Observable properties automatically trigger notifications when artifact state changes, ensuring distributed synchronization across the multi-agent system.
from spade import Agent
from spade_artifact import Artifact, ArtifactMixin
class DataAgent(Agent, ArtifactMixin):
async def setup(self):
# Connect to artifact
await self.connect_artifact("db_artifact")