M.Sc Thesis

M.Sc StudentVeytsal Boris
SubjectModel Driven Help Systems Generation
DepartmentDepartment of Computer Science
Supervisors ASSOCIATE PROF. Eliezer Kantorowitz
PROF. Roy Friedman


     This work considers new approach for automatic generation of online help system. We investigate some approaches that exist in this area and explore their problems and limitations. Our research project introduces a technique that enables these problems to be alleviated. With these new techniques, the help information is moved automatically between software design and development tools to the help generation tool, which considerably reduces the effort required to produce quality help systems. The feasibility of the proposed approach is checked by the prototype help generation system called TechHelp. The input to TechHelp is a UML model, where the help text is inserted. Classes, methods and attributes in a class diagram may thus have help text assigned. When the application is modified, the modification is made in the UML model. Thereafter, both the code and the help system are produced from this modified model. TechHelp produces the help system automatically, while the code is produced by the usual techniques. TechHelp assumes that UML diagrams specify the application and extensively uses the application UML model. Use of the UML model for storing help information opens new possibilities for the generation of quality help systems. TechHelp exploits the object-oriented structure of the system as it is expressed in the designed UML class diagram. The help information of methods and attributes are thus put together with the help information of the classes to which they belong. This organization of the help information ensures that the information in the help system corresponds accurately to the code. Since object oriented design is expected to model the application domain precisely, the corresponding organization of the information in the help system is expected to fit to the structure of the application domain. In addition, TechHelp checks the completeness of the help information for all application use-cases and classes. A further service of TechHelp is in spellchecking search items names entered by the user. If such an entered is not found in the help systems dictionary of available help information, it will ask the user to select in a list of names of items that are in the dictionary and that are close to the entered name. The feasibility of the approach and its merits are demonstrated by producing a help system for a library management system that was found in the public domain. Our approach assumes that the software manufacturing is model-driven, i.e. that the code is derived from a model. Later system modifications are first elaborated into the model and the help system is thereafter generated from the updated model. Model driven system development is not yet common in the industry. The ability to generate a quality help system from the model and to update it correctly, as demonstrated in this study, is a further reason for the industry to employ model driven software development.