{'fraction_non_alphanumeric': 0.017325392528424473, 'fraction_numerical': 0.0, 'mean_word_length': 5.119205298013245, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
AN APPROACH TO FUNCTIONAL OFFICE AUTOMATION

Current efforts in office automation emphasize developing tools for supporting common, low-level tasks such as word processing and electronic mail. While they have a wide market, they are not very sophisticated. At the other end of the spectrum are office-specific system, designed with complete knowledge of the office''s operations. Unfortunately, such systems have a market size of one, and so are not very practical. Earlier work has suggested that all offices are not completely different. The premise of this thesis is that there are many offices that, while on the surface appear dissimilar, actually perform the same function. This suggests that a compromise between simple tools and office-specific systems may be possible by supporting these functions. The purpose of this thesis is to explore the practicality of building software system that support office functions. A study of project management at a software firm was completed, and it was used as the basis for evaluating the functional approach. A description of the project management offices, and how a project management support system could work is presented. While such a limited study is not sufficient to verify the premise of commonality, it showed that much could be done in support of project management beyond the currently available tools, and that individual differences in style and preferences do not alter the core functionality needed. A methodology for implementing such systems was also developed. It shows how the abstract objects discovered through office analysis can be related directly to objects in an object-oriented programming language. An electronic desktop architecture is described that manipulates such software objects, and toolkit is presented that makes it easier to build or modify a support system.