SPADE Artifact

Advanced artifact framework for multi-agent systems with observable properties, PubSub communication, and comprehensive data source integration

What is SPADE Artifact?

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.

Technical Architecture
  • Framework: Compatible with SPADE 3+ multi-agent platform
  • Communication: XMPP-based with PubSub notification system
  • Language: Python with asyncio support
  • License: MIT Open Source

Repository Architecture

Core SPADE Artifact

Core Framework

Main artifact framework with general data integration capabilities including SQL, MongoDB, CSV, and REST API support.

  • ✅ Database Artifacts (SQLReader)
  • ✅ CSV Processing (CSVReader)
  • ✅ API Integration (APIReader)
  • ✅ MongoDB Integration (MongoDBReader)
  • ✅ PubSub Communication
Main Repository

FIWARE Artifacts

FIWARE Specific

Specialized implementation for FIWARE Context Broker integration with NGSI-LD protocol support and IoT-focused features.

  • ✅ NGSI-LD Protocol Support
  • ✅ Orion Context Broker
  • ✅ Scorpio Context Broker
FIWARE Repository
Choose Your Implementation: Use the core repository for general data integration needs, or the FIWARE-specific repository when working with FIWARE Context Brokers and IoT applications.

Core Data Integration Capabilities

Database Artifacts (SQLReader)

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.

CSV Data Artifacts (CSVReader)

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.

API Integration (APIReader)

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.

MongoDB Integration (MongoDBReader)

Native MongoDB support with MongoDBReader for document-based data management. Handle complex queries, aggregation pipelines, and real-time change streams with automatic connection management.

PubSub Notification System

XMPP-based publish-subscribe mechanism for real-time agent communication. Observable properties automatically trigger notifications when artifact state changes, ensuring distributed synchronization.

FIWARE Context Broker Integration

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 Communication Architecture

SPADE PubSub Communication Mechanism

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.

Installation & Quick Start

Installation Options

Core Framework:
# Install core SPADE Artifact
pip install spade-artifact

# Optional: PubSub support
pip install spade-pubsub
FIWARE Integration:
# Install FIWARE-specific artifacts
pip install spade-fiware-artifacts

Basic Implementation

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")

Why Choose SPADE Artifact?

  • Multi-Protocol Data Integration: Native support for SQL, MongoDB, CSV, and REST APIs with unified artifact interface
  • XMPP-Based PubSub Architecture: Real-time notifications and observable properties for distributed agent synchronization
  • Modular Architecture: Choose between core framework for general use or specialized FIWARE implementation for IoT and Context Broker applications
  • Asyncio Performance: Built on Python's async/await paradigm for high-performance concurrent operations
  • Enterprise-Ready: Production-grade features including connection pooling, error recovery, and transaction management
  • Extensible Architecture: ArtifactMixin pattern allows easy integration with existing SPADE agent hierarchies
Ready to build advanced multi-agent data systems?