UPFOS

Universal Program Front-end for Option Setting (UPFOS) is a concept, a scenario, and also a proposal for a software front-end which let user define, set the options and arguments used by their program, parsing and forwarding the parsed option values to the back-end programs.
The figure shows the concept of UPFOS, it takes the whole UPFOS as a front-end of one certain system, and takes the program or running system back-end, it may indicating several executable programs controlled by some scripts files).
There will be an intermediates which glues the front-end and the back-end. The intermediates may be an auto-generated file or the environment variables in the user's shell, auto-declared by UPFOS.
According to the figure, the proposed UPFOS scenario has three inputs, they are:
# initial file
# option table
# alias table (this could be optional)
Initial file
The initial file is the text file where to set the options. Like Windows INI or XML, etc, the scenario should take, or define, one of the standard format as its initial file specification.
It is suggested that the initial file would be better has the capability to adapt the multi-value and nested-value.
Option table
The option table should be the definition of how many sections in the file, how many options in each section, and what type of each options should be. These are the guidelines for the parser in UPFOS.
The purpose of the option table in UPFOS is is to make user easily have a total view of all the options the parser can parse and take the option table as the option specification of the UPFOS in one project.
Alias table
In some case, or in some system, user would like to rename the generated option names for adapting the back-end program's naming convention or just work around some tool limits on the variable name (maybe the length of variable, for example). The alias table can define the alias of each options.
The option aliasing is the mechanism to adapt the heterogeneous back-end's option naming rules.
The alias table currently is considering to be merged into the option table in the future.
 
< Prev   Next >