aeroconf2025machines
A repository containing the LLFSMs demonstrated at Aeroconf2025.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Repository
A repository containing the LLFSMs demonstrated at Aeroconf2025.
Basic Info
- Host: GitHub
- Owner: CPSLabGU
- Default Branch: main
- Size: 2.51 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
The BatteryMonitor LLFSM
This repository contains the example machines discussed within the paper titled "Efficient Runtime Verification of Energy Properties within Hardware / Software Co-Design" presented at Aeroconf 2025.
The files contained within this repository define the BatteryMonitor LLFSM and the accompanying formal
verification using Computation Tree Logic (CTL). The files of interest are contained within the structure below.
shell
├── BatteryMonitor.machine
│ ├── data.dat
│ ├── model.json
│ ├── output.json
│ └── spec.tctl
└── img
- The
data.datfile contains the binary-encoded Kripke structure transferred from the FPGA. - The
model.jsonfile contains the machine definition which is consumed by our code generator to generate the respective VHDL files. - The
output.jsonfile contains the parsed Kripke structure after it has been decoded from the binary representation withindata.dat. This format is defined within this repository. - The
spec.tctlfile contains the CTL formulae for defining the requirements formally verified using our model checker. The format of this file is defined within our CTL parser. - The
imgdirectory contains image files of the Kripke structure in various formats generated from graphviz. You may open these files to see the full Kripke structure of theBatteryMonitorLLFSM. Please note that these files do not include the energy-labelled edges within the Kripke structure.
Installing the LLFSM Tools
If you would like to generate the VHDL source files or perform the formal verification yourself, you may do so from the command-line tools we provide. Please install the llfsmgenerate and llfsm-verify binaries onto your system. You will need to compile these programs from source using the Swift compiler.
Generating the VHDL source files
To generate the VHDL source files for this machine, you first need to invoke some preliminary steps using the llfsmgenerate binary.
shell
llfsmgenerate model BatteryMonitor.machine
You then have a choice of generating the VHDL for Kripke structure generation, or just the standard VHDL sources for the machine.
Kripke Structure Program
shell
llfsmgenerate vhdl --include-kripke-structure BatteryMonitor.machine
Standalone LLFSM
shell
llfsmgenerate vhdl BatteryMonitor.machine
Your generated .vhd files will be located within BatteryMonitor.machine/build/vhdl.
Performing the Formal Verification
Performing the formal verification is as simple as invoking the llfsm-verify binary.
shell
llfsm-verify --machine BatteryMonitor.machine BatteryMonitor.machine/spec.tctl
You will then see the output from the model checker satisfying the requirements.
``` Verifying Requirement (1/3): A G battery = "000" -> {A F mode = "00"}_{t <= 2 us} Finished Requirement 1 in 0.029007014 seconds.
Verifying Requirement (2/3): A G mode = "00" -> A mode = "00" W battery /= "000" Finished Requirement 2 in 0.028276522 seconds.
Verifying Requirement (3/3): A G mode = "00" -> E mode = "00" U battery /= "000" Finished Requirement 3 in 0.044123716 seconds.
Verification completed in 0.106220544 seconds (± 1e-09 seconds). ```
You may modify spec.tctl to include additional requirements of your choosing.
Owner
- Name: CPSLabGU
- Login: CPSLabGU
- Kind: organization
- Repositories: 1
- Profile: https://github.com/CPSLabGU
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "McColl"
given-names: "Morgan"
orcid: "https://orcid.org/0000-0003-4217-7210"
title: "Aeroconf2025Machines"
version: 1.0.0
date-released: 2025-01-10
url: "https://github.com/CPSLabGU/Aeroconf2025Machines"
preferred-citation:
type: conference-paper
conference:
name: "IEEE Aerospace Conference"
authors:
- family-names: "McColl"
given-names: "Morgan"
orcid: "https://orcid.org/0000-0003-4217-7210"
- family-names: "McColl"
given-names: "Callum"
- family-names: "Pereira"
given-names: "Aaron"
- family-names: "Hexel"
given-names: "Rene"
month: 03
start: 1
end: 8
title: "Efficient Runtime Verification of Energy Properties within Hardware / Software Co-Design"
year: 2025
location:
name: "Big Sky, Montana"
GitHub Events
Total
- Release event: 1
- Push event: 3
- Create event: 1
Last Year
- Release event: 1
- Push event: 3
- Create event: 1