22[ ![ AppImage] ( https://github.com/mgrojo/coap_spark/actions/workflows/appimage.yml/badge.svg )] ( https://github.com/mgrojo/coap_spark/actions/workflows/appimage.yml )
33[ ![ GNATprove] ( https://github.com/mgrojo/coap_spark/actions/workflows/prove.yml/badge.svg )] ( https://github.com/mgrojo/coap_spark/actions/workflows/prove.yml )
44[ ![ codecov] ( https://codecov.io/gh/mgrojo/coap_spark/graph/badge.svg?token=2AEXL06XHU )] ( https://codecov.io/gh/mgrojo/coap_spark )
5+ [ ![ Alire] ( https://img.shields.io/endpoint?url=https://alire.ada.dev/badges/coap_spark.json )] ( https://alire.ada.dev/crates/coap_spark.html )
56
67# CoAP-SPARK
78CoAP-SPARK is a library implementing the Constrained Application Protocol (CoAP)
@@ -14,15 +15,15 @@ implementation, mainly for academic purposes.
1415
1516## Dependencies
1617CoAP-SPARK uses:
17- * Alire as source package manager (independently installed)
18- * RecordFlux as a tool facilitating the implementation of the verifiable
18+ * [ Alire] ( https://alire.ada.dev ) as source package manager (independently installed)
19+ * [ RecordFlux] ( https://github.com/AdaCore/RecordFlux ) as a tool facilitating the implementation of the verifiable
1920 protocol parser and the state machine of a session (included as Git submodule)
20- * WolfSSL as library for implementing the DTLS communications
21+ * [ WolfSSL] ( https://github.com/wolfSSL/wolfssl ) as library for implementing the DTLS communications
2122 (included as Git submodule)
22- * GNAT 14.2.1 (toolchain managed by Alire)
23- * GNATProve 14.1.1 (dependency managed by Alire)
24- * Aunit for unit-testing the library (dependency managed by Alire)
25- * bbt for testing (installable via Alire)
23+ * [ GNAT] ( https://github.com/alire-project/GNAT-FSF-builds ) 14.2.1 (toolchain managed by Alire)
24+ * [ GNATProve] ( https://github.com/alire-project/GNAT-FSF-builds ) 14.1.1 (dependency managed by Alire)
25+ * [ Aunit] ( https://github.com/AdaCore/aunit ) for unit-testing the library (dependency managed by Alire)
26+ * [ bbt] ( https://github.com/LionelDraghi/bbt ) for testing (installable via Alire)
2627
2728## How to set-up
2829
@@ -50,8 +51,8 @@ alr build
5051
5152For building the client and server programs:
5253```
53- cd client ; alr build
54- cd ../server ; alr build
54+ alr -C client build
55+ alr -C server build
5556```
5657
5758## How to test
@@ -62,7 +63,8 @@ alr install bbt
6263
6364And then run the tests with:
6465```
65- cd client/tests ; make
66+ make -C client/tests
67+ make -C server/tests
6668```
6769
6870See [ ` client/tests/coap_client_tests.md ` ] ( client/tests/coap_client_tests.md )
@@ -75,7 +77,7 @@ cd tests; alr run
7577```
7678
7779## How to prove
78- The project (library and client ) is currently proved up to the silver mode.
80+ The project (library, client and server ) is currently proved up to the silver mode.
7981
8082The [ ` proof/ ` ] ( proof/ ) directory constains the results of passing GNATProve. You can replay it running:
8183```
@@ -102,7 +104,7 @@ in the `PATH`, so `gnatprove` can find the `colibri` executable.
102104CoAP-SPARK is a working and verified implementation of CoAP.
103105
104106The main objective of CoAP-SPARK is to be the subject of my Master's Thesis, but
105- I think it can be used in scenarios where this limitations are not an issue:
107+ I think it can be used in scenarios where these limitations are not an issue:
106108- There are no retransmissions.
107109- It only supports NoSec and PreSharedKey security modes.
108110- Block-wise transfers are not implemented. Nevertheless, this isn't part of the
0 commit comments