The TULIP framework is a collection of customizable building blocks, mapping the physical objects on the table to a virtual representation on the screen.
Each physical object, identified by its marker, is mapped to a dedicated software representation, called a Widget. Widgets define the functional behaviour of the object. Each widget has one or more associated Coronas, defining the visual representation of the object on the table. The mapping of markers to widgets and subsequently of coronas to widgets is defined in an external XML file called a Scenario. The scenario file encapsulates all design related aspects of the application to build, i.e. graphical and functional attributes of coronas, configuration of data sources, chaining of data processing steps.
From a software architecture point of view, the TULIP framework consists of the open-source Tulip core package and a number of domain specific extensions. Each extension not only adds domain specific widgets and coronas, but also adds connectivity to external systems and environments. Each extension is packaged and maintained in a dedicated git project.
Tulip-GIS adds geographical information to Tulip. The extension adds interfaces for connecting with OGC (Open Geospatial Consortium) compliant GIS systems and brings along widgets and coronas for manipulating geographical maps.
Tulip-IOT is the latest addition to the Tulip family, adding IOT (Internet-Of-Things) connectivity to Tulip. This is achieved by adding MQTT messaging, a lightweight messaging protocol for small sensors and mobile devices, to the scenario. By adding the concept of messaging systems to the scenario, the author has the possibility, in combination with the Tulip-CPS extension, to retrieve sensor values and to control actuators.