Changes between Version 33 and Version 34 of Projects/GSoC/ApplicationConfigurationGUI

Sep 16, 2013, 11:55:45 PM (6 years ago)

/* Goal: */


  • Projects/GSoC/ApplicationConfigurationGUI

    v33 v34  
    4747The Graphical User Interface is created on the MVC(Model View Controller) framework. In the GUI ,the Model is the conf.t file where definitions of the macros are present. The View is file which handles with creating the GUI. The Controller is the file.
    48 = Goal: =
    50 The goal is to have a graphical tool to configure RTEMS for a certain
    51 Application e.g. max number of tasks, semaphores etc. It could
    52 generate a userconf.h which includes confdefs.h. The complete list
    53 of RTEMS configuration parameters for version 4.9.1 of RTEMS are documented in the
    54 [ Configuring a System] chapter in the User's Guide.==  Code  ==
    56 # A script to generate the GUI
    57 # A Makefile/Makefiles to run the script
    58 # A generated GUI
    59 # Header files showing: the default, slightly modified default, and major configuration changes
    60 # A modified that's trivial to parse, but still generates informative HTML, each configuration item should clearly describe:
    61   *  The Constant Name
    62   *  Type: integer, defined, address, etc.
    63   *  Default Values:
    64   *  Range:
    65   *  Description:
    66   *  Notes
    67 ==  Docs  ==
    69 # A tutorial for adding additional functionality is provided, and the code is commented enough to enable additional functionality
    70 # A tutorial for using the GUI is provided
    71 # is commented so that developers will keep conf.t easy to parse==  Testing  ==
    73 # Generate the files in the Code section
    74 ==  Required / Suggested Methodology  ==
    76 # (Suggested) Start with an '''existing''' open source project that generates configurations, for example:
    77 # (Suggested) Identify patterns in the open source project for how it writes configurations
    78 # (Required) Rewrite so it's trivial to use textual substitution to generate parts of the configuration GUI from them, and thus the trivial textual substitution will be easier to maintain
    79 # (Suggested) Use a template approach, automatically generate from, and have a file (or files) for the top, and a file (or files) for the bottom.
    80 # (Required) Generate configuration support from
    81 ==  Standards of Quality  ==
    83 # The GUI generating script runs on Fedora (this is the Linux distribution RTEMS provides support on)
    84 # The GUI generating script can be run from a Makefile.
    85 # The GUI generating script is open source and resulting GUI is written in a Python version that runs on 32-bit Debian 6.0.6 (stability oriented distribution), 64-bit Fedora (cutting edge distribution), MacOS, Windows cmd.exe (probably should be geared towards Windows 7, but might be tested on Vista, Server 2008, or 8)...
    86 # The GUI only generates headers with documented configuration constants from the C user's guide.
    87 # is modified to be easy to parse (i.e. the parser is trivial to write).
    88 # The GUI generates headers for all documented configuration constants in the C user's guide.
    89 # The GUI runs on 32-bit Debian 6.0.6 (stability oriented distribution), 64-bit Fedora (cutting edge distribution), MacOS, Windows cmd.exe.
    9048==  Possible Goal Extensions beyond the Main Objective  ==
    9553# Hook the Application Configuration GUI into the RTEMS source tree, by putting into
    9654# Package the GUI so that it includes the libraries it depends on, for example, if the GUI uses GTK+, the GUI would ship with GTK+
    97 ==  Skills Required  ==
    99 The level of expertise required by the developer tackling this project will have to have:
    100 # Prior experience with bash/Makefile scripting, C preprocessor, texinfo, and textual substitution is not required, but moderate skill level will be acquired while completing this task
    101 # The ability to read an open source programming language is highly desired
    102 # No mathematical/algorithmic background is required
    103 # An interest in finding and modifying code from existing open-source projects to meet this need is a big plus
    105 There are a variety of ways to approach this project.
    107  *  One solution is to write a GUI in Python.  This should be cross-platform.
    108  *  Another solution could be a Wizard/Editor for Eclipse. 
    109  *  Another solution is to use the config infrastructure used by the GNU/Linux kernel.
    110  *  Another approach would be to use the configuration GUI from eCos and NutOS:  Resources  =
     55=  Resources  =
    11257[wiki:TBR/User/JoelSherrill JoelSherrill] has used the GNU/Linux kernel config infrastructure for