Microservice Terminal Simulator

This week I have been working on the requirements and straddle carrier visualization.

Visualization

Last week during the weekly meeting with Pieter we decided that I should focus on having visualization with Unity working. So, this week I started with the visualization process by implementing a VisualizationBridge service and connecting the ScHardware service to it. I kept it simple for now and did not implement the messagebus. Implementing this would make local deployment more difficult and add communication complexity. The performance benefits that messagebus provides are at this stage not needed. When it is needed it can be added with minimal changes to the codebase.

From the initial design I have implemented three services (in green). My goal for the initial version of the system is to be finished by the start of April. So in a month. This will should have all the functionality of the original protype. I think I will manage to finish the first version by that time. It will be far from perfect, but it will serve as a good baseline to iteratively improve upon in the coming months.

Demo

Here is a short video of the visualization working. For this to work there are 5 applications communicating with each other. These programs are: BloomRPC, ScHardware, TransformRegistry, VisualizationBridge and the Unity visualization. BloomRPC request the ScHardware to Drive to a certain position. ScHardware will then talks to the transformservice and moves to the target position. It also sends visualization updates to the VisualizationBridge. The bridge sends JSON messages to the Unity visualization resulting in this demo.

Projectplan

I received additional feedback from my Fontys supervisor about the testing and validation. I incorporated this feedback in my project plan and handed the final version in. My Fontys supervisor has send it to the second assessor for review.

Requirements

I have made a first version of the requirements document. The requirements were quite difficult to define because the project goals are vague such as “easy to extend to different vechiles”. I tried to define the goals more clearly in the document. I need to properly research testing and validation. I will research this when writing the test document.

Next week I want to have the requirement document finished and have started on the test document. Implementation wise I want to start to have some interaction between vehicles in the simulation.