Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The following figure provides an overview on the SensIDL artifacts and their relations. The elements are described in the following.
The SensIDL toolchain consist of a metamodel for the description language, a textual editor allowing user-friendly sensor description specifications, and code generators for different target programming languages.
SensIDL supports both, sensor and receiver developers. Sensor developers can use the editor to describe and document sensor-specific data structures and generate code for their sensor device. Receiver developers use sensor descriptions and generate code for the receiver device.
Physical devices communicate using the data structures defined in the sensor descriptions. By doing so, sensors and receivers can use different programming languages. A typical example would be a C-based sensor implementation and a Java-based Android application. The SensIDL generators create data structures for all platforms, e.g. structs for C or classes for Java. Generated encoders and decoders handle the conversion to transmitted and exchanged information.