My research methodology is centred around three principles:
- Theory is the foundation. I consider that formal methods and mathematical techniques provide us with the necessary tools not only to better understand our world but also to develop new methods to master it.
- Practice is essential. Turning the theoretical results into real software is paramount. I always thought that it is important (and also fun) to get my hands dirty in order to implement my ideas, build systems and prototypes, and experiment new scenarios and cases.
- Be truly interdisciplinary. While my education and research is primarily in computer science, I am always keen in exploring ideas from other disciplines both inside and outside computer science.
Collaborative Adaptive Security
Security is concerned with the protection of assets from intentional harm. Secure systems provide capabilities that enable such protection to satisfy some security requirements. In a world increasingly populated with mobile and ubiquitous computing technology, the scope and boundary of security systems can be uncertain and can change. A single functional component, or even multiple components individually, are often insufficient to satisfy complex security requirements on their own. Collaborative adaptive security, which I am currently investigating, aims to exploit the selection and deployment of multiple, potentially heterogeneous, software-intensive components to collaborate in order to meet security requirements in the face of changes in the environment, changes in assets under protection and their values, and the discovery of new threats and vulnerabilities.
Dynamic Synthesis of Mediators: From Theory to Practice
During my PhD, I defined an approach for the automated synthesis and deployment of mediators in order to enable heterogeneous software components, with compatible functionalities, to interoperate. The synthesised mediators reconcile the differences between the interfaces of the components and coordinate their behaviours from the application down to the middleware layers. I validated the approach through the development of a tool, MICS, and its experimentation with a number of case studies ranging from heterogeneous chat applications to emergency management in systems of systems. These case studies serve demonstrating the viability and efficiency of the automated synthesis of mediators to enable software components to interoperate in extremely dynamic and heterogeneous contexts such as ubiquitous environments or systems of systems.
- Distributed computing: middleware, interoperability, runtime mediation, ubiquitous computing, SOC, mobile networking, semantics-based technologies
- Software engineering: software composition and reuse, process algebra, behavioural analysis, machine learning, models@runtime