Aspect-Oriented Programming of video-based surveillance systems

When developing video-based surveillance systems the developer faces a highly complex task due to the wide range of application domains where video-based surveillance systems are applied. As the number of domains of application increases, so does the level of variability of non-functional and functional properties that needs to be managed by video-based surveillance systems. The traditional response to make the process of managing all system variations more flexible is to use modular architectures based on filters for video applications. These filters are implemented using dynamic programming techniques (i.e. inheritance and virtual functions) that induce an overhead on the system performance. As each filter is implemented as a plug-in, the non-linearity produced by the use of plug-ins penalize the overall system performance due to a increase in the number of cache misses and page faults. In this paper, a novel approach is proposed. The use of Aspect-Oriented Programming (AOP) is proposed to modularize system variability without compromising system performance. All the system variation points are implemented in aspects that are injected for a specific configuration on the common base code related to all configurations. The experimental results show that AOP improves the management of system heterogeneity without sacrificing system performance.

[1]  Pablo Basanta-Val,et al.  Adaptive real-time video transmission over DDS , 2010, 2010 8th IEEE International Conference on Industrial Informatics.

[2]  David S. Munro,et al.  Middleware for Distributed Video Surveillance , 2008, IEEE Distributed Syst. Online.

[3]  Joseph D. Gradecki,et al.  Mastering AspectJ: Aspect-Oriented Programming in Java , 2003 .

[4]  Manish Parashar,et al.  Object-oriented stream programming using aspects , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[5]  Nuno Brito,et al.  Aspect-oriented fault tolerance for real-time embedded systems , 2008 .

[6]  Hongyu Yang,et al.  Research on Cluster Remote Video Surveillance System , 2006, 2006 4th IEEE International Conference on Industrial Informatics.

[7]  Mark Pesce Programming Microsoft DirectShow for Digital Video and Television , 2003 .

[8]  Mathieu Acher,et al.  Tackling high variability in video surveillance systems through a model transformation approach , 2009, 2009 ICSE Workshop on Modeling in Software Engineering.

[9]  Daniel Lohmann,et al.  Aspect-awareness in the development of configurable system software , 2008 .

[10]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[11]  Fernando Pereira,et al.  Special Issue on Video Surveillance , 2008, IEEE Trans. Circuits Syst. Video Technol..