Part IV
Advanced Topics
14 Compositional
Modeling
We have seen many different uses of composition in the previous chapters. In this
chapter we are going to take a closer look at the use of composition as a general
modeling technique to break down larger models into smaller models.
We are going to look at an example that illustrates how this technique can be
applied to real-life complex application-level network protocols. Such protocols are
abundant. Modern software architectures rely heavily on the fact that two parties
that need to communicate, for example a client and a server, or two servers, do so
by using a well-defined (application-level network) protocol.
We then discuss some of the main properties of model program composition and
provide a summary of the various uses of model program composition.
14.1 Modeling protocol features
A real-life protocol can be intrinsically complex. There are several reasons for this.
A protocol typically has multiple layers and depends on or uses other protocols.
In a good protocol design, internal details of the underlying protocols should not
leak out and the layering principle should be maintained. Another reason is that a
protocol typically includes many different features within a single layer. Intuitively,
a feature is a part or an aspect of the overall functionality of the protocol. Features
interact and together define the protocol as a whole.
Pages:
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297