You can find in this section some of the software I have produced over the years or I have been involved in. For ontologies please visit the Ontologies section. Indeed I consider ontologies as software but I thought I’d rather give them a separate section.

NodeRed Extensions

NodeRedNodeRed is a very nice “tool for wiring together hardware devices, APIs and online services in new and interesting ways“. NodeRed is a tool developed in Node.js which combines a nice and fairly intuitive Web-based graphical user interface a la Yahoo! Pipes, with an embedded execution environment.

NodeRed is fairly easy to setup and it can allow you to create fairly advanced executable applications in little time. You just need to drag&drop boxes (called nodes) which provide the core functionality and pipe the data flow between them. Once your flow is ready a one-click deploy button generates an executable Node.js application that is ready to run.

In the COMPOSE project we have adopted NodeRed and I hace since then developed a number of small extensions (nodes) to it. Notably I have developed:

  • a Swagger node able to bring Swagger invocation to NodeRed
  • a JSONPath node able to support evaluating JSONPath expressions within NodeRed
  • a BLE node able to support interacting with BLE devices within NodeRed


composit-transparentComposIT is an automatic semantic web service composition engine developed within the Centro de Investigación en Tecnoloxías da Información (CITIUS), University of Santiago de Compostela. The engine includes different state-of-the-art search algorithms and optimization techniques to improve the composition of Semantic Web Services which is approached as an optimised graph search problem. I have collaborated with Pablo Rodriguez Mier for integrating ComposIT with iServe. This work led to a high performance composition engine for iServe which as opposed to most solutions out there does not require local and complete access to all service descriptions in-memory and can instead rely on remote discovery engines.

Get the code at ComposIT’s github project.

Get the integration at ComposIT-iServe’s github project.


MSM4J is a Java library for manipulating service descriptions expressed in terms of the Minimal Service Model vocabulary. While this library was essentially developed in the context of iServe, it is a reusable component on its own. This Java library provides parsing, manipulation and serialisation support for MSM descriptions. Additionally it includes a plugin-based mechanism for importing descriptions in a wide-range of formalisms including hRESTS, OWL-S, SAWSDL, and the Web Service Challenge format.

Get the code at the MSM4J Github project.



iServe is the place on the Web where linked data meets services. In a nutshell, iServe is a platform for publishing Semantic Web Services as linked data, no matter their original format. iServe builds upon these principles and uses as its core what we refer to as the Minimal Service Model, a minimal vocabulary for describing services in RDF which abstracts us away from the original approach used for annotating the services, such as SAWSDLWSMO-LiteMicroWSMO or OWL-S. Taking the original descriptions, iServe automatically generates the appropriate RDF statements according to the Minimal Service Model and expose them as linked data, thus providing a simple means for publishing Semantic Web Services in a manner that is suitable for the description and interlinking of services, people and data. Check it out with iServe Browser. iServe is one of the components of the SOA4All Studio tool suite produced in the context of the EU project SOA4All.

Get the code at the iServe Github project.


Sweet-Semantic Web sErvice Editing Tool

SWEET, which stands for Semantic Web sErvice Editing Tool, is the first tool developed for supporting users in creating semantic RESTful services. SWEET does so by supporting users in structuring Web pages including service descriptions and associating semantic annotations to the service elements. The annotations produced are injected within the Web page describing the Web API in order to support a higher level of automation when performing common tasks with RESTful services, such as their discovery and composition. SWEET is one of the components of the SOA4All Studio tool suite produced in the context of the EU project SOA4All.



The Internet Reasoning Service (IRS) project conducted in the Knowledge Media Institute at the Open University has the overall aim of supporting the automated or semi-automated construction of semantically enhanced systems over the internet. The epistemological basis of the IRS is based on the decomposition of the system’s expertise into Tasks, Methods, Domains and Applications, usually referred to as the TMDA framework. This framework, mainly influenced by extensive research on Problem-Solving Methods, was further extended in the IRS-I to support the creation of knowledge intensive systems structured according to the UPML framework. IRS-II continued this approach and integrated the UPML framework with Web Service technology so as to benefit from the reasoning infrastructure over the Web. Finally, the current version of the IRS, namely IRS-III, has incorporated and extended the WSMO ontology so that the implemented infrastructure allows the description, publication and execution of Semantic Web Services. I’m involved in diverse aspects of the IRS, including client-side development, ontology translation, infrastructure development and standardization.

WSMO Studio

WSMO Studio

WSMO Studio is a Semantic Web Service modelling environment for the Web Service Modeling Ontology (WSMO) developed by OntoText. WSMO Studio is an Open Source project available as a set of Eclipse plug-ins that can be further extended by 3rd parties. I have developed a set of plug-ins that support importing and exporting WSMO entities, such as Goals, Mediators, Web Services and Ontologies, to and from the Internet Reasoning Service. Furthermore, it allows users to achieve Goals using the IRS-III directly from the editor, through a simple point-and-click interface.



The Web Service Modeling Toolkit (WSMT) developed by the Digital Enterprise Research Institute is a collection of tools for Semantic Web Services intended for use with the Web Service Modeling Ontology, The Web Service Modeling Language and the Web Service Execution Environment (WSMX). I have developed a plug-in that supports importing and exporting WSMO entities, such as Goals, Mediators, Web Services and Ontologies, to and from the Internet Reasoning Service. It also allows users to achieve Goals using the IRS-III directly from the editor, through a simple point-and-click interface.


CashewCASHEW stands for Composition and Semantic Enhancement of Web Services. CASHEW is an effort towards the description and composition of Semantic Web Services led by Barry Norton. Unlike most efforts in Semantic Web Services, CASHEW focusses on the behavioural semantics, as opposed to structural semantics, and is driven by compositionality as the main principle. It is inspired by both OWL-S and WSMO, and has been suggested as a high-level abstraction for the definition of orchestrations and choreographies in the latter.


eMergeseMerges is an intelligent web-based emergency management application that results from one of the use cases of DIP. The application, led by Vlad Tanasescu, makes use of cutting-edge Semantic Web and Semantic Web Services technologies to support the seamless integration of diverse sources of information and actors in order to better support dealing with extreme situations such as flood, snow storms and the like. I had a small involvement in the development of the application for enhancing the interoperability of the system. The application was among the five finalists of the Semantic Web Challenge in 2006.


HordeThor was created for supporting the management of projects within the Horde Project. Unfortunately I had to abandon this work because I was not able to get enough spare time. The Horde Project is about creating high quality Open Source applications, based on PHP. The guiding principles of the Horde Project are to create solid standards-based applications using intelligent object oriented design that, wherever possible, are designed to run on a wide range of platforms and backends. Horde is definitely one of the most complete frameworks for developing web sites in PHP and it includes a large variety of applications the can be plugged out-of-the-box for creating a simple yet powerful corporate web site including web mail, task management, issues list, etc.