System Software Design

Holds discussions about Wimborne Model Town's River System Design and any relevant drawings.

Relevant documents are available at https://wmtprojectsforum.altervista.org ... les/Design
hamishmb
Posts: 1891
Joined: 16/05/2017, 16:41

Re: System Software Design

Post by hamishmb »

Sounds like a good idea to me. No objections here.

My only qualm is whether we are increasing the likelihood of network overload or unwanted interactions between different systems by having lots of devices on this network.
Hamish
TerryJC
Posts: 2616
Joined: 16/05/2017, 17:17

Re: System Software Design

Post by TerryJC »

I don't think so.

First, none of the devices will be heavy network users; even the River System Pis only exchange small amounts of data every 30s or so on average. Second, most of the additional Pis won't be network users at all, except during updating or minor config changes. Thirdly, we have a lot of Switches in the network, so traffic will largely be confined to those network segments that are needed to route the info at any given time. We would have to consider any future proposals for expansion with data throughput impact in mind of course.

Compared to a Corporate network, (or even a home network with several entertainment devices), I would imagine that this will continue to be a very lightly loaded network indeed.
Terry
hamishmb
Posts: 1891
Joined: 16/05/2017, 16:41

Re: System Software Design

Post by hamishmb »

That seems fair.
Hamish
Penri
Posts: 1284
Joined: 18/05/2017, 21:28

Re: System Software Design

Post by Penri »

I think you are right on the money Terry, the only think I would caution is that the re-named River System network and all that goes with it needs to have a separate existence from anything that the WMT business side may do in the future ... and no I don't know what that might be right now but I'd want to make sure we didn't run into any issues to do with personnel records, financial transactions and that sort of IY management nightmare.
TerryJC
Posts: 2616
Joined: 16/05/2017, 17:17

Re: System Software Design

Post by TerryJC »

Penri,

I don't envisage the new expanded network being any different from the current River System Network; it will just have more hosts.

The main reason that I proposed this was because I'm beginning to allocate IP addresses for devices that are clearly not part of the River System and we clearly need a central place to record these.

I'll create the new Forum and propose a draft architecture, etc tomorrow.
Terry
TerryJC
Posts: 2616
Joined: 16/05/2017, 17:17

Re: System Software Design

Post by TerryJC »

I have raised the new Forum atviewtopic.php?f=41&t=263.

Please follow that link as I have a question.
Terry
hamishmb
Posts: 1891
Joined: 16/05/2017, 16:41

Re: System Software Design

Post by hamishmb »

Should it be noted that Patrick and I have mostly been following the paradigm of defensive programming (ensuring at multiple stages that preconditions are met and the set up is valid) rather than design by contract (not checking the preconditions, as the invoker that calls a given method has the task of ensuring they are met first).

In more plain language, we have gone the route of:

- Throwing and catching exceptions/errors when invalid operations (function/method calls) or states are requested.
- Additionally, doing checks to try and ensure these exceptions/errors never need to be thrown.

Instead of:

- Not checking preconditions in the called function/method, resulting in undefined behaviour when preconditions to those functions or methods aren't met.
- The idea with this (design by contract) is that the caller has the responsibility of checking the preconditions.

We both chose this (defensive programming) as it is less likely to result in errors, at the expense of some speed as there is duplicate checking of eg method arguments. As this system doesn't need to be fast (and CPU load is low), I think our current approach is best and probably doesn't need to be changed.

However, I think this should be documented so whoever maintains this system next is aware of our choices.

Thoughts?
Hamish
TerryJC
Posts: 2616
Joined: 16/05/2017, 17:17

Re: System Software Design

Post by TerryJC »

I agree that it should documented. Where would be the best place for it?
Terry
hamishmb
Posts: 1891
Joined: 16/05/2017, 16:41

Re: System Software Design

Post by hamishmb »

How about we insert a new small section, 3.2, called Defensive Design, (between our existing 3.1 and 3.2) into the software design document at https://wmtprojectsforum.altervista.org ... ss_0.9.odt?

It could essentially copy and paste what I said above, so we include the reason we chose defensive programming over design by contract as well as that we chose it.
Hamish
TerryJC
Posts: 2616
Joined: 16/05/2017, 17:17

Re: System Software Design

Post by TerryJC »

OK. Will do.
Terry
Post Reply