Skip to main content

Über dieses Buch

This book presents a design methodology that is practically applicable to the architectural design of a broad range of systems. It is based on fundamental design concepts to conceive and specify the required functional properties of a system, while abstracting from the specific implementation functions and technologies that can be chosen to build the system. Abstraction and precision are indispensable when it comes to understanding complex systems and precisely creating and representing them at a high functional level. Once understood, these concepts appear natural, self-evident and extremely powerful, since they can directly, precisely and concisely reflect what is considered essential for the functional behavior of a system.

The first two chapters present the global views on how to design systems and how to interpret terms and meta-concepts. This informal introduction provides the general context for the remainder of the book. On a more formal level, Chapters 3 through 6 present the main basic design concepts, illustrating them with examples. Language notations are introduced along with the basic design concepts. Lastly, Chapters 7 to 12 discuss the more intricate basic design concepts of interactive systems by focusing on their common functional goal. These chapters are recommended to readers who have a particular interest in the design of protocols and interfaces for various systems.

The didactic approach makes it suitable for graduate students who want to develop insights into and skills in developing complex systems, as well as practitioners in industry and large organizations who are responsible for the design and development of large and complex systems. It includes numerous tangible examples from various fields, and several appealing exercises with their solutions.



Chapter 1. Systems and System Design

In this chapter we discuss systems as we intuitively know and understand them. The objective is to identify common characteristics that can be used in a methodology for designing distributed systems. To achieve this, such characteristics must be essential, structural and precisely definable. This allows us to formalise them into what we call basic architectural design concepts. This formalisation is done in the following chapters. In this chapter we also justify the need for a systematic approach to the design of distributed systems.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 2. Design Models and Design Languages

In this chapter we discuss our interpretation of the basic design notions, terminology and meta-concepts that are frequently used in design and design specification approaches. We present precise definitions for those notions that underlie our design methodology, namely modelling, abstraction and refinement, design concepts and design language.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 3. Basic Design Concepts

This chapter introduces the first set of basic design concepts along with specification language elements to formally represent them. When considering an object of design, we make a sharp distinction between the object as a carrier of a behaviour, i.e., its possible existence as a real world object, and the behaviour itself. We use this distinction to categorise our basic design concepts.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 4. Behaviour Modelling with Causally Related Actions

This chapter introduces the modelling of a behaviour by relating its (inter)actions by means of causality relations. A causality relation consists of a causality condition, attribute constraints and a probability constraint. The causality condition defines how the occurrence of a result (inter)action depends on the occurrence and non-occurrence of other (inter)actions. Basic causality relationsWe first introduce the initial, independent, enabling, disabling and synchronous (inter)actions as basic forms of these dependencies, leading to a complete set of so called basic causality conditions. Next we discuss the forming of more complex causality conditions by composing them from basic causality conditions with conjunction and disjunctionoperators. We then augment a causality condition with attribute constraints that define how the attribute values of a result (inter)action depend on attribute values established in other (inter)actions that the result (inter)action depends on. We finally augment the causality condition with a probability constraint. While discussing these concepts we also introduce specification language elements to represent them. These concepts together allow the complete modelling of a causality relation between a result (inter)action and the (inter)actions it depends on. The causality relations of all result (inter)actions in a behaviour define that behaviour completely, however, in an unstructured, i.e., monolithic, way.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 5. Behaviour Structuring

This chapter presents two methods for the structuring of a behaviour as a means to master the complexity of designing a realistic system by representing it as a composition of smaller sub-behaviours, namely causality-oriented structuring and constraint-oriented structuring. Causality-oriented structuring decomposes the causality relation by separating the causality condition from the result action such that the causality condition and the result action can be allocated to separate sub-behaviours. These sub-behaviours are linked by exit points and entry points. This is a syntactical operation that is also used to define recursive behaviour. Constraint-oriented structuring decomposes an (inter)action into interaction contributions such that the interaction contributions and parts of the causality relation can be allocated to separate sub-behaviours, linked by interactions. We show various possibilities for the decomposition of causality relations. Each structuring method can be used separately and in combination with the other. Both methods allow designers to decompose a given monolithic behaviour into a composition of smaller monolithic sub-behaviours, and to compose sub-behaviours (monolithic or not) into larger structured behaviours.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 6. Interaction Refinement and Abstraction

This chapter discusses the refinement of a more abstract (inter)action into a correctness preserving structure of more concrete (inter)actions, called interaction behaviour. When this is the case, we say that the interaction behaviour conformsConforms to the abstract interaction (Dirgahayu et al. in Interaction refinement in the design of business collaborations, 2010 [30]; Quartel et al. in Comput Netw ISDN Syst 29:413–436, 1995 [35]; Dirgahayu in Interaction design in service compositions, 2010 [75]; Dirgahayu et al. Abstractions of interaction mechanisms, 2009 [76]). The chapter elaborates further on the material presented in Chaps. 3– 5.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 7. Interaction Systems

This chapter introduces the basic design concept of interaction system. An interaction system can be seen as a definition of the way systems interact to achieve some common functional goal. By considering this functional goal as a system in its own right, the interaction system concept represents a dual view on the notion of system. A typical example of such a common goal is to allow the end-to-end communication between a large number of (geographically spread) users in a distributed system for different application purposes.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 8. Service Design

In this chapter we present the first phase of our design methodology for Interaction Systems: a method for designing a Service by developing a general purpose structure for Services. The method is based on the top down strategy introduced in Chap. 1 and the constraint-oriented specification method introduced in Chap. 4. The constraints are formed by the Local Service Interfaces (LSIs) that link the Service Users and the Service Provider, and the Remote Interaction Function (RIF) that relate these LSIs and that can be fully allocated to the Service Provider. This structuring method forms an ideal starting point for developing a Protocol. This chapter further discusses quality design criteria as a further aid to achieve quality in Service and Protocol design. We conclude by discussing some implementation aspects and we present some examples.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 9. Service Elements

This chapter refines the possible structuring of a service by discussing a number of general purpose and frequently used functional service elements. A service element is characterised by the temporal pattern in the exchange of service primitives. These elements can be fit in a general purpose service and then lead to parameters of service primitives. An important representative of these parameters is the Service Data Unit (SDU) concept. A SDU is a data string that is transferred transparently, i.e., unchanged and uninspected by the service, between peer-to-peer protocol entities. The SDU concept is a necessary prerequisite for the design approach called separation of design concerns, which leads to a layered protocol structure. To this end, the SDU is coded on bit level. We explain three general purpose service types that aim at the transfer of a single SDU in one direction only, namely the unconfirmed, provider confirmed and user confirmed data service. Together they are called connectionless services. These elements can be used to define more complex service types of which we discuss one in particular, the general purpose connection-oriented service.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 10. Protocol Design

This chapter presents the second phase of our design methodology for Interaction Systems: a method for designing a possibly layered Protocol, by developing a general purpose structure for Protocol Entities. It builds further on and complements the general purpose service structuring as presented in Chaps. 7 and 9. We discuss the main lines of our methodology without introducing specific functions that can be eventually used to embody a real Protocol. The latter is discussed in Chap. 11.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 11. Protocol Elements

This chapter further refines the possible structuring of a protocol by discussing a number of general purpose functional building blocks, called Protocol Elements. We mention a number of frequently used Service Elements, like association control, addressing, data transfer and quality of service (QoS), and a number of frequently used protocol elements that can support these Service Elements. We show that a Service Element can be supported by different protocol elements, whereas a Protocol Element may also support different Service Elements.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen

Chapter 12. Reference Models and Standard Interaction Systems

This chapter discusses the concept of reference model as a structure of related Services and Protocols that together form a complex possibly standard Interaction System. These Services and Protocols are only globally defined in terms of their main characteristic or key functions. A reference model then acts as an intermediate specification to overview the total design process for a complex Interaction System based on separation of concerns. The key functions allocated to these Services and Protocols represent these concerns.

Chris A. Vissers, Luís Ferreira Pires, Dick A. C. Quartel, Marten van Sinderen


Weitere Informationen

Premium Partner

Neuer Inhalt

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.



Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!