02/18/2020
At this time, Phase 1 for the Remote Sensor software is nearly done. I'm turning my attentions to a testing environment and to the Data Aggregator component. Right now we have only a small crude Tcl script that can communicate with the Remote Sensor via Bluetooth. Something more complete is needed.
It occurs to me that we can re-purpose the work that must be done on the Data Aggregator to use it also for testing both the Remote Sensor and the Data Accessor components. Since the Data Aggregator does not contribute any functionality to the overall Farfalle system, it is a prime candidate to be simulated and/or implemented in different ways. I'm considering the following steps:
- Proceed to create the xUML models for the Data Aggregator. This has to be done at some time anyway.
- Translate the Data Aggregator models into Tcl using Rosea.
- Bridge the Tcl translation to the Bluetooth side of the world using our existing DBUS Tcl extension which can access the Bluez daemon for Bluetooth services in the Linux world. This is the basis of our existing script.
- Create three bridges from the Tcl implementation on the Data Accessor component side.
- First to a command line interface that can be used for testing and scripting.
- Second to a Tk application that can be used for interactive work and demonstration.
- Third to a Socket interface that could connect to the Data Accessor for testing.
- Translate the Data Aggregtor model into "C" using micca and build target-based bridges for the Bluetooth and Data Accessor sides. These target-based bridges would use the Silicon Labs Bluetooth stack and the cell model AT commands interface. The target-bridges are logically consistent with the Linux bridges for the Tcl implementation. However, they are quite different in implementation approaches.
I think this approach has some distinct advantages. It would get us on the way to having models for the Data Aggregator component and reuse the same logic for our testing needs. It would also give us the ability to test the Data Accessor component without having to have Data Aggregator hardware running.
Andrew