From 6bb44e231aa744b8befa16e384c4fd7bbcd23a2e Mon Sep 17 00:00:00 2001 From: "Pavly Gerges (pavl_g)" <60224159+pavly-gerges@users.noreply.github.com> Date: Fri, 20 Dec 2024 09:12:42 +0200 Subject: [PATCH] Create docs/electrostatic-sdk.dot --- .../docs/electrostatic-sdk.dot | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 electrostatic-sandbox-framework/docs/electrostatic-sdk.dot diff --git a/electrostatic-sandbox-framework/docs/electrostatic-sdk.dot b/electrostatic-sandbox-framework/docs/electrostatic-sdk.dot new file mode 100644 index 00000000..31dd80df --- /dev/null +++ b/electrostatic-sandbox-framework/docs/electrostatic-sdk.dot @@ -0,0 +1,128 @@ +digraph ElectrostaticSandboxSDK { + rankdir=TB; // Top to Bottom + fontsize=12; + node [shape=rectangle, style=filled, color=lightgrey, fontname="Helvetica"]; + edge [fontname="Helvetica"]; + + // Main Components + ElectrostaticSandboxSDK [label="Electrostatic-Sandbox SDK", shape=ellipse, style=filled, color=lightblue]; + ElectroSim [label="ElectroSim Project"]; + ElectroNetSoft [label="ElectroNetSoft Project"]; + ElectroIO [label="ElectroIO Project"]; + HAL [label="Hardware Abstraction Layer (HAL)"]; + + // Relationships + ElectrostaticSandboxSDK -> ElectroSim; + ElectrostaticSandboxSDK -> ElectroNetSoft; + ElectrostaticSandboxSDK -> ElectroIO; + + subgraph cluster_ElectroSim { + label="ElectroSim Project"; + color=lightgrey; + style=dashed; + + RTI_IEEE [label="IEEE-1516 RTI"]; + FED_IEEE [label="RTI Federates"]; + FOM_IEEE [label="FOM"]; + + ElectroSim -> RTI_IEEE; + ElectroSim -> FED_IEEE; + ElectroSim -> FOM_IEEE; + } + + subgraph cluster_ElectroNetSoft { + label="ElectroNetSoft Project"; + color=lightgrey; + style=dashed; + + NETSOFT_INFRA [label="Networking and Software Infrastructure"]; + OS_RES [label="Base OS Resources and Std Libraries APIs"]; + Std [label="Std Libs"]; + OSRES [label="Base OS Resources"]; + + ElectroNetSoft -> NETSOFT_INFRA; + NETSOFT_INFRA -> OS_RES; + OS_RES -> Std; + OS_RES -> OSRES; + } + + subgraph cluster_ElectroIO { + label="ElectroIO Project"; + color=lightgrey; + style=dashed; + + ElectroMIO [label="ElectroMIO"]; + ElectroKIO [label="ElectroKIO"]; + + ElectroIO -> ElectroMIO; + ElectroIO -> ElectroKIO; + + subgraph cluster_ElectroMIO { + label="ElectroMIO"; + color=lightgrey; + style=dashed; + + GPIO [label="GPIO"]; + UART [label="USART"]; + ADC [label="ADC"]; + EEPROM [label="EEPROM"]; + TWI [label="TWI"]; + SPI [label="SPI"]; + SOCKET [label="WiFi-Sockets"]; + + ElectroMIO -> GPIO; + ElectroMIO -> UART; + ElectroMIO -> ADC; + ElectroMIO -> EEPROM; + ElectroMIO -> TWI; + ElectroMIO -> SPI; + ElectroMIO -> SOCKET; + } + + subgraph cluster_ElectroKIO { + label="ElectroKIO"; + color=lightgrey; + style=dashed; + + USB [label="USB-FS"]; + RS232 [label="RS232"]; + PARA [label="IEEE-1284"]; + ETH [label="IEEE-802.3"]; + CD [label="DVD-CDROM"]; + PCI [label="PCI-e"]; + + ElectroKIO -> USB; + ElectroKIO -> RS232; + ElectroKIO -> PARA; + ElectroKIO -> ETH; + ElectroKIO -> CD; + ElectroKIO -> PCI; + } + } + + subgraph cluster_PlatformBindingAPIs { + label="Platform Binding APIs"; + color=lightgrey; + style=dashed; + + SERIAL [label="Serial4j"]; + JECTOR [label="Jector"]; + ART [label="Articular-ES"]; + JME [label="Jme-alloc"]; + JSNAP [label="jSnapLoader"]; + AUTO [label="Automata4j"]; + ELECTROIO [label="ElectroIO"]; + PARALLEL [label="Parallel4j"]; + + PLATFORM_BINDING [label="Platform Binding APIs", shape=ellipse, style=filled, color=lightgreen]; + + PLATFORM_BINDING -> SERIAL; + PLATFORM_BINDING -> JECTOR; + PLATFORM_BINDING -> ART; + PLATFORM_BINDING -> JME; + PLATFORM_BINDING -> JSNAP; + PLATFORM_BINDING -> AUTO; + PLATFORM_BINDING -> ELECTROIO; + PLATFORM_BINDING -> PARALLEL; + } +}