# sed-inf-u-szeged/dissect-cf-fog architecture

> Architecture diagram of the GitHub repository sed-inf-u-szeged/dissect-cf-fog, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sed-inf-u-szeged/dissect-cf-fog
- Repository: https://github.com/sed-inf-u-szeged/dissect-cf-fog

## Overview

DISSECT-CF-Fog models cloud-to-thing infrastructure and IoT workloads in a discrete-event simulator; its documented workflow is to configure a scenario, execute it, and analyze resource, energy, application, and cost outcomes. The tree also includes an executor for stored simulation jobs and a desktop predictor UI for time-series scenarios. The README documents web-app and converter capabilities, but their source trees are absent here. Relationships below are limited to explicit README claims and shown or indexed source references; many unsampled subsystem connections are omitted.

Main entry points: [`executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/service/SimulatorJobExecutorService.java`](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/service/SimulatorJobExecutorService.java) (Job Executor), [`simulator/src/main/java/hu/u_szeged/inf/fog/simulator/application/Application.java`](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/application/Application.java) (IoT Applications), [`simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/IaaSService.java`](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/IaaSService.java) (Cloud Infrastructure), [`simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/Repository.java`](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/Repository.java) (Storage Repository)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_sim["Simulation Runtime"]
  node_time["Event Clock<br/>[Timed.java]"]
  node_iaas["Cloud Infrastructure<br/>[IaaSService.java]"]
  node_pm["Physical Machines"]
  node_vm["Virtual Machines"]
  node_constraints["Resource Constraints"]
  node_network["Network Transfers<br/>[NetworkNode.java]"]
  node_repository[("Storage Repository<br/>[Repository.java]")]
  node_storage["Stored Objects<br/>[StorageObject.java]"]
end

subgraph group_domain["IoT Workloads"]
  node_application["IoT Applications<br/>[Application.java]"]
  node_devices["IoT Devices"]
  node_workflows["Workflow Scheduling"]
  node_energy["Energy Modeling"]
  node_cost["Provider Costs"]
  node_results["Simulation Results"]
end

subgraph group_prediction["Prediction"]
  node_features["Feature Analysis"]
  node_predictor["Forecast Models<br/>[predictor.py]"]
end

subgraph group_executor["Job Execution"]
  node_executor["Job Executor"]
  node_jobstore[("Job Storage")]
end

subgraph group_desktop["Predictor Desktop"]
  node_desktop["Scenario UI"]
end

node_user(("Scenario User"))

node_iaas -->|"manages"| node_pm
node_application -->|"requests VMs"| node_iaas
node_application -->|"registers data"| node_repository
node_repository -->|"stores objects"| node_storage
node_user -.->|"configures"| node_desktop
node_desktop -.->|"sets up scenarios"| node_predictor
node_user -.->|"submits job"| node_executor
node_executor -->|"loads jobs"| node_jobstore
node_executor -->|"executes simulation"| node_application

click node_time "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/Timed.java"
click node_iaas "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/IaaSService.java"
click node_pm "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/PhysicalMachine.java"
click node_vm "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/VirtualMachine.java"
click node_constraints "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/constraints/ResourceConstraints.java"
click node_network "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/NetworkNode.java"
click node_repository "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/Repository.java"
click node_storage "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/StorageObject.java"
click node_application "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/application/Application.java"
click node_devices "https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/iot"
click node_workflows "https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/workflow"
click node_energy "https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/energy"
click node_cost "https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/provider"
click node_results "https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/util/result"
click node_features "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/prediction/FeatureManager.java"
click node_predictor "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/predictor-ui/scripts/predictor.py"
click node_desktop "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/predictor-ui/ui/src/app/pages/scenario/scenario.component.ts"
click node_executor "https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/service/SimulatorJobExecutorService.java"
click node_jobstore "https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/dao"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_time,node_iaas,node_pm,node_vm,node_constraints,node_network,node_repository,node_storage,node_user toneBlue
class node_application,node_devices,node_workflows,node_energy,node_cost,node_results toneAmber
class node_features,node_predictor toneMint
class node_executor,node_jobstore toneRose
class node_desktop toneIndigo
```

## Components

### Simulation Runtime

- [Event Clock](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/Timed.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/Timed.java`
- [Cloud Infrastructure](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/IaaSService.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/IaaSService.java`
- [Physical Machines](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/PhysicalMachine.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/PhysicalMachine.java`
- [Virtual Machines](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/VirtualMachine.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/VirtualMachine.java`
- [Resource Constraints](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/constraints/ResourceConstraints.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/constraints/ResourceConstraints.java`
- [Network Transfers](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/NetworkNode.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/NetworkNode.java`
- [Storage Repository](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/Repository.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/Repository.java`
- [Stored Objects](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/StorageObject.java): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/StorageObject.java`

### IoT Workloads

- [IoT Applications](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/application/Application.java): `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/application/Application.java`
- [IoT Devices](https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/iot): `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/iot`
- [Workflow Scheduling](https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/workflow): `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/workflow`
- [Energy Modeling](https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/energy): `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/energy`
- [Provider Costs](https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/provider): `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/provider`
- [Simulation Results](https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/util/result): `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/util/result`

### Prediction

- [Feature Analysis](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/simulator/src/main/java/hu/u_szeged/inf/fog/simulator/prediction/FeatureManager.java): `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/prediction/FeatureManager.java`
- [Forecast Models](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/predictor-ui/scripts/predictor.py): `predictor-ui/scripts/predictor.py`

### Job Execution

- [Job Executor](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/service/SimulatorJobExecutorService.java): `executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/service/SimulatorJobExecutorService.java`
- [Job Storage](https://github.com/sed-inf-u-szeged/dissect-cf-fog/tree/master/executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/dao): `executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/dao`

### Predictor Desktop

- [Scenario UI](https://github.com/sed-inf-u-szeged/dissect-cf-fog/blob/master/predictor-ui/ui/src/app/pages/scenario/scenario.component.ts): `predictor-ui/ui/src/app/pages/scenario/scenario.component.ts`

### Other components

- **Scenario User**

## Connections

- Cloud Infrastructure → Physical Machines: manages (evidence: `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/iaas/IaaSService.java`)
- IoT Applications → Cloud Infrastructure: requests VMs (evidence: `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/application/Application.java`)
- IoT Applications → Storage Repository: registers data (evidence: `simulator/src/main/java/hu/u_szeged/inf/fog/simulator/application/Application.java`)
- Storage Repository → Stored Objects: stores objects (evidence: `simulator/src/main/java/hu/mta/sztaki/lpds/cloud/simulator/io/Repository.java`)
- Scenario User → Scenario UI: configures (evidence: `README.md`)
- Scenario UI → Forecast Models: sets up scenarios (evidence: `README.md`)
- Scenario User → Job Executor: submits job (evidence: `README.md`)
- Job Executor → Job Storage: loads jobs (evidence: `executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/service/SimulatorJobExecutorService.java`)
- Job Executor → IoT Applications: executes simulation (evidence: `executor/src/main/java/hu/u_szeged/inf/fog/simulator/executor/service/SimulatorJobExecutorService.java`)
