Started to re-organise the project plan. Due to losing quite a few days, I have had to rethink how I am going to get the rest of the course completed in the manner that I originally envisaged. I have had to remove some of the intermediary testing steps. This isn’t too important as I work to a rigorous testing regime whereby no method is closed down unless I have tested it and all its affected parts. This means that I expect not to have any bugs bite me later on. The original schedule looked like this:
Secondly, I have had to remove the data structure analysis. I don’t think that this will matter as the current one is well thought out and will work for any expanded version.This is mainly because the database for any user is quite small – even for a large railroad. Riak KV can serve users with thousands of keys and data very quickly so this application is not likely to stress it.
The main aim, as I see it, is for a successful conclusion to the project out in September with a working tablet interface (prototype only maybe) that interfaces, using REST, to an efficient decision engine and key/value database to provide freight car routing against a timetable of trains. This will meet all of the requirements for reference to previous OU courses and for the original aims of the project.
The project plan now looks as follows:
From tomorrow, the plan will be to work on the DE for the next two weeks, reporting daily on the progress via this blog.
6th June 2017
I have had to do some thinking about how this project is going to work.I have had lots of comments from knowledgeable people about how it “ought” to work but most of these have missed the most important things about the project.
a) It is a course that provides a written report, not a course to supply a working piece of commercial software.
b) The software is to manage a model railroad, not a real one. (It was suggested that, if the software generates a request for an empty and that there wasn’t enough room on the train for that car, this should be retained for addition to the next train – as though the requestor is a real business.)
It would be nice to incorporate every real world action but, firstly, that isn’t the aim of the software and, secondly, there isn’t the time or the scope to do such a thing. After all, the aim is to create an idea, define it in software terms and demonstrate its achievability and to write a final report about the process to gain a good pass on the module. Should there be a nice piece of software at the end that would run my model railroad – well, that would be a bonus!
OK, so I have sat down with some paper and a sharp pencil to try and define quite how far I want to go with the decision process.
(Click on either image for a full sized view).
As a result of this little bit of scratch planning, I have worked out a decision tree.
To save space on this blog entry, I have created a separate page for this.
7th June 2017
I collated all of the forum comments ready for some analysis. They are in a separate Word document and will be supplied as an appendix to the upcoming TMA. I will provide a summary of these later in the week.
In the meantime, I have been editing the CSV files that are used to seed the database. The main reason for this is that the layout shown on the blog no longer exists. I had difficulty using it due to my arthritis (it was too high and standing is a problem for me). It has been dismantled and rebuilt at a lower level. The previous layout had some very tight curves that were causing problems with derailments so, instead of a “roundy-roundy” form, it is now end-to-end with, what the Americans call, staging at both ends.
This has caused me to review the CSV files that describe the layout and make the changes required to reflect the new traffic patterns. I have updated the “industries’ file and there are now 21 possible locations. The “locos” file now includes the two extra locos that have appeared since Christmas. I have also purchased some passenger cars as, previously, these were left out of the process. This means that the “routes”and “trains” files have been updated to include a “Boston & Maine” (B&M) passenger return trip. As I only have one B&M loco, I have to ensure that it will be in the available at the right location when it is needed for both passenger and freight trains. This will add another twist to the problem. The first thing to do is to make a running chart of the trains as currently defined.
Now, I have to put into this a journey from Boston to Hartford and back using the B&M loco 1536 as this is the only B&M loco that I have. This action resulted in a few changes but the final version was verified with another running chart.
Without running the trains we won’t get a feel for whether this is right. I think that there will be some changes but this version will do for now.
Not only have I had to change the trains but I have also had to review the industries spread around as I now only have two locations rather than the three in the previous layout. I have also decided that it is easier of each car type gets its own entry rather than having multiple car types for a single industry. Here is the final (for now) version.
|6||Sunset Gen. Manf.||Industry||Sunset||boxcar||2|
|11||E.C. Fuels and Oils||Industry||Webster||tank||2|
|12||E.C. Fuels and Oils||Industry||Webster||hopper||2|
- There is a new column – Send To. This is required because the type of freight car in question needs servicing before it can be used. The only one here is the refrigerator car (reefer) as this (in the era we are working) needs to have ice blocks insert in special channels to ensure that the car is cold for its service. This, when requested by an industry, it must go to theIcing Company first.
- Those entries with zero as their wait times are storage yards that have large capacities and are effectively unlimited in this context.
8th June 2017
Today, I am going to commence the planning for programming the new trains. This is going to be done in two parts
- On Railroad/Train
- Off Railroad/Train
but I only expect to get 1. done today. I will define it “on paper” and do a theoretical run through. Once this and2. are complete, I will start the programming – expected on 10th June 2017.
Part 1.0 On Railroad is provided on a separate page – HERE.
Part 2.0 Off Railroad is provided on a separate page – HERE.
11th June 2017