In the last decades, much effort has been spent on the design and provision of sophisticated communication infrastructures. The development of end-user oriented distributed system applications, leaning on top of these communication infrastructures, so far has attracted little attention. This is regrettable, since communication infrastructures can only become useful and profitable if they can be deployed in the context of a sufficient number of distributed applications. Two important factors determine the success of distributed applications: (1) the provision of high quality application services and protocols at short time scales; and (2) the availability of standards for these services and protocols that can be used for the construction of ‘open’ distributed systems. The achievement of both (1) and (2) can be supported by a suitable design methodology. A design methodology entails a systematic approach to carry out complex designs, and therefore should incorporate proper concepts that enable the effective structuring of such designs. Concepts currently used for the design and structuring of application protocols appear to be inadequate for this purpose. Also a step-wise design approach that would help to master complexity and shorten development times is currently lacking. Standards are necessary since individual users of distributed system applications prefer to be independent on any particular manufacturer or vendor when procuring products, while manufacturers prefer to have maximum implementation freedom when developing such products. An ‘open’ protocol standard defines necessary and sufficient conditions for system parts to interact, such that the system parts can be implemented independently of each other. ISO and ITU-TSS base the development and definition of protocol standards on a ‘reference model’, called the Reference Model for Open Systems Interconnection (OSIRM). This model comprises a rudimentary form of a design approach and a reference architecture that can be derived with this approach. According to the OSI-RM, the overall application protocol functionality is distributed over three hierarchical protocol layers. Each layer has been assigned a specific functionality, except the highest layer, the Application Layer, which is made responsible for all remaining protocol functions. Because the functionality of the Application Layer is not delimited it cannot, as opposed to the other layers, be covered by a single protocol standard or a fixed set of protocol standards. Several identified sets of Application Layer protocol functions are defined by separate Application Service Elements (ASEs). The appropriateness of the OSI-RM for the development and definition of application protocol standards can be criticized on a number of points: - the reference architecture defined by the OSI-RM is not flexible enough to adequately cope with the diversity of interaction requirements of distributed applications. - some design concepts are not clearly defined, thus prohibiting their effective application to structuring problems; - the relationship between high level application requirements and proposed application protocol solutions is unclear; - the development of application protocol standards generally takes a long time. This thesis aims at the development of a methodology for the design of application protocols, including application protocol standards, and so addresses the problems mentioned above. The following contributions are made to achieve this aim: - design quality criteria are proposed that can be used to guide design decisions and to evaluate designs; - OSI design decisions and design concepts with respect to application protocols are evaluated; - general-purpose, elementary design concepts are proposed; - milestones in the application protocol design process are presented; - behaviour composition and structuring techniques are developed that can be used to represent design results corresponding to the identified milestones; - design methods are proposed to support the correct performance of design steps between milestones; - a flexible reference architecture is proposed. A (potential) result of the design methodology is that layered application protocol hierarchies can be avoided if they are not required by the class of distributed applications that must be supported. This thesis is structured as follows: - Chapter 1 (Introduction) presents a global problem description for this thesis, the scope and objectives of this thesis, and the approach followed in this thesis. It further introduces some general concepts related to the design of distributed systems. - Chapter 2 (Design Quality Criteria) discusses quality criteria that can be used to guide the design of application protocols and to evaluate the quality of already designed application protocols. - Chapter 3 (OSI Upper Layer Architecture and Model: State of the Art) presents the architecture and concepts defined by the OSI-RM with respect to application protocol standards. It also contains a brief description of the most important application protocol standards that were developed in the context of the OSI-RM. - Chapter 4 (OSI Upper Layer Architecture and Model: Evaluation) evaluates the architecture and concepts defined by the OSI-RM with respect to application protocol standards. It also discusses the relation between the quality of application protocol standards and the nature of standardization, and the implementation freedom supported by protocol standards. - Chapter 5 (Design Framework) presents a general framework for the design of application protocols. It identifies elementary concepts for distributed systems design, and abstraction levels at which distributed systems and system parts can be represented. The abstraction levels are used to define an application protocol design trajectory consisting of a sequence of design steps between different milestones in the application protocol design process. - Chapter 6 (Design Model) discusses a model for the representation and manipulation of behaviours, such that it can be used in the application protocol design trajectory. The model is based on the elementary design concepts, identified in Chapter 5, and defines additional concepts and rules in order to allow the composition of behaviours. It also includes techniques for the composition of structured behaviours and requirements for behaviour decomposition and refinement. - Chapter 7 (Application Protocol Reference Architecture) proposes a flexible reference architecture for application protocols. The reference architecture is based on the design quality criteria, the design framework and the design model, and presents specific design methods for structuring application protocols. Furthermore, some generic application protocol structures are discussed, and some application protocol functions that can be used as building blocks for the support of many classes of distributed system applications are characterized. - Chapter 8 (Suggestions for Further Work) presents some suggestions for further work. - Chapter 9 (Summary of Conclusions) presents a summary of the conclusions drawn in the previous chapters.
|Award date||10 Mar 1995|
|Place of Publication||Enschede|
|Publication status||Published - 10 Mar 1995|
- Distributed systems
- application protocols