The main goal of this project is to provide capabilities to help to automate the software development process, based on the use of domain ontologies. An ontology represents a formal definition of the concepts, properties, constraints and interrelations of entities that actually exist in a particular domain of discourse and of the actions that can be performed on them in this domain. The content of the ontology is determined from the content of the underlying sources or databases through declarative mappings that define the concepts in the ontology according to the data contained in the sources.
Specifically, we intend to develop techniques and tools to automatically reason from the ontology, in order to ensure that the definition of the ontology adequately describes the concepts of the domain and to be able to transfer a change at the data level in a modification of the ontological knowledge; for the automatic execution of models, to provide direct execution capabilities without having to develop the software system manually; or to analyze the data in the sources from the knowledge defined in the ontology to draw conclusions and discover behavioral dependencies that are impossible to determine taking into account only source data.
This research will be carried out in four different application domains: business process modeling, security ontology policies, Internet of Things (IoT) and learning analytics in education.