Skip to main content
main-content

Über dieses Buch

Petri nets provide a formal framework for system modeling and validation which has proven to be very reliable in practice. This book presents variousnet models appropriate for designing specific systems, where systems are understood very generally as "organizational systems" in which regulatedflows of objects and information are significant. The models are interrelated in the sense that they have common interpretation patterns: together they can be understood as a method for specifying any given system or any section of such a system to any given degree of refinement. The simple and immediately understandable principles of system modelling with nets makes it possible to provide an illustrated description of this method without going into the mathematics behind it. The text is based on courses the author developed for project engineers and project managers in the area of embedded computer systems.

Inhaltsverzeichnis

Frontmatter

Introduction

Abstract
Petri nets have been and are being used in many areas of data processing for the modelling of hardware, communication protocols, parallel programs and distributed data bases, particularly in the requirements engineering context, i.e. in the initial phase of system design. The book focuses on this area of application.
Wolfgang Reisig

1. Principles of System Design with Nets

Abstract
Taking the organization of a library as an example, let us begin with the most basic meaningful structure of a library. The users of the library have access to a stock of books kept in the stacks. Thus, we are dealing here with two components. It would seem obvious enough to describe one of the components (the stock of books) as being passive, and the other (the users) as being active. If we represent the passive component with a circle and the active component with a box we have the configuration shown in Fig. 1. The arrows between the components indicate the flow of objects and information.
Wolfgang Reisig

2. Condition-Event Nets

Abstract
We will begin with a system that could come from a wide range of different areas. In it objects are generated, stored in a channel, removed at a later point in time and, finally, consumed. In a specific instance, ’storing in a channel’ could also stand for ’dispatch’, ’make available’ or ’hand over’. ’Remove from the channel’ could also mean ’accept’ or ’receive’. The objects could be goods, news items, data messages, money or even services. We are not interested here in a specific possibility, but rather in what they all have in common.
Wolfgang Reisig

3. Place-Transition Nets

Abstract
In Problem 1, Fig. 11 was to be changed such that two objects can be accommodated in the channel. This can be done without any great difficulty. However, this design would be very cumbersome for, say, 10 or 30 objects (Fig. 26).
Wolfgang Reisig

4. Individual-Token Nets

Abstract
Let us imagine a market. Dealers offer goods for sale and customers seek to buy the goods they need. When a dealer and a customer have agreed on a product and a price there is an exchange of goods and money. A business transaction takes place. After that, the dealer can acquire new goods and the customer new money and further business transactions will be possible.
Wolfgang Reisig

5. Channel-Agency Nets

Abstract
Thus far, we have dealt with nets that represent the dynamic behavior of real systems. A large number of different factors have to be taken into consideration when designing such nets, e.g. what components are involved, how they behave in every possible situation, how tokens are to be distributed initially, whether or not all dependencies are correctly represented, etc.
Wolfgang Reisig

6. Refinement and Embedding

Abstract
The nets in Figs.73, 74 and 75 all show the same system from different perspectives, in different sections or in different degrees of refinement. We will see that these nets (and many of the others we have already dealt with) are specifically related to one another, i.e. from a given net another can be systematically derived as a refinement or embedding.
Wolfgang Reisig

7. Nets As a Design Method

Abstract
Various types of nets were introduced in Chaps. 1–4. It was shown on the basis of simple examples how nets can be used to represent the structure and function of different kinds of systems. Obviously, this does not tell us what procedure we need to follow in specific cases in order to succeed in producing an adequate representation of a real or planned system with as little effort as possible. Just as knowing the individual commands of a program language does not enable us to write complicated programs, the ’net language’ cannot really be used efficiently without adhering to systematic design procedures.
Wolfgang Reisig

Solutions

Abstract
The channel is replaced by two storage cells in sequence. The channel itself is not represented in Figure 11, but rather the condition that says whether or not the channel is empty. Accordingly, we stipulate conditions indicating whether or not the storage cells are empty. The fact that the storage cells are arranged sequentially means that objects can be transferred from the first storage cell to the second. Thus, in the model there must be an event, which, when it occurs, causes the condition ’storage cell 1 occupied’ to be unfulfilled and the condition ’storage cell 2 occupied’ to be fulfilled.
Wolfgang Reisig

Backmatter

Weitere Informationen