Well Defined MVC

Registered by Russ Adams

Asgard is currently a collection of SystemComponents. Each SystemComponent has a thread. The threads communicate via Messages through a special SystemComponent called the Message Router.

There two major problems with this design:
  1. Whenever we need to add a new logical grouping of code, we must add a new SystemComponent and thus a new thread. Already there are 5 SystemComponents, and thus 5 threads.
  2. Communication between different SystemComponents requires Messages. Messages are an indirect, asynchronous method of doing the typical function call. Messages as a form of Thread synchronization are not wrong, but using Messages as function calls seems very much wrong (in retrospect).

We need to implement an MVC which limits the number of threads while enabling direct function calls between different logic groupings of code. By doing this we hope to:
 1. Increase code readability, scalability and maintainability.
 2. Reduce complexity of memory management.
 3. Significantly reduce likelihood of race conditions both now and in the future.

Blueprint information

Status:
Complete
Approver:
Russ Adams
Priority:
Undefined
Drafter:
Russ Adams
Direction:
Approved
Assignee:
Russ Adams
Definition:
Approved
Series goal:
Accepted for thegrandmap
Implementation:
Implemented
Milestone target:
milestone icon 0.3.7
Started by
Russ Adams
Completed by
Russ Adams

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.