Skip to content

This is a Google Summer of Code 2020 project created to help simulate task scheduling of models on Eclipse APP4MC.

Notifications You must be signed in to change notification settings

NPKompleet/SimulationGUI

Repository files navigation

SimulationGUI

This project was created as a Google Summer of Code 2020 project for The Eclipse Foundation. It involves creating a graphical user interface and a simulator to visualize the simulation of task scheduling on Eclipse APP4MC.

Final Result

Proposal

The aim of this project is to visualize the execution trace of a simulated APP4MC model including its states within APP4MC using a framework such as e.g. Nebula Timeline. Henceforth, the scope lies in implementing (i) a rudimentary simulation engine and (ii) a frontend for visualizing the results. The rudimentary simulation backend should support a simple scheduling algorithm, such as e.g. fully preemptive priority based scheduling.

This GSoC Project link provides the details about the Project proposal and scope.

GSoC Project Details

Contributor: Philip Okonkwo (Twitter, LinkedIn)

Project Name: A Simulation-Visualizer For Eclipse APP4MC.

Organization: The Eclipse Foundation.

Mentors: Lukas Krawczyk, Dirk Fauth.

Contributions

  • Extending the Eclipse Nebula timeline widget to include the possibility of adding annotations that indicate arrival time and deadlines of tasks in the timeline view.

  • Creating a user interface for visualization of the simulation.

  • Implementing the simulation backend by creating rudimentary schedulers like Earliest Deadline First or Rate Monotonic.

  • Creating a visualization of the simulation of APP4MC models by connecting the model to the simulation back end and rendering the results on the GUI.

  • Testing and documentation.

Documentation

The documentation and more details for this project is hosted on ReadTheDocs and the link is here. The document provides detail about how the whole application works and provides understanding on how to use it and extend it in the future.

Building and Running The Project

To be able to build and use this project, you will need Eclipse APP4MC version 0.9.8.

  1. Download this repository or clone it.

  2. Open Eclipse APP4MC version 0.9.8, create a new workspace and add all the plugin project directories using File...Open Project From File System. You can exclude the org.eclipse.app4mc.visualization.timeline.test project folder as it is not required for the application to work but if you decide to add it and run it, be sure to install the required libraries on Eclipse APP4MC, e.g. Mockito, using Help...Install New Software.

  3. Double click the MANIFEST.MF file in the META-INF folder of the org.eclipse.app4mc.visualization.timeline plugin project. Under the Dependencies tab, add javax.annotations to Required Plug-ins (this is needed especially for some Linux users. Windows users may not need to do this). Under the Overview tab, find the Testing section and click on the Launch an Eclipse Application link. A new Eclipse APP4MC instance is started.

  4. In the new APP4MC instance, open any APP4MC model project. A quick way to add a project might be using some of the APP4MC model examples bundled with Eclipse APP4MC, e.g the Democar example, using File...New...Examples...APP4MC AMALTHEA Model Examples.

  5. Double click the model file and the AMALTHEA Contents Tree window is opened.

  6. In the AMALTHEA Contents Tree window, right click the AMALTHEA Model and select Open APP4MC Visualization in the popup menu. A visualization panel is opened under the contents tree and you can see the user interface to use to run the simulation and visualization.

Note: Steps 5. and 6. described in the list above can be seen in the beginning of the gif image included at the start of this README document.

About

This is a Google Summer of Code 2020 project created to help simulate task scheduling of models on Eclipse APP4MC.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published