Internship Proposal

A Model-Driven Tool to Configure and Generate Video Surveillance Systems


Context and Background

This internship takes place in a Software Engineering project (collaboration between INRIA and the University of Nice). The objective is to apply model engineering techniques and model transformations to support the development of product lines in video surveillance. We rely on an existing software platform which provides basic components (image acquisition, segmentation, tracking...) to build video surveillance applications. 

Our goal is to provide developers with a tool to assist development of video surveillance processing chains. Conforming with the model engineering approach, the tool will take a specification of the target video surveillance application as input and will produce the range of possible component assemblies that satisfy the specification as output. This requires both a generic model of video surveillance applications (business model) and a model of video processing components and chains (platform model). Moreover, we also need to model automatic (or semi-automatic) transformations from the first model to the second. A difficult issue is to handle variability factors both at application level (observation context, objects of interest, surveillance task, lighting conditions...) and at component assembly level (selection of algorithms, parameter tuning...).

Presently, we have defined a first version of both models using "feature diagrams"; this representation allows us to describe variability causes. We have also identified some transformation rules with the help of a video surveillance expert. Furthermore, we have developed a prototype of a generic feature diagram editor to enter the previous models.  The objective of this internship is to complement the models, to precisely define the needed transformations, and to integrate this into a tool to assist video surveillance development. The tool should rely on existing feature diagram editors (such as Feature IDE) and interface with classical verification and validation environments.

Work to be Done

  • Get acquainted with various techniques and tools: Model Engineering, Feature Diagrams, transformation tools...
  • Refine the business and platform models;
  • Define a model of transformation rules and complete the set of rules;
  • Implement models and rules within chosen tools.
  • Develop a user-friendly graphic interface for video surveillance developers and connect it to the existing video surveillance platform.
  • Test the tool on existing real cases of video surveillance applications.


The successful candidate will be a final year engineer student or a Master student in computer science,who should have a good knowledge of Java programming; notions about Model engineering and model transformations are a plus. No experience is required in image or video processing.


PULSAR Team, INRIA-Sophia Antipolis.

Duration and Supervision

6 months

Sabine Moisan
EPI PULSAR, INRIA-Sophia Antipolis
2004 route des Lucioles BP 93
06902 Sophia Antipolis Cedex

Email :
Tel: 04 92 38 78 47