tahamajs/CPS / Files /README.md
tahamajs's picture
|
download
raw
6.49 kB
# CPS Files Repository
Comprehensive archive for Cyber-Physical Systems (CPS) and Distributed Systems coursework, projects, lecture material, and generated study deliverables.
## 1) Repository Scope
This is a multi-project academic workspace (not a single application). It includes:
- CPS lecture slides and hardware lectures
- Assignment sample solutions (embedded, Qt, QML)
- Distributed systems projects (Go, Python, Java)
- Generated LaTeX study deliverables
- Verification and maintenance automation
## 2) Top-Level Structure
| Path | Purpose |
|---|---|
| `CAs/` | Current-term assignment workspace (empty in this snapshot). |
| `CPS Slides/` | Main lecture deck sources (PDF/PPTX). |
| `last_terms/` | Archived previous-term assignments and sample solutions. |
| `OtherUniversitiesLectures/` | Distributed systems project collections. |
| `Cyber-Physical-Systems-Course/` | Cloned external CPS assignment reference repository. |
| `reports/` | Verification and improvement reports. |
| `output/` | Generated output artifacts (compiled PDFs, etc.). |
| `scripts/` | Verification and automation scripts. |
| `tmp/` | Temporary extraction/render files. |
## 3) Slide Deck Inventory (Complete)
### Core CPS PDFs
1. `CPS Slides/00_Introduction.pdf`
2. `CPS Slides/01-Embedded Systems (Overview).pdf`
3. `CPS Slides/02-Sensors and Actuators.pdf`
4. `CPS Slides/03,04-Interrupts Memory Addressing.pdf`
5. `CPS Slides/05-Execution Time Analysis.pdf`
6. `CPS Slides/06-Towards Higher Level Models.pdf`
7. `CPS Slides/07-Programming Paradigms and Operating Systems.pdf`
8. `CPS Slides/08-Scheduling.pdf`
9. `CPS Slides/09-MARTE.pdf`
### Embedded Hardware PPTX Decks
10. `CPS Slides/Embedded Hardware-L0-intro.pptx`
11. `CPS Slides/Embedded Hardware-L1-Hardware intro.pptx`
12. `CPS Slides/Embedded Hardware-L2- AVR.pptx`
13. `CPS Slides/Embedded Hardware-L4- ADC and Timer.pptx`
14. `CPS Slides/Embedded Hardware-L5-AVR peripherals.pptx`
15. `CPS Slides/Embedded Hardware-L6-interrupt.pptx`
16. `CPS Slides/Embedded-Hardware-L7-Memory.pptx`
## 4) Generated Q&A Deliverables
### Standard bank
- Source: `output/pdf/cps_slides_question_bank.tex`
- PDF: `output/pdf/cps_slides_question_bank.pdf`
### Extended bank (50 Q&A per deck)
- Source: `output/pdf/cps_slides_question_bank_50q.tex`
- PDF: `output/pdf/cps_slides_question_bank_50q.pdf`
- Coverage: 16 decks x 50 Q&A = 800 Q&A total
## 5) Assignment Improvements Using External Reference Repo
External source cloned and used:
- URL: <https://github.com/Hadi-loo/Cyber-Physical-Systems-Course>
- Local clone: `Cyber-Physical-Systems-Course/`
- Initialized submodules:
- `IOT-Entrance-Control-System`
- `Motion-Based-Authentication`
Imported into local assignment packages:
### CA1 imports
- `last_terms/CAs/CA1 - Access Control Management Over IOT/Sample Solution/docs/Reference-CPS-HW1.pdf`
- `last_terms/CAs/CA1 - Access Control Management Over IOT/Sample Solution/REFERENCE_ANSWERS.md`
### CA2 imports
- `last_terms/CAs/CA2 - Motion Based Authentication/Sample Solution/docs/Reference-Motion-Based-Authentication.pdf`
- `last_terms/CAs/CA2 - Motion Based Authentication/Sample Solution/REFERENCE_ANSWERS.md`
Assignment index added:
- `last_terms/CAs/README.md`
## 6) Verification Scripts
### A) Repository-wide project checks
```bash
scripts/verify_projects.sh
```
Current recorded status: `PASS: 4`, `SKIP: 2`, `FAIL: 0`
Details: `reports/verification_summary.md`
### B) Assignment-specific checks
```bash
scripts/verify_assignments.sh
```
Current recorded status: `PASS: 4`, `SKIP: 3`, `FAIL: 0`
Details: `reports/assignments_improvement_summary.md`
## 7) Build/Rebuild Commands
### Rebuild question-bank PDFs
```bash
cd output/pdf
latexmk -pdf -interaction=nonstopmode -halt-on-error cps_slides_question_bank.tex
latexmk -pdf -interaction=nonstopmode -halt-on-error cps_slides_question_bank_50q.tex
```
### Optional visual render check
```bash
mkdir -p tmp/pdfs
pdftoppm -png output/pdf/cps_slides_question_bank_50q.pdf tmp/pdfs/cps_slides_question_bank_50q_page
```
## 8) Main Project Run Guide
### CA02 - Concurrent Ticket Reservation (Go)
```bash
cd "OtherUniversitiesLectures/Distributed-Systems-Course-Projects-main/CA02 - Concurrent ticket reservation system"
GOTOOLCHAIN=local GOCACHE=/tmp/go-cache GOPATH=/tmp/go-path go test ./...
GOTOOLCHAIN=local GOCACHE=/tmp/go-cache GOPATH=/tmp/go-path go run .
```
### CA01 - Distributed Ordering System Using gRPC (Go)
```bash
cd "OtherUniversitiesLectures/Distributed-Systems-Course-Projects-main/CA01 - Distributed Ordering System Using gRPC"
go test ./...
```
### UCSB Python projects syntax checks
```bash
python3 -m py_compile OtherUniversitiesLectures/ucsb-cs271-distributed-systems-master/project1/src/*.py
python3 -m py_compile OtherUniversitiesLectures/ucsb-cs271-distributed-systems-master/project2/src/*.py
python3 -m py_compile OtherUniversitiesLectures/ucsb-cs271-distributed-systems-master/project-final/src/*.py
```
### Java multi-module project
```bash
cd OtherUniversitiesLectures/distributed-systems-project-master
./gradlew tasks --all --no-daemon
```
## 9) Reports and Key Outputs
- `reports/verification_summary.md`
- `reports/assignments_improvement_summary.md`
- `output/pdf/cps_slides_question_bank.pdf`
- `output/pdf/cps_slides_question_bank_50q.pdf`
- `reports/CPS_UT_01.pdf`
- `reports/CPS_UT_02.pdf`
- `reports/CPS_UT_03.pdf`
- `reports/CPS_UT_07.pdf`
## 10) Prerequisites
Typical tools required for full workflows:
- `python3`
- `go`
- `java`
- `cmake`
- `latexmk` / `pdflatex`
- `pdftoppm` (optional for render verification)
## 11) Environment Constraints
In restricted/offline environments, some checks are expected to skip:
- Go module downloads from `proxy.golang.org`
- Gradle wrapper distribution from `services.gradle.org`
- Qt-based CMake configure checks if Qt toolchain is not installed
These are reported explicitly by verification scripts.
## 12) Maintenance Checklist
1. Run `scripts/verify_projects.sh`
2. Run `scripts/verify_assignments.sh`
3. Update reports in `reports/` when results change
4. Rebuild `output/pdf/` artifacts after LaTeX source changes
5. Keep this README aligned with current repository state
## 13) License and Usage
This repository aggregates materials from multiple courses and sources. Licensing may differ by subproject.
- Check each subproject for its own license terms
- Treat contents as educational/coursework material unless stated otherwise

Xet Storage Details

Size:
6.49 kB
·
Xet hash:
7e8a9fb606c0e6ea59d37b1fda16de4b1457ba10afab049aaa86a5efc1fb12e8

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.