The FMC Glossary gives an overview of the most common terms used and defined within the Fundamental Modeling Concpepts (FMC). Along with each term an explanantion as well as the German counterpart is given. The glossary is arranged in alphabetical order. At the end a table showing the German English translations supports in finding German terms faster. This text is also available as download (226.52kB).




(read / write / modify)

(lesend / schreibend / modifizierend)

Access of agents to locations. Can be categorized into read, write, or modifying access. With read access the information flows from location to agent, with write access the information flows from agent to location, and with modifying access it flows in both directions.



complex sequence of operations



Active system component serving a specific purpose. The behaviour of an agent can be observed in the locations connected with it as it processes thedata stored there.

arc weight


The weight of a directed arc that connects a place and a transition in a Petri net defines the number of tokens that, in case of firing of the transition, are taken from the place if it is an input place, or are put into the place if it is an output place. An arc weight is assigned to each arc, if it is not specified the default arc weight is one.

block diagram


Bipartite diagram type showing the compositional structure of a system. The node types are angular and rounded shapes. Angular shapes represent agents (active system components), rounded shapes represent locations (passive system components).



Maximum number of tokens a place can hold.

cardinality range


The minimum and maximum number of elements of a set of entities that participate in a relation.



Passive system component connected to at least two agents that can communicate through it. Information transported over a channel is volatile.



Abstraction of distinct concrete objects with similar qualities.

compositional structure

Aufbaustruktur / Aufbau

Static structure of a system that describes the active and passive system components and the connections between them. Block diagrams are used to depict compositional structure.

concurrency, degree of


Number of transitions in a Petri net which are independently enabled.



Two activities, or operations, are concurrent when they are causally independent from each other. They can therefore occur simultaneously or in arbitrary order.

condition-event net (C/E net)


Petri net whose places all have a capacity of one. The places of a condition-event net can be seen as statements that are either true or false according to their marking state. The firing of a transition is called an event because it makes some statements false (places lose their marking) and others true (places get marked). For a transition to be enabled certain statements have to be true (corresponding places are marked), hence these are called conditions.



Marking of a Petri net in which the firing of one transition disables another transition.

controller or control unit


An automaton that is the part of the discrete control loop which coordinates the order of operations. It cannot execute them but instructs the data path to do so. It reflects the control state of an automaton.

control state


In a discrete control loop, the state of the automaton is split into control state and data path state. The value range of a control state can only be defined by explicitly listing all values and all value transitions. The control state is incorporated by the controller and it is crucial for the behaviour of the automaton.

data path


An automaton that is the part of the discrete control loop which is able to perform certain operations and output their results. Instructions about which operation to be performed next is given by the controller. The data path does not know anything about the order of operations. It reflects the data path state of an automaton.

data path state


In a discrete control loop, the state of the automaton is split into control state and data path state. The value range of the data path state can be defined without explicitly listing all values, for example by giving upper and lower bounds. The data path state is the current state of all values handled by the data path.

directed arc

gerichtete Kante

One way connection between two nodes in a graph

discrete control loop


A system model for handling the complexity of a large amount of states in an automaton. These are split into control and data path state. Therefore the d.c.l. system structure consists of a controller and a data path. Both are connected via two directed channels: one for passing instructions from the controller to the data path and a channel for returning the results of an operation to allow the controller to make conditional decisions.

Block diagram of a discrete control loop. Figure 1: Block diagram of a discrete control loop

dynamic structure

Ablaufstruktur, Ablauf

Description of system behaviour summarizing the causal dependencies of operations, activities and events of that system. Dynamic structure is expressed using Petri nets.

E/R diagram/entity relationship diagram

ERD / Entity - Relationship - Diagramm

Bipartite graph used to describe value range structures and topic diagrams. The node types are angular and rounded shapes. Rounded shapes represent entity sets and angular shapes represent the relations between them. E/R diagrams whose entities are values describe value range structures. The entities in E/R diagrams that are topic plans can be of any type.



A transition in a petri net is enabled (ready to fire), if it meets two requirements:

  1. Each input place of the transition contains as many tokens as the arc weight specifies.
  2. Each output place of the transition can still accept as many tokens as the arc weight specifies.



An object that can be identified. Entities and sets of entities are represented using entity relationship diagrams.



FMC system descriptions consider the system itself as well as its environment. All agents and locations that are not part of the system in question but are nevertheless relevant for system description belong to the environment.

Example: The user agent, which belongs to the environment, is regarded in the description of System X.

User as part of the system environment Figure 2: User as part of the system environment



Change of a value stored in a location. Each event occurs exactly at one point in time.

event communication


Communication where the relevant information is not its content but the time of occurrence. Event communication between agents in a Petri net is represented by a flow of tokens between the agents' swim lanes.



The firing of a transition implies that this transition is enabled. Then, as many tokens as the arc weight specifies are taken from each input place; to each output place the number of tokens specified by its arc weight is added.

firing rule


Defines the valid changes of the marking of a petri net. It is used to transform the initial marking into other markings. The firing rule consists of two parts, the definition of firing and the definition of enabledness.



Injective mapping between two sets and thus a mathematical term. It should not be confound with procedures or so called function procedures of programming languages which are a set of instructions describing an algorithm.

initial marking


The initial marking of a Petri net defines how many tokens each place contains at the beginning of the processing. The number of tokens per place may not exceed the place's capacity.

input place


The input place of a transition in a Petri net is a place which is connected to the transition by a directed arc that points towards the transition. Transitions can have any number of input places.

layer diagram

Schichtungsbild / Schichtungsdiagramm

Used to illustrate layerings, i e, quadratic relations. Members of the basic set thus appear in two different, usually hierarchically distinct, roles in the relation: If the basic set consists of procedures in a computer program and the relation is "A calls B" procedures can assume the role of the caller or the callee.

Example: Procedure A calls B and C, procedure C calls D, procedure D calls itself (recursion).

Example layer diagram Figure 3: Example layer diagram


(informationeller) Ort

Storage or channel on which values can be observed.



Occupancy of a place in a Petri net with tokens. The marking of a Petri net follows from the markings of its places.



Graphs consist of nodes and arcs. Nodes are generally represented as circles or squares, arcs as lines connecting the nodes.

occurrence sequence


Directed acyclic graph containing occurrences of firing of transitions. Every concrete processing of a Petri net can be described with one and only one occurrence sequence. Each node in this sequence represents the firing of one transition (occurrence). Two nodes are connected by an arc if and only if the firing of one transition (arc source) can be followed immediately by the firing of the second transition (arc target) and they cannot be fired concurrently. If there is a conflict it must be solved resulting in different processings of the Petri net and thus different occurrence sequences.



Elementary activity an agent can perform. It includes at least one write access to a location and arbitrary read access.

output place


The output place of a transition in a Petri net is a place which is connected to the transition by a directed arc that points towards the place. Transitions can have multiple output places.



A partition of the set A is a set B whose elements are disjoint, non-null subsets of A. Each element of A has to be contained in exactly one element of B.

partition, orthogonal

Partition, orthogonale

Different partitions of an entity are orthogonal to each other if the criteria by which they have been classified are independent.

Example: orthogonal partition of the entity "Human Being" by criteria gender and age:

Example for a partition Figure 4: Example for a partition

Petri net


A directed bipartite graph describing causal dependencies between events, operations, and activities, and thus defining a process type. By firing the graph's transitions in any possible order discrete sequences of those elements can be generated, the so-called "occurrence sequences". Hence, Petri nets are also referred to as generators.



Node in a Petri net representing a control state or another condition, e.g. event communication.



A subnet of a Petri net is place-bordered, if when entering the subnet, the first element is a place and when leaving the subnet, the immediately next is a transition. Place-bordered subnets can often be combined to a single place.

Example: The following subnet between the transitions A and D is place-bordered because its first element is a place and the immediately next, after the subnet, is a transition.

Example place-bordered place-transition net Figure 5: Example place-bordered place-transition net

place-transition net


Place-transition nets are condition-event nets extended by

  1. assigning an individual capacity to each place,
  2. assigning a weight to each arc, and
  3. defining a firing rule.

Note: In the Context of FMC the term "place-transition net" is rarely used. The term "Petri net" however always refers to graphs being place-transition nets.



System consisting of hard- and software components that becomes a role system by introducing a processible role description.



Procedures describes an algorithm using instructions. Special types of procedures are so called function procedures which must have a return value. Function and function procedure should not be confound



The purpose of a process-oriented system is its process and not a calculated result, e.g. a computer game.



The task of the program processor.

program net


Petri net associated with a corresponding program text making it possible to identify each place in the net with a line of code in the text.

program processor


An agent of a platform that executes a program. The platform thereby becomes the system specified in the program.



Relation between models of the same type, which does not have to be formal. Refinements show more information and a more detailed depiction of structures, respectively, and represent a step towards implementation.



Interpretation of a concrete relation as an entity

Example: If ,is married to" is modeled as relation between a man and a woman one can reify the relation and introduce it as the entity couple in another relation.

Example reification Figure 6: Example reification



The purpose of a result-oriented program is a calculated end result and not the processing, e g, a square root program.

return place


Return places, besides stack places and stack tokens, are used to model recursion in Petri nets. A return place is always input place for at least two transitions that also have stack places as input places. This results in potential conflicts because the token in the return place can only be used for one transition. This conflict is solved by the token that was put on the stack places last.



The contrary of refinement

stack place

Stapelstelle / Stack-Stelle

Multi-token place used besides return places and stack tokens to model recursion in Petri nets. Stack places are marked by stack tokens and are always input places for transitions that additionally have a return place as input place.

stack token

Stapelmarke / Stack-Marke

Tokens of a stack place used besides stack and return places to model recursion in Petri nets. They are called stack tokens because, although placed on several stack places, their order of placement is managed in a single stack. If there is a conflict involving a return place the stack token on top of the (placement) stack is released and the associated transition is fired.



Persistent information storage available to at least one agent.



A structure is a construct of sets and relations containing at least one set and one relation.

structure plan / structure diagram


structure variation


The change in system structure within a "relevant" lapse of time. Passive components (storage) are converted into active ones (agents) or vice versa.

swim lane

Zuständigkeitsbereich (eines Akteurs im Ablaufdiagramm)

The set of all transitions in a Petri net fired by the same agent.

system component, active

Systemkomponente, aktiv

System components are active if they show a behaviour, i e, perform operations.

system component, passive

Systemkomponente, passiv

Passive system components are storages and channels.

system, continuous

System, kontinuierliches

A continuous system is characterised by the fact that the value ranges for observation results in observed places are continuous.

system, discrete

System, diskretes

A discrete system is characterised by the fact that the value ranges for observation results in observed places are continuous.

system, dynamic

System, dynamisches

A concrete, or at least conceivable, thing showing observable behaviour. This behaviour can be seen as the result of the system components' interaction.

system, informational

System, informationelles

A system is called informational if the essential point of the issues that are observed in different places in the system is not their material or energetic appearance but their interpretation.



Basic element of a Petri net's marking. The readiness to fire of a transition requires that the transition's input places contain sufficient tokens.

topic diagram


Diagram describing relationships between entities of arbitrary type using E/R diagram notation.



A transition is a node in a Petri net and represents an event, operation, or activity.



A subnet of a Petri net is transition-bordered if when entering the subnet the first element is a transition and when leaving the subnet the immediately next is a place. Transition-bordered subnets can be possibly combined to a single transition.

Example: The following subnet is transition-bordered because its first element is a transition and the immediately next is a place.

Example transition-bordered Figure 7: Example transition-bordered

value communication


Communication where the relevant information is the content and not the time of occurrence.

value progression


The sequence (continuous or discrete in time) of values occurring in an observed place of a system.

value range

Wertebereich (eines informationellen Systems)

The set of all information (obtained by interpretation of forms) that can be observed in an informational system at any given time. A value range can be unstructured or structured. Well known unstructured value ranges are BOOLEAN and INTEGER.

value range structure


Values from a structured range must contain at least one set and one relation. Every value of a structured range is a structure, hence the range is a set of structures. Because of their great cardinality these sets cannot be enumerated in practice. Therefore, structured value ranges are best described by entity relationship diagrams (ERDs).

Index of FMC Terms (German-English)

Ablaufstruktur See dynamic structure
Abwickler See program processor
Abwicklung See processing
Akteur See agent
Aktivität See activity
Anfangsmarkierung See initial marking
Aufbaudiagramm See block diagram
Aufbaustruktur See compositional structure
Ausgangsstelle See output place
Bedingungs-Ereignis-Netz See condition-event net (C/E net)
Eingangsstelle See input place
Entität See entity
ERD/Entity-Relationship-Diagramm See E/R diagram/entity relationship diagram
Ereignis See event
Ereigniskommunikation See event communication
ergebnisorientiert See result-oriented
Folgengeflecht See occurrence sequence
Funktion See function
gerichtete Kante See directed arc
Kanal See channel
Kantengewicht See arc weight
Kapazität See capacity
Kardinalitätsangabe See cardinality range
Klasse See class
Knoten See node
Konflikt See conflict
Marke See token
Markierung See marking
nebenläufig See concurrent
Nebenläufigkeitsgrad See concurrency, degree of
Objektifizierung See reification
Operation See operation
Operationswerk See data path
Operationszustand See data path state
Ort See location
Partition See partition
Partition, orthogonale See partition, orthogonal
Petrinetz See Petri net
Programmnetz See program net
Prozedur See procedure
prozeßorientiert See process-oriented
Rücksprungstelle See return place
schaltbereit See enabled
schalten See firing
Schaltregel See firing rule
Schichtungsdiagramm See layer diagram
Speicher See storage
Stapelmarke/Stack-Marke See stack token
Stapelstelle/Stack-Stelle See stack place
Stelle See place
stellenberandet See place-bordered
Stellen-Transitions-Netz See place-transition net
Steuerkreis See discrete control loop
Steuerwerk See controller or control unit
Steuerzustand See control state
Struktur See structure
Strukturplan See structure plan/structure diagram
Strukturvarianz See structure variation
System, diskretes See system, discrete
System, dynamisches See system, dynamic
System, informationelles See system, informational
System, kontinuierliches See system, continuous
Systemkomponente, aktiv See system component, active
Systemkomponente, passiv See system component, passive
Themenplan See topic diagram
Trägersystem See platform
Transition See transition
transitionsberandet See transition-bordered
Umgebung See environment
Verfeinerung See refinement
Vergröberung See simplification
Wertebereich (eines informationellen Systems) See value range
Wertebereichsstruktur See value range structure
Werteverlauf See value progression
Wertkommunikation See value communication
Zugriff See access (read/write/ modify)
Zuständigkeitsbereich (eines Akteurs im Ablaufdiagramm) See swim lane