How idkhowtocodefr/btp works
Agentic Cloud Service Selection is a research system for choosing and ranking cloud services from task-specific QoS requirements. Its main workflow takes a task and candidate pool, perceives the pool, asks an LLM-backed reasoner for attribute weights and a ranking strategy, validates that decision, then dispatches deterministic MCDM scoring and records the result. Data preparation, task profiles, baselines, drift simulation, and stable and WS-DREAM evaluation support the paper’s experiments; the Streamlit demo exposes the decision loop and experiment results. Paths for some documented capabilities are included from the tree, but their internal wiring is not inferred where source excerpts were unavailable.
Main entry points: protocol.py Evaluation protocol · controller.py Agent controller · preprocessing.py Normalize and sample · storage.py Trial CSV storage
Components 21
Selection runtime
- Agent controller
src/agentic_selection/agent/controller.py - Pool perception
src/agentic_selection/agent/perception.py - LLM reasoning
src/agentic_selection/agent/reasoning.py - Decision validation
src/agentic_selection/agent/validation.py - Agent memory
src/agentic_selection/agent/memory.py - LLM backends
src/agentic_selection/agent/llm_backends.py
Data and profiles
- QWS loader
src/agentic_selection/data/qws_loader.py - WS-DREAM loaders
src/agentic_selection/data/wsdream_loader.py - Normalize and sample
src/agentic_selection/data/preprocessing.py - Task profiles
src/agentic_selection/tasks/profiles.py - WS-DREAM profiles
src/agentic_selection/tasks/wsdream_profiles.py
Decision methods
- Weight lookup
src/agentic_selection/baselines/lookup_table.py - MCDM rankers
src/agentic_selection/baselines
Experiments
- Drift simulation
src/agentic_selection/drift/simulate.py - Evaluation protocol
src/agentic_selection/evaluation/protocol.py - Evaluation metrics
src/agentic_selection/evaluation/metrics.py - Trial CSV storage
src/agentic_selection/evaluation/storage.py - Reports and plots
src/agentic_selection/evaluation/report.py
Demo and analysis
- Streamlit demo
app/streamlit_demo.py
Other components
- Task requester
- LLM provider
Connections 22
- Task requester → Agent controller: provides task
- Agent controller → Pool perception: perceives pool
- Agent controller → LLM reasoning: requests decision
- LLM reasoning → LLM backends: completes prompt
- LLM backends → LLM provider: calls provider
- Agent controller → Decision validation: validates output
- Agent controller → Agent memory: records decision
- Agent controller → MCDM rankers: dispatches strategy
- QWS loader → Normalize and sample: loads for normalization
- WS-DREAM loaders → Normalize and sample: loads for normalization
- Task profiles → Evaluation protocol: defines tasks
- WS-DREAM profiles → Evaluation protocol: defines tasks
- Weight lookup → Evaluation protocol: supplies baseline weights
- Normalize and sample → Evaluation protocol: supplies candidate pools
- Evaluation protocol → Agent controller: runs agent conditions
- Evaluation protocol → MCDM rankers: runs baseline conditions
- Evaluation protocol → Drift simulation: simulates degradation
- Evaluation protocol → Evaluation metrics: evaluates trials
- Evaluation protocol → Trial CSV storage: records trials
- Reports and plots → Trial CSV storage: reads results
- Streamlit demo → Agent controller: runs decision loop
- Streamlit demo → Trial CSV storage: reads experiment results