The UbiSys framework
The Ubisys framework consists of a set of tools for end-user service compistion.
The UbiSys framework is realized according to UbiCompForAll architecture. UbiSys consists of three main components:
The glue between these tools is the composition meta-model developed in UbiCompForAll. The building blocks are specified using the meta-model in UbiCompPro resulting in a set of models of the building blocks. UbiComposer exploits the meta-model and the models of the building blocks in order to guide the end-users during composition resulting in a service composition model. UbiCompRun uses this composition model and the models of the building blocks to control the execution of the composed service. Through this use of the meta-model, the UbiSys framework contributes to the research fields of Model Driven Development and End User Development by giving a concrete example of how meta-modelling can be used all the way from design time, via composition, to runtime.
When developing the UbiComposer, the focus has been on keeping the composition environment simple and efficient to use also on a mobile device. UbiComposer, UbiCompRun and UbiCompPro are available for free and open source under the permissive Apache 2.0 license. With the UbiSys framework, it is easy for developers to include the composition editor and runtime system in new Android applications. Together, this gives a good potential for further use and innovations based on the results, both in industry and further research.
There are several opportunities for further work based on the UbiSys framework. Firstly, the tools have in their current version been improved only based on feedback from project participants. A more extensive evaluation with users external to the project would provide valuable input for further improvements, and could give answers to how well end-users are able to utilize the tools and for what usage they provide most value. Secondly, further research and development would allow extending the tools with support for validation and debugging of the compositions, helping the users to create correct and trusted compositions.