On 12/2/2013 9:42 AM, andy pugh wrote:
> On 2 December 2013 13:23, Charles Steinkuehler <char...@steinkuehler.net> 
> wrote:
>
>> Perhaps with the hacking taking place on motion and the path planner and
>> whatnot, these can migrate to HAL where it seems like they belong.
> Doing that will break every single existing configuration. (Unless the
> new HAL pins take the rather unusual step of initialising themselves
> from the INI file, if the entry exists)
>

One of the things which has long annoyed me is that our configuration 
files (INI as well as HAL) do not include a version number which in some 
way corresponds to the version of LCNC against which they were written. 
We are not alone in this. I know of similar examples in a number of 
technical arenas.

A common trick in other arenas has been to introduce this kind of 
metadata retrospectively as a comment header so the versioning can be 
introduced without breaking existing parsers. There is no need for the 
version number to be elaborate so long as it changes whenever an 
incompatible change is introduced in the specification against which the 
files in question have been written.

Were we to introduce this practice, then it is possible to write scripts 
which can do all sorts of magic such as check for compatibility, 
upconvert, etc. Writing a script which knows what to do with a 
'versionless' configuration file is left as an exercise. One could add 
intelligence to the script to suss out what version it thinks applies or 
one could have it simply stop and ask for instructions.

My preference is to use a simple sequencing scheme---1, 2, etc.---since 
incompatible changes to the syntax and semantics of configuration files 
occur rarely. The LCNC version-numbering could be used but it may give 
folks the idea the configuration files have to be re-edited each time 
they change the version of LCNC installed on their machine(s). This sort 
of bookkeeping is best left to the software and the existence of version 
numbers in the files makes it possible.

It would be up the specification writers to introduce and maintain a 
correspondence table of file version vs compatible LCNC versions.

Just my 2 cents worth.

Regards,
Kent


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to