18.04.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!