SlideShare a Scribd company logo
1 of 17
SVG Player
              Svetlana Marchenko

    Saint-Petersburg Academic University -
Nanotechnology Education and Research Centre




     9th FRUCT Conference, 25-29 April, Petrozavodsk, Russia
Table of contents

   Introduction
   Architecture
   Implementation
   Conclusion
Motivation

   NSN project
   Customized NS2
   xmlprinter & svgprinter
Tool for analysis

   Combined analysis of xml-based and svg-
    based results
   SVG Player — the first stage
Use Case

   Viewing a set of SVG images
   Forward/backward navigation
   Declaration a set and saving it
   Set playback in direct and reverse orders
   Editing of a set
Development tools

   C++
   Qt Framework
       QtGui Module
       QtSvg Module
   Qt Creator IDE
Class diagram
Data model

   .set files
   Image ←certain time moment
   Images naming format name@nnnnnn.svg
   Calculating time intervals
Data model

 <?xml version ="1.0"?>
 <svgseries>
   <svgshot>
     <name>fdd@000100.svg</name>
     <timeshift>0</timeshift>
   </svgshot>
   <svgshot>
     <name>hfdd@000783.svg</name>
     <timeshift>683</timeshift>
   </svgshot>
  </svgseries>
Playing as a video stream

   The loading time exceeds the interval
   Synchronize the playback timer and the period
    of loading picture
Playing as a video stream
Rendering

   Long process of picture loading →
      the main window buzzes
   Load pictures in another thread
   Separate processes of loading and rendering
Rendering
Conclusion

   The SVG Player is mostly completed
   Besides showing NS2-related images it can be
    used for playing any SVG series as a cartoon
   Integration XML-based and SVG-based results
Drawbacks and alternative
solutions
   Image files with a big size and very short time
    intervals
   Load blocks of pictures before they are shown
   Series with a big number of images
Links

   SVG Player project page
       http://fruct.org/svgplayer
   Open source code
       https://sourceforge.net/projects/svgplayer/


                  Thanks for your attention!

More Related Content

Viewers also liked

Обзор Btrfs
Обзор BtrfsОбзор Btrfs
Обзор BtrfsOSLL
 
MOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationMOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationOSLL
 
OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvementsOSLL
 
[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration toolOSLL
 
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...OSLL
 
Fruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivityFruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivityOSLL
 
Обзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephОбзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephOSLL
 
Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with SeleniumOSLL
 
Работа с геоданными в MongoDb
Работа с геоданными в MongoDbРабота с геоданными в MongoDb
Работа с геоданными в MongoDbOSLL
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBeeOSLL
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control GroupsOSLL
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)OSLL
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersOSLL
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиOSLL
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12OSLL
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015OSLL
 
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015OSLL
 
Block-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraBlock-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraOSLL
 
Студентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеСтудентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеOSLL
 
Source code analyzer
Source code analyzer Source code analyzer
Source code analyzer OSLL
 

Viewers also liked (20)

Обзор Btrfs
Обзор BtrfsОбзор Btrfs
Обзор Btrfs
 
MOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern EducationMOOCs Virtual Lab in Modern Education
MOOCs Virtual Lab in Modern Education
 
OLPC Mesh networking improvements
OLPC Mesh networking improvementsOLPC Mesh networking improvements
OLPC Mesh networking improvements
 
[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool[MDBCI] Mariadb continuous integration tool
[MDBCI] Mariadb continuous integration tool
 
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
E.Kalishenko, K.Krinkin, S.P.Shiva Prakash. Process Mining Approach for Traff...
 
Fruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivityFruct4 n8xx olpc-connectivity
Fruct4 n8xx olpc-connectivity
 
Обзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы CephОбзор архитектуры [файловой] системы Ceph
Обзор архитектуры [файловой] системы Ceph
 
Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with Selenium
 
Работа с геоданными в MongoDb
Работа с геоданными в MongoDbРабота с геоданными в MongoDb
Работа с геоданными в MongoDb
 
Open Source implementation of ZigBee
Open Source implementation of ZigBeeOpen Source implementation of ZigBee
Open Source implementation of ZigBee
 
Обзор Linux Control Groups
Обзор Linux Control GroupsОбзор Linux Control Groups
Обзор Linux Control Groups
 
Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)Пространства имен Linux (linux namespaces)
Пространства имен Linux (linux namespaces)
 
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux ContainersVirtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
 
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
 
Block-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contraBlock-level compression in Linux. Pro et contra
Block-level compression in Linux. Pro et contra
 
Студентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работеСтудентам и не только. Как выступить с докладом по своей научной работе
Студентам и не только. Как выступить с докладом по своей научной работе
 
Source code analyzer
Source code analyzer Source code analyzer
Source code analyzer
 

Similar to SVG-player plugin for ns2 simulations

Canvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewCanvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewArvind Krishnaa
 
Streaming of SVG animations on the Web
Streaming of SVG animations on the WebStreaming of SVG animations on the Web
Streaming of SVG animations on the WebCyril Concolato
 
Make your own Print & Play card game using SVG and JavaScript
Make your own Print & Play card game using SVG and JavaScriptMake your own Print & Play card game using SVG and JavaScript
Make your own Print & Play card game using SVG and JavaScriptKevin Hakanson
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesMario Heiderich
 
Introduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector GraphicsIntroduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector Graphicsdylanks
 
SVG - Scalable Vector Graphics
SVG - Scalable Vector GraphicsSVG - Scalable Vector Graphics
SVG - Scalable Vector GraphicsShweta Sadawarte
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
Professional reports with SVG
Professional reports with SVGProfessional reports with SVG
Professional reports with SVGSpeedPartner GmbH
 
Creating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector GraphicsCreating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector GraphicsDavid Keener
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3Helder da Rocha
 
Brave new world of HTML5
Brave new world of HTML5Brave new world of HTML5
Brave new world of HTML5Chris Mills
 

Similar to SVG-player plugin for ns2 simulations (20)

Canvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewCanvas Based Presentation tool - First Review
Canvas Based Presentation tool - First Review
 
Streaming of SVG animations on the Web
Streaming of SVG animations on the WebStreaming of SVG animations on the Web
Streaming of SVG animations on the Web
 
Svcc 2013-css3-and-mobile
Svcc 2013-css3-and-mobileSvcc 2013-css3-and-mobile
Svcc 2013-css3-and-mobile
 
Svghtml5 Meetup
Svghtml5 MeetupSvghtml5 Meetup
Svghtml5 Meetup
 
HTML5 - A Whirlwind tour
HTML5 - A Whirlwind tourHTML5 - A Whirlwind tour
HTML5 - A Whirlwind tour
 
Make your own Print & Play card game using SVG and JavaScript
Make your own Print & Play card game using SVG and JavaScriptMake your own Print & Play card game using SVG and JavaScript
Make your own Print & Play card game using SVG and JavaScript
 
The Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG FilesThe Image that called me - Active Content Injection with SVG Files
The Image that called me - Active Content Injection with SVG Files
 
Scenejs
ScenejsScenejs
Scenejs
 
SceneJS
SceneJSSceneJS
SceneJS
 
Introduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector GraphicsIntroduction to Canvas and Native Web Vector Graphics
Introduction to Canvas and Native Web Vector Graphics
 
SVG - Scalable Vector Graphics
SVG - Scalable Vector GraphicsSVG - Scalable Vector Graphics
SVG - Scalable Vector Graphics
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
Next generation Graphics: SVG
Next generation Graphics: SVGNext generation Graphics: SVG
Next generation Graphics: SVG
 
Second review presentation
Second review presentationSecond review presentation
Second review presentation
 
Professional reports with SVG
Professional reports with SVGProfessional reports with SVG
Professional reports with SVG
 
NvFX GTC 2013
NvFX GTC 2013NvFX GTC 2013
NvFX GTC 2013
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
Creating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector GraphicsCreating Custom Charts With Ruby Vector Graphics
Creating Custom Charts With Ruby Vector Graphics
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
Brave new world of HTML5
Brave new world of HTML5Brave new world of HTML5
Brave new world of HTML5
 

More from OSLL

SLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSSLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSOSLL
 
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...OSLL
 
Microservice architecture for Geo2Tag
Microservice architecture for Geo2TagMicroservice architecture for Geo2Tag
Microservice architecture for Geo2TagOSLL
 
Raspberry Pi robot with ROS
Raspberry Pi robot with ROSRaspberry Pi robot with ROS
Raspberry Pi robot with ROSOSLL
 
Fruct14 sholokhova
Fruct14 sholokhovaFruct14 sholokhova
Fruct14 sholokhovaOSLL
 
SECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingSECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingOSLL
 
Smart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationSmart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationOSLL
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIOSLL
 
Fruct13 geo2tag-training
Fruct13 geo2tag-trainingFruct13 geo2tag-training
Fruct13 geo2tag-trainingOSLL
 
Json protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsJson protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsOSLL
 
Introduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformIntroduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformOSLL
 
Detection pulse by video
Detection pulse by video Detection pulse by video
Detection pulse by video OSLL
 
Using Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksUsing Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksOSLL
 

More from OSLL (13)

SLAM Constructor Framework for ROS
SLAM Constructor Framework for ROSSLAM Constructor Framework for ROS
SLAM Constructor Framework for ROS
 
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
 
Microservice architecture for Geo2Tag
Microservice architecture for Geo2TagMicroservice architecture for Geo2Tag
Microservice architecture for Geo2Tag
 
Raspberry Pi robot with ROS
Raspberry Pi robot with ROSRaspberry Pi robot with ROS
Raspberry Pi robot with ROS
 
Fruct14 sholokhova
Fruct14 sholokhovaFruct14 sholokhova
Fruct14 sholokhova
 
SECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profilingSECR'13 Lightweight linux shared libraries profiling
SECR'13 Lightweight linux shared libraries profiling
 
Smart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integrationSmart-M3 and Geo2Tag integration
Smart-M3 and Geo2Tag integration
 
HTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web APIHTML5 Intro and Tizen Web API
HTML5 Intro and Tizen Web API
 
Fruct13 geo2tag-training
Fruct13 geo2tag-trainingFruct13 geo2tag-training
Fruct13 geo2tag-training
 
Json protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentalsJson protocol, Geo2tag REST API fundamentals
Json protocol, Geo2tag REST API fundamentals
 
Introduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platformIntroduction to geo-tagging and geo2tag platform
Introduction to geo-tagging and geo2tag platform
 
Detection pulse by video
Detection pulse by video Detection pulse by video
Detection pulse by video
 
Using Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disksUsing Intel NAS-PT for testing NAS disks
Using Intel NAS-PT for testing NAS disks
 

SVG-player plugin for ns2 simulations

  • 1. SVG Player Svetlana Marchenko Saint-Petersburg Academic University - Nanotechnology Education and Research Centre 9th FRUCT Conference, 25-29 April, Petrozavodsk, Russia
  • 2. Table of contents  Introduction  Architecture  Implementation  Conclusion
  • 3. Motivation  NSN project  Customized NS2  xmlprinter & svgprinter
  • 4. Tool for analysis  Combined analysis of xml-based and svg- based results  SVG Player — the first stage
  • 5. Use Case  Viewing a set of SVG images  Forward/backward navigation  Declaration a set and saving it  Set playback in direct and reverse orders  Editing of a set
  • 6. Development tools  C++  Qt Framework  QtGui Module  QtSvg Module  Qt Creator IDE
  • 8. Data model  .set files  Image ←certain time moment  Images naming format name@nnnnnn.svg  Calculating time intervals
  • 9. Data model <?xml version ="1.0"?> <svgseries> <svgshot> <name>fdd@000100.svg</name> <timeshift>0</timeshift> </svgshot> <svgshot> <name>hfdd@000783.svg</name> <timeshift>683</timeshift> </svgshot> </svgseries>
  • 10.
  • 11. Playing as a video stream  The loading time exceeds the interval  Synchronize the playback timer and the period of loading picture
  • 12. Playing as a video stream
  • 13. Rendering  Long process of picture loading → the main window buzzes  Load pictures in another thread  Separate processes of loading and rendering
  • 15. Conclusion  The SVG Player is mostly completed  Besides showing NS2-related images it can be used for playing any SVG series as a cartoon  Integration XML-based and SVG-based results
  • 16. Drawbacks and alternative solutions  Image files with a big size and very short time intervals  Load blocks of pictures before they are shown  Series with a big number of images
  • 17. Links  SVG Player project page  http://fruct.org/svgplayer  Open source code  https://sourceforge.net/projects/svgplayer/ Thanks for your attention!

Editor's Notes

  1. Hello! I`d like to introduce SVG Player Project. Which is a tool for putting set of svg images and playing them like a video stream.
  2. I will divide my presentation into 4 parts. Firstly, i`m going to make a brief overview about this project: consider goals and task definition. Secondly, i will talk about some aspects of player architecture and implementation which were used. Where separately we will look at the main details of the mechanism of playing the svg pictures series as a video and at the rendering mechanism. Finally we will look at the conclusions for this projects.
  3. To begin with, I will consider the reason for development SVG Player. Nokia-Siemens Networks uses a customized clone of simulator NS2 for testing network functions and protocols. Network Simulator (Version 2) widely known as NS2 is simply an event-driven simulation tool that has proved useful in studying the dynamic nature of communication networks. There are subprojects of the main Nokia-Siemens project xmlprinter and svgprinter. They produce for the output the series of xml based files and svg pictures. Consequently, these artefacts, resulted from the simulating, need to be analyzed.
  4. Now i will concern myself witht the tool for analysis: They need the tool for analysis of the simulation results both xml-based files and svg images. And these artefacts should be associated between each other. To put it another way, the tool should be able to switch between an svg picture and corresponding xml file. Thus, SVG Player is the first stage in development of such analysis tool.
  5. Moving on the architecture of the SVG Player project, i`d like to draw your attention to actions between users and the application. Users should be able to put a series of SVG images and view them. In addition, Each picture can be displayed to users with navigation tool by acrossing through the series forward or backward direction. Moreover, a picture series can be defined as a set and saved in a separate file. Users can add or delete SVG images from the existing series. It is essential, The application could be used for playback a sequence of images like a video stream.
  6. Let me now make some comments on development tools: C++ Programming Language and Qt,a cross-platform application and User Interface framework, have been chosen. Qt Graphical user interface (GUI) components and classes for displaying the contents of SVG files were used in development of the Svg Player.
  7. Lets turn to some details of architecture. Classes SvgSeries and Shot are responsible for storing the information about file names of pictures in the series and time intervals. According to use cases, Classes MainWidow, SvgLoader, SvgSeriesHandler involve the logic of application such as opening and saving series, navigation between the loaded images and playback the series. And The other classes are used for displaying pictures, status of file loading, That is a composite of picture name and the picture`s number in the series. TimerSlider shows the time scale for the loaded series.
  8. Now i would like to say a few words on the data model. Firs of all, an important thing should be noticed: the images, resulted from the simulating need to be revised in the order they were generated. In addition, time intervals between the moments of generating pictures could be different - irregular. Their duration is essential for the analysis. To recap, information about the images organized into one series should be saved into a file. Such files are xml-based and have extension set. The way of associating images and actual simulation times is based on specific name format. Sequence after the symbol &apos;at&apos; is a quantity of miliseconds from begining simulating to the time the picture generated. In this way, time intervals are computed by calculating the difference between pictures time values.
  9. On this slide an example of specific file for the concrete series is shown. It has the simplest format, therefore, it is easy-to-use. Let me make some comments on creating specific xml-based files: there entities of series and images (further, shots) are used. Each shot includes information about picture name and time interval to the next shot.
  10. This slide shows the SVG Player graphical user interface. The picture loaded into the player was taken from examples of customized NS2 simulator output.
  11. At this point I&apos;ll speak in more detail about process of playing picture series as a video stream. During the implementation the problem with playback appeared: when duration of loading exceeds the time interval to the next picture. Because of this the playback breaks. The decision to synchronize the playback timer and a period of time loading was accepted as the solution of this problem.
  12. Now i will describe the sequence of actions for playback. First of all MainWindow asks for information about the image which is shown at this moment and runs the timer with given time interval. When the timer event is received, it asks CentralWidget for load next picture. Central widget starts loading process in another thread. The reason of using another thread will be clear further. When the process of loading completed, Mainwindow gets the signal and starts reiteration the steps to continue the playback.
  13. Lets turn to rendering. When synchronizing the playback timer and loading process another problem appears: main window takes inactive status for a period of time loading and seems to be buzzed for the user. Solution is loading a picture in another thread, that is separated from the main graphical user interface.
  14. On this slide we can look at the action sequence for displaying svg pictures. When the timer event is received, Main Window object sends the signal timeChanged for updating TimeSlider. Then the loading process begins and central widget starts the timer at once to track if the loading process takes too much time. Further, if the timer event occured before the next image would be loaded, Central widget will display for the user that there is a loading process. And only at the moment when the image is completely loaded and the signal loadComplete is received, the central widget and status bar will be updated.
  15. I would like to say a few words on conclusion. The svg player is mostly completed. It should be noticed that a pplication development was started with the implementation of defined tasks using random SVG images. Therefore besides showing NS2-related images it can be used for playing any SVG series as a cartoon. For the plans is implementation of integration xml and svg result:s by clicking on the picture we can get the full description from xml results.
  16. To summarize, i`d like to talk about some drawbacks and alternative solutions. Namely, it could be difficult to analyze some processes by using this player for picture series with a big size of image files and too short time intervals. For this case there could be an alternative solution, for example, to load all pictures or only part of them before they are shown. But this solution has an imperfection: series with a large quantity of pictures could require too much memory. In my opinion, the right solution will depend on properties of the data for which the Player will be used.
  17. This slide shows the links for the detail information about the SVG Player project. Thanks for your attention.