The Project

GENESIS is a project funded by the National Spanish Program for Research Aimed at the Challenges of Society 2016. Project identifier TIN2016-79269-R.

It is conducted from December 30th, 2016 to December 29th, 2020.

The participants in the project are members of two research teams of the Universitat Politècnica de Catalunya

  • GESSI: Software and Service Engineering Group. The GESSI research group conducts research in many fields of software engineering, with particular emphasis on requirements engineering, software quality, software architecture, service-oriented computing, open source software, software modeling and empirical research.
  • DTIM: Database Tecnology and Information Management. The DTIM research group conducts research in many fields of data and knowledge management, with particular emphasis on big data management, NOSQL, data warehousing, ETL, OLAP tools, multidimensional modeling, conceptual modeling, ontologies and services. DTIM is a research subgroup of the Information Modelling and Processing (MPI) UPC research group.

The goal of the project is to provide techniques and tools to: collect information, metadata and behaviour of the functionality to expose provided by API providers; generate a repository of monitorizable APIs with their documentation, metadata and implementation; automatically manage data flows and data repositories to implemente the APIs; propose and evaluate API evolutions; facilitate the automatic evolution of APIs.

Application Programming Interfaces (API) have recently experienced an unexpected growth and are shaping the way in which organizations expose data and functionalities to the outside. Companies like, Expedia and Walgreens report high impacts coming from the adoption of APIs, with more than a half of their sales due to services offered by those APIs.

The creation and evolution of these APIs are still done on ad-hoc basis, with little automated support and reported deficiencies. These drawbacks hinder the productivity of developers, and impacts negatively on the time to market of those APIs and the services built on top of them.

The GENESIS project will follow a tool-supported data-driven approach to improve the automatization of the above process. In a release cycle, data coming from both APIs' usage and developers will be gathered and analysed in order to compute several indicators whose analysis will guide the planning of the next release of such APIs. This data will be also used to generate complete and accurate documentation, including non-functional requirements that will facilitate the adoption of the APIs by third parties. APIs will be organized in a semantic repository with well-defined processes around.

GENESIS will be evaluated in the domain of smart cities. This domain is specially well-suited for the data-driven approach proposed in the project, due both to the existence of huge amounts of data coming from thousands of sensors and citizens, and to the open nature of most of such data.