{"id":22887186,"url":"https://github.com/electrostat-lab/electrostatic-sandbox-template","last_synced_at":"2025-06-13T12:04:46.276Z","repository":{"id":243129044,"uuid":"811556809","full_name":"Electrostat-Lab/Electrostatic-Sandbox-Template","owner":"Electrostat-Lab","description":"A universal template project for native libraries with a ready-to-use JNI Glue code.","archived":false,"fork":false,"pushed_at":"2024-06-06T20:58:04.000Z","size":93,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-31T19:13:17.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Electrostat-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-06T20:37:30.000Z","updated_at":"2024-06-12T05:29:31.000Z","dependencies_parsed_at":"2024-06-06T22:14:21.217Z","dependency_job_id":"51b07fe6-a139-4987-8c08-dcc7da531c29","html_url":"https://github.com/Electrostat-Lab/Electrostatic-Sandbox-Template","commit_stats":null,"previous_names":["electrostat-lab/electrostatic-sandbox-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/Electrostat-Lab/Electrostatic-Sandbox-Template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electrostat-Lab%2FElectrostatic-Sandbox-Template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electrostat-Lab%2FElectrostatic-Sandbox-Template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electrostat-Lab%2FElectrostatic-Sandbox-Template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electrostat-Lab%2FElectrostatic-Sandbox-Template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Electrostat-Lab","download_url":"https://codeload.github.com/Electrostat-Lab/Electrostatic-Sandbox-Template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Electrostat-Lab%2FElectrostatic-Sandbox-Template/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259642249,"owners_count":22888982,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-13T20:31:23.547Z","updated_at":"2025-06-13T12:04:46.221Z","avatar_url":"https://github.com/Electrostat-Lab.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Electrostatic-sandbox-framework\n\nThis framework houses a standardization as a sandbox for the workstation abstracting the following: \n- Digital Communication Protocols.\n- File Systems APIs.\n- Memory Manipulation APIs.\n- Other Operating System APIs.\n\nThis framework has 2 environments and provides binaries for 2 devices:\n- The main board.\n- The externally pluggable modular boards.\n\n## Hardware-Software Specification:\n\n| **Item** | **Explanation** |\n|--------|---------------|\n| _Problem Definition_ | General definition and objectification |\n| _Scientific Recall of the problem_ | Use the Set Theory, the Group Theory, predicate calculus, and the FSM computational model (Scientific Modelling of the problem). |\n| _General Approach_ | General approach. |\n| _Specialized Approach_ | Highly specialized approach from this project that differentiate it among others. |\n| _Scientific Approach_ | Use the Set Theory, the Group Theory, predicate calculus, and the FSM computational model (Scientific Modelling of the approach). |\n| _The Framework components_ | Decompose the framework into components and relations; such that, the components model the structural aspect of the framework and the relations, which deemed to be components as well, deal with the behavioral aspect of the framework. |\n\n## The framework parts:\n**The Native Electrostatic API**\n- electrostatic-core: provides the core of the electrostatic framework written purely in C.\n- electrostatic-examples: provides direct examples in the form of executables for the core API.\n\n**The Java Binding API (Electrostatic4j aka. _e4j_)**\n- electrostatic4j-core: the core Java binding API, containing the native image loader and the binding Java side of the glue code.\n- electrostatic4j-native: the native Java binding API, containing the glue code written purely in C.\n- electrostatic4j-examples: implicit examples for the electrostatic API through the Java binding API.\n- electrostatic4j-android: android glue code (not planned!).\n\n## Architectural diagrams (component-based, sequential (FSM), and deployment):\n- Distributed-simulation/Broker system: comm_protocols stream-based or raw-buffer-based APIs and the Slave APIs.\n- Byte-flow Architectural Pattern: the comm API and its dependencies.\n- Hierarchial Architectural Pattern: the JNI Glue code.\n\n## Detailed-design diagrams (class-based, object-based, and FSM):\n\n## Building the framework: \n- [x] Building the `electrostatic-core` module into a static and a dynamic library:\n```bash\n$ ./helper-scripts/project-impl/compile-all.sh\n```\n- [x] Building the `electrostatic-examples` module into an executable and linking with the `electrostatic-core` binaries:\n```bash\n$ ./helper-scripts/project-impl/compile-examples.sh \"x86-64\" \"hello_comm.c\"\n$ ./helper-scripts/project-impl/compile-examples.sh \"x86\" \"hello_comm.c\"\n$ ./electrostatic-examples/build/x86-64/hello_comm.c.elf\n$ ./electrostatic-examples/build/x86/hello_comm.c.elf\n```\n- [x] Building the `electrostatic4j` library and runtime linking:\n```bash\n$ ./helper-scripts/ci-cd/compile-e4j.sh \"$(pwd)/electrostatic-core\"\n```\n- [x] Running the `electrostatic4j-examples` examples:\n```bash\n$ ./helper-scripts/ci-cd/test-e4j.sh\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectrostat-lab%2Felectrostatic-sandbox-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectrostat-lab%2Felectrostatic-sandbox-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectrostat-lab%2Felectrostatic-sandbox-template/lists"}