SOM team is currently working on the following funded projects. Get in touch if you’re specially interested in any of them.
- 1 Open data for All – RETOS Spanish National Project 2017-2020
- 2 MegaMart – ECSEL EU – 2017-2020
- 3 Modelia – partnership with CEA List
- 4 Excellence Network on Model Driven Software Engineering – Spanish National Excellence Networks 2017-2018
- 5 Past Projects
Open data for All – RETOS Spanish National Project 2017-2020
The goal of the project is to make the promise of open data a reality by giving non-technical users tools they can use to find and compose the information they need.
More and more data is becoming available online every day coming from both the public sector and private sources. As an example, the European data portal registers over 400,000 public datasets online. Most of this data is available via some kind of (semi)structured format (XML, RDF, JSON,…) which, in theory, facilitates its consumption and combination. Indeed, the open data movement promises to bring to the fingertips of every citizen all the data they need, whether it is for planning their next trip or for government oversight.
Unfortunately, this is still far from reality. Our society is opening its data but not building the technology and infrastructure required to enable citizens to access and manipulate it. Only technical people have the skills to consume the heterogeneous data sources while the rest is forced to depend on third-party applications or companies.
This research project aims to change this. Our goal is to empower all citizens to exploit and benefit from the open data, helping them to become not only consumers but also creators of data that add new value to our society. In this sense, the project will automatically infer a unified global schema of the knowledge available in open data sets and present that schema to the average citizen in a way she can easily browse and query to get the information she needs. This request will be then transparently translated into a combined sequence of accesses to the required data sources to retrieve, visualize and republish it (if desired). When several data sources could be used (e.g. due to an overlap in the exposed data) quality aspects of the source or even monetary costs (some sources may be only partially free) will be taken into account to provide an optimal solution.
To achieve this ambitious goal, the project will pursue the following key research contributions:
- APIfication of data sources: (Web) APIs are becoming the de facto choice for publishing content online. We will unify access to all kinds of data sources via an API interface
- Schema discovery: Most sources won’t have any kind of formal description we could use to precisely understand what information the source provides. A systematic analysis of data samples will help us to infer that schema, enriched with annotations regarding quality aspects (e.g. reliability, availability, etc) to better characterize the data source.
- Schema composition: Individual schemas will be matched and merged to create the global schema representing all available knowledge.
- Citizen languages: Human-computer interaction techniques will be used to build a user-friendly language to express and visualize information requests on this global schema.
- Query resolution: Each request will be translated into an optimal sequence of API calls on the underlying data sources to retrieve the data needed to respond to the request.
The results of this project will have a huge impact on our society by finally giving all citizens unrestricted access to the massive amounts of open data available online. This will also be beneficial to data providers, that could reach a broader audience, and software companies that will now have a simpler way to build new applications exploiting the links among a diversity of datasets. These benefits will be validated by means of case studies on open data sets provided by the city of Barcelona and the governments of Catalonia and Canarias, implemented on top of an open source platform released by the project.
The following figure illustrates the proposed approach.
GitHub Organization hosting the tools resulting from this project: https://github.com/opendata-for-all
MegaMart – ECSEL EU – 2017-2020
The goal of the project is to work on Megamodeling at Runtime to build a scalable model-based framework for continuous development and runtime validation of complex systems.
Productivity and quality are two of the major challenges of building, maintaining and evolving large complex and business-critical software systems. In June 2012 Gartner released results of survey on failure of software projects. The survey showed that 28% of large IT projects with a budget exceeding $1M fail. Among the reasons, functionality issues accounted for 22%; late delivery for 28%; and poor quality for 11% of failures. The Standish Group CHAOS report for 2013 states that only 10% of large IT projects delivered on time, on budget and with required features and functions. In the global context, the European industry faces stiff competition. Electronic systems are becoming more and more complex and software intensive, which calls for modern engineering practices to tackle advances in productivity and quality of these now cyber-physical systems. Model-driven Engineering and related technologies promise significant productivity gains, which have been proven valid in several studies. However, these technologies need to be further developed to scale for real-life industrial projects and provide advantages at runtime.
The ultimate objective of enhancing productivity while reducing costs and ensuring quality in development, integration and maintenance can be achieved by the use of techniques that integrate design and runtime aspects within system engineering methods incorporating existing engineering practices. Industrial scale models, which are usually multi-disciplinary, multi-teams, combine several product lines and typically include strong system quality requirements can be exploited at runtime, by advanced tracing and monitoring. Thus, achieving a continuous system engineering cycle between design and runtime, ensuring the quality of the running system and getting valuable feedback from it that can be used to boost the productivity and provide lessons-learnt for future generations of the products.
The major challenge in the Model-Driven Engineering of critical software systems is the integration of design and runtime aspects. The system behaviour at runtime has to be matched with the design in order to fully understand the critical situation, failures in design and deviations from requirements. Many methods and tools exist for tracing the execution and performing measurements of runtime properties. However, these methods do not allow the integration with system models – the most suitable level for system engineers for analysis and decision-making.
Modelia – partnership with CEA List
The goal of the project is the integration of Artificial Intelligence (AI) in software development tools to achieve the cognification of model-driven software engineering tasks and processes.
Software is the infrastructure that powers our digital society. It is everywhere: laptops, phones, watches, cars, electrical household appliances and all kinds of IoT devices around us. And yet, software development is in a permanent state of crisis. Improvements in programming tools, languages and methods have not been able to keep up with the increasing complexity, demands and trust we expect from all running software. This complexity is expected to keep growing in the coming years with the increase in the number of devices, the vast amounts of big data that the software will have to be able to process in real-time and the integration of AI components for all kinds of reasoning and recognition tasks.
We believe that an incremental improvement on current software development tools and techniques is not enough to deal with this situation. Instead, Modelia advocates for a shift in the way software is developed and maintained thanks to the integration of AI techniques in all software development tools and processes. This integration holds the promise of disruptive improvements on the developers’ productivity and the quality of the software developed.
Modelia will combine AI and model-based engineering and aspires to become a leader in the emerging space of Intelligent IDEs that focus on improving the productivity of individual developers by helping them to find and reuse existing code. Modelia will be able to suggest improvements on the models being created based on general knowledge available online, prevent potential errors by continuously monitoring the developer’s actions or automatically detect and suggest the best refactorings.
Excellence Network on Model Driven Software Engineering – Spanish National Excellence Networks 2017-2018
The goal of the project is fostering research and technology transfer in MDE in Spain, as well as promoting international research collaborations and projects.
In Software Engineering, Model-Driven Engineering is a paradigm where models replace code as the central artifact of the development process. Working at a high level of abstraction improves productivity and quality, facilitates the portability to new platforms and reduces the maintenance costs, among other benefits. MDE techniques are used in a wide variety of industries, like automotive, telecommunications, banking, embedded systems, etc.
As a starting point, previous scientific networks have fostered an active MDE community and encouraged collaborations, as illustrated by the existence of a theme track in the Spanish “Jornadas de Ingeniería del Software y Bases de Datos” (JISBD). This excellence network aims to consolidate this community by uniting the research groups and companies working in the MDE field and exploring the major scientific and technical challenges in the state -of-the-art: scalability, usability, construction and integration of tools, new application domains, etc. The network’s team includes ten of the most active Spanish research groups within the MDE field: SOM Research Lab (Univ. Oberta de Catalunya), ATENEA (Univ. de Málaga), Alarcos (Univ. de Castilla-La Mancha), TaTAmI (Univ. Politècnica de València), Quercus (Univ. de Extremadura), Informática Aplicada TIC (Univ. de Almería), miso (Univ. Autónoma de Madrid), Information Modeling and Processing (Univ. Politècnica de Catalunya), Modelum (Univ. de Murcia) and Kybele (Univ. Rey Juan Carlos).
This network has two main priorities. First, stimulating the scientific excellence of the MDE community, e.g. increasing international collaborations and projects. And second, consolidating the adoption of MDE technologies among industries, through initiatives such as industrial doctorates or the participation in industrial consortiums and technology platforms.
The planned actions include biannual meetings, short visits among researchers in the network, invitations to international researchers, a summer school for students and youngresearchers in MDE and a portal focused on promoting collaborations with companies. To encourage internationalization and maximize their impact, some of these actions will be linked to international scientific events organized by the members of the network.
Gamification for Modeling Tools – CEA – 2017
The goal of the application of the use of game design elements in non-game contexts to engage more external developers and end-users on Papyrus
Model Driven Engineering (MDE) has been widely recognized as a major advance in the design and development of complex systems that must respond to rapidly evolving target platforms and increasing functional complexity. With the emergence of large collaborative environments such as Eclipse projects, it becomes possible to capitalize on technologies to provide efficient tooling to support MDE activities.
Papyrus, a stable and powerful Open Source UML/SysML tool suite, goes in this direction. It helps MDE designers in the maintenance and evolution of the system by providing tooling support close to process practices and concepts used in the application domain. Furthermore, being based on Eclipse, it benefits from a world-wide visibility, reflected by the activity in the Eclipse forum and social media (i.e., YouTube, Twitter).
Despite such good conditions to become a very popular platform for both industrial and research activities around MDE, Papyrus is currently not able to exploit them to build a constant, large and self-motivated community of external developers and end-users that really contribute to the advancement of the platform.
Following the success obtained on several platforms (Foursquare , Jenkins , Jira , Visual Studio , etc.), the objective of this project is to apply the use of game design elements in non-game contexts (“Gamification”) to engage more external developers and end-users on Papyrus. Depending on the level and type of activity performed by end-users and developers, we could offer rewards that span from digital badges and physical goodies to trips and even maybe internship or job proposals.
Gamification for end-users
When it comes to using Papyrus for education purposes or for basic end-users, the tool might appear too detailed and powerful. A recent initiative, Papyrus for Education , tackles this issue and provides a set of mechanisms to adapt the tool to the user needs and expertise. Following such an initiative and to make the tool even more attractive for newbies, the objective is to build a set of modeling-related games (based on quizzes and quick exercises) on top of Papyrus that can be used to self-assess the modeling knowledge of the user and its familiarity with the tool and the UML/SysML languages in a playful way. We will also explore how these tests could be personalized based on the monitoring of the user activity on the platform as a way to detect what errors s/he is doing, what parts of the platform s/he is not exploring.
Gamification for developers
Monitoring and analyzing the activity of the community around a software project is paramount to assess its health and resilience. This requires gathering data of the community activity in different online sites and platforms. In particular, for this project, we will harvest data from the Papyrus tools (e.g., Papyrus Git repository, GitHub, Bugzilla and Eclipse forums). Then we will define several metrics on this data to determine the activity levels of each individual and his possible rewards based on the game levels defined.
Study and Definition of a governance model for Decidim
The goal of this project was to study the development process followed in Decidim, a plaform for participatory democracy which enables the creation of citizen participation portals , and to make explicit its governance model
The development of Open Source Software (OSS) usually follows a method that harnesses the power of distributed peer review and transparency. Indeed, OSS is typically developed in a collaborative manner via online hosting platforms like GitHub. However, in practice, many OSS projects are not as open as they should.
The Decidim project is a platform aimed at creating participatory portals. The platform defines a social contract for democratic guarantees and open collaboration for the community around the project. Furthermore, the development of the Decidim project is overseen by Metadecidim,
another participatory portal devoted to allow anyone to contribute and discuss new features (or improvements) for the platform.
Governance rules help to prioritize and manage tasks, and contribute to the long-term sustainability of the project by clarifying how developers (and end-users) should collaborate. Despite their importance, these rules are usually implicit or scattered in the project documentation/tools. In this project we explore the explicit definition and enforcement of governance rules for the Decidim project.