Software is everywhere and has significantly evolved in the last years. In this context, new specification, design and programming paradigms and languages have contributed to increasing the productivity of software engineers. However, the introduction of radically new ideas can still boost productivity by means of new languages based on abstractions of the formalisms used today for requirements analysis and specification.
DECODER will develop a methodology and tools to improve the productivity of the software development process for medium-criticality applications in the domains of Internet of Things (IoT), Cloud Computing, and Operating Systems by combining Natural Language Processing techniques, Modelling techniques and Formal Methods. This novel approach will permit a smooth transition from informal requirements engineering to deployment and maintenance phases.
A great improvement is expected from the management and transformation of informal data into material (herein called ‘knowledge’) that can be assimilated by any party involved in a development process. Therefore, the DECODER project will:
(1) Introduce new languages to represent knowledge in a more abstract manner;
(2) develop transformations leading from informal material into specifications and code and vice-versa;
(3) define and prototype a Persistent Knowledge Monitor for managing all relevant knowledge; and
(4) develop a prototype Integrated Development Environment (IDE).
The project will automate the transformation steps using existing techniques from the Big Data (knowledge extraction), Model-Driven Engineering (knowledge representation and refinement), and Formal Methods (specifications and proofs). As a result, DECODER will produce a novel framework combining these techniques and will demonstrate its efficiency on several uses cases belonging to the aforementioned domains. The project expects an average benefit of 20% in terms of efforts on these use-cases and will provide recommendations on how to generalise the approach to other medium-criticality domains.
This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 824231.