My Project Journey Inspiration In fast-paced industrial and software environments, operational bottlenecks can cause costly delays and impact productivity. I wanted to create a smart system that could autonomously monitor machine performance and alert teams before small issues become big problems. The power of multi-agent systems combined with cloud-native technologies inspired the creation of BottleneckTrackerAI.

What I Learned During the course of building this project, I deepened my understanding of:

JADE (Java Agent DEvelopment Framework): Creating agents, implementing behaviors, and managing inter-agent communication using ACL messages.

Google Cloud Services: Integrating Google Cloud Pub/Sub for messaging and Google Cloud Storage for file uploads.

JSON Handling in Java: Parsing and constructing JSON messages with Gson and JsonParser.

Concurrent Programming: Using TickerBehaviour and CyclicBehaviour to manage periodic tasks and message processing concurrently.

Best Practices: Writing production-ready code with robust error handling, consistent logging, and clean agent lifecycle management.

How I Built It I started by designing the agent architecture. The project uses the Agent Development Kit (ADK) to implement JADE agents, including:

DataCollectorAgent: Collects and aggregates machine performance data for analysis.

NotifierAgent: Sends alerts and notifications based on detected bottlenecks.

PubSubSubscriberAgent: Simulates Google Cloud Pub/Sub messaging for real-time agent communication.

BigQueryLoaderAgent: Uploads processed bottleneck data to Google BigQuery for analytics.

BigQueryUtil: Provides helper functions for interacting with BigQuery APIs.

BottleneckDetectorAgent: Detects machine performance bottlenecks from incoming data.

EmailSchedulerAgent: Schedules and sends automated email alerts with reports.

GCSUploaderAgent: Uploads files and reports to Google Cloud Storage.

ProcessorAgent: Orchestrates data processing, analysis, and inter-agent communication.

Data is managed using JSON and CSV formats. Email alerts with attachments are scheduled daily using Java’s Timer class. The design supports scalable deployment in cloud environments like Google Cloud Platform.

Each agent has a clear separation of concerns, and JADE behaviors are used to handle asynchronous events smoothly. Integration with Google Cloud services involved setting up credentials, managing subscriptions, and handling message acknowledgments.

For building and running the project, I used Maven for dependency management and packaging, creating an executable .jar file which I could easily deploy or run locally. Accomplishments that I am proud of I successfully created a fully functional multi-agent system that analyzes data, detects bottlenecks, and sends automated email notifications with detailed reports. The modular agent design facilitates easy extension and future integration with real cloud services. The system effectively demonstrates automation of complex monitoring tasks using ADK.

Challenges Faced Agent Communication: Ensuring reliable message passing between agents required careful handling of message formats and timing.

Cloud Integration: Setting up secure access to Google Cloud Pub/Sub and Storage, especially managing credentials across development and production environments.

Concurrency: Balancing asynchronous message receipt with periodic tasks in JADE behaviors required careful blocking and unblocking to optimize CPU usage.

Error Handling: Parsing external JSON data sometimes led to unexpected formats; I added robust exception handling to avoid crashes.

Packaging Dependencies: Creating a runnable jar with all dependencies (including JADE and Google Cloud SDKs) required configuring the Maven Shade Plugin.

I successfully created a fully functional multi-agent system that analyzes data, detects bottlenecks, and sends automated email notifications with detailed reports. The modular agent design facilitates easy extension and future integration with real cloud services. The system effectively demonstrates automation of complex monitoring tasks using ADK.

This project deepened my knowledge of multi-agent system design, asynchronous messaging, and cloud-native architectural patterns. I gained practical experience with JADE agents, JSON/CSV data handling, scheduled tasks, and email integration in Java. The experience also reinforced the importance of designing resilient workflows that gracefully handle concurrency and external dependencies.

Built With

  • adk)
  • agent
  • alerting
  • analysis
  • api
  • automation
  • bottleneck
  • cloud
  • cloud-native
  • csv
  • data
  • detection
  • development
  • email
  • gcp)
  • github
  • google
  • jade
  • jakarta
  • java
  • json
  • kit
  • mail
  • maven
  • monitoring
  • multi-agent
  • platform
  • pub/sub
  • real-time
  • scheduling
  • simulation
  • system
Share this project:

Updates