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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fig. 4.<br />

Configuration Model<br />

error, feature selections which do not satisfy each constraint<br />

should be clarified. For example, if a combination of setting<br />

item and parameters is described by Alternative relation and<br />

some parameters are chosen, this feature selection is invalid.<br />

If feature selection is invalid, it is an error.<br />

Checking correspondence relations between requirement<br />

model and config model is used to check whether configuration<br />

files meet execution of requirements. Therefore, consistency<br />

checking of correspondence relations checks whether features<br />

which are related to an instance of requirement model are<br />

included in an instance of config model. It is an error when<br />

features which are required by the instance of requirement<br />

model are not included in the instance of config model.<br />

C. Error correction<br />

In our method, error correction means to obtain an instance<br />

when there is no instance of configuration model. In particular,<br />

error correction consists of detection of causes of errors and<br />

correction of them. For example, if a combination of setting<br />

item and parameters is described by Alternative relation,<br />

except for choosing setting item and one parameter, the other<br />

choosing is invalid. In particular, choosing no setting item and<br />

one parameter or choosing no setting item and some parameters<br />

are causes of error. In the case of the above example,<br />

choosing setting item is the correction method when no setting<br />

item and one parameter are chosen, and choosing setting item<br />

and one parameter from candidates is the correction method<br />

when no setting item and some parameters are chosen. In this<br />

way, causes of error are defined and correction methods for<br />

each cause are specified.<br />

Correction method of correspondence relations between<br />

requirement model and config model is changing configuration<br />

files in order to satisfy requirements. Correction of configuration<br />

file is to add lacking features which are needed to perform<br />

requirement to an instance of config model.<br />

Those correction methods are not enough to correct feature<br />

selection because only adding or deleting features may<br />

become causes of other errors. Therefore, we implemented a<br />

mechanism which obtains an instance in Alloy.<br />

D. Consistency checking using Alloy<br />

We use Alloy to check configuration model automatically.<br />

Therefore, structure and constraints of the feature diagram are<br />

described by Alloy description, and detection and correction<br />

method for errors are implemented in Alloy.<br />

Alloy is a structural modeling language based on firstorder<br />

relational logic for expressing complex structural constraints<br />

and behaviors, and is described using finite sets and relations.<br />

Basic notations for describing alloy models are as follows.<br />

• sig : A signature introduces a set of atoms<br />

• fact : Always assumed constraints<br />

• fun : A function to a relation from another relation<br />

• pred : A true-false judging of a relation<br />

• run : To search for an instance of a predicate (pred)<br />

An Alloy model consists of sig and relations of sig, which<br />

are described in fact. Operations are described using fun.<br />

Conditions are described using pred. These described things<br />

are verified using the run command. The Alloy Analyzer<br />

which is a tool to verify Alloy models is provided. The<br />

Alloy Analyzer finds the Alloy models which satisfy a given<br />

specification of Alloy models automatically in scopes of sig.<br />

1) Encoding of feature diagram: The structure of feature<br />

diagram is relations between features. Thus, name of each<br />

feature is enumerated, and relations between features are<br />

named and each relation is related to feature names which have<br />

relation between them. Constraints of the feature diagram are<br />

defined by predicate in Alloy.<br />

2) Consistency checking: Consistency checking method for<br />

the feature diagram checks whether chosen features satisfy<br />

constraints of the feature diagram. In this method, constraints<br />

675

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

Saved successfully!

Ooh no, something went wrong!