The state variables
of the feature model programs should be disjoint, so that independent analysis
of the feature model programs is possible.
4. Finally, some or all of the feature model programs, say M1,M2, . . . , Mk, can
be composed into a model program M1 ?—M2 ?—?· ?· ?·?—Mk to validate feature
interactions or to be used as the contract during conformance testing.
14.2 Motivating example: a client/server protocol
We are considering a sample client/server protocol that supports various operations
on shared resources across different machines. Here we are considering a fixed client
and a fixed server. The sample protocol model is called SP here. There are two kinds
of messages, requests and responses. All requests are initiated by the client and all
responses are sent by the server. The feature model programs shown here are realistic
approximations of the corresponding features described in the document. We have
omitted certain details that are not relevant for explaining the ideas. The full protocol
contains over 300 pages of natural language specification, and the complete model
program would all in all comprise between 20 and 30 feature model programs. The
following features are considered here:
??? Credits feature is a variation of the sliding window algorithm (Section 14.2.1,
below) that enables the client and the server to maintain a consistent view of
which message IDs are used.
Pages:
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299