ArticleslgStudy

computer science

Nets within nets

Nets within nets is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Nets within nets rather than just read about it. In short: Nets within nets is a modelling method belonging to the family of Petri nets. This method is distinguished from other sorts of Petri nets by the possibility to provide their tokens with a proper structure, which is based on Petri net modelling again.

Nets within nets — main illustration
Nets within nets — illustration

Key takeaways

  • Nets within nets belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Nets within nets to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Nets within nets from memory before moving on to harder problems.

Reference excerpt

Nets within nets is a modelling method belonging to the family of Petri nets. This method is distinguished from other sorts of Petri nets by the possibility to provide their tokens with a proper structure, which is based on Petri net modelling again. Hence, a net can contain further net items, being able to move around and fire themselves.

Motivation Nets within nets are well suited for the modelling of distributed systems under the particular aspects of

hierarchy mobility encapsulation In a lot of publications in relation to object-oriented design is given, in order to combine the ability of Petri nets in modelling distributed computing with the modelling of objects, being able to be created and to interact.

History Starting from the need of practical applications, by the mid-nineties, different formalisms have been created, which fit the description of, "nets within nets". Lomazova and Schnoebelen are listing some of these approaches, namely by Sibertin-Blanc, Lakos, Moldt und Wienberg as extending Coloured Petri nets, aside the Object Nets of Valk. The earliest use of such hierarchic net models appeared by Rüdiger Valk in Valk and Jessen, where the so-called task-flow nets are introduced in order to model task systems in operating systems. In these models tasks are modelled by a Petri net, which represents the precedences of tasks and their state of execution.

Semantics The most important differences in semantics is given by the execution of net tokens. On the one side net tokens can be references to net items, which case is called „reference semantics“. This kind of semantic is distinguished from value semantics, where net objects may exist in different places and different internal states. In value semantics different copies can be created to model concurrent execution. The corresponding join of such a split can be defined in different ways, as for instance by „distributed token semantics“ or „history process semantics“. In connection with mobile computing hybrid versions of reference and value semantics are of importance. In distributed token semantics the important calculus of place invariants for Petri nets remains valid.

Communication The formalism of nets within nets would be of few importance without communication between net tokens. Like in object-oriented programming communication of net tokens is introduced via predefined interfaces which are dynamically bound.

In Figure 1 a Petri net is shown containing a token Petri net in place „a“. The token net can move around from place „a“ to place „b“ and back by firing of the transitions of the outer net. The channel inscriptions at the transitions behave like a call of a method, resulting in the synchronised firing of the calling transition in the outer net [e.g. labelled by x:forth()] and the called transition [e.g. labelled by :forth()] in the token net. The variable „x“ at an arrow is bound to the token net in the place connected with this arrow. The brackets may contain parameters to be passed. This example is so simple that reference and value semantics coincide.

Algorithms and restricted formalisms Standard Petri net properties like reachability, boundedness and liveness show a mixed picture. A paper of Köhler-Bußmeier gives a survey on decidability results for elementary object systems. To reduce the complexity of the formalism subclasses have been defined by restricting the structure of the Petri nets, as for instance to state machines. Such restrictions still allow complex modelling of distributed and mobile systems, but have polynomial complexity in model checking.

Tools CO-OPN https://smv.unige.ch//research-projects/co-opn (based on algebraic high level nets) RENEW http://www.renew.de (free development Model checking of reference nets with JAVA-Integration)

References

Worked examples

Example 1 — a first encounter with Nets within nets

Start with the simplest possible case. Write down what Nets within nets claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Nets within nets before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Nets within nets ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Nets within nets

In research
Nets within nets appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Nets within nets in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Nets within nets is common in secondary-school and first-year university syllabi. It links to neighbouring topics Concurrency (computer science), Diagrams, Formal specification languages, so understanding it makes those chapters shorter.
In everyday life
Look for Nets within nets outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Nets within nets in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Nets within nets means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Nets within nets out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Nets within nets in simple terms?

Nets within nets is a modelling method belonging to the family of Petri nets. This method is distinguished from other sorts of Petri nets by the possibility to provide their tokens with a proper structure, which is based on Petri net modelling again.

Why does Nets within nets matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Nets within nets?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Nets within nets.

Tags

  • Concurrency (computer science)
  • Diagrams
  • Formal specification languages
  • Models of computation
  • Petri nets
  • Software modeling language

Keep exploring