27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

VII. DISCUSSION<br />

Our method checks configuration files based on the configuration<br />

model and deals with syntax error and semantic<br />

error. As the result which is shown in Fig. 6, one error is<br />

detected. The cause of the error is that using database is not<br />

configured although address book application needs database.<br />

The important part is that even if configuration files do not<br />

have error, errors occur when configuration files are used<br />

in order to perform application. Checking semantic error of<br />

configuration files statically is one merit of our method.<br />

It is not easy to understand syntax and constraints of<br />

configuration files although those are explained in manuals. In<br />

our method, syntax and constraints are described structurally<br />

by using the feature diagram. Besides, checking configuration<br />

files based on constraints of the feature diagram becomes<br />

possible. We consider that a method which organizes configuration<br />

files using the feature diagram is effective.<br />

Configuration model describe five patterns of configuration<br />

file syntax. These patterns are extracted from syntax<br />

of httpd.conf, but the patterns do not cover all syntax. In<br />

particular, 180 setting items are available for httpd.conf and<br />

patterns cover 153 setting items. So, the patterns can deal with<br />

85 percent of setting items of httpd.conf.<br />

A configuration model may be changed when needed configuration<br />

files are changed because of change of application,<br />

or candidates and constraints of configuration file description<br />

are changed. This change means adding or replacing pattern<br />

descriptions and is not difficult. Users or administrators only<br />

have to follow the notations of the feature diagram.<br />

Syntax checkers are enough to check syntax error because<br />

each syntax checker is specialized in specific configuration<br />

files. However, syntax checkers are not enough to check<br />

semantic error because semantic error is not a target. We focus<br />

on relations between requirements and configuration files, and<br />

model those relations in order to check.<br />

VIII. RELATED WORK<br />

A method which checks configuration files based on rules is<br />

proposed [7]. Rules mean dependencies between modules or<br />

formats for data exchange. A method which checks validity<br />

of parameters of configuration files is proposed [8]. In this<br />

method, size, range and dependency of parameters are identified<br />

as constraints, and parameters are checked based on them.<br />

Our method takes the similar approach which was proposed<br />

in [7] [8]. Errors which can be detected by those methods<br />

depend on rules, constraints or model. That is to say, it is<br />

important what condition use to detect errors. On the other<br />

hand, using rules and constraints is not suitable for checking<br />

semantic errors because it is difficult to deal with requirements.<br />

A method which deals with dependencies of configuration<br />

attributes of software stack is proposed [6]. Authors proposed<br />

Configuration Map (CM) which specifies dependencies and<br />

order of configuring of configuration attributes, and relations<br />

between configuration attributes and errors. By using CM,<br />

managing configuration attributes becomes easily and CM is<br />

effective for troubleshooting. As shown in [6], it is helpful<br />

to model complexity in order to make configuration. Our<br />

method deals with not only variability of configuration files<br />

but variability of application, and models them in order to<br />

make suitable configuration files for application.<br />

An automatic generation method for configuration files of<br />

web system which consists of Web server, application server<br />

and database, is proposed [10]. In this method, configuration<br />

files are generated by some scripts based on templates and<br />

parameters are detected using heuristic algorithm. Automatic<br />

generation is also a support method to make configuration files.<br />

However, it is not easy to specify combinations of setting item<br />

and parameter because descriptions of configuration files have<br />

flexibility. Therefore, our method checks configuration files<br />

which are made manually instead of automatic generation of<br />

configuration files.<br />

IX. CONCLUSION<br />

In this paper, we proposed a method which manages variability<br />

of configuration files in order to prevent errors of configuration<br />

files. We define the configuration file model which<br />

organizes basic elements of configuration files and relations<br />

of them. Besides, a configuration file model is described by<br />

using the feature diagram in order to check.<br />

Verifying configuration files is important as well as software<br />

because the complexity and size of configuration files<br />

are increasing drastically. Some applications have their own<br />

syntax checkers for configuration files of them. However, only<br />

checking syntax is not sufficient to ensure that what we want<br />

to configure the applications is correctly described in the<br />

configuration files. Thus, in our approach, requirements for<br />

the configuration files are modeled as a configuration model<br />

and check whether they meet the requirements or not.<br />

REFERENCES<br />

[1] Alloy website : http://alloy.mit.edu/alloy/<br />

[2] Aaron B. Brown, Alexander Keller and Joseph L. Hellerstein, A Configuration<br />

Complexity Model and Its Application to a Change Management<br />

System, In <strong>Proceedings</strong> of the 9th International IFIP/IEEE Symposium<br />

on Integrated Management, pp. 631 - 644<br />

[3] Krzysztof, C. and Ulrich, E. : Generative Programming : Methods,<br />

Tools, and Applications, Addison-Wesley Pub (Sd), 2000, ISBN 978-<br />

0201309775.<br />

[4] Jackson, D : Software Abstractions: Logic, Language, and Analysis,<br />

MIT Press, 2006, ISBN 0-262-10114-9.<br />

[5] Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E. and Peterson,<br />

A. S. : Feature-Oriented Domain Analysis (FODA) Feasibility Study,<br />

Technical Report CMU/SEI-90TR-21, Software Engineering <strong>Institute</strong>,<br />

Carnegie Mellon University, 1990.<br />

[6] Kalapriya Kannan, Nanjangud C. Narendra and Lakshmish Ramaswamy,<br />

Managing Configuration Complexity during Deployment and Maintenance<br />

of SOA Solutions, 2009 IEEE International Conference on<br />

Services Computing, pp. 152-159<br />

[7] Rajesh Kalyanaraman, A Rule based static configuration validation technique<br />

in an Autonomous Distributed Environment, Second International<br />

Conference on <strong>Systems</strong>, pp 53<br />

[8] Emre Kycyman and Yi-Min Wang, Discovering Correctness Constraints<br />

for Self-Management of System Configuration, <strong>Proceedings</strong> of the 1st<br />

International Conference on Autonomic Computing, pp. 28-35<br />

[9] Hiroaki Tanizai. and Takuya Katayama.:Formalization and Consistency<br />

Checking the Changes of Software System Confgurations Using Alloy,<br />

15th Asia-Pacific Software Engineering Conference, pp.343-350.<br />

[10] Wei Zheng, Ricardo Bianchini and Thu D. Nguyen, Automatic configuration<br />

of internet services, <strong>Proceedings</strong> of EuroSys 2007, pp. 219-229<br />

677

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

Saved successfully!

Ooh no, something went wrong!