Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...
Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...
Dissertaç ˜ao de Mestrado Mestrado em Engenharia Informática Jo ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3. AN APPLICATION RECONFIGURATION FRAMEWORK 3.1. Architectural Requir<strong>em</strong>ents<br />
3.1 Architectural Requir<strong>em</strong>ents<br />
Before approaching the proposal of a framework for the automatic application configuration,<br />
the tool requir<strong>em</strong>ents must be i<strong>de</strong>ntified. This section presents the functionalities which the<br />
tool is expected to provi<strong>de</strong>, in the form of use cases. A use case <strong>de</strong>fines a goal-oriented set<br />
of interactions between external actors and the tool. Following is a list of functional and non-<br />
functional requir<strong>em</strong>ents:<br />
1. The user must be able to convert a configuration file syntax from its original syntax to<br />
a generic one, in<strong>de</strong>pen<strong>de</strong>ntly of the application.<br />
Description: The user must be able to try parsing the configuration file with the available<br />
parsers.<br />
Non-functional requir<strong>em</strong>ents:<br />
Performance: The generated file with the generic syntax must be as simple as possible.<br />
2. The user must be able to <strong>de</strong>fine grammars for configuration file languages.<br />
Description: If there are no suitable parsers for a given configuration file, the user must<br />
be able to <strong>de</strong>fine a grammar that recognizes the new configuration file language.<br />
Non-functional requir<strong>em</strong>ents:<br />
Usability: The grammar <strong>de</strong>finition syntax should be a broadly adopted one.<br />
Usability: To ease the parser generation process, the user must be able to iterate through<br />
the previously built grammars so as to rollback any change ma<strong>de</strong> on a grammar.<br />
3. The user must be able to produce a parser from a grammar.<br />
Description: When the user builds a grammar for a new configuration file language, there<br />
must be a means to compile that grammar in or<strong>de</strong>r to generate a parser.<br />
Non-functional requir<strong>em</strong>ents:<br />
Usability: The user must be able to add parsers built outsi<strong>de</strong> the tool.<br />
4. The user must have access to the parser compilation trace.<br />
Description: When a grammar is compiled, the user should be able to check on the parser<br />
compilation trace to see if it was successfully compiled or whether any error persists in<br />
the grammar <strong>de</strong>claration.<br />
22