Project

General

Profile

Project Specifications

Objective :

The current Narval system with its complexity requires a certain amount of resources which can be exaggerated compared to the task at hand, especially from its distribution over several machines at each run, and its launching procedure isn't user friendly being a command line usage. Therefore this project shall be an autonomous and user friendly version to fix these issues. It will present itself in the form of a VM accessible by Web interface, allowing access to a browser based GUI from which the user can control the Narval, generate topologies and configure them.

Functional Decomposition

The main page of the Narval Standalone interface shall allow the creation of new run instances through a "New" button which will present a prompt to name the instance, and then redirect the user on the control GUI of the newly created instance.It will also present a list of all active instances from which they can be accessed. A second "Editor" button will redirect to the Topology Editor/Generator.

The PMH will be started as a service on startup.
Run instances will be separate processes communicating with the web interface through a REST API .

Control of Narval standalone

The control GUI shall allow control of the system by main stages

  1. Import of input files
  2. Topology loading
  3. Start
  4. Stop
  5. Unloading of the topology
  6. Export of output files

An overview of the loaded topology will be presented on the GUI, along with a status console giving information on the current state of the instance.

The import of input files will be done through a shared directory if one is setup or by upload from the browser to the VM at loading time (stage 1)
The main controls shall be done through a few buttons in the GUI

  • Load resources will load the topology using needed imported files and prepare anything needed for the system to run (stages 2)
  • Start will be its own button (stage 3)
  • Stop idem (stage 4)
  • Clean will unload the topology for termination (stage 5)

The output files will then be available to export either in a shared directory if one is setup or to be downloaded from the VM to the browser (stage 6)

The run shall be doable under debug mode which consist in launching the system in a GDB instance and exporting log files with the rest of output files.

Topology Generator

The Editor shall be a drag'n drop graph editor from which topologies can be created and/or edited by the user. Nodes shall represent actors and their edges shall represent the data transfer links between actors. Once placed, the user will be able to assign a library to an actor, which will define its role and will be configurable. Once finished, a topology can be saved as a graphml file which will be used by the core of the system for the topology loading.

The GUI of the editor will be comprised of the standard buttons to create, load, save a file, undo and redo, alongside drag-able buttons to place actors and link them, and a button to load the currently edited topology in an instance for testing purposes.

Use Cases

...