Research overview
My research activities address software engineering with issues related to distribution, composition, interaction, and a specific focus on component behavioural descriptions (behavioural interfaces, conversations). In this context, I work on the use and the integration of formal methods within the software development processes, from design to implementation. The objective is to increase confidence in software and to foster automation and tool-support. My work includes:
- software design, by studying architectural and component
description langages with expressive structuring mechanisms
(coordination among components and heterogeneous mixed - data x
behaviour - specification);
see, e.g., [J.UCS 12(12), 2006; IEEE TSE 33(3), 2007] - software adaptation, by generating
automatically software adaptors that solve out, in a non-intrusive
way, mismatch between reused components;
see, e.g., [IEEE TSE, 34(4), 2008; IEEE TSE, to appear] - software composition, by generating automatically
value-added composite systems - either in a centralized
(orchestration) or decentralized (choreography) fashion - from the
description of reusable software components and designer or
end-user abstract requirements;
see, e.g., [ISoLa'10; ICSOC'10] - software verification, by verifying specifications of
distributed component compositions (choreographies) or by testing
the conformance of implemented component compositions wrt.
specifications.
see, e.g., [TESTCOM/FATES'09; SAC'12(a); SAC'12(b)]
My work is applied to component frameworks such as Web services
(e.g., with WSDL and ABPEL interfaces, and automatic BPEL
adaptor/composition generation) and to business process (e.g., with
BPMN 2.0 verification).
keywords: software engineering, formal methods, components,
services, composition, adaptation, verification.




