vii
Table of Contents
Preface Chapter 1 Introduction 1.1 Background 1.2 Problem description1.3 The role of standardization
1.4 Scope and objectives
1.5 Approach
1.6 Related work
1.7 General concepts
References
Chapter 2 Design Quality Criteria
2.1 Design evaluation 2.1.1 Efficiency 2.1.2 Ease of use 2.2 Quality criteria 2.2.1 Consistency 2.2.2 Orthogonality 2.2.3 Propriety 2.2.4 Generality
2.3 Quality and design engineering
2.3.1 Relation to design models
2.3.2 Relation to specification languages
2.3.3 Relation to design methodologies
2.4 Conclusion
Chapter 3 OSI Upper Layer Architecture and Model: State of the Art
3.1 Application protocol structuring techniques
3.1.1 Layer composition
3.1.2 Application service element composition
3.1.3 Composition of cooperating main service and auxiliary service
3.2 Application protocol standards
3.3 Session layer
3.4 Presentation layer
3.5 Application layer building blocks
3.5.1 Association control service element
3.5.2 Commitment, concurrency and recovery service element
3.6 Distributed transaction processing
3.7 Conclusion
References
Chapter 4 OSI Upper Layer Architecture and Model: Evaluation
4.1 Upper layer architecture
4.1.1 General observations on the layers of the OSI-ULA
4.1.2 Application layer
4.1.3 Presentation layer
4.1.4 Session layer
4.1.5 Transport service
4.2 Application protocol realizations
4.2.1 Level of acceptance
4.2.2 User complaints
4.3 Problems of standardization
4.4 Upper layer model
4.4.1 Unclear design concepts
4.4.2 Absence of design methods
4.5 Application service structuring and decomposition
4.5.1 Layer protocol design
4.5.2 Application service element protocol design
4.6 Application protocol implementation approaches
4.6.1 Multi-layer implementation
4.6.2 Related work on efficient implementation approaches
ix
4.7 Conclusion
References
Chapter 5 Design Framework
5.1 Domains of distributed system specification
5.1.1 Specification concerns and objectives
5.1.2 Behaviour domain
5.1.3 Entity domain
5.2 Abstraction levels in distributed system design
5.2.1 Purpose of abstraction levels
5.2.2 Distributed system perspective
5.2.3 Integrated system perspective
5.2.4 Interaction system perspective
5.2.5 Integrated and distributed interaction system perspective
5.3 Application protocol design trajectory
5.3.1 Milestones in different areas of concern
5.3.2 Application protocol architecture
5.3.3 Distributed processing architecture
5.3.4 Distributed enterprise architecture
5.4 Example
5.4.1 Required question-answer service
5.4.2 Question-answer service provider
5.4.3 Question-answer protocol architecture
5.5 Conclusion
References
Chapter 6 Design Model
6.1 Action and interaction
6.1.1 General properties
6.1.2 Attributes
6.1.3 Constraints
6.1.4 Interpretation of nondeterministic constraints
6.1.5 Textual notation
6.2 Causality relation
6.2.1 Basic conditions
6.2.2 Composite conditions
6.2.3 Constraints of enabling actions and disabling conditions
6.3 Monolithic behaviour definition
6.3.1 Initial actions and terminal actions
6.4 Causality-oriented behaviour composition
6.4.1 Entry point and exit point
6.4.2 Exit/entry construct
6.4.3 Other uses of behaviour entries
6.4.4 Other uses of behaviour exits
6.4.5 Requirements for causality-oriented composition and decomposition
6.5 Constraint-oriented behaviour composition
6.5.1 Synchronization requirements
6.5.2 Requirements for constraint-oriented composition and decomposition
6.6 Power of expression
6.6.1 General behaviour patterns
6.6.2 Specification styles
6.7 Behaviour refinement
6.7.1 Identification of refinement types
6.7.2 Refinement requirements
6.8 Conclusion
References
Chapter 7 Application Protocol Reference Architecture
7.1 Purpose of the reference architecture
7.2 Top level structure of distributed applications
7.3 Design of an application service
7.3.1 Generality
7.3.2 Service structure
7.3.3 Quality criteria
7.4 Design of an integrated application service provider
7.4.1 External behaviour
7.4.2 Internal behaviour of a single provider function
7.4.3 Internal behaviour of composed provider functions
7.4.4 Structured internal behaviour
7.4.5 Recursive refinement of internal behaviour
7.5 Design of a distributed application service provider
7.6 Information coding and data transfer
7.6.1 Coding flexibility
xi
7.7 Application protocol building blocks
7.8 Comparison with the OSI-ULA
7.9 Conclusion
References
Chapter 8 Suggestions for Further Work
8.1 Elaboration and application of the reference architecture
8.2 Application service engineering
8.2.1 Background and interpretations
8.2.2 Direction of work
8.3 Graphical notation for composite enabling conditions
8.4 Enterprise protocols
8.5 Relation with object oriented approaches
8.6 Generalized constraint-oriented composition
8.7 Specification language support
References
Chapter 9 Summary of Conclusions
Annex A Textual Notation Syntax Definition
A.1 Behaviour definition
A.2 Synchronization requirements A.3 Causality relation
A.4 Action and interaction A.5 Attributes
A.6 Constraints A.7 Identifiers A.8 Characters