Electrostat-Lab / Electrostatic-Sandbox

A high-performance infrastructure framework for distributed systems simulation based on the IEEE-1516 HLA Spec. and NASA DSES.
https://electrostat-lab.github.io/Electrostatic-Sandbox/
BSD 3-Clause "New" or "Revised" License
2 stars 2 forks source link
arduino avrsandbox comm-protocols discrete-mathematics electrostat-lab embedded-systems-engineering gigabyte hardware hardware-software-codesign ieee-1284 ieee-1516 ieee-8023 jmonkeyengine3 parallel-communication rs-232 scientific-modelling serial-communications serial4j shiftavr software-architecture

Electrostatic-Sandbox

Preface and terminology:

Electrobox is an electronic monstrosity workstation designed to examine and develop systems for distributed simulations by providing an integrated environment housing the basic nostalgic communication protocols (i.e., Serial and Parallel COMs), the abstract networking interfaces, and a range of other electronic modules providing standards for controller interfaces, and sensor modules (e.g., the underdeveloped ShiftAvr, and Arduinos).

This electronic monstrosity features and leverages a powerful system-engineering infrastructure framework, the Electrostatic-Sandbox Framework for distributed simulation systems, a complete SDK suite written purely in C programming language with a JNI binding based on the IEEE-1516 HLA Spec. and NASA DSES.

This file and the presenting files here are entailed to provide a coverage specification for the Electrobox workstation, while other specifications for the Electrostatic-Sandbox framework could be found within their respective filesystems.

Hardware-Software specification overview for Electrobox:

Item Explanation
Problem Definition Obtaining an integrated environment to efficiently integrate embedded systems with other resources like graphics-based applications and games, with an essential predicate of providing the blend of the old communication protocols, and externally pluggable electronic modules.
Scientific Recall of the Problem Using the abstract Set Theory and Predicate Logic annotations, the main problem can be described as a universal set of predicates. In other words, the main problem is the universe set $P_{Env.}$; where P designates a problem universe set, and Env. stands for the environment. Now, $P{Graphics}$ represents another requirement set of graphics-based applications, and $P{COM}$ represents the problem set of COM protocols and finally $P{Modules}$ designating a problem set of pluggable electronic modules including sensor modules that are indirectly established with the $P{Env.}$. Thus, the general scientific model for the problem is $P{Env.} = [ P{Motherboard}, P{Graphics}, P{COM}, P{Modules} ]$, and then recall their binary relations set in a duplex transmission system as $$R{Env.} = [(P{Motherboard}, P{Motherboard}), (P{Motherboard}, P{Graphics}), (P{Motherboard}, P{COM}), (P{Motherboard}, P{Modules}), (P{Motherboard}, P{Null}),$$ $$(P{Graphics}, P{Motherboard}), (P{Graphics}, P{Graphics}), (P{Graphics}, P{COM}), (P{Graphics}, P{Modules}), (P{Graphics}, P{Null}),$$ $$(P{COM}, P{Motherboard}), (P{COM}, P{Graphics}), (P{COM}, P{COM}), (P{COM}, P{Modules}), (P{COM}, P{Null}),$$ $$(P{Modules}, P{Motherboard}), (P{Modules}, P{Graphics}), (P{Modules}, P{COM}), (P{Modules}, P{Modules}), (P{Modules}, P{Null})]$$, with a cardinality of $|R{Env.}| = P^{e} + R{Null} = 4^2 + 4 = 20$; where $P$ is the number of problems in the $R{Env}$ set, $e$ is the number of problems per relation, and $R{Null}$ is the number of null relations. Thus the final analogy of the problem is: $$P{Env.} = [ P{Motherboard}\ U\ P{Graphics}\ U\ P{COM}\ U\ P{Modules} \ |\ R{Env.}\ {\neq}\ {\phi}]$$
General Approach The general approach entails buying one of the available workstations or toolkits for embedded systems.
Draw Backs of the General Approach The problem with the general solution that it didn't address providing an efficient realtime graphics simulation environment, so the performance is quite poor when advanced graphics-based applications are required to be tested in conjunction with the communication protocols and the electronic modules.
Specific Minimal Approach The minimal approach utilizes this simplistic model that uses the Set Theory. Nonetheless, we are merely concerned about the relation set $R_{Env.}$ inside the integrated environment, as it maps the behavior we are seeking from the system.
Upgrading the system Theoretically, the previously mentioned scientific model includes the complements of the problem elements described, therefore for instance, the $P{Modules}$ has its complement $P'{Modules}$ which means that we can add expansion modules designated as complements for the pre-existing modules to our system, as well. The practicability of this is well-demonstrated, but half-revealed in a way that it's very much related to the original equation: Which motherboard are we going to use? AND Which type of COM and modules are utilized in this set? Are they really compatible? We will see about these details when we scope down on the circuit-design level...
Scientific Recall of the solution Again, using the Set Theory and the Group Theory, envision the environment to build is a universe set E with a main board known as GA standing for Gigabyte, a set of peripherals P, and a set of communication modules providing communication protocols COM, and a set of external electronic modules M; thus the final scientific model will be $E = [GA, P, COM, M]$; where COM = {com | "com" is a communication protocol provided by a SoC module providing the relations between "GA", "P" and "M" sets}, P = {p | "p" is a peripheral device connected directly to the "GA" motherboard}, and M = {m | "m" is an electronic module connected indirectly to the "GA" motherboard using one or more of the board communication protocols "com"}.


The main board General layout Scheme
image image image


Table of content (WIP):

Hardware:

DIY Tutorial:

Find the do-it-yourself tutorial at [diy-tutorial]().

General progress:

API used:

Environment Setup:

Electrostatic-sandbox framework:

Circuitry Explanation:

References (Direct links to useful topics):

Operational:

Theoretical papers:

Technical Books:

Credits:

Credits should go to these products and platforms for being open-source and widely available with no constraints, hooray to them:

And, To others who I didn't mention, and were essential predicates for the success of this project.