AT521931B1 - Procedure for comparing two models that describe concurrent systems - Google Patents

Procedure for comparing two models that describe concurrent systems Download PDF

Info

Publication number
AT521931B1
AT521931B1 ATA51088/2018A AT510882018A AT521931B1 AT 521931 B1 AT521931 B1 AT 521931B1 AT 510882018 A AT510882018 A AT 510882018A AT 521931 B1 AT521931 B1 AT 521931B1
Authority
AT
Austria
Prior art keywords
event
events
model
actions
action
Prior art date
Application number
ATA51088/2018A
Other languages
German (de)
Other versions
AT521931A1 (en
Inventor
Fellner Andreas
Tarrach Thorsten
Krenn Willibald
Original Assignee
Ait Austrian Inst Tech Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ait Austrian Inst Tech Gmbh filed Critical Ait Austrian Inst Tech Gmbh
Priority to ATA51088/2018A priority Critical patent/AT521931B1/en
Publication of AT521931A1 publication Critical patent/AT521931A1/en
Application granted granted Critical
Publication of AT521931B1 publication Critical patent/AT521931B1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Verfahren zum Vergleich von zwei Modellen (M; M1, M2), die nebenläufige Systeme beschreiben, a) wobei jedes der Modelle (M; M1, M2) jeweils durch eine Anzahl an Variablen (V) und Aktionen (A) beschrieben wird, b) wobei für zumindest Teile der beiden zu vergleichenden Modelle (M; M1, M2) jeweils eine Ereignisstruktur (ES; ES1, ES2) umfassend eine Anzahl an Ereignissen (E) festgelegt wird, c) wobei Ereignisstrukturen (ES; ES1, ES2) iterativ aufgebaut werden, indem zumindest für Teile der beiden Modelle (M; M1, M1) beginnend vom initialen Ereignis (EI) und dem initialen Zustand (I) zulässige Aktionen (A) ausgeführt werden, d) wobei eine erste Ereignisstruktur (ES1) eines ersten Modells (M1) mit einer zweiten Ereignisstruktur (ES2) eines zweiten Modells (M2) verglichen wird, um festzustellen, ob die erste Menge an möglichen Sequenzen von Aktionen (A) die durch die erste Ereignisstruktur (ES1) beschrieben wird, in der zweiten Menge an möglichen Sequenzen die durch die zweite Ereignisstruktur (ES2) beschrieben wird, enthalten ist, und e) wobei das Ergebnis des Vergleichs der beiden Modelle (M1, M2) als positiv betrachtet wird, wenn für jede Teilereignisstruktur (TE1) der ersten Ereignisstruktur (ES1) des ersten Modells (M1) eine kompatible Teilereignisstruktur (TE2) der zweiten Ereignisstruktur (ES2) des zweiten Modells (M2) gefunden wird.Method for comparing two models (M; M1, M2) that describe concurrent systems, a) each of the models (M; M1, M2) being described by a number of variables (V) and actions (A), b ) wherein an event structure (ES; ES1, ES2) comprising a number of events (E) is defined for at least parts of the two models (M; M1, M2) to be compared, c) wherein event structures (ES; ES1, ES2) iteratively be set up by at least for parts of the two models (M; M1, M1) starting from the initial event (EI) and the initial state (I) permissible actions (A) are executed, d) wherein a first event structure (ES1) of a first Model (M1) with a second event structure (ES2) of a second model (M2) is compared to determine whether the first set of possible sequences of actions (A) described by the first event structure (ES1) is in the second set of possible sequences caused by the second event structure r (ES2) is described, and e) the result of the comparison of the two models (M1, M2) being considered positive if for each partial event structure (TE1) of the first event structure (ES1) of the first model (M1) a compatible partial event structure (TE2) of the second event structure (ES2) of the second model (M2) is found.

Description

Beschreibungdescription

[0001] Die Erfindung betrifft ein Verfahren zum Vergleich von Modellen bzw. Systemen gemäß Patentanspruch 1. The invention relates to a method for comparing models or systems according to patent claim 1.

[0002] Um beispielsweise Maschinen oder komplexe industrielle Anlagen wie Stellwerke, die entsprechend von z. B. Eingaben die an die jeweilige Maschine oder Anlage übermittelt werden, verschiedene Ausgaben erzeugen können, auf z. B. deren Funktionszustand zu überprüfen, werden häufig Modelle der Anlagen erstellt und mit einem Modell der Anlage in z. B. einem SollZustand verglichen. Aus dem Stand der Technik sind Verfahren zum Vergleich zweier Modelle bekannt, bei denen explizit Pfade aus den einzelnen Modellen extrahiert und miteinander verglichen werden. Weiters sind Verfahren zum Vergleich zweier Modelle bekannt, bei denen das kartesische Produkt aus den zu untersuchenden Modellen gebildet wird, wobei es erforderlich ist, den Zustand jedes Modells genau anzugeben. Nachteilig bei den bekannten Vorgehensweisen ist jedoch, dass diese rechenaufwendig sind, da eine große Anzahl an Pfaden durchsucht werden müssen, um sicherzustellen, dass idente Pfade auch tatsächlich ermittelt werden. For example, machines or complex industrial systems such as interlockings corresponding to z. B. inputs that are transmitted to the respective machine or system can generate various outputs, e.g. B. to check their functional status, models of the systems are often created and with a model of the system in z. B. compared to a target state. Methods for comparing two models are known from the prior art, in which paths are explicitly extracted from the individual models and compared with one another. Furthermore, methods for comparing two models are known, in which the Cartesian product is formed from the models to be examined, it being necessary to specify the state of each model precisely. A disadvantage of the known procedures, however, is that they are computationally expensive, since a large number of paths have to be searched through in order to ensure that identical paths are actually determined.

Außerdem kann die Gleichheit der Struktur, d.h. Ereignisse und Relationen, zweier Ereignisstrukturen verglichen werden, zum Beispiel indem eine Einbettung der einen Struktur in die andere gefunden wird (siehe z.B. Winskel, Glynn. "An introduction to event structures."Workshop/School/ Symposium of the REX Project (Research and Education in Concurrent Systems). Springer, Berlin, Heidelberg, 1988). Der Nachteil dieser Methode ist, dass Ereignisstrukturen die dieselben Abfolgen von Aktionen mittels unterschiedlicher Strukturen abbilden nicht als gleich erkannt werden. In addition, the identity of the structure, ie events and relations, of two event structures can be compared, for example by finding an embedding of one structure in the other (see e.g. Winskel, Glynn. "An introduction to event structures." Workshop/School/Symposium of the REX Project (Research and Education in Concurrent Systems). Springer, Berlin, Heidelberg, 1988). The disadvantage of this method is that event structures that represent the same sequences of actions using different structures are not recognized as the same.

[0003] Aufgabe der Erfindung ist es daher, ein Verfahren bereitzustellen, mit dem Modelle, die nichtdeterministische sowie nebenläufige Entscheidungen enthalten, schnell und zuverlässig verglichen werden können. The object of the invention is therefore to provide a method with which models containing non-deterministic and concurrent decisions can be compared quickly and reliably.

[0004] Die Erfindung löst diese Aufgabe bei einem Verfahren zum Vergleich von zwei Modellen, die nebenläufige Systeme beschreiben, mit den Merkmalen des Patentanspruchs 1. Erfindungsgemäß ist dabei vorgesehen, dass The invention solves this problem with a method for comparing two models that describe concurrent systems, with the features of patent claim 1. According to the invention, it is provided that

a) jedes der Modelle jeweils durch eine Anzahl an Variablen und Aktionen beschrieben wird, a) each of the models is described by a number of variables and actions,

- wobei jeder Variable jeweils eine endliche Anzahl an möglichen Werten zugeordnet wird, - where each variable is assigned a finite number of possible values,

- wobei eine Menge an Zuständen festgelegt wird, wobei ein Zustand für jede Variable die Zuordnung jeweils eines ihrer möglichen Variablenwerte angibt, - where a set of states is defined, where a state for each variable indicates the assignment of one of its possible variable values,

- wobei jedes Modell die Ausführung von, insbesondere unendlichen, Sequenzen an Aktionen beschreibt, - where each model describes the execution of, especially infinite, sequences of actions,

- wobei ein initialer Zustand festgelegt wird, - whereby an initial state is defined,

- wobei es zu jedem Zeitpunkt der Ausführung jedes Modells einen aktuellen Zustand gibt, der ausgehend vom initialen Zustand durch die Ausführung jeweils im aktuellen Zustand zulässiger Aktionen des Modells verändert wird, - where there is a current state at each point in time of the execution of each model, which, starting from the initial state, is changed by the execution of actions of the model that are permissible in the current state,

- wobei jede Aktion beschrieben wird durch - where each action is described by

- eine Bedingung, der die Variablenwerte im aktuellen Zustand des jeweiligen Modells genügen müssen, damit die jeweilige Aktion in diesem Zustand zulässig ist, und - eine Anzahl an Instruktionen, die angeben, wie die Aktion die Variablenwerte des Zustands verändert, - wobei zwei Aktionen als im Konflikt stehend bezeichnet werden, wenn ausgehend von einem beliebigen gültigen Zustand möglicher Variablenwerte, - an diesem Zustand beide Aktionen zulässig sind und die Aktionen verschiedene Zustände erzeugen wenn sie in unterschiedlicher Reihenfolge ausgeführt werden, oder - an diesem Zustand beide Aktionen zulässig sind und die Ausführung der einen Aktion die andere Aktion verunmöglicht, indem nach Ausführen der einen Aktion der Zustand der Bedingung zur Ausführung der anderen Aktion nicht mehr genügt, oder - an diesem Zustand genau eine der beiden Aktionen zulässig ist und in dem Zustand nach dem Ausführen der zulässigen Aktion die andere Aktion zulässig ist, - a condition that the variable values in the current state of the respective model must satisfy in order for the respective action to be permissible in that state, and - a number of instructions that specify how the action changes the variable values of the state, - where two actions are defined as be said to be in conflict if, starting from any valid state of possible variable values, - at that state both actions are legal and the actions produce different states when executed in different order, or - at this state both actions are legal and execution one action makes the other action impossible because, after the execution of the one action, the state of the condition for the execution of the other action is no longer sufficient, or - in this state exactly one of the two actions is permissible and in the state after the execution of the permissible action the other action is allowed

b) wobei für zumindest Teile der beiden zu vergleichenden Modelle jeweils eine Ereignisstruktur umfassend eine Anzahl an Ereignissen festgelegt wird, b) an event structure comprising a number of events is defined for at least parts of the two models to be compared,

- wobei ein eindeutiges initiales Ereignis festgelegt wird, das unter allen Ereignissen als - where a unique initial event is set, which among all events is defined as

erstes eintritt, first occurs

- wobei jedes nicht initiale Ereignis durch eine Aktion und eine Menge an vorangegange-- where each non-initial event is preceded by an action and a set of

nen Ereignissen eindeutig gekennzeichnet ist, n events is clearly marked,

- wobei, für den Eintritt eines Ereignisses das Auftreten aller Ereignisse der Menge der - where, for the occurrence of an event, the occurrence of all events of the set

vergangenen Ereignisse notwendig ist, was eine Kausalitätsrelation zwischen dem bedin-past events is necessary, which establishes a causal relationship between the conditional

genden Ereignis und den vorangegangen bedingten Ereignissen bildet, contingent event and the preceding contingent events,

- wobei jedes Ereignis eine direkte oder indirekte, insbesondere transitive, Kausalitätsre-- where each event has a direct or indirect, especially transitive, causality rule

lation zum Initialen Ereignis hat, relation to the initial event,

- wobei eine Konfliktrelation zwischen zwei Ereignissen festgelegt wird, wenn der Eintritt - whereby a conflict relation between two events is established when the occurrence

des einen Ereignisses das künftige Eintreten des jeweils anderen Ereignisses ausschließt, of one event excludes the future occurrence of the other event,

c) wobei Ereignisstrukturen iterativ aufgebaut werden, indem zumindest für Teile der beiden Modelle beginnend vom initialen Ereignis und dem initialen Zustand zulässige Aktionen ausgeführt werden, c) where event structures are constructed iteratively, by carrying out permissible actions at least for parts of the two models, starting with the initial event and the initial state,

- wobei ein neues Ereignis eingefügt wird und über eine Menge an Kausalitätsrelationen zu einer Menge an bestehenden Ereignissen hinzugefügt wird, wenn - where a new event is inserted and added to a set of existing events via a set of causality relations if

- die Ereignisse entsprechend der bestehenden Konfliktrelation gemeinsam auftreten können, - the events can occur together according to the existing conflict relation,

- zwischen keinen zwei Ereignissen der Menge eine direkte oder indirekte Kausalitätsrelation besteht, - there is no direct or indirect causal relationship between any two events in the set,

- die Aktion entsprechend dem neuen Ereignis zulässig ist in dem Zustand, der durch das Ausführen aller Aktionen der Ereignissen der Menge, einschließlich aller diesen Ereignissen entsprechend der Kausalitätsrelation vorangegangenen Ereignisse, entsteht, und - the action corresponding to the new event is permissible in the state resulting from the execution of all actions of the events of the set, including all events preceding these events according to the causality relation, and

- entweder die Menge an Ereignissen nur aus dem initialen Ereignis besteht, oder jede Aktion entsprechend der Menge an bestehenden Ereignissen jeweils mit der Aktion des einzufügenden Ereignisses in Konflikt steht, - either the set of events consists only of the initial event, or each action corresponding to the set of existing events conflicts with the action of the event to be inserted,

- nach Einfügen eines neuen Ereignisses eine neue Konfliktrelation zu einem zuvor eingefügten Ereignis hinzugefügt wird, - after inserting a new event, a new conflict relation is added to a previously inserted event,

- wenn die Ereignisse nicht in einer direkten oder indirekten Kausalitätsrelation stehen - if the events are not in a direct or indirect causal relationship

und and

- wenn, die Aktionen der beiden Ereignisse miteinander in Konflikt stehen, d) wobei eine erste Ereignisstruktur eines ersten Modells mit einer zweiten Ereignisstruktur eines zweiten Modells verglichen wird, um festzustellen, ob die erste Menge an möglichen Sequenzen von Aktionen die durch die erste Ereignisstruktur beschrieben wird, in der zweiten Menge an möglichen Sequenzen die durch die zweite Ereignisstruktur beschrieben wird, enthalten ist, - wobei zum Vergleich des ersten Modells mit dem zweiten Modell die erste Ereignisstruktur und die zweite Ereignisstruktur jeweils in konfliktfreie Teilereignisstrukturen getrennt werden, sodass sich derart eine erste und eine zweite Menge an konfliktfreien Teilereignisstrukturen ergeben, - if, the actions of the two events conflict with each other, d) comparing a first event structure of a first model with a second event structure of a second model to determine whether the first set of possible sequences of actions described by the first event structure is contained in the second set of possible sequences, which is described by the second event structure, - the first event structure and the second event structure being separated into conflict-free partial event structures in order to compare the first model with the second model, so that a first and result in a second set of conflict-free partial event structures,

- Indem jede Ereignisstruktur an jeder Konfliktrelation rekursiv in zwei Teilereignisstrukturen so lange geteilt wird, bis zwischen keinen zwei Ereignissen einer Teilereignisstruktur Konfliktrelationen bestehen, indem - By recursively dividing each event structure into two partial event structures at each conflict relation until there are no conflict relations between any two events of a partial event structure by

- Ereignisse, die direkt oder indirekt durch eines der an der jeweiligen Konfliktrelation beteiligten Ereignisse bedingt werden, jeweils nur einer der beiden Teilereignisstrukturen zugeordnet werden und alle anderen Ereignisse, außer dem jeweils anderen Ereignis der Konfliktrelation und die davon entsprechend der Kausalitätsrelation direkt oder indirekt bedingten Ereignisse, beiden Teilereignisstrukturen zugeordnet werden, - Events that are directly or indirectly caused by one of the events involved in the respective conflict relation are only assigned to one of the two partial event structures and all other events, except for the other event in the conflict relation and the events directly or indirectly caused by it according to the causality relation , are assigned to both partial event structures,

- wobei für jede Teilereignisstruktur der ersten Menge eine Teilereignisstruktur der zweiten Menge gesucht wird, deren Kausalitätsrelationen (KaR) und Ereignissen entsprechende Aktionen kompatibel sind, - where for each partial event structure of the first set, a partial event structure of the second set is searched for, whose causality relations (KaR) and actions corresponding to events are compatible,

- wobei Teilereignisstrukturen dann als kompatibel angesehen werden, - whereby sub-event structures are then regarded as compatible,

- wenn eine eindeutige Zuordnung von Ereignissen einer ersten Teilereignisstruktur zu Ereignissen einer zweiten Teilereignisstruktur gefunden wird, sodass Paare von ei-- If a clear assignment of events of a first partial event structure to events of a second partial event structure is found, so that pairs of a

nander zugeordneten Ereignissen jeweils dieselben zugeordneten Aktionen aufweisen, und - wenn sich durch Hinzufügen von allen Kausalitätsrelationen der zweiten Teilereignisstruktur zur ersten Teilereignisstruktur für die gemäß der Zuordnung entsprechenden Paare von Ereignissen der ersten Teilereignisstruktur keine Zyklen in der Kausalität der ersten Teilereignisstruktur ergeben, - wobei eine derartige Zuordnung durch eine Tiefensuche auf der ersten Teilereignisstruktur, mit hinzugefügten Kausalitätsrelationen der zweiten Teilereignisstruktur, Festlegung von Zuordnungen von einzelnen Ereignissen, gefunden wird indem - die getroffenen Zuordnungen systematisch so lange revidiert werden, bis entweder keine Zyklen mehr auftreten, oder - die Tiefensuche abgebrochen wird, da keine zyklusfreie Zuordnung möglich ist, wobei in diesem Fall die Unterschiedlichkeit der Ereignisstrukturen sowie der Modelle festgestellt wird, und - wobei im Falle, dass eine Kausalitätsrelation an einer Stelle hinzugefügt wurde, an der zuvor keine direkte oder indirekte Kausalitätsrelation bestand, die Teilereignisstrukturen nur dann als kompatibel betrachtet werden, wenn auch für eine neue Teilereignisstruktur, die durch Hinzufügen einer zusätzlichen Kausalitätsrelation in der entgegengesetzten Richtung wie die hinzugefügte Kausalitätsrelation entsteht, eine kompatible Teilereignisstruktur in der zweiten Menge an Teilereignisstrukturen gefunden wird, e) wobei das Ergebnis des Vergleichs der beiden Modelle als positiv betrachtet wird, wenn für jede Teilereignisstruktur der ersten Ereignisstruktur des ersten Modells eine kompatible Teilereignisstruktur der zweiten Ereignisstruktur des zweiten Modells gefunden wird. events assigned to each other each have the same assigned actions, and - if by adding all causality relations of the second partial event structure to the first partial event structure for the corresponding pairs of events of the first partial event structure according to the assignment, no cycles in the causality of the first partial event structure result, - wherein such Allocation through a depth-first search on the first partial event structure, with added causality relations of the second partial event structure, determination of assignments of individual events, is found by - the assignments made are systematically revised until either no more cycles occur, or - the depth-first search is terminated, since no cycle-free assignment is possible, in which case the difference in the event structures and the models is determined, and - in the event that a causality relation is added at one point was added, on which no direct or indirect causality relation previously existed, the sub-event structures are only considered compatible if, for a new sub-event structure resulting from the addition of an additional causality relation in the opposite direction to the added causality relation, a compatible sub-event structure in the second set of sub-event structures is found, e) the result of the comparison of the two models being considered positive if for each sub-event structure of the first event structure of the first model a compatible sub-event structure of the second event structure of the second model is found.

[0005] Diese Vorgehensweise ermöglicht es, zwei Modelle, die nichtdeterministische sowie nebenläufige Entscheidungen enthalten, effizient zu vergleichen. Das erfindungsgemäße Verfahren ermöglicht weiters durch die Erstellung von Ereignisstrukturen eine besonders kompakte und somit speicherplatzsparende Repräsentation der möglichen Abfolgen von Aktionen der zu vergleichenden Systeme und bringt vorteilhafterweise eine Zeitersparnis im Vergleich zu bekannten Methoden zum Vergleich von Modellen für z.B. physische Systeme, sodass rascher Aussagen über den Funktionszustand bzw. eventuelle Störungen in komplexen Steuerungsanlagen möglich sind. Durch die explizite Ausnutzung von Nebenläufigkeiten für bestimmte Arten von Modellen wesentlich effizienter. [0005] This procedure makes it possible to efficiently compare two models that contain non-deterministic and concurrent decisions. The method according to the invention also enables a particularly compact and thus memory-saving representation of the possible sequences of actions of the systems to be compared by creating event structures and advantageously saves time compared to known methods for comparing models for e.g. physical systems, so that statements about the Functional status or possible malfunctions in complex control systems are possible. Much more efficient by explicitly exploiting concurrency for certain types of models.

[0006] Um aus dem Vergleich zweier Modelle bzw. Systeme Testfälle zur Überprüfung von Systemen auf z.B. Störungen ableiten zu können, kann vorgesehen sein, dass in Schritt d) durch den Vergleich zweier Modelle Testfälle erstellt werden, wobei das erste Modell und das zweite Modell jeweils durch Modifikation des jeweils anderen Modells oder durch Modifikation eines gemeinsamen Vorgängermodells erstellt wurden, - wobei die Arten von Aktionen der Modelle zumindest Eingaben und Ausgaben umfassen, - wobei ein Testfall eine Sequenz von Eingaben und Ausgaben ist, in der Sequenz jeweils mindestens eine Eingabe und eine Ausgabe vorkommt und zu jeder Ein-/Ausgabe der Sequenz optional eine Liste an alternative Ausgaben, welche an dieser Stelle zulässig sind, aber nicht dem Testfall entsprechen, angeben werden kann, - wobei beim Vergleich der Modelle gemäß Schritt d) festgestellt wird, dass - Unterschiede in den Sequenzen von Eingaben und Ausgaben vorliegen, wobei in diesem Fall eine Teilereignisstruktur der Ereignisstruktur des ersten Modells vorhanden ist, die Sequenzen an Eingaben und Ausgaben beschreibt, die aufgrund der Ereignisstruktur des zweiten Modells nicht zulässig sind, - wobei ein Testfall aufgrund der Teilereignisstruktur des ersten Modells, die nicht zulässige Sequenzen an Eingaben und Ausgaben enthält, erstellt wird, um das Auftreten derartiger, nicht zulässiger, Sequenzen zu testen, und/oder ein Testfall aufgrund einer Teilereignisstruktur der Ereignisstruktur des zweiten Modells erstellt wird, um das Ausbleiben falscher Sequenzen zu testen, In order to be able to derive test cases for checking systems for faults, for example, by comparing two models or systems, it can be provided that in step d) test cases are created by comparing two models, the first model and the second model were each created by modifying the other model or by modifying a common predecessor model, - where the types of actions of the models include at least inputs and outputs, - where a test case is a sequence of inputs and outputs, in the sequence at least one input and an output occurs and for each input/output of the sequence, a list of alternative outputs that are permissible at this point but do not correspond to the test case can optionally be specified, - whereby when comparing the models according to step d) it is determined that - There are differences in the sequences of inputs and outputs, in which case a partial event structure of the event structure of the first model exists, which describes sequences of inputs and outputs that are not allowed because of the event structure of the second model, - whereby a test case is created because of the partial event structure of the first model, which contains sequences of inputs and outputs that are not allowed is used to test the occurrence of such impermissible sequences and/or a test case is created based on a partial event structure of the event structure of the second model in order to test the absence of incorrect sequences,

wobei die Teilereignisstruktur derart gewählt wird, dass sie Sequenzen an Aktionen ermöglicht, die möglichst lang identisch mit den nicht zulässigen Sequenzen an Aktionen sind, und - wobei Testfälle aufgrund von konfliktfreien Teilereignisstrukturen erstellt werden, indem Sequenzen von Aktionen entsprechend Ereignissen gesammelt werden, wobei gemäß den Kausalitätsrelationen bedingende Ereignisse vor bedingten Ereignissen gereiht werden, und diese mit möglichen alternativen Ausgaben, die Ereignissen entsprechen, die laut der Kausalitätsrelationen und/oder Konfliktrelationen der gesamten Ereignisstruktur, jeweils nach dem aktuellen Ereignis auftreten können, aber nicht Teil der Sequenz sind, zu Testfällen ergänzt werden, oder - für den Fall dass keine Unterschiede in den Sequenzen von Eingaben und Ausgaben vorliegen, kein Testfall erstellt wird. where the partial event structure is chosen in such a way that it enables sequences of actions that are identical to the impermissible sequences of actions for as long as possible, and - whereby test cases are created on the basis of conflict-free partial event structures by sequences of actions corresponding to events being collected, wherein according to the Events that cause causality relations are ranked before conditional events, and these are supplemented with possible alternative outputs that correspond to events that can occur after the current event according to the causality relations and/or conflict relations of the entire event structure, but are not part of the sequence or - if there are no differences in the sequences of inputs and outputs, no test case is created.

[0007] Um beispielsweise die korrekte Funktionsweise eines Systems mit Hilfe von Testfällen zu überprüfen, kann vorgesehen sein, dass bei der Ausführung eines Testfalls in einem zu testenden System die Eingaben dem System zugeführt werden und beobachtete Ausgaben mit dem Testfall verglichen werden, - wobei ein Testfall als korrekt ausgeführt betrachtet wird, wenn bei korrekter Abfolge der Sequenz an Eingaben, die erwartete Sequenz an Ausgaben beobachtet wird, - wobei der Testfall als nicht konklusiv ausgeführt betrachtet wird, wenn bei korrekter Abfolge der Sequenz an Eingaben, eine Ausgabe beobachtet wird, die von der Sequenz abweicht, aber in der optionalen Liste an alternativen Ausgaben vorhanden ist, - wobei der Testfall als fehlgeschlagen betrachtet wird, wenn bei korrekter Abfolge der Sequenz an Eingaben, eine Ausgabe beobachtet wird, die von der Sequenz abweicht, und nicht in der optionalen Liste an alternativen Ausgaben vorhanden ist. In order to check, for example, the correct functioning of a system using test cases, it can be provided that when a test case is executed in a system to be tested, the inputs are fed to the system and observed outputs are compared with the test case, - with a Test case is considered to have been correctly executed if, given the correct order of the sequence of inputs, the expected sequence of outputs is observed, - whereby the test case is considered to be inconclusively executed if, given the correct order of the sequence of inputs, an output is observed which out-of-sequence but is present in the optional list of alternative outputs, - where the test-case is considered failed if, with the sequence of inputs correctly sequenced, an out-of-sequence output is observed, and not in the optional List of alternative editions is available.

[0008] Diese Vorgehensweise ermöglicht vorteilhafterweise z.B. die Überprüfung, ob bei einem System auf vorgenommene Eingaben die gemäß einem vorgegebenen Testfall erwarteten Ausgaben erfolgen, sodass derart die korrekte Funktionsweise des Systems überprüft werden kann. Ein derartiger Test kann beispielsweise auf einem Steuerungssystem oder auch auf einem physischen System durchgeführt werden, wobei beobachtet wird, wie das System reagiert, d.h. welche Ausgaben auf die Eingaben der Sequenz der ausgeführten Testfälle erfolgen. This procedure advantageously makes it possible, for example, to check whether the inputs made in a system produce the expected outputs according to a specified test case, so that the correct functioning of the system can be checked in this way. Such a test can be carried out, for example, on a control system or on a physical system, whereby it is observed how the system reacts, i.e. what outputs are made to the inputs of the sequence of executed test cases.

[0009] Für eine einfache Erstellung zweier zu vergleichender Modelle für die Ermittlung von Test-[0009] For a simple creation of two models to be compared for the determination of test

fällen kann vorgesehen sein, dass Testfälle erstellt werden durch, cases it can be provided that test cases are created by

- gezieltes Einsetzen von Fehlern in einem Modell, insbesondere Mutation des Modells, und/oder - targeted use of errors in a model, in particular mutation of the model, and/or

- Weiterentwicklung eines Modells und/oder - Further development of a model and/or

- unabhängige Entwicklung eines Modells auf mehrere Arten und/oder - independent development of a model in several ways and/or

- verschiedene Abstraktionsebenen eines Modells. - Different levels of abstraction of a model.

[0010] Eine einfache Modellierung von Zwischenschritten, die von einem System ausgeführt werden, ohne dass diese eine nach außen sichtbare Veränderung des Verhaltens des Systems nach sich ziehen, kann erzielt werden, wenn A simple modeling of intermediate steps that are executed by a system without these entailing an externally visible change in the behavior of the system can be achieved if

- die Arten von Aktionen der Modelle, zusätzlich zu Eingaben und Ausgaben, interne Aktionen umfassen, - the types of actions of the models, in addition to inputs and outputs, include internal actions,

- wobei interne Aktionen solche Aktionen angeben, die das System in einen neuen Zustand bringen, ohne dabei von außerhalb des Systems erkennbar und/oder steuerbar zu sein, und - where internal actions specify actions that bring the system to a new state without being detectable and/or controllable from outside the system, and

- wobei beim Aufbau von Ereignisstrukturen keine Ereignisse für interne Aktionen erstellt werden, insbesondere deren Effekte in alle auf eine interne Aktion folgenden Ereignisse, die Einbzw. Ausgaben entsprechen, einfließen. - whereby when building event structures, no events are created for internal actions, in particular their effects in all events following an internal action, which include or Expenditures correspond to flow in.

[0011] Auf diese Weise können derartige Systeme einfach und kompakt als Modelle repräsentiert werden, wobei die Modellerstellung gleichzeitig einfach durchzuführen ist. [0011] In this way, such systems can be represented as models in a simple and compact manner, the model creation being easy to carry out at the same time.

[0012] Eine weitere Beschleunigung des Vergleichs zweier Modelle kann erzielt werden, wenn der Vergleich der ersten Ereignisstruktur des ersten Modells mit der zweiten Ereignisstruktur des zweiten Modells gemäß Schritt d) nach einer vorgegebenen Anzahl von Ereignissen abgebrochen A further acceleration of the comparison of two models can be achieved if the comparison of the first event structure of the first model with the second event structure of the second model according to step d) is terminated after a predetermined number of events

wird. will.

[0013] Eine weitere Beschleunigung des Vergleichs zweier Modelle durch eine gezielte Auswahl der zu vergleichenden Modellteile kann erzielt werden, wenn - beim Aufbau von Ereignisstrukturen gemäß Schritt b) ein zu vergleichendes Modell, insbesondere beide zu vergleichenden Modelle, partiell in eine Ereignisstruktur überführt wird, wobei partielle Ereignisstrukturen aufgebaut werden die, beginnend von einem vorgegebenen Zustand, teilweisen Ausführungen des Modells entsprechen, bei denen alle möglichen Ausgaben des Systems erfolgt sind und eine Eingabe erforderlich macht, um weitere Ausgaben des Modells zu erhalten, und - und diese Ereignisstrukturen Teile eines ersten Modells, und Teile eines zweiten Modells, insbesondere Teilen einer Modifikation des ersten Modells oder durch Modifikation eines gemeinsamen Vorgängermodells erstellten Modells, repräsentieren, die den jeweiligen partiellen Ereignisstrukturen, beginnend von einem gemeinsamen Zustand, entsprechen, - wobei nur die Teilmenge aller Sequenzen von Aktionen nach Unterschieden untersucht werden, die in den Ereignisstrukturen enthalten sind. A further acceleration of the comparison of two models by a targeted selection of the model parts to be compared can be achieved if - when building event structures according to step b), a model to be compared, in particular both models to be compared, is partially converted into an event structure, whereby partial event structures are built which, starting from a given state, correspond to partial executions of the model in which all possible outputs of the system have occurred and require an input to obtain further outputs of the model, and - and these event structures are parts of a first Model, and parts of a second model, in particular parts of a modification of the first model or model created by modification of a common predecessor model, which correspond to the respective partial event structures, starting from a common state, - only the subset of all sequences of actions are examined for differences contained in the event structures.

[0014] Eine effiziente Auswahl von zu vergleichenden Modellteilen kann sichergestellt werden, wenn die Auswahl der zu untersuchenden Teilmengen von Sequenzen an Eingaben erfolgt durch - Heuristiken und/oder An efficient selection of model parts to be compared can be ensured if the selection of the subsets of input sequences to be examined is carried out by heuristics and/or

- zufällige Auswahl und/oder - random selection and/or

- komplette Auswahl. - complete selection.

[0015] Eine erhöhte Effizienz des Vergleichs zweier Modelle kann erzielt werden, indem beim Aufbau von Ereignisstrukturen gemäß Schritt c) eine statische Analyse von Zugriffen auf Variablen herangezogen wird, - wobei zwei Aktionen als in Konflikt stehend angenommen werden, wenn die eine Aktion eine Variable verwendet, der die andere Aktion einen Wert zuweist, oder beide Aktionen derselben Variable einen Wert zuweisen, und - wobei Information über Zugriffe auf Variablen einer Aktion herangezogen werden, um die Menge an anderen Aktionen einzuschränken, deren Zulässigkeit sich nach der Ausführung der Aktion verändert haben kann, - wobei sich die Zulässigkeit einer ersten Aktion durch die Ausführung einer zweiten Aktion nur dann ändern kann, wenn die Bedingung zur Zulässigkeit der ersten Aktion eine Variable beinhaltet, die von der zweiten Aktion verändert wird, - wobei insbesondere eine Variable nur dann von einer Aktion verändert werden kann, wenn die Ausführung der Aktion der Variable einen Wert zuweist, - wobei beim Aufbau von Ereignisstrukturen nach dem Einfügen eines Ereignisses entsprechend einer Aktion lediglich für die derart eingeschränkte Menge an Aktionen, deren Zulässigkeit sich geändert haben kann, und alle Ereignisse, die mit dem eingefügten Ereignis in Konflikt stehen, überprüft wird, ob ein neues Ereignis mit einer solchen Aktion eingefügt wird. An increased efficiency of the comparison of two models can be achieved by using a static analysis of accesses to variables in the construction of event structures according to step c), - where two actions are assumed to be in conflict if one action is a variable that assigns a value to the other action, or both actions assign a value to the same variable, and - where information about accesses to variables of an action is used to restrict the set of other actions whose permissibility has changed after the action has been executed can, - whereby the admissibility of a first action can only change through the execution of a second action if the condition for the admissibility of the first action contains a variable that is changed by the second action, - whereby in particular a variable can only be changed by a Action can be changed when executing the action of the variable e assigns a value, - whereby when building event structures, after inserting an event corresponding to an action, it is checked only for the so restricted set of actions, the permissibility of which may have changed, and all events that conflict with the inserted event, whether a new event with such an action is inserted.

[0016] Für eine vereinfachte Modellierung von beispielsweise objektorientierten Softwaresystemen kann vorgesehen sein, beim Aufbau von Ereignisstrukturen gemäß Schritt c) eine objektgenaue statische Analyse von Zugriffen auf Variablen herangezogen wird, For simplified modeling of, for example, object-oriented software systems, an object-specific static analysis of accesses to variables can be used when setting up event structures according to step c),

- wobei eine Objektkapselung des jeweils betrachteten Modells verwendet wird, um mehrere Instanzen eines gleichen gemeinsamen Objekttyps zu erstellen, - where an object encapsulation of the model under consideration is used to create multiple instances of the same common object type,

- wobei zur Analyse von Zugriffen auf Variablen zwischen gleichen Variablen verschiedener Instanzen desselben Objekttyps unterschieden wird, indem dynamisch zum Ausführungszeitpunkt die Instanz einer Variable mit dem jeweiligen Objekttyp mitgeführt wird. - A distinction is made between the same variables of different instances of the same object type for the analysis of accesses to variables, in that the instance of a variable with the respective object type is carried along dynamically at the time of execution.

[0017] Eine einfache Modellerstellung für physische Systeme kann erzielt werden, wenn [0017] Ease of modeling physical systems can be achieved if

- die Zustände jedes Modells durch Messungen von Zustandsgrößen des jeweils durch das Modell repräsentierten Systems angegeben werden und - the states of each model are indicated by measurements of state variables of the system represented by the model, and

- durch die Ausführung der Aktionen jedes Modells die Veränderung eines Aktuators des jeweiligen Systems bewirkt wird. - the execution of the actions of each model causes the change of an actuator of the respective system.

[0018] Um zu überprüfen, ob bei einem physischen System Testfälle korrekt ausgeführt werden [0018] To verify that test cases are correctly executed on a physical system

und beispielsweise auf vorgegebene Eingaben die korrekten, an einem Referenzsystem beobachteten, Ausgaben erfolgen, kann vorgesehen sein, dass ein auf Grundlage eines Referenzmodells erstelltes System untersucht wird, indem and, for example, the correct outputs observed on a reference system follow given inputs, it can be provided that a system created on the basis of a reference model is examined by

- durch Mutation des Referenzmodell ein weiteres Modell erzeugt wird, - another model is generated by mutation of the reference model,

- dass erfindungsgemäß Testfälle durch Vergleich des weiteren Modells mit dem Referenzmodell erstellt werden, - that, according to the invention, test cases are created by comparing the further model with the reference model,

- das System anhand der so erzeugten Testfälle erfindungsgemäß getestet wird, wobei insbesondere vorgesehen ist, dass - The system is tested according to the invention using the test cases generated in this way, it being provided in particular that

- bei der Ausführung eines Testfalls im zu testenden System die Eingaben dem System zugeführt werden, indem die Sensoren des Systems mit physikalischen Größen beaufschlagt werden, für die sie sensitiv sind, - when executing a test case in the system to be tested, the inputs are supplied to the system by subjecting the system's sensors to physical quantities to which they are sensitive,

- wobei die Ausgaben des Systems festgestellt werden, indem überprüft wird, ob ein Aktuator eine Aktion ausführt, und - where the outputs of the system are determined by checking whether an actuator performs an action, and

- beobachtete Ein- und Ausgaben mit dem jeweiligen Testfall verglichen werden. - Observed inputs and outputs are compared with the respective test case.

[0019] Weichen beispielsweise trotz korrekter Eingaben in der Durchführung der jeweiligen Testfälle die tatsächlichen Ausgaben von den erwarteten Ausgaben ab, ist dies ein Hinweis darauf, dass das untersuchte physische System, z.B. die getestete Steuerelektronik, Fehler aufweist, die zu beheben sind, um eine störungs- und unfallfreie Regelung der jeweils gesteuerten Anlage oder Maschine zu gewährleisten. Deviate, for example, despite correct inputs in the implementation of the respective test cases, the actual outputs from the expected outputs, this is an indication that the physical system examined, such as the tested electronic control system, has errors that need to be corrected to a to ensure trouble-free and accident-free regulation of the respectively controlled system or machine.

[0020] Eine Ableitung eines zuverlässigen Referenzmodells kann gewährleistet werden, wenn das Referenzmodell aus der Beobachtung eines physischen Referenzsystems gelernt wird. A derivation of a reliable reference model can be guaranteed if the reference model is learned from the observation of a physical reference system.

[0021] Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen. Further advantages and refinements of the invention result from the description and the accompanying drawings.

[0022] Die Erfindung ist im Folgenden anhand von besonders vorteilhaften, aber nicht einschränkend zu verstehenden Ausführungsbeispielen in den Zeichnungen schematisch dargestellt und wird unter Bezugnahme auf die Zeichnungen beispielhaft beschrieben. The invention is illustrated below with reference to particularly advantageous, but not to be understood as limiting exemplary embodiments in the drawings and is described by way of example with reference to the drawings.

[0023] Im Folgenden zeigen schematisch: The following shows schematically:

[0024] Fig. 1 den initialen Zustand eines ersten Modells, 1 shows the initial state of a first model,

[0025] Fig. 2 bis Fig. 13 den Aufbau einer Ereignisstruktur für das erste Modell. [0026] Fig. 14a die Ereignisstruktur eines ersten Modells, Figures 2 to 13 show the structure of an event structure for the first model. 14a the event structure of a first model,

[0027] Fig. 14b die Ereignisstruktur eines zweiten Modells Figure 14b shows the event structure of a second model

[0028] Fig. 15, Fig. 16 die Teilereignisstrukturen des ersten Modells aus Fig. 14a, [0029] Fig. 17 bis Fig. 22 die Teilereignisstrukturen des zweiten Modells aus Fig. 14b, Figures 15, 16 show the partial event structures of the first model of Figure 14a, Figures 17 to 22 show the partial event structures of the second model of Figure 14b,

[0030] Fig. 23 bis Fig. 28 den Vergleich der Ereignisstrukturen des ersten und des zweiten Modells aus Fig. 14a bzw. Fig. 14b, Figures 23 to 28 compare the event structures of the first and second models of Figures 14a and 14b, respectively

[0031] Fig. 29 bis Fig. 38 den Vergleich zweier Ereignisstrukturen mit Revidieren von Zuord-Figures 29 to 38 compare two event structures with revising assignment

nungen, ments

[0032] Fig. 39 ein Beispiel einer Ereignisstruktur mit internen Aktionen, 39 shows an example of an event structure with internal actions,

[0033] Fig. 40 bis Fig. 42 das Reduzieren der Ereignisstruktur aus Fig. 39 um die internen Aktionen, 40 to 42 the reduction of the event structure from FIG. 39 by the internal actions,

[0034] Fig. 43 ein Beispiel einer Ereignisstruktur mit internen Aktionen und Konfliktrelationen, 43 shows an example of an event structure with internal actions and conflict relations,

[0035] Fig. 44, Fig. 45 das Auflösen von Konfliktrelationen bei der Ereignisstruktur aus Fig. 43, 44, 45 the resolution of conflict relations in the event structure from FIG. 43,

[0036] Fig. 46 bis Fig. 48 ein Beispiel für den partiellen Aufbau von Ereignisstrukturen, 46 to 48 an example of the partial structure of event structures,

[0037] Fig. 49 bis Fig. 54 ein Beispiel einer statischen Analyse für den Aufbau von Ereignisstrukturen, Figures 49 to 54 show an example of a static analysis for the construction of event structures,

[0038] Fig. 55 ein Beispiel einer objektgenauen statischen Analyse für den Aufbau von Ereignisstrukturen, 55 shows an example of an object-precise static analysis for the construction of event structures,

[0039] Fig. 56, Fig. 57 Beispiel für das Erstellen von Testfällen durch Mutation eines Modells. Figures 56, 57 Example of creating test cases by mutating a model.

[0040] Im Folgenden wird ein erfindungsgemäßes Verfahren zum Vergleich zweier Modelle anhand eines für eine Bahnkreuzung erstellten Modells M beispielhaft beschrieben. In the following, a method according to the invention for comparing two models is described by way of example using a model M created for a railroad crossing.

MODELL M MODEL M

[0041] Im gezeigten Ausführungsbeispiel werden eine Bahnkreuzung sowie die ihr zugehörigen Sicherheitselemente modelliert. Im Beispiel enthält das Modell M der Bahnkreuzung als Sicherheitselemente einen Schranken, und ein Warnlicht für ankommende Autos, sowie ein Haltesignal, das ankommenden Zügen die Durchfahrt nur dann ermöglicht, wenn die Schranke unten und das Warnlicht an ist, vorhanden. In the exemplary embodiment shown, a railway crossing and the security elements associated with it are modeled. In the example, the model M of the level crossing contains a barrier and a warning light for oncoming cars as safety elements, as well as a stop signal that only allows incoming trains to pass if the barrier is down and the warning light is on.

Außerdem wird die Situation modelliert, dass sich Geröll auf dem Gleis befindet. In diesem Fall ist keine Durchfahrt des Zuges erlaubt. In addition, the situation is modeled that there is rubble on the track. In this case, the train is not allowed to pass through.

[0042] Zum Vergleich zweier Modelle M wird erfindungsgemäß jedes der Modelle M jeweils durch eine Anzahl von Variablen V und eine Anzahl an Aktionen A beschrieben. Dabei ist jeder Variable V jeweils eine Anzahl an möglichen Werten W zugeordnet, wodurch sich eine Menge an Zuständen ergibt, in der jede Variable V jeweils genau einen dieser möglichen Werte W aufweist. Weiters besitzt jede Variable V genau einen initialen Zustand |. In order to compare two models M, each of the models M is described according to the invention by a number of variables V and a number of actions A. In this case, each variable V is assigned a number of possible values W, which results in a set of states in which each variable V has exactly one of these possible values W in each case. Furthermore, each variable V has exactly one initial state |.

[0043] Jedes Modell M beschreibt die Ausführung von, möglicherweise unendlichen, Sequenzen seiner Aktionen A, wobei es zu jeder Zeit der Ausführung des Modells M einen aktuellen Zustand gibt. Zu Beginn ist dies der initiale Zustand I, der durch auf diesen folgende Aktionen A verändert wird. Jede Aktion A wird dabei beschrieben durch eine Anzahl an Bedingungen an Variablenwerten W entsprechend dem aktuellen Zustand des Modells M, die zur Ausführung einer Aktion A im jeweils aktuellen Zustand erfüllt sein müssen, und welche durch propositional-logische Verknüpfungen (z.B. Konjunktion, Disjunktion, (Bi-)lmplikation, Negation) verknüpft werden, sowie eine Anzahl an Effekten, die angeben, wie eine jeweils ausgeführte Aktion A die Variablenwerte W des Zustands verändert. Die Effekte können auch leer sein, was für Aktionen A genutzt werden kann, deren Ausführung lediglich die Erfüllung einer Bedingung signalisiert. Each model M describes the execution of, possibly infinite, sequences of its actions A, with there being a current state at any time during the execution of the model M. At the beginning, this is the initial state I, which is changed by actions A that follow it. Each action A is described by a number of conditions on variable values W according to the current state of the model M, which must be fulfilled in order to carry out an action A in the current state, and which are linked by propositional logic (e.g. conjunction, disjunction, ( Bi-)implication, negation) are linked, as well as a number of effects that indicate how an action A that is carried out changes the variable values W of the state. The effects can also be empty, which can be used for actions A, the execution of which only signals the fulfillment of a condition.

[0044] Im gezeigten Ausführungsbeispiel umfasst das für die Bahnkreuzung erstellte Modell M die folgenden Variablen V: In the exemplary embodiment shown, the model M created for the level crossing includes the following variables V:

[0045] Tabelle 1: Variablen V des Modells M Table 1: Variables V of the model M

Variable V Mögliche Variablenwerte W |Initialer Wert I Position des Zuges Pos Fern / Nah / Fern Variable V Possible variable values W |Initial value I Position of the train Pos Far / Near / Far

Auf der Kreuzung (Kreuz) Lichtsignal L True / False False Schrankenposition S Winkel von 0 bis 90 Grad 90 Stopsignal für Zug Stop True / False True Geröll auf der Kreuzung G True / False False On the crossing (cross) Light signal L True / False False Barrier position S Angle from 0 to 90 degrees 90 stop signal for train stop True / False True Rubble on the crossing G True / False False

[0046] In Tabelle 2 sind die Aktionen A des Modells M der Bahnkreuzung beschrieben. Eine Aktion A umfasst im gezeigten Ausführungsbeispiel jeweils zumindest eine Bedingung und einen Effekt, der eintritt, wenn die Bedingung erfüllt ist und die Aktion ausgeführt wird. Die Bedingungen und Effekte sind dabei der Einfachheit halber in einem Pseudocode angegeben, der jedoch keine bestimmte Programmiersprache implizieren soll. Zum Beispiel ist die Bedingung der Aktion LAn „Pos==Nah“, also dass das Zug kurz vor der Kreuzung ist, und der Effekt ist L:=True, also dass In Table 2, the actions A of the model M of the level crossing are described. In the exemplary embodiment shown, an action A comprises at least one condition and one effect that occurs when the condition is met and the action is executed. For the sake of simplicity, the conditions and effects are specified in a pseudocode, which, however, is not intended to imply a specific programming language. For example, the condition of the LAn action is "Pos==Nah", meaning that the train is about to cross, and the effect is L:=True, meaning that

der Variable Lichtsignal L den Wert „True" zugeordnet wird. [0047] Tabelle 2: Aktionen des Modells M the variable light signal L is assigned the value "True". [0047] Table 2: Actions of the model M

Aktion A | Aktionstyp |Beschreibung Bedingung Effekt Action A | Action Type | Description Condition Effect

ZNah Eingabe Der Zug nähert sich der|Pos==Fern Pos:=Nah Kreuzung ZNah Input The train is approaching the|Pos==Far Pos:=Near crossing

ZKreuz Eingabe Der Zug fährt über die | Pos==Nah && Pos:=Kreuz Z cross input The train travels over the | Pos==Near && Pos:=Cross

Kreuzung, sofern das | Stop==False Stopsignal aus ist Intersection provided the | Stop==False Stop signal is off

ZFern Eingabe Der Zug fährt aus der | Pos==Kreuz Pos:=Fern Kreuzung aus ZFern input The train leaves the | Pos==Cross Pos:=Far Crossing off

GKreuz Eingabe Geröll gelangt auf die |G==False G:=True Bahnkreuzung GCross Input Rubble gets to the |G==False G:=True level crossing

LAn Ausgabe Das Warnlicht geht an, so- | Pos==Nah && L:=True bald sich ein Zug nähert |L==False LAn output The warning light comes on as- | Pos==Near && L:=True soon a train is approaching |L==False

LAus Ausgabe Das Warnlicht geht aus so- | Pos==Fern && L:=False LOff Output The warning light goes out as- | Pos==Remote && L:=False

bald sich der Zug entfernt | Stop==True && und das Stopsignal des |L==True soon the train takes off | Stop==True && and the stop signal of the |L==True

Zugs an ist train is on

SUnten Ausgabe Die Schranke schließt sich | Pos==Nah && S:=0 sobald sich ein Zug nähert | S==90 SBelow Output The barrier is closing | Pos==Near && S:=0 as soon as a train approaches | S==90

SOben Ausgabe Die Schranke Öffnet sich | Pos==Fern && S:=90 SOben Edition The barrier opens | Pos==Remote && S:=90

sobald sich der Zug ent-| Stop==True && fernt und das Stopsignal | S==0 des Zugs an ist as soon as the train departs-| Stop==True && removes and the stop signal | S==0 of the train is on

Stop Ausgabe Das Stopsignal für den | Pos==Fern && Stop:= True Zug geht an sobald sich | Stop==False der Zug entfernt Stop output The stop signal for the | Pos==Fern && Stop:= True Train starts as soon as | Stop==False the move removed

Go Ausgabe Das Stopsignal für den | Pos==Nah && Stop:=False Zug geht aus sobald sich | Stop== True && der Zug annähert, der|S==0 && Schranken geschlossen, | L==True && das Warnlicht an und kein | G==False Geröll auf der Kreuzung ist Go output The stop signal for the | Pos==Nah && Stop:=False Train stops as soon as | Stop== True && the train is approaching|S==0 && barriers closed, | L==True && the warning light on and no | G==False Scree on the crossing is

[0048] Im gezeigten Ausführungsbeispiel handelt es sich bei den Aktionen A um Eingaben und Ausgaben, wobei es bei einem erfindungsgemäßen Verfahren jedoch nicht zwingend ist, eine derartige Kategorisierung von Aktionstypen vorzunehmen. In the exemplary embodiment shown, the actions A are inputs and outputs, although in a method according to the invention it is not mandatory to undertake such a categorization of action types.

[0049] Das Modell M der Bahnkreuzung beschreibt die Ausführung der in Tabelle 2 angeführten Aktionen A in einer Sequenz, die weitergeführt werden kann, solange es eine zulässige Aktion A gibt. Die Aktionen A verändern zunächst den vorgegebenen, initialen Zustand | des Modells M (siehe Tabelle 2), in dem der Zug von der Bahnkreuzung entfernt (Pos:Fern), das Lichtsignal L aus (L:False), der Schranken geöffnet (S:90) und das Stopsignal für den Zug angeschaltet ist (Stop: True) und kein Geröll G auf den Gleisen liegt (G:False). The model M of the railway crossing describes the execution of the actions A listed in Table 2 in a sequence that can be continued as long as there is a permissible action A. The actions A first change the specified, initial state | of model M (see Table 2) in which the train is removed from the level crossing (Pos:Fern), the light signal L is off (L:False), the barrier is open (S:90) and the stop signal for the train is on ( Stop: True) and there is no debris G on the tracks (G:False).

[0050] Folgend auf den initialen Zustand | ist im gezeigten Modell M als Aktion A lediglich möglich (siehe Tabelle 2, Fig. 2 und Fig. 3), dass sich der Zug dem Bahnschranken nähert (ZNah), da nur für diese Aktion alle Bedingungen erfüllt sind, nämlich konkret, dass der Zug vom Bahnschranken entfernt ist (Pos==Fern). Für alle weiteren möglichen Aktionen des Systems sind zumindest Teile der jeweiligen Bedingungen nicht erfüllt. Als weitere Aktion folgend auf den initialen Zustand | wäre zwar ebenfalls möglich, dass Geröll (GKreuz) auf die Bahnkreuzung gelangt, was aber erst zu einem späteren Zeitpunkt erläutert werden soll. Following the initial state | In the model M shown, the only possible action A (see Table 2, Fig. 2 and Fig. 3) is that the train approaches the level crossing (ZNah), since all the conditions are only met for this action, specifically that the train is away from the level crossing (Pos==Fern). For all other possible actions of the system, at least parts of the respective conditions are not met. As a further action following the initial state | It would also be possible for rubble (GKreuz) to get onto the level crossing, but this will only be explained at a later point in time.

[0051] Nachdem die weiteren Aktionen LAn, also das Annähern des Zugs an die Kreuzung, After the further actions LAn, ie the approaching of the train to the crossing,

SUnten, also das Schließen des Schrankens, und Go, also das Ausschalten des Stop Signals, ist der Zustand des Modells, [Pos:Nah, L:True, S:0, Stop:False, G:False], d.h., dass der Zug der Bahnkreuzung nahe ist, das Lichtsignal L an, der Schranken geschlossen und das Stopsignal für den Zug ausgeschaltet ist und kein Geröll auf den Gleisen liegt (G:False). SDown, ie the closing of the barrier, and Go, ie the stop signal is switched off, is the state of the model, [Pos:Near, L:True, S:0, Stop:False, G:False], ie that the train is close to the level crossing, the light signal L is on, the barriers are closed and the stop signal for the train is off and there is no debris on the tracks (G:False).

[0052] Derselbe Zustand wird erreicht, wenn anschließend an das Annähern des Zugs an die Kreuzung zunächst der Schranken geschlossen und anschließend das Lichtsignal angeschaltet wird, also die Sequenz durchgeführt wird. [0053] Nach der Sequenz ist der Zustand des Modells ident zum initialen Zustand |, weswegen die Sequenz theoretisch unendlich lang fortgesetzt werden kann. EREIGNISSTRUKTUREN ES [0054] Um einen Vergleich zweier Modelle M schnell und mit wenig Rechenaufwand durchführen zu können, wird erfindungsgemäß für jedes der Modelle M jeweils eine Ereignisstruktur ES umfassend eine Anzahl von Ereignissen E festgelegt. Dabei gibt es jeweils ein eindeutiges initiales Ereignis El, das unter allen Ereignissen E als erstes eintritt und kennzeichnet, dass noch kein anderes Ereignis E eingetreten ist. Jedes Ereignis E, das vom initialen Ereignis El verschieden ist, ist durch eine Aktion A und einer Menge an vorangegangenen Ereignissen E eindeutig gekennzeichnet. [0055] Dabei werden Kausalitätsrelationen KaR zwischen einem bedingenden Ereignis und einem bedingten Ereignis festgelegt, wenn für den Eintritt des bedingten Ereignisses das Auftreten des bedingenden Ereignisses notwendig ist. In den folgenden Abbildungen sind derartige Kausalitätsrelationen KaR als durchgehende Pfeile dargestellt, die angeben, dass, damit das Ereignis E am Ende des Pfeils eintreten kann, das Ereignis E am Anfang des Pfeils eingetreten sein muss. Für jedes Ereignis E sind dabei eine oder mehrere Kausalitätsrelationen KaR möglich. [0056] Konfliktrelationen KoR werden zwischen zwei Ereignissen E festgelegt, wenn der Eintritt des einen Ereignisses E das künftige Eintreten des jeweils anderen Ereignisses E ausschließt. In den Figuren sind derartige Konfliktrelationen KoR als strichlierte Linien dargestellt, die angeben, dass, wenn eines der beiden durch eine derartige Linie verbundenen Ereignisse E eingetreten ist, dass jeweils andere nicht eintreten darf. Eine derartige Konfliktrelation KoR ist dabei nicht gerichtet. [0057] Es kann dabei jedem Ereignis E ein Zustand zugeordnet werden, der entsteht, indem beginnend vom initialen Zustand | Aktionen, entsprechend dem Ereignis E sowie Ereignissen, die direkt oder indirekt das Ereignis E durch Kausalitätsrelationen KaR bedingen, in einer beliebigen Reihenfolge ausgeführt werden, sodass Aktionen entsprechend bedingenden Ereignissen vor Aktionen entsprechend den bedingten Ereignissen ausgeführt werden. Dieser Zustand wird als der dem Ereignis zugeordnete Zustand bezeichnet. [0058] Weiters kann einer Menge an Ereignissen, zwischen denen keine Konfliktrelation KoR vorhanden ist und die keine direkt oder indirekt bedingenden Ereignisse haben, ein Zustand zugeordnet werden, der entsteht, indem Aktionen entsprechend allen Ereignissen der Menge, sowie allen Ereignissen, die ein Ereignis der Menge direkt oder indirekt durch Kausalitätsrelationen KaR bedingen, in beliebiger Reihenfolge ausgeführt werden, sodass Aktionen entsprechend bedingenden Ereignissen vor Aktionen entsprechend den bedingten Ereignissen ausgeführt werden. Dieser Zustand wird als der der Menge an Ereignissen zugeordnete Zustand bezeichnet. [0059] Im gezeigten Ausführungsbeispiel werden Ereignisstrukturen ES, wie in Tabelle 3 angegeben, dargestellt: [0060] Tabelle 3: Ereignisse E des Modells M The same state is reached when, following the approach of the train to the crossing, the barriers are first closed and then the light signal is switched on, ie the sequence is carried out. After the sequence, the state of the model is identical to the initial state |, which is why the sequence can theoretically be continued indefinitely. EVENT STRUCTURES ES In order to be able to compare two models M quickly and with little computing effort, an event structure ES including a number of events E is defined for each of the models M according to the invention. There is in each case a unique initial event El, which occurs first among all events E and indicates that no other event E has occurred. Each event E, which is different from the initial event El, is clearly identified by an action A and a set of previous events E. [0055] In this context, causality relations KaR are defined between a conditional event and a conditional event if the occurrence of the conditional event is necessary for the occurrence of the conditional event. In the following figures, such causality relations KaR are shown as solid arrows, which indicate that in order for event E to occur at the end of the arrow, event E at the beginning of the arrow must have occurred. One or more causality relations KaR are possible for each event E. Conflict relations KoR are defined between two events E if the occurrence of one event E excludes the future occurrence of the other event E. Such conflict relations KoR are shown in the figures as dashed lines, which indicate that when one of the two events E connected by such a line has occurred, the other must not occur. Such a conflict relation KoR is not directed. It can be assigned to each event E, a state that arises by starting from the initial state | Actions corresponding to the event E and events that directly or indirectly condition the event E through causality relations KaR can be executed in any order, so that actions corresponding to the conditional events are executed before actions corresponding to the conditional events. This state is referred to as the state associated with the event. Furthermore, a state can be assigned to a set of events between which there is no conflict relation KoR and which have no directly or indirectly causing events, which arises by actions corresponding to all events of the set, as well as all events that an event of the set caused directly or indirectly by causality relations KaR, can be executed in any order such that actions corresponding to conditional events are executed before actions corresponding to the conditional events. This state is referred to as the state associated with the set of events. In the exemplary embodiment shown, event structures ES are shown as specified in Table 3: Table 3: Events E of model M

[0053] Nach der Sequenz ist der Zustand des Modells ident zum initialen Zustand |, weswegen die Sequenz theoretisch unendlich lang fortgesetzt werden kann. EREIGNISSTRUKTUREN ES [0054] Um einen Vergleich zweier Modelle M schnell und mit wenig Rechenaufwand durchführen zu können, wird erfindungsgemäß für jedes der Modelle M jeweils eine Ereignisstruktur ES umfassend eine Anzahl von Ereignissen E festgelegt. Dabei gibt es jeweils ein eindeutiges initiales Ereignis El, das unter allen Ereignissen E als erstes eintritt und kennzeichnet, dass noch kein anderes Ereignis E eingetreten ist. Jedes Ereignis E, das vom initialen Ereignis El verschieden ist, ist durch eine Aktion A und einer Menge an vorangegangenen Ereignissen E eindeutig gekennzeichnet. [0055] Dabei werden Kausalitätsrelationen KaR zwischen einem bedingenden Ereignis und einem bedingten Ereignis festgelegt, wenn für den Eintritt des bedingten Ereignisses das Auftreten des bedingenden Ereignisses notwendig ist. In den folgenden Abbildungen sind derartige Kausalitätsrelationen KaR als durchgehende Pfeile dargestellt, die angeben, dass, damit das Ereignis E am Ende des Pfeils eintreten kann, das Ereignis E am Anfang des Pfeils eingetreten sein muss. Für jedes Ereignis E sind dabei eine oder mehrere Kausalitätsrelationen KaR möglich. [0056] Konfliktrelationen KoR werden zwischen zwei Ereignissen E festgelegt, wenn der Eintritt des einen Ereignisses E das künftige Eintreten des jeweils anderen Ereignisses E ausschließt. In den Figuren sind derartige Konfliktrelationen KoR als strichlierte Linien dargestellt, die angeben, dass, wenn eines der beiden durch eine derartige Linie verbundenen Ereignisse E eingetreten ist, dass jeweils andere nicht eintreten darf. Eine derartige Konfliktrelation KoR ist dabei nicht gerichtet. [0057] Es kann dabei jedem Ereignis E ein Zustand zugeordnet werden, der entsteht, indem beginnend vom initialen Zustand | Aktionen, entsprechend dem Ereignis E sowie Ereignissen, die direkt oder indirekt das Ereignis E durch Kausalitätsrelationen KaR bedingen, in einer beliebigen Reihenfolge ausgeführt werden, sodass Aktionen entsprechend bedingenden Ereignissen vor Aktionen entsprechend den bedingten Ereignissen ausgeführt werden. Dieser Zustand wird als der dem Ereignis zugeordnete Zustand bezeichnet. [0058] Weiters kann einer Menge an Ereignissen, zwischen denen keine Konfliktrelation KoR vorhanden ist und die keine direkt oder indirekt bedingenden Ereignisse haben, ein Zustand zugeordnet werden, der entsteht, indem Aktionen entsprechend allen Ereignissen der Menge, sowie allen Ereignissen, die ein Ereignis der Menge direkt oder indirekt durch Kausalitätsrelationen KaR bedingen, in beliebiger Reihenfolge ausgeführt werden, sodass Aktionen entsprechend bedingenden Ereignissen vor Aktionen entsprechend den bedingten Ereignissen ausgeführt werden. Dieser Zustand wird als der der Menge an Ereignissen zugeordnete Zustand bezeichnet. [0059] Im gezeigten Ausführungsbeispiel werden Ereignisstrukturen ES, wie in Tabelle 3 angegeben, dargestellt: [0060] Tabelle 3: Ereignisse E des Modells M After the sequence, the state of the model is identical to the initial state |, which is why the sequence can theoretically be continued indefinitely. EVENT STRUCTURES ES In order to be able to compare two models M quickly and with little computing effort, an event structure ES including a number of events E is defined for each of the models M according to the invention. There is in each case a unique initial event El, which occurs first among all events E and indicates that no other event E has occurred. Each event E, which is different from the initial event El, is clearly identified by an action A and a set of previous events E. [0055] In this context, causality relations KaR are defined between a conditional event and a conditional event if the occurrence of the conditional event is necessary for the occurrence of the conditional event. In the following figures, such causality relations KaR are shown as solid arrows, which indicate that in order for event E to occur at the end of the arrow, event E at the beginning of the arrow must have occurred. One or more causality relations KaR are possible for each event E. Conflict relations KoR are defined between two events E if the occurrence of one event E excludes the future occurrence of the other event E. Such conflict relations KoR are shown in the figures as dashed lines, which indicate that when one of the two events E connected by such a line has occurred, the other must not occur. Such a conflict relation KoR is not directed. It can be assigned to each event E, a state that arises by starting from the initial state | Actions corresponding to the event E and events that directly or indirectly condition the event E through causality relations KaR can be executed in any order, so that actions corresponding to the conditional events are executed before actions corresponding to the conditional events. This state is referred to as the state associated with the event. Furthermore, a state can be assigned to a set of events between which there is no conflict relation KoR and which have no directly or indirectly causing events, which arises by actions corresponding to all events of the set, as well as all events that an event of the set caused directly or indirectly by causality relations KaR, can be executed in any order such that actions corresponding to conditional events are executed before actions corresponding to the conditional events. This state is referred to as the state associated with the set of events. In the exemplary embodiment shown, event structures ES are shown as specified in Table 3: Table 3: Events E of model M

EREIGNISSTRUKTUREN ES EVENT STRUCTURES IT

[0054] Um einen Vergleich zweier Modelle M schnell und mit wenig Rechenaufwand durchführen zu können, wird erfindungsgemäß für jedes der Modelle M jeweils eine Ereignisstruktur ES umfassend eine Anzahl von Ereignissen E festgelegt. Dabei gibt es jeweils ein eindeutiges initiales Ereignis El, das unter allen Ereignissen E als erstes eintritt und kennzeichnet, dass noch kein anderes Ereignis E eingetreten ist. Jedes Ereignis E, das vom initialen Ereignis El verschieden ist, ist durch eine Aktion A und einer Menge an vorangegangenen Ereignissen E eindeutig gekennzeichnet. In order to be able to carry out a comparison of two models M quickly and with little computational effort, an event structure ES comprising a number of events E is defined according to the invention for each of the models M. There is in each case a unique initial event El, which occurs first among all events E and indicates that no other event E has occurred. Each event E, which is different from the initial event El, is clearly identified by an action A and a set of previous events E.

[0055] Dabei werden Kausalitätsrelationen KaR zwischen einem bedingenden Ereignis und einem bedingten Ereignis festgelegt, wenn für den Eintritt des bedingten Ereignisses das Auftreten des bedingenden Ereignisses notwendig ist. In den folgenden Abbildungen sind derartige Kausalitätsrelationen KaR als durchgehende Pfeile dargestellt, die angeben, dass, damit das Ereignis E am Ende des Pfeils eintreten kann, das Ereignis E am Anfang des Pfeils eingetreten sein muss. Für jedes Ereignis E sind dabei eine oder mehrere Kausalitätsrelationen KaR möglich. [0055] In this context, causality relations KaR are defined between a conditional event and a conditional event if the occurrence of the conditional event is necessary for the occurrence of the conditional event. In the following figures, such causality relations KaR are shown as solid arrows, which indicate that in order for event E to occur at the end of the arrow, event E at the beginning of the arrow must have occurred. One or more causality relations KaR are possible for each event E.

[0056] Konfliktrelationen KoR werden zwischen zwei Ereignissen E festgelegt, wenn der Eintritt des einen Ereignisses E das künftige Eintreten des jeweils anderen Ereignisses E ausschließt. In den Figuren sind derartige Konfliktrelationen KoR als strichlierte Linien dargestellt, die angeben, dass, wenn eines der beiden durch eine derartige Linie verbundenen Ereignisse E eingetreten ist, dass jeweils andere nicht eintreten darf. Eine derartige Konfliktrelation KoR ist dabei nicht gerichtet. Conflict relations KoR are defined between two events E if the occurrence of one event E excludes the future occurrence of the other event E. Such conflict relations KoR are shown in the figures as dashed lines, which indicate that when one of the two events E connected by such a line has occurred, the other must not occur. Such a conflict relation KoR is not directed.

[0057] Es kann dabei jedem Ereignis E ein Zustand zugeordnet werden, der entsteht, indem beginnend vom initialen Zustand | Aktionen, entsprechend dem Ereignis E sowie Ereignissen, die direkt oder indirekt das Ereignis E durch Kausalitätsrelationen KaR bedingen, in einer beliebigen Reihenfolge ausgeführt werden, sodass Aktionen entsprechend bedingenden Ereignissen vor Aktionen entsprechend den bedingten Ereignissen ausgeführt werden. Dieser Zustand wird als der dem Ereignis zugeordnete Zustand bezeichnet. It can be assigned to each event E, a state that arises by starting from the initial state | Actions corresponding to the event E and events that directly or indirectly condition the event E through causality relations KaR can be executed in any order, so that actions corresponding to the conditional events are executed before actions corresponding to the conditional events. This state is referred to as the state associated with the event.

[0058] Weiters kann einer Menge an Ereignissen, zwischen denen keine Konfliktrelation KoR vorhanden ist und die keine direkt oder indirekt bedingenden Ereignisse haben, ein Zustand zugeordnet werden, der entsteht, indem Aktionen entsprechend allen Ereignissen der Menge, sowie allen Ereignissen, die ein Ereignis der Menge direkt oder indirekt durch Kausalitätsrelationen KaR bedingen, in beliebiger Reihenfolge ausgeführt werden, sodass Aktionen entsprechend bedingenden Ereignissen vor Aktionen entsprechend den bedingten Ereignissen ausgeführt werden. Dieser Zustand wird als der der Menge an Ereignissen zugeordnete Zustand bezeichnet. Furthermore, a state can be assigned to a set of events between which there is no conflict relation KoR and which have no directly or indirectly causing events, which arises by actions corresponding to all events of the set, as well as all events that an event of the set caused directly or indirectly by causality relations KaR, can be executed in any order such that actions corresponding to conditional events are executed before actions corresponding to the conditional events. This state is referred to as the state associated with the set of events.

[0059] Im gezeigten Ausführungsbeispiel werden Ereignisstrukturen ES, wie in Tabelle 3 angegeben, dargestellt: In the exemplary embodiment shown, event structures ES are shown as specified in Table 3:

[0060] Tabelle 3: Ereignisse E des Modells M Table 3: Events E of model M

Konzept Beschreibung concept description

Ereignis E Jedes Ereignis erhält eine eindeutige Nummer und ist mit einer Aktion beschriftet. Event E Each event is given a unique number and labeled with an action.

Initiales Ereignis El Dem initialen Ereignis wird keine Aktion zugeordnet. Initial event El No action is assigned to the initial event.

Kausalitätsrelation KaR Eine Kausalitätsrelation wird mittels eines Pfeils von be-Causality relation KaR A causality relation is represented by an arrow from

dingenden Ereignis (hier das initiale Ereignis) zu bedingtem Ereignis (hier Ereignis 1). conditional event (here the initial event) to conditional event (here event 1).

Konfliktrelation KoR Eine Konfliktrelation wird mit einer strichlierten Linie zwischen den Ereignissen dargestellt. Conflict relation KoR A conflict relation is shown with a dashed line between the events.

AUFBAU VON EREIGNISSTRUKTUREN ES CONSTRUCTION OF EVENT STRUCTURES ES

[0061] Ereignisstrukturen ES werden iterativ aufgebaut, indem, beginnend vom initialen Ereignis Event structures ES are constructed iteratively, starting from the initial event

El, und dem initialen Zustand |, zulässige Aktionen A ausgeführt werden. Dabei wird jeweils ein El, and the initial state |, permissible actions A are executed. In each case one

neues Ereignis E mit Kausalitätsrelationen KaR zu einer Menge an bestehenden Ereignissen E new event E with causality relations KaR to a set of existing events E

hinzugefügt wird, wenn is added when

- die Ereignisse (E) entsprechend der bestehenden Konfliktrelation (KoR) gemeinsam auftreten können, - the events (E) can occur together according to the existing conflict relation (KoR),

- zwischen keinen zwei Ereignissen (E) der Menge eine direkte oder indirekte Kausalitätsrelation (KaR) besteht, - there is no direct or indirect causality relation (KaR) between any two events (E) of the set,

- die Aktion entsprechend dem neuen Ereignis zulässig ist in dem Zustand, der durch das Ausführen aller Aktionen entsprechend den Ereignissen der Menge, einschließlich aller vorangegangenen Ereignisse gemäß der Kausalitätsrelation (KaR), entsteht, und - the action corresponding to the new event is permissible in the state resulting from performing all actions corresponding to the events of the set, including all previous events according to the causality relation (KaR), and

- entweder die Menge an Ereignissen (E) nur aus dem initialen Ereignis (El) besteht, oder jede Aktion entsprechend der Menge an bestehenden Ereignissen jeweils mit der Aktion des einzufügenden Ereignisses in Konflikt steht. - either the set of events (E) consists only of the initial event (El), or each action corresponding to the set of existing events conflicts with the action of the event to be inserted.

[0062] Zwei Aktionen stehen dann in Konflikt, wenn ausgehend von einem beliebigen gültigen Zustand möglicher Variablenwerte, - an diesem Zustand beide Aktionen zulässig sind und die Aktionen verschiedene Zustände erzeugen wenn sie in unterschiedlicher Reihenfolge ausgeführt werden, oder - an diesem Zustand beide Aktionen zulässig sind und die Ausführung der einen Aktion die andere Aktion verunmöglicht, indem nach Ausführen der einen Aktion der Zustand der Bedingung zur Ausführung der anderen Aktion nicht mehr genügt, oder - an diesem Zustand genau eine der beiden Aktionen zulässig ist und in dem Zustand nach dem Ausführen der zulässigen Aktion die andere Aktion zulässig ist. Two actions are in conflict if, starting from any valid state of possible variable values, - both actions are legal at this state and the actions produce different states when executed in different orders, or - both actions are legal at this state and the execution of one action makes the other action impossible, in that, after execution of one action, the state of the condition for execution of the other action is no longer sufficient, or - exactly one of the two actions is permissible in this state and in the state after execution the allowed action the other action is allowed.

[0063] Ein notwendiges Kriterium für die Existenz eines Konfliktes zwischen Aktionen A1 und A2 ist, dass es eine Variable V gibt, die zur Überprüfung der Zulässigkeit von der Aktion A1, oder zur Festlegung der neuen Variablenwerten W nach Ausführung der Aktion A1, benötigt wird und von der Aktion A2 verändert wird, oder vice versa, oder, dass beide Aktionen A1 A2 der Variable V einen Wert zuweisen. A necessary criterion for the existence of a conflict between actions A1 and A2 is that there is a variable V that is needed to check the validity of action A1, or to set the new variable values W after execution of action A1 and is changed by action A2, or vice versa, or that both actions A1 A2 assign a value to the variable V.

[0064] Alle Aktionen in Tabelle 2 stehen im Konflikt mit sich selbst, da jede Aktion einer Variable einen neuen Wert zuweist, so dass im Nachfolgezustand die Variablenwerte der Bedingung der Aktion nicht mehr genügen. Dies bedeutet für das vorliegende Beispiel, dass zwei gleiche Aktionen nicht unmittelbar hintereinander ausgeführt werden können. All of the actions in Table 2 conflict with themselves since each action assigns a new value to a variable, so that in the successor state the variable values no longer satisfy the condition of the action. For the present example, this means that two identical actions cannot be carried out immediately one after the other.

[0065] Eine Konfliktrelation KoR besteht dabei zwischen zwei nacheinander eingefügten Ereignissen E, wenn diese nicht in einer direkten oder indirekten Kausalitätsrelation KaR stehen und die Ausführung der den Ereignissen zugeordneten Aktionen in Konflikt stehen. A conflict relationship KoR exists between two events E that are inserted one after the other if they are not in a direct or indirect causality relationship KaR and the execution of the actions associated with the events conflict.

[0066] Der Aufbau einer derartigen Ereignisstruktur ES wird im Folgenden anhand der Fig. 1 bis 13 näher erläutert. Beim Aufbau einer Ereignisstruktur ES besteht diese zu Beginn jeweils nur aus dem initialen Ereignis El (Fig. 1). Im gezeigten Ausführungsbeispiel ist das Ereignis „ZNah“ anschließend an das initiale Ereignis EI möglich (siehe Bedingungen in Tabelle 2), da alle Bedingungen für dessen Eintreten erfüllt sind und das Ereignis „ZNah“ wird mit der Nummer 1 und mit The structure of such an event structure ES is explained in more detail below with reference to FIGS. 1 to 13. When setting up an event structure ES, this consists at the beginning only of the initial event El (FIG. 1). In the exemplary embodiment shown, the event "ZNah" is possible after the initial event EI (see conditions in Table 2), since all the conditions for its occurrence are met and the event "ZNah" is numbered 1 and with

einer Kausalitätsrelation KaR zum initialen Ereignis El eingefügt (Fig. 2). inserted a causality relation KaR to the initial event El (Fig. 2).

[0067] Das Ereignis „GKreuz“ ist ebenfalls anschließend an das initiale Ereignis El möglich (siehe Tabelle 2) und wird mit der Nummer 2 und einer Kausalitätsrelation KaR zum initialen Ereignis El eingefügt. Es gibt keine Uberschneidung der Variablen V, die zur Überprüfung der Bedingungen der beiden Aktionen A benötigt werden, bzw. von den beiden Aktionen A verändert werden, da die Aktionen die oben genannte notwendige Bedingung für die Existenz einer Konfliktrelation nicht erfüllen. Daher wird keine Konfliktrelation KoR zwischen den Ereignissen „1“ und „2“ eingefügt (siehe Fig. 3). The event “GKreuz” is also possible subsequent to the initial event El (see Table 2) and is inserted with the number 2 and a causality relation KaR for the initial event El. There is no overlap of the variables V, which are needed to check the conditions of the two actions A, or are changed by the two actions A, since the actions do not fulfill the above-mentioned necessary condition for the existence of a conflict relation. Therefore, no conflict relation KoR is inserted between events "1" and "2" (see Fig. 3).

[0068] Die Aktion „ZNah“ ermöglichst die Aktionen „LAn“, für das ein Ereignis „3“ und eine Kausalitätsrelation KaR zum Ereignis mit der Nummer „1“ eingefügt werden (Fig. 4). Die Aktion „ZNah“ ermöglicht weiters die Aktionen „SUnten“, für das ein Ereignis mit der Nummer „4“ und eine Kausalitätsrelation KaR zum Ereignis „1“ eingefügt werden. Analog zu den Aktionen „ZNah“ und „GKreuz“ haben auch Aktionen „LAn“ und „SUnten“ keine Überschneidung der relevanten Variablen V, weswegen keine Konfliktrelation KoR zwischen diesen Ereignissen eingefügt wird (Fig. 5). The action "ZNah" enables the actions "LAn" for which an event "3" and a causality relation KaR to the event with the number "1" are inserted (FIG. 4). The "ZNah" action also enables the "SUnten" action, for which an event with the number "4" and a causality relation KaR for event "1" are inserted. Analogously to the actions "ZNah" and "GKreuz", actions "LAn" and "SUnten" do not overlap the relevant variables V, which is why no conflict relation KoR is inserted between these events (Fig. 5).

[0069] Die Aktionen „SUnten“ ermöglicht alleine keine weitere Aktion, allerdings ermöglichen die Ereignisse „3“ und „4“ die Aktion „Go“ (Fig. 6). Ein Ereignis für diese Aktion mit der Nummer „5“ wird mit Kausalitätsrelationen KaR zu beiden notwendigen Ereignissen „3“ und „4“ eingefügt. AußBerdem besteht für das Ereignis „5“ ein Konflikt mit der Aktion „GKreuz“, da von dieser Aktion die Variable „G“ auf true geändert wird, und dadurch die Aktion „Go“ nicht mehr ausgeführt werden kann. Deswegen wird eine Konfliktrelation KoR zwischen den entsprechenden Ereignissen „2“ und „5“ eingefügt. The actions “SUnten” alone do not allow any further action, but the events “3” and “4” enable the action “Go” (FIG. 6). An event for this action with the number "5" is inserted with causality relations KaR to both necessary events "3" and "4". In addition, there is a conflict with the "GKreuz" action for event "5" because this action changes the "G" variable to true, which means that the "Go" action can no longer be executed. Therefore, a conflict relation KoR is inserted between the corresponding events "2" and "5".

[0070] Die Aktion „Go“ ermöglicht weiters die Aktion „ZKreuz“, für die ein Ereignis mit der Nummer „6“ eingefügt wird (Fig. 7). Außerdem ist die Aktion „GKreuz“ weiterhin zulässig, weswegen ebenfalls ein Ereignis mit der Nummer „7“ für diese Aktion eingefügt wird. The "Go" action also enables the "ZKreuz" action, for which an event with the number "6" is inserted (FIG. 7). In addition, the "GCross" action is still allowed, so an event with the number "7" is also inserted for this action.

[0071] Die Aktion „ZKreuz“ ermöglicht die Aktion „ZFern“ (Fig. 8), die wiederum die Aktionen „Stop“, sowie die Aktion „ZNah“ (Fig. 9). Die entsprechenden Ereignisse stehen im Konflikt, da „ZNah“ die Variable „Pos“ auf „Nah“ setzt und damit die Aktion „Stop“ unmöglich macht. Daher wird eine Konfliktrelation KoR zwischen den Ereignissen mit den Nummern „9“ und „10“ eingeführt. The action "ZKreuz" enables the action "ZFern" (Fig. 8), which in turn the actions "Stop" and the action "ZNah" (Fig. 9). The corresponding events are in conflict because "ZNah" sets the variable "Pos" to "Near" and thus makes the "Stop" action impossible. Therefore, a conflict relation KoR between the events with the numbers "9" and "10" is introduced.

[0072] Die Aktion „ZNah“ ermöglicht wiederum die Aktion „ZKreuz“, nachdem das Stopsignal für den Zug in diesem Ereignis noch immer ausgeschalten ist (Fig. 10). Ereignis „10“ ist derselbe Zustand, sowie die selbe Aktion, wie Ereignis „6“ zugeordnet. Dementsprechend könnte die Ereignisstruktur ES an dieser Stelle unendlich lang erweitert werden. Die Aktion „Stop“ ermöglicht Aktionen „LAus“ sowie „SOben“, welche analog zu „LAn“ und „SUnten“ keinen Konflikt haben bzw. durch keine Konfliktrelation KoR verbunden sind. Außerdem ist die Aktion „ZNah“ weiterhin zulässig. Diese Aktion steht sowohl mit „LAus“, als auch „SOben“ in Konflikt, da sie die Variable „Pos“ auf „Nah“ ändert und damit die Ausführung der anderen Beiden verunmöglicht (Fig. 11). The "ZNah" action in turn enables the "ZKreuz" action after the stop signal for the train is still switched off in this event (FIG. 10). Event "10" is assigned the same state and action as event "6". Accordingly, the event structure ES could be infinitely extended at this point. The "Stop" action enables "LAus" and "SOben" actions, which, analogous to "LAn" and "SUnten", have no conflict or are not connected by a conflict relation KoR. In addition, the "ZNah" action is still allowed. This action conflicts with both "LOut" and "SOben" because it changes the variable "Pos" to "Near" and thus makes it impossible to execute the other two (Fig. 11).

[0073] Die Aktion „ZNah“ ist nach den Aktionen „LAus“, sowie „SOben“ weiterhin zulässig. Die Aktion ist sowohl nach Ausführung einer der beiden, sowie nach Ausführung von beiden Aktionen zulässig. Es werden drei Ereignisse für die Aktion „ZNah“ hinzugefügt, die entsprechende Kausalitätsrelationen KaR zu einem, oder beiden, der Ereignisse „12“ und „13“ haben. Dabei steht „ZNah“ jeweils mit „LAus“ und „SOben“ in Konflikt, da es die Variable „Pos“ so ändert, dass die beiden Aktionen nicht mehr zulässig sind. Deshalb gibt es einen Konflikt zwischen „15“ und „13“ sowie zwischen „17“ und „12“. Ereignis „16“ hat keinen Konflikt, da es von „12“ und „13“ kausal abhängt und somit zu diesen Ereignissen per Definition keine Konfliktrelation besteht. Außerdem ist in Ereignis „14“ die Aktion „Go“ zulässig und ein entsprechendes Ereignis wird hinzugefügt (Fig. 12). The "ZNah" action is still permitted after the "LAus" and "SOben" actions. The action is permitted both after one of the two actions has been carried out and after both actions have been carried out. Three events are added for the action "ZNah" that have corresponding causality relations KaR to one or both of events "12" and "13". Here, "ZNah" conflicts with "LAus" and "SOben" respectively, because it changes the variable "Pos" so that the two actions are no longer allowed. Therefore, there is a conflict between "15" and "13" and between "17" and "12". Event "16" has no conflict because it is causally dependent on "12" and "13" and therefore there is no conflict relation to these events by definition. In addition, in event "14" the action "Go" is allowed and a corresponding event is added (Fig. 12).

[0074] Entsprechend ihrer Historie an ausgeführten Aktionen ermöglichen die Ereignisse „14“, „15“ und „16“ die Aktionen „LAn“, „Go“ und „SUnten“, wobei nach den Ereignissen für „LAn“ und „SUnten“ jeweils Aktion „Go“ zulässig ist. According to their history of actions performed, events "14", "15" and "16" enable the actions "LAn", "Go" and "SUnten", with following the events for "LAn" and "SUnten", respectively Action "Go" is allowed.

[0075] Die Zustände die den Ereignissen „18“, „23“, „24“ bzw. „25“ zugeordnet sind, sind ident zum Zustand dem Ereignis „5“ zugeordnet ist, weswegen diese Ereignisse auf idente Weise und beliebig lang erweitert werden können. Außerdem haben all diese Ereignisse einen Konflikt mit Ereignis „/“ (Fig. 13). The states associated with events “18”, “23”, “24” and “25” are identical to the state associated with event “5”, which is why these events are extended in an identical manner and for any length be able. Also, all of these events conflict with event "/" (Fig. 13).

VERGLEICH VON EREIGNISSTRUKTUREN ES COMPARISON OF EVENT STRUCTURES ES

[0076] Ziel des erfindungsgemäßen Verfahrens ist es unter anderem, durch die zumindest teilweise Überführung zweier zu vergleichender Modelle M1 und M2 in Ereignisstrukturen ES1 und ES2, mit geringem Rechenaufwand rasch feststellen zu können, ob die Menge an möglichen Sequenzen von Aktionen A, die durch die eine Ereignisstrukturen ES1 beschrieben wird, in der Menge an möglichen Sequenzen die durch die andere Ereignisstruktur ES2 beschrieben wird, enthalten ist. The aim of the method according to the invention is, among other things, to be able to determine quickly with little computational effort, by at least partially converting two models M1 and M2 to be compared into event structures ES1 and ES2, whether the set of possible sequences of actions A, which which is described by an event structure ES1, is contained in the set of possible sequences which is described by the other event structure ES2.

Indem der Vergleich in beiden Richtungen durchgeführt wird, kann zusätzlich festgestellt werden, ob die Menge an möglichen Sequenzen von Aktionen der beiden Ereignisstrukturen ident ist. Dazu werden zunächst die zu vergleichenden Ereignisstrukturen ES1, ES2 der beiden zu vergleichenden Modelle M1, M2 in konfliktfreie Teilereignisstrukturen TE getrennt. Für die beiden zu vergleichenden Modelle M1, M2 ergibt sich somit eine erste und eine zweite Menge an konfliktfreien Teilereignisstrukturen TE. By performing the comparison in both directions, it can also be determined whether the set of possible sequences of actions of the two event structures is identical. For this purpose, the event structures ES1, ES2 to be compared of the two models M1, M2 to be compared are first separated into conflict-free sub-event structures TE. A first and a second set of conflict-free partial event structures TE thus result for the two models M1, M2 to be compared.

[0077] Die Ereignisstrukturen ES werden dabei in Teilereignisstrukturen TE getrennt, indem sie rekursiv für jede Konfliktrelation KoR in zwei Teilereignisstrukturen TE aufgeteilt werden. Dazu werden Ereignisse E, die direkt oder indirekt durch eines der an der Konfliktrelation KoR beteiligten Ereignisse E bedingt werden, jeweils der einen Teilereignisstruktur TE zugeordnet und alle anderen Ereignisse E, die nicht an der Konfliktrelation KoR beteiligt sind, werden beiden Teilereignisstrukturen TE zugeordnet. The event structures ES are separated into partial event structures TE by being divided recursively into two partial event structures TE for each conflict relation KoR. For this purpose, events E that are caused directly or indirectly by one of the events E involved in the conflict relation KoR are assigned to one partial event structure TE and all other events E that are not involved in the conflict relation KoR are assigned to both partial event structures TE.

[0078] Für jede Teilereignisstruktur TE der ersten Menge wird anschließend eine Teilereignisstruktur TE der zweiten Menge gesucht, deren Aktionen A entsprechend den Kausalitätsrelationen KaR und Ereignissen E der ersten Menge kompatibel sind. Kompatibel bedeutet in diesem Zusammenhang, dass eine eindeutige Zuordnung von Ereignissen E der Teilereignisstruktur TE1 des ersten Modells M1 zu einer Teilereignisstruktur TE2 des zweiten Modells M2 gefunden wird, sodass die Paare einander zugeordneter Ereignisse jeweils dieselben zugeordneten Aktionen aufweisen. For each sub-event structure TE of the first set, a sub-event structure TE of the second set is then sought whose actions A are compatible according to the causality relations KaR and events E of the first set. In this context, compatible means that events E of the partial event structure TE1 of the first model M1 are unambiguously assigned to a partial event structure TE2 of the second model M2, so that the pairs of mutually assigned events each have the same assigned actions.

Weiters dürfen sich durch Hinzufügen von allen Kausalitätsrelationen KaR der Teilereignisstruktur TE2 des zweiten Modells M2 zur Teilereignisstruktur TE1 des ersten Modells M1 für die gemäß der Zuordnung einander entsprechender Paare von Ereignissen E der Teilereignisstruktur TE1 des ersten Modells M1 keine Zyklen in der Kausalität der Teilereignisstruktur TE1 ergeben. Furthermore, by adding all causality relations KaR of the partial event structure TE2 of the second model M2 to the partial event structure TE1 of the first model M1 for the corresponding pairs of events E of the partial event structure TE1 of the first model M1 according to the assignment, no cycles in the causality of the partial event structure TE1 may result .

[0079] Eine solche Zuordnung kann durch ein Suchverfahren, welches jedes Ereignis einmal besucht, wie zum Beispiel Tiefen- oder Breitensuche (siehe Tarjan, Robert. "Depth-first search and linear graph algorithms." SIAM journal on computing 1.2 (1972): 146-160), auf der Teilereignisstruktur TE1 des ersten Modells M1 mit hinzugefügten Kausalitätsrelationen KaR der Teilereignisstruktur TE2 des zweiten Modells M2, Festlegung von Zuordnungen von einzelnen Ereignissen E. Das Suchverfahren legt beim Besuchen eines Ereignisses eine Zuordnung auf ein Ereignis der anderen Ereignisstruktur mit derselben Aktion, welchem noch kein Ereignis zugeordnet wurde, fest. Sobald jedes Ereignis besucht wurde und damit zugeordnet ist, können auch Kausalitätsrelationen KaR der Teilereignisstruktur TE2 eindeutig zur Teilereignisstruktur TE1 hinzugefügt werden. Die so aus Teilereignisstruktur TE1 durch Hinzufügen von Kausalitätsrelationen entstandene neue Teilereignisstruktur wird auf Zyklen in den gemeinsamen Kausalitätsrelationen untersucht. Die Suche nach Zyklen kann mit Tiefensuche bewerkstelligt werden, bei der lediglich während der Suche überprüft werden muss ob ein besuchtes Ereignis bereits im aktiven Pfad der Suche enthalten ist. Zuordnungen zwischen Ereignissen bei denen mehrere gültige Möglichkeiten bestehen werden gesichert und revidiert, wenn ein Zyklus gefunden wird. Such a mapping can be done by a search method that visits each event once, such as depth or breadth-first search (see Tarjan, Robert. "Depth-first search and linear graph algorithms." SIAM journal on computing 1.2 (1972): 146-160), on the partial event structure TE1 of the first model M1 with added causality relations KaR of the partial event structure TE2 of the second model M2, determination of assignments of individual events E. When visiting an event, the search method places an assignment on an event of the other event structure with the same Action to which no event has yet been assigned. As soon as each event has been visited and is thus assigned, causality relations KaR of the partial event structure TE2 can also be added unambiguously to the partial event structure TE1. The new partial event structure created from partial event structure TE1 by adding causality relations is examined for cycles in the common causality relations. Searching for cycles can be accomplished with depth-first search, which only needs to be checked during the search whether a visited event is already included in the active path of the search. Associations between events where there are multiple valid possibilities are saved and revised when a cycle is found.

[0080] Weiters werden, im Fall, dass eine Kausalitätsrelation KaR hinzugefügt wird, wo zuvor keine direkte oder indirekte Kausalitätsrelation KaR bestand, die Teilereignisstrukturen TE1, TE2 Furthermore, in case a causality relation KaR is added where no direct or indirect causality relation KaR previously existed, the sub-event structures TE1, TE2

nur dann als kompatibel betrachtet, wenn auch für eine neue Teilereignisstruktur TE, die durch Hinzufügen einer zusätzlichen Kausalitätsrelation KaR in der entgegengesetzten Richtung wie die hinzugefügte Kausalitätsrelation KaR entsteht, eine kompatible Teilereignisstruktur in der Menge an Teilereignisstrukturen des zweiten Modells M2 gefunden werden kann. only considered compatible if a compatible partial event structure can also be found in the set of partial event structures of the second model M2 for a new partial event structure TE, which is created by adding an additional causality relation KaR in the opposite direction to the added causality relation KaR.

[0081] Dabei wird das Ergebnis des Vergleichs genau dann positiv betrachtet, d.h. alle Sequenzen von Aktionen der Ereignisstruktur ES1 sind auch in der Menge an Sequenzen von Ereignisstruktur ES2 erhalten, wenn für jede Teilereignisstruktur TE1 des ersten Modells M1 bzw. der einen Ereignisstruktur eine kompatible Teilereignisstruktur TE2 des zweiten Modells M2 bzw. der anderen Ereignisstruktur gefunden wird. The result of the comparison is then considered positive, ie all sequences of actions of the event structure ES1 are also preserved in the set of sequences of event structure ES2 if for each sub-event structure TE1 of the first model M1 or one event structure a compatible Sub-event structure TE2 of the second model M2 or the other event structure is found.

[0082] Anhand der Fig. 14a bis 38 wird im Folgenden der Vergleich zweier Ereignisstrukturen näher erläutert. Zur besseren Übersicht wird nur ein Teil der Ereignisstruktur des vorangegangenen Beispiels mit einer ähnlichen Struktur verglichen. The comparison of two event structures is explained in more detail below with reference to FIGS. 14a to 38. For clarity, only part of the event structure from the previous example is compared to a similar structure.

[0083] Ereignisstruktur E1 in Fig. 14b beschreibt ein Modell, in dem die Aktionen „LAn“, sowie „SUnten“ nicht gleichzeitig passieren dürfen, das heißt, dass immer zuerst das Signallicht angeschaltet wird und anschließend der Schranken geschlossen wird, oder umgekehrt. Fig. 14a beschreibt das Modell, in dem diese Aktionen unabhängig voneinander sind, so wie es oben eingeführt wurde. event structure E1 in Fig. 14b describes a model in which the actions "LAn" and "SUnten" must not happen simultaneously, which means that the signal light is always switched on first and then the barrier is closed, or vice versa. Figure 14a describes the model in which these actions are independent of each other as introduced above.

[0084] Für den Vergleich der beiden Modelle M1, M2 bzw. der beiden Ereignisstrukturen E1, E2 der Modelle M1, M2 müssen die Ereignisstrukturen E1, E2 zunächst, wie oben beschrieben, in konfliktfreie Teilereignisstrukturen TE geteilt werden. Dies wird anhand der beiden Ereignisstrukturen E1, E2 in Fig. 14a und Fig. 14b näher erläutert. For the comparison of the two models M1, M2 or the two event structures E1, E2 of the models M1, M2, the event structures E1, E2 must first be divided into conflict-free sub-event structures TE, as described above. This is explained in more detail using the two event structures E1, E2 in FIGS. 14a and 14b.

[0085] In Fig. 14a existiert in der ersten Ereignisstruktur E1 nur ein Konflikt bzw. eine Konfliktrelation KoR zwischen den Ereignissen mit den Nummern „2“ und „5“. Diese Ereignisse bedingen keine weiteren Ereignisse. Deswegen entstehen durch Teilung der ersten Ereignisstruktur E1 zwei Teilereignisstrukturen TE1a, TE1b, denen jeweils nur eines der beiden Ereignisse „2“ bzw. „5“ zugeordnet wird, wie dies in den Fig. 15 und 16 dargestellt ist. In FIG. 14a there is only one conflict or one conflict relation KoR between the events with the numbers “2” and “5” in the first event structure E1. These events do not cause other events. Therefore, by dividing the first event structure E1, two partial event structures TE1a, TE1b are created, to which only one of the two events “2” or “5” is assigned, as shown in FIGS. 15 and 16.

[0086] Die zweite Ereignisstruktur E2 in Fig. 14b weist drei Konfliktrelationen KoR, zwischen den Ereignissen „8“ und „9“, „7“ und „12“, sowie „7“ und „13“. Die Konfliktrelationen KoR werden, wie oben beschrieben, solange geteilt, bis die entstandenen Teilereignisstrukturen TE konfliktfrei sind. The second event structure E2 in FIG. 14b has three conflict relations KoR between the events “8” and “9”, “7” and “12” and “7” and “13”. As described above, the conflict relations KoR are divided until the resulting partial event structures TE are conflict-free.

[0087] Dazu wird zunächst die Konfliktrelation KoR zwischen Ereignissen „8“ und „9“ aufgelöst, welche respektiv Ereignisse „10“ und „12“, sowie „11“ und „13“ bedingen. Dadurch ergeben sich für die zweite Ereignisstruktur E2 zunächst zwei Teilereignisstrukturen TE2a, TE2b (Fig. 17 und Fig. 18), in denen die bedingten Ereignisse „10“ und „12“, sowie „11“ und „13“ lediglich einer der entsprechenden Teilereignisstrukturen des bedingenden Ereignisses zugeordnet werden. For this purpose, the conflict relation KoR between events “8” and “9” is first resolved, which respectively cause events “10” and “12” and “11” and “13”. This initially results in two partial event structures TE2a, TE2b (FIGS. 17 and 18) for the second event structure E2, in which the conditional events “10” and “12” and “11” and “13” are only one of the corresponding partial event structures of the conditional event.

[0088] Beide Ereignisstrukturen TE2a, TE2b beinhalten jedoch weitere Konfliktrelationen KoR, weswegen sie weiter geteilt werden. So wird zunächst die Konfliktrelation KoR zwischen den Ereignissen „/“ und „12“ in der Teilereignisstruktur TE2a getrennt, wodurch sich zwei weitere Teilereignisstrukturen TE2a', TE2a" (Fig. 19 und Fig. 20) ergeben, in denen die bedingten Ereignisse „/“ und „12“ nur jeweils einer der entsprechenden Teilereignisstrukturen TE zugeordnet werden. Ebenso wird für die Teilereignisstruktur TE2b verfahren, die eine Konfliktrelation KoR zwischen den Ereignissen „/“ und „13“ aufweist, wodurch sich zwei weitere Teileereignisstrukturen TE2b', TE2b" (Fig. 21 und Fig. 22) der zweiten Ereignisstruktur E2 ergeben. However, both event structures TE2a, TE2b contain further conflict relations KoR, which is why they are further divided. First, the conflict relation KoR between the events "/" and "12" in the partial event structure TE2a is separated, resulting in two further partial event structures TE2a', TE2a" (FIG. 19 and FIG. 20), in which the conditional events "/ " and "12" can only be assigned to one of the corresponding partial event structures TE. The same procedure is used for the partial event structure TE2b, which has a conflict relation KoR between the events "/" and "13", whereby two further partial event structures TE2b', TE2b" ( 21 and 22) of the second event structure E2.

[0089] Die Menge an Teilereignisstrukturen TE1a, TE1b der ersten Ereignisstruktur E1 wird anschließend an diese Zerlegung mit der Menge an Teilereignisstruktur TE2a', TE2a”, TE2b', TE2b" der zweiten Ereignisstruktur E2 verglichen. Durch diesen Vergleich ist feststellbar, ob die Menge von Sequenzen von Aktionen der ersten Ereignisstruktur E1 in der Menge von Sequenzen von Aktionen der zweiten Ereignisstruktur E2 enthalten ist. The set of partial event structures TE1a, TE1b of the first event structure E1 is then compared to this breakdown with the set of partial event structure TE2a ', TE2a ", TE2b', TE2b "of the second event structure E2. This comparison can be used to determine whether the set of sequences of actions of the first event structure E1 is contained in the set of sequences of actions of the second event structure E2.

[0090] Für jede Teilereignisstruktur TE1a, TE1b der ersten Ereignisstruktur E1 wird eine kompatible Teilereignisstruktur TE2a', TE2a”, TE2b', TE20b" der zweiten Ereignisstruktur E2 gesucht. For each partial event structure TE1a, TE1b of the first event structure E1, a compatible partial event structure TE2a′, TE2a″, TE2b′, TE20b″ of the second event structure E2 is sought.

Dazu werden beispielsweise zu Beginn die Teilereignisstrukturen TE1a der ersten Ereignisstruktur E1 (Fig. 15) und TE2a’ der zweiten Ereignisstruktur E2 (Fig. 19) miteinander verglichen. Die Reihenfolge in der die Teilereignisstrukturen verglichen werden ist dabei beliebig. For this purpose, for example, the partial event structures TE1a of the first event structure E1 (FIG. 15) and TE2a' of the second event structure E2 (FIG. 19) are compared with one another at the beginning. The order in which the partial event structures are compared is arbitrary.

Auf der Teilereignisstruktur TE1a der ersten Ereignisstruktur E1 wird nun eine Tiefensuche mit den Kausalitätsrelationen KoR passender Ereignisse, d.h. Ereignissen E, die mit denselben Aktionen A einhergehen, der Teilereignisstruktur TE2a’ der zweiten Ereignisstruktur E2 durchgeführt. Passende Ereignisse E der beiden Teilereignisstrukturen TE1a, TE2a' werden einander zugeordnet. Sollten mehrere Ereignisse E passend sein, so wird zunächst eines davon ausgewählt und die Entscheidung für mögliches späteres Revidieren gesichert. Genauer wird die Folge von getroffenen Entscheidungen notiert. Sobald sich ein Zyklus in den Kausalitätsrelationen ergibt, wird die zuletzt getroffene Entscheidung verändert, wobei bereits probierte Entscheidungen nicht mehr getroffen werden. Sollte es keine andere Entscheidungsmöglichkeit geben, so wird die zuletzt davor getroffene Entscheidung revidiert, sofern eine solche existiert. Gibt es keine zu revidierende Entscheidung und konnte keine Zuordnung gefunden werden schlägt der Vergleich fehl. A depth-first search with the causality relations KoR of suitable events, i.e. events E that are associated with the same actions A, of the partial event structure TE2a' of the second event structure E2 is now carried out on the partial event structure TE1a of the first event structure E1. Matching events E of the two partial event structures TE1a, TE2a' are assigned to one another. If several events E are suitable, one of them is first selected and the decision is saved for possible later revision. More specifically, the sequence of decisions made is noted. As soon as a cycle occurs in the causality relations, the last decision made is changed, with decisions that have already been tried no longer being made. If there is no other decision option, the last decision made beforehand will be revised, if such a decision exists. If there is no decision to be revised and no assignment could be found, the comparison fails.

[0091] Sollte während der Suche ein Zyklus in den gemeinsamen Kausalitäten bzw. Kausalitätsrelationen KaR entstehen, so müssen getroffene Entscheidungen der Zuordnung revidiert werden. Sollten keine Entscheidungen Alternativen haben, so fällt der Vergleich der Teilereignisstrukturen TE negativ aus. Kann jedes Ereignis der einen Teilereignisstruktur mit den gemeinsamen Kausalitäten bzw. Kausalitätsrelationen KaR der jeweils anderen Teilereignisstruktur erreicht werden, ohne dass ein Zyklus in den Kausalitäten entsteht, so ist der Vergleich positiv. Should a cycle arise in the common causalities or causality relations KaR during the search, decisions made on the assignment must be revised. If no decisions have alternatives, the comparison of the partial event structures TE turns out to be negative. If each event of one partial event structure can be reached with the common causalities or causality relations KaR of the other partial event structure without a cycle occurring in the causalities, then the comparison is positive.

[0092] Kausalitätsrelationen KaR, die in der Teilereignisstruktur TE2a’ der zweiten Ereignisstruktur E2 ebenfalls bestehen, also von der Teilereingisstruktur TE2a' quasi importiert werden können, sind in den Figuren gepunktet markiert. Ausgehend vom initialen Ereignis El kann in der Teilereignisstruktur TE1a zunächst über eine Kausalitätsrelation KaR zum Ereignis „1“ gelangt werden, die in der Teilereignisstruktur TE2a’ zwischen dem initialen Ereignis und dem Ereignis „6“ besteht. Dem Ereignis „1“ wird also Ereignis „6“ zugeordnet (Fig. 23). Causality relations KaR, which also exist in the partial event structure TE2a' of the second event structure E2, i.e. can be quasi imported from the partial event structure TE2a', are marked with dots in the figures. Starting from the initial event El, in the partial event structure TE1a, one can first arrive at the event "1" via a causality relation KaR, which exists in the partial event structure TE2a' between the initial event and the event "6". Event “6” is thus assigned to event “1” (FIG. 23).

[0093] Von Ereignis „1“ kann in der Teilereignisstruktur TE1a der ersten Ereignisstruktur E1 mittels einer importierten bzw. übernommenen Kausalitätsrelation KaR aus der Teilereignisstruktur TE2a' der zweiten Ereignisstruktur E2 zum Ereignis „3“ gelangt werden, die in der Teilereignisstruktur TE2a' der zweiten Ereignisstruktur E2 zwischen den Ereignissen „6“ und „8“ besteht. Derart wird dem Ereignis „3“ das Ereignis „8“ zugeordnet (Fig. 24). Event "1" can be reached in the partial event structure TE1a of the first event structure E1 by means of an imported or adopted causality relation KaR from the partial event structure TE2a' of the second event structure E2 to event "3", which is in the partial event structure TE2a' of the second Event structure E2 between events "6" and "8". In this way, event “8” is assigned to event “3” (FIG. 24).

[0094] Von Ereignis „3“ kann in der Teilereignisstruktur TE1a der ersten Ereignisstruktur E1 zum Ereignis „4“ mittels der importierten Kausalitätsrelation KaR gelangt werden, die in der Teilereignisstruktur TE2a’ der zweiten Ereignisstruktur E2 zwischen Ereignissen „8“ und „10“ besteht. Dem Ereignis „4“ der Teilereignisstruktur TE1a wird derart das Ereignis „10“ der Teilereignisstruktur TE2a' zugeordnet (Fig. 25). From event "3" can be reached in the partial event structure TE1a of the first event structure E1 to the event "4" by means of the imported causality relation KaR, which exists in the partial event structure TE2a' of the second event structure E2 between events "8" and "10". . The event “4” of the partial event structure TE1a is thus assigned the event “10” of the partial event structure TE2a′ (FIG. 25).

[0095] Von Ereignis „4“ kann in der Teilereignisstruktur TE1a zum Ereignis „5“ mittels der importierten Kausalitätsrelation KaR gelangt werden, die in der Teilereignisstruktur TE2a' der zweiten Ereignisstruktur E2 zwischen Ereignissen „10“ und „12“ besteht. Dem Ereignis „5“ der Teilereignisstruktur TE1a wird derart das Ereignis „12“ der Teilereignisstruktur TE2a' zugeordnet (Fig. 26). From event "4" can be reached in the sub-event structure TE1a to the event "5" by means of the imported causality relation KaR, which exists in the sub-event structure TE2a' of the second event structure E2 between events "10" and "12". The event “5” of the partial event structure TE1a is thus assigned the event “12” of the partial event structure TE2a' (FIG. 26).

[0096] Auf diese Weise können alle Ereignisse der Teilereignisstrukturen TE1a, TE2a' mit den jeweils bestehenden Kausalitätsrelationen KaR einander zugeordnet werden. Der Vergleich der Teilereignisstrukturen TE1a der ersten Ereignisstruktur E1 und TE2a' der zweiten Ereignisstruktur E2 ist daher positiv. In this way, all events of the partial event structures TE1a, TE2a' can be assigned to one another with the respective existing causality relations KaR. The comparison of the partial event structures TE1a of the first event structure E1 and TE2a' of the second event structure E2 is therefore positive.

[0097] Die in die Teilereignisstruktur TE1a der ersten Ereignisstruktur E1 aus der Teilereignisstruktur TE2a' der zweiten Ereignisstruktur E2 importierte Kausalitätsrelation KaR zwischen Ereignis „3“ und Ereignis „4“ verbindet diese Ereignisse in der Teilereingisstruktur TE 1a jedoch nicht direkt oder indirekt mittels Kausalitätsrelationen, die auch in der ersten Ereignisstruktur E1 bestehen. Dies ist also ein Fall, in dem eine Kausalitätsrelation KaR hinzugefügt wird, wo zuvor in der Teilereignisstruktur TE1a der ersten Ereignisstruktur E1 keine direkte oder indirekte Kausalitäts-The causality relation KaR between event “3” and event “4” imported into the partial event structure TE1a of the first event structure E1 from the partial event structure TE2a′ of the second event structure E2 does not, however, directly or indirectly connect these events in the partial event structure TE 1a by means of causality relations, which also exist in the first event structure E1. So this is a case in which a causality relation KaR is added where no direct or indirect causality relation was previously found in the partial event structure TE1a of the first event structure E1.

relation KaR bestand. relation KaR inventory.

[0098] Wie zuvor beschrieben, werden die Teilereignisstrukturen TE1a, TE2a' nur dann als kompatibel betrachtet, wenn auch für eine neue Teilereignisstruktur TE1a*, die durch Hinzufügen einer zusätzlichen Kausalitätsrelation KaR in der Teilereignisstruktur TE1a in der entgegengesetzten Richtung (Fig. 27) wie die neu hinzugefügte bzw. aus der Teilereignisstruktur TE2a' importierte Kausalitätsrelation KaR entsteht, eine kompatible Teilereignisstruktur in der Menge der Teilereignisstrukturen der zweiten Ereignisstruktur E2 gefunden werden kann. As previously described, the sub-event structures TE1a, TE2a' are only considered compatible if also for a new sub-event structure TE1a* obtained by adding an additional causality relation KaR in the sub-event structure TE1a in the opposite direction (Fig. 27) as the causality relation KaR that has been newly added or imported from the partial event structure TE2a' is created, a compatible partial event structure can be found in the set of partial event structures of the second event structure E2.

[0099] Daher wird für die neue Teilereignisstruktur TE1a* (Fig. 28) ebenfalls eine kompatible Teilereignisstruktur gesucht. Die Teilereignisstruktur TE2b' (Fig. 21) der zweiten Ereignisstruktur E2 ist kompatibel mit dieser neuen Teilereignisstruktur TE1a* der ersten Ereignisstruktur E1, wobei wiederum die importierten Kausalitätsrelationen KaR in Fig. 28 eingezeichnet sind. Therefore, a compatible partial event structure is also sought for the new partial event structure TE1a* (FIG. 28). The partial event structure TE2b' (FIG. 21) of the second event structure E2 is compatible with this new partial event structure TE1a* of the first event structure E1, with the imported causality relations KaR again being drawn in FIG.

[00100] Die Teilereignisstrukturen TE1b der ersten Ereignisstruktur E1 und TE2a’ der zweiten Ereignisstruktur E2 sind nicht kompatibel, da keine Zuordnung für das Ereignis „2“ gefunden werden kann (siehe Fig. 16 und Fig. 19). Deshalb wird die Suche nach einer kompatiblen Teilereignisstruktur für TE1b fortgesetzt. The partial event structures TE1b of the first event structure E1 and TE2a' of the second event structure E2 are not compatible since no assignment can be found for the event "2" (see FIGS. 16 and 19). Therefore, the search for a compatible partial event structure for TE1b continues.

[00101] Der Vergleich fällt positiv aus, wenn für jede Teilereignisstruktur der Ereignisstruktur E1, sowie jede durch im Zuge des Vergleichs entstandenen Teilereignisstrukturen durch Hinzufügen von umgekehrten importierten Kausalitätsrelationen, eine kompatible Teilereignisstrukturen der Ereignisstruktur E2 gefunden werden. The comparison turns out to be positive if a compatible partial event structure of event structure E2 is found for each partial event structure of event structure E1 and each partial event structure created in the course of the comparison by adding reverse imported causality relations.

[00102] Der Vergleich fällt negativ aus, wenn für eine Teilereignisstruktur der Ereignisstruktur E1, oder für eine durch im Zuge des Vergleichs entstandenen Teilereignisstrukturen durch Hinzufügen von umgekehrten importierten Kausalitätsrelationen, keine kompatible Teilereignisstruktur in der Menge der Teilereignisstrukturen der Ereignisstruktur E2 gefunden werden kann. In diesem Fall kann der Vergleich sofort abgebrochen werden. The comparison is negative if no compatible partial event structure can be found in the set of partial event structures of event structure E2 for a partial event structure of event structure E1, or for a partial event structure created in the course of the comparison by adding reverse imported causality relations. In this case, the comparison can be aborted immediately.

VERGLEICH VON EREIGNISSTRUKTUREN ES - REVIDIEREN VON ZUORDNUNGEN COMPARISON OF EVENT STRUCTURES ES - REVISING ASSIGNMENTS

[00103] Das zuvor beschriebene Ausführungsbeispiel eines Vergleichs zweier Ereignisstrukturen E1, E2 wird im Folgenden erweitert, sodass das Lichtsignal L zweimal aufleuchtet, bevor der Zug die Freigabe zum Kreuzen mittels der Aktion „Go“ erhält. The previously described embodiment of a comparison of two event structures E1, E2 is expanded below so that the light signal L lights up twice before the train is allowed to cross using the action "Go".

[00104] Dazu werden eine erste Ereignisstruktur E1 (Fig. 29), in der die Aktion „Anschalten der Lichtsignale“ LAn, sowie die Aktion „Schließen des Schrankens“ SUnten in beliebiger Reihenfolge erfolgen dürfen. In der zweiten Ereignisstruktur E2 muss eines der Lichtsignale L zwingend nach dem Schließen des Schrankens angeschaltet werden (Fig. 30). For this purpose, a first event structure E1 (FIG. 29) in which the action "switching on the light signals" LAn and the action "closing the barriers" SUnten may take place in any order. In the second event structure E2, one of the light signals L must be switched on after the barrier has been closed (FIG. 30).

[00105] Der Übersichtlichkeit halber sind in den Fig. 31 bis 38 die Kausalitätsrelationen KoR der zweiten Ereignisstrukturen E2 mit eindeutigen Namen K1, K2, K3 versehen, um zu verdeutlichen, welche Kausalitätsrelationen KoR beim Vergleich mit der Ereignisstruktur E2 in die Ereignisstruktur E1 importiert werden. For the sake of clarity, the causality relations KoR of the second event structures E2 are provided with unique names K1, K2, K3 in FIGS. 31 to 38 in order to clarify which causality relations KoR are imported into the event structure E1 when compared with the event structure E2 .

[00106] Ziel des Vergleichs der beiden Ereignisstrukturen E1, E2 ist, wie zuvor beschrieben, zu untersuchen, ob die Menge an Sequenzen von Aktionen A, beschrieben durch die Ereignisstruktur E1, in der entsprechenden Menge der Sequenzen von Aktionen A Ereignisstruktur E2 enthalten ist. Dabei ist zu erwarten, dass dieser Vergleich fehlschlägt, da Ereignisstruktur E2 die Sequenz < LAn, LAn, SUnten > nicht zulässt, welche in Ereignisstruktur E1 möglich ist. The aim of the comparison of the two event structures E1, E2 is, as described above, to examine whether the set of sequences of actions A, described by the event structure E1, is contained in the corresponding set of sequences of actions A event structure E2. It is to be expected that this comparison will fail, since event structure E2 does not permit the sequence <LAn, LAn, SUnten>, which is possible in event structure E1.

[00107] Der erste Schritt des Vergleichs glückt, da alle Kausalitätsrelationen K1, K2, K3 der Ereignisstruktur E2 problemlos in die Ereignisstruktur E1 übernommen bzw. importiert werden können (Fig. 31). Die importierte Kausalitätsrelation K3 erzeugt in der Ereignisstruktur E1 allerdings eine Kausalität zwischen den Ereignissen „2“ und „3“, die in der Ereignisstruktur 1 ursprünglich nicht enthalten ist. Deswegen wird eine neue, durch Umkehren der importierten Kausalitätsrelation K3 entstehende Ereignisstruktur E1* erstellt und ebenfalls mit der Ereignisstruktur 2 verglichen (Fig. 33). Die Kausalitätsrelation KaR zwischen dem initialen Ereignis El und Ereignis „3“ braucht dabei nicht extra eingezeichnet werden, da diese transitive Kausalität implizit besteht. The first step of the comparison succeeds because all causality relations K1, K2, K3 of the event structure E2 can be taken over or imported into the event structure E1 without any problems (FIG. 31). However, the imported causality relation K3 creates a causality between the events "2" and "3" in the event structure E1, which is not originally contained in the event structure 1. For this reason, a new event structure E1*, which is created by reversing the imported causality relation K3, is created and also compared with the event structure 2 (FIG. 33). The causality relation KaR between the initial event El and event "3" does not need to be drawn in separately, since this transitive causality exists implicitly.

[00108] Zunächst wird in der Ereignisstruktur E1* die Kausalitätsrelation K1, die in der Ereignisstruktur E2 zwischen dem initialen Ereignis und Ereignis „4“ besteht, importiert bzw. eingefügt. Hierfür gibt es zwei Möglichkeiten: Entweder Ereignis „1“ oder Ereignis „2“ können Ereignis „4“ zugeordnet werden. Im gezeigten Ausführungsbeispiel wird zunächst Ereignis „1“ gewählt (Fig. 34). First, the causality relation K1, which exists in the event structure E2 between the initial event and event “4”, is imported or inserted into the event structure E1*. There are two possibilities for this: Either event "1" or event "2" can be assigned to event "4". In the exemplary embodiment shown, event “1” is first selected (FIG. 34).

[00109] Als nächstes wird die Kausalitätsrelation K2, die in der Ereignisstruktur E2 zwischen dem initialen Ereignis El und Ereignis „5“ besteht, in die Ereignisstruktur E1* importiert, wobei als Zuordnung für Ereignis „5“ nur Ereignis „3“ in Frage kommt (Fig. 35). Next, the causality relation K2, which exists in the event structure E2 between the initial event E1 and event “5”, is imported into the event structure E1*, with only event “3” coming into question as an assignment for event “5”. (Figure 35).

[00110] Zuletzt wird die Kausalitätsrelation K3, die in der Ereignisstruktur E2 zwischen den Ereignissen „5“ und „6“ besteht in die Ereignisstruktur E1* übernommen. Da Ereignis „1“ bereits zugeordnet ist, muss Ereignis „2“ dem Ereignis „6“ zugeordnet werden (Fig. 36). Dadurch ergibt sich in der Ereignisstruktur E1* ein Zyklus zwischen Ereignis „2“ und Ereignis „3“ aus originalen und importierten Kausalitätsrelationen. Wie zuvor beschrieben, dürfen sich durch Hinzufügen von allen Kausalitätsrelationen KaR der einen Teilereignisstruktur bzw. Ereignisstruktur E1 zur jeweils anderen Teilereignisstruktur bzw. Ereignisstruktur E2 für die gemäß der Zuordnung einander entsprechender Paare von Ereignissen E der ersten Teilereignisstruktur keine Zyklen in der Kausalität der ersten Teilereignisstruktur ergeben. Finally, the causality relation K3, which exists in the event structure E2 between the events “5” and “6”, is transferred to the event structure E1*. Since event "1" is already assigned, event "2" must be assigned to event "6" (Fig. 36). This results in a cycle between event "2" and event "3" from original and imported causality relations in the event structure E1*. As described above, adding all causality relations KaR of one partial event structure or event structure E1 to the other partial event structure or event structure E2 for the corresponding pairs of events E of the first partial event structure according to the assignment must not result in cycles in the causality of the first partial event structure .

[00111] Die Entscheidung, Ereignis „1“ der Ereignisstruktur E1* dem Ereignis „4“ der Ereignisstruktur E2 zuzuordnen, wird also revidiert und Ereignis „4“ stattdessen Ereignis „2“ der Ereignisstruktur E1* zugeordnet (Fig. 37). Beim Revidieren der Zuordnung werden auch alle danach getroffenen Zuordnungen und importierten Konfliktrelation KoR aus E1* entfernt. Die neue Zuordnung führt zu einem positiven Ergebnis des Vergleichs. The decision to assign event "1" of event structure E1* to event "4" of event structure E2 is thus revised and event "4" is assigned to event "2" of event structure E1* instead (FIG. 37). When revising the assignment, all assignments made afterwards and imported conflict relation KoR are also removed from E1*. The new assignment leads to a positive result of the comparison.

[00112] In diesem Fall wurde jedoch erneut eine Kausalitätsrelation K3 aus der Ereignisstruktur E2 importiert, die eine nichtexistierende Kausalität zwischen den Ereignissen „3“ und „1“ in der Ereignisstruktur E1* erzeugt. Deswegen ist, wie zuvor beschrieben, ein Vergleich für eine neue Ereignisstruktur E1** (Fig. 38), in der die Kausalität zwischen den Ereignissen „3“ und „1“ in umgekehrter Richtung vorhanden ist, durchzuführen. Der Vergleich der Ereignisstrukturen E1**, E2 schlägt in diesem Fall jedoch fehl, da die aus der Ereignisstruktur E2 importierte Kausalitätsrelation K3 immer einen Zyklus erzeugt, egal zwischen welchen Ereignissen K1 und K2 importiert werden. In this case, however, a causality relation K3 was imported again from the event structure E2, which produces a nonexistent causality between the events “3” and “1” in the event structure E1*. Therefore, as previously described, a comparison is to be carried out for a new event structure E1** (FIG. 38) in which the causality between events “3” and “1” is in the opposite direction. In this case, however, the comparison of the event structures E1**, E2 fails, since the causality relation K3 imported from the event structure E2 always generates a cycle, regardless of which events K1 and K2 are imported between.

[00113] Die resultierende Ereignisstruktur E1** repräsentiert alle Sequenzen an Aktionen, die in der Ereignisstruktur 1 möglich sind, in Ereignisstruktur 2 allerdings nicht. Namentlich sind das beide Sequenzen, die zunächst zwei Lichtsignale L haben und erst dann den Schranken schließen. The resulting event structure E1** represents all sequences of actions that are possible in event structure 1 but not in event structure 2. In particular, these are both sequences that first have two light signals L and only then close the barriers.

INTERNE AKTIONEN INTERNAL ACTIONS

[00114] Aktionen A können zusätzlich zu Eingaben und Ausgaben auch interne Aktionen sein. Interne Aktionen modellieren Aktionen A, die das System in einen neuen Zustand bringen, ohne dabei von außerhalb des Systems sichtbar bzw. steuerbar zu sein. Interne Aktionen können zum Beispiel Umsetzungsdetails für die Modellierung angeben. In addition to inputs and outputs, actions A can also be internal actions. Internal actions model actions A that bring the system into a new state without being visible or controllable from outside the system. For example, internal actions can specify implementation details for modeling.

[00115] Der Vergleich soll agnostisch gegenüber internen Aktionen sein. Das heißt Sequenzen von Aktionen sollen als ident betrachtet werden, wenn die Sequenzen von Aktionen die entstehen, wenn man interne Aktionen aus den ursprünglichen Sequenzen löscht, ident sind. The comparison is intended to be agnostic to internal actions. That is, sequences of actions should be considered identical if the sequences of actions that result from deleting internal actions from the original sequences are identical.

[00116] Um dies zu erreichen müssen Ereignisstrukturen vor dem Vergleich reduziert werden und Ereignisse denen interne Aktionen zugeordnet sind müssen gelöscht werden. Um die Semantik der Ereignisstruktur zu erhalten, muss beim Löschen von Ereignissen darauf geachtet werden, dass Kausalitäts- und Konfliktrelationen von gelöschten Ereignissen korrekt auf bestehende Ereignisse übertragen werden. To achieve this, event structures must be reduced before the comparison and events to which internal actions are assigned must be deleted. In order to preserve the semantics of the event structure, care must be taken when deleting events that causality and conflict relations from deleted events are correctly transferred to existing events.

[00117] Die in Tabelle 4 aufgeführten internen Aktionen werden zur Erweiterung des oben beschriebenen Ausführungsbeispiels eingeführt. In dieser Version des Modells M müssen Lichtsignal und Schranke zunächst einen Selbsttest durchführen, bevor das Licht angeht bzw. sich der The internal actions listed in Table 4 are introduced to extend the embodiment described above. In this version of the M model, the light signal and barrier must first carry out a self-test before the light comes on or the

Schranken schließt. In diesem Ausführungsbeispiel wird dabei nicht berücksichtigt, wie die Tests tatsächlich ablaufen, sondern lediglich, ob sie ausgeführt wurden. barrier closes. In this exemplary embodiment, it is not taken into account how the tests actually run, only whether they have been carried out.

[00118] Tabelle 4: Interne Aktionen des Modells M Table 4: Internal actions of the model M

Aktion A Aktionstyp Beschreibung |Bedingung Effekt LTest Intern Führt einen | LTest==False LTest:=True Selbsttest am Licht aus. STest Intern Führt einen | STest==False STest:=True Action A Action Type Description |Condition Effect LTest Internal Performs a | LTest==False LTest:=True Self test on light off. STest Internal Runs a | STest==False STest:=True

Selbsttest an der Schranke aus. self-test at the barrier.

LAn Ausgabe Das MWarnlicht| Pos==Nah && |L:=An geht an sobald|LTest==True sich ein Zug nähert und der Selbsttest des Lichts durchgeführt wurde LAn Edition The MWarning Light| Pos==Nah && |L:=On turns on as soon as|LTest==True a train is approaching and the light's self-test has been performed

SUnten Ausgabe Die Schranke | Pos==Nah && |S:=0 schließt sich so- | STest==True bald sich ein Zug nähert und der Selbsttest der Schranke durchgeführt wurde SBelow Edition The Barrier | Pos==Nah && |S:=0 closes so- | STest==True as soon as a train is approaching and the self-test of the barrier has been carried out

[00119] Der erweiterte erste Teil der Ereignisstruktur E1 ist in Fig. 39 dargestellt. Dabei werden internes Verhalten bzw. interne Aktionen als nicht relevant für den Vergleich von Modellen M erachtet. Von Interesse ist lediglich, ob zwei Modelle M1, M2 dieselben Sequenzen an Eingaben und Ausgaben zulassen. Deswegen werden interne Aktionen ausgeblendet. Zu diesem Zweck kann jede Ereignisstruktur ES auf eine Ereignisstruktur ES ohne interne Aktionen reduziert werden, indem Kausalitätsrelationen KaR bzw. Konfliktrelationen KoR auf bedingte Ereignisse E umgeleitet werden. The extended first part of the event structure E1 is shown in FIG. Internal behavior or internal actions are not considered relevant for the comparison of models M. It is only of interest whether two models M1, M2 allow the same sequences of inputs and outputs. Therefore, internal actions are hidden. For this purpose, each event structure ES can be reduced to an event structure ES without internal actions by causality relations KaR or conflict relations KoR being redirected to conditional events E.

[00120] Die Reduktion des gezeigten Ausführungsbeispiels erfolgt in folgenden Schritten: Zunächst werden aus der Ereignisstruktur E1 das Ereignis „1“ und alle ausgehenden Kausalitätsrelationen KaR entfernt und die Kausalitätsrelation KaR zwischen dem initialen Ereignis El und Ereignis „1“ wird zu allen bedingten Ereignissen umgeleitet, welches in diesem Fall lediglich Ereignis „5“ ist (Fig. 40). Anschließend werden aus der Ereignisstruktur E1 das Ereignis „3“ und alle ausgehenden Kausalitätsrelationen KaR entfernt und die Kausalitätsrelation KaR zwischen dem initialen Ereignis El und Ereignis „3“ wird zu allen bedingten Ereignissen umgeleitet, welches in diesem Fall lediglich Ereignis „6“ ist (Fig. 41). The exemplary embodiment shown is reduced in the following steps: First, the event “1” and all outgoing causality relations KaR are removed from the event structure E1 and the causality relation KaR between the initial event E1 and event “1” is redirected to all conditional events , which in this case is only event "5" (Fig. 40). Event "3" and all outgoing causality relations KaR are then removed from the event structure E1 and the causality relation KaR between the initial event El and event "3" is redirected to all conditional events, which in this case is only event "6" (Fig .41).

[00121] Indirekte Kausalitätsrelationen KaR brauchen nicht eingezeichnet werden. Die entstandene Ereignisstruktur E1' (Fig. 42) ist äquivalent zur Ereignisstruktur E1, d.h. sie ist bis auf die Nummerierung von Ereignissen gleich zum entsprechenden Teil der Ereignisstruktur E1 des originalen Modells. Indirect causality relations KaR do not need to be drawn. The resulting event structure E1' (Fig. 42) is equivalent to the event structure E1, i.e. it is the same as the corresponding part of the event structure E1 of the original model except for the numbering of events.

[00122] In gleicher Weise werden Konfliktrelationen KoR umgeleitet, was anhand des folgenden Beispiels einer Ereignisstruktur E3 (Fig. 43) demonstriert wird. Zunächst wird Ereignis „2“ aus der Ereignisstruktur E3 entfernt, da es sich dabei um eine interne Aktion, das Testen des Lichtsignals“ handelt und die Kausalitätsrelationen zwischen den Ereignissen „1“ und „2“ werden auf die bedingten Ereignisse „1“ und „4“ umgeleitet und Konfliktrelationen werden auf bedingte Ereignisse „4“ und „3“ umgeleitet (Fig. 44). Conflict relations KoR are diverted in the same way, which is demonstrated using the following example of an event structure E3 (FIG. 43). First, event "2" is removed from the event structure E3 because it is an internal action, "testing the light signal" and the causality relations between events "1" and "2" are set to the conditional events "1" and " 4” and conflict relations are redirected to conditional events “4” and “3” (Fig. 44).

[00123] Anschließend wird Ereignis „3“, das Testen des Schrankens, aus der Ereignisstruktur E3 Event "3", the testing of the barriers, then becomes event structure E3

entfernt, da es sich dabei um eine interne Aktion, das Testen des Schrankens“ handelt und die Kausalitätsrelationen zwischen den Ereignissen „1“ und „3“ werden auf die bedingten Ereignisse „1“ und „5“ umgeleitet und Konfliktrelationen werden auf bedingte Ereignisse „4“ und „5“ umgeleitet (Fig. 45). removed because it is an internal action, testing the "boundary" and causality relations between events "1" and "3" are redirected to conditional events "1" and "5" and conflict relations are related to conditional events " 4” and “5” (Fig. 45).

[00124] Das Ergebnis dieser Reduktionen der Ereignisstruktur E3 ist, wie erwartet, äquivalent zur entsprechenden Ereignisstruktur E3' ohne internen Aktionen. The result of these reductions of the event structure E3 is, as expected, equivalent to the corresponding event structure E3' without internal actions.

PARTIELLER AUFBAU UND VERGLEICH VON MODELLEN M PARTIAL CONSTRUCTION AND COMPARISON OF MODELS M

[00125] Beim zuvor beschriebenen Aufbau einer Ereignisstruktur ES kann die Ereignisstruktur ES theoretisch unendlich lang weitergeführt werden. Selbst wenn dies nicht der Fall wäre, können Modelle M enorm groß werden, was sowohl den Aufbau als auch den Vergleich derartiger Ereignisstrukturen ES extrem rechen- und zeitaufwendig und somit praktisch unmöglich macht. In the structure of an event structure ES described above, the event structure ES can theoretically be continued indefinitely. Even if this were not the case, models M can become enormously large, which makes both the construction and the comparison of such event structures ES extremely computationally and time-consuming and thus practically impossible.

[00126] Um diesem Problem entgegenzutreten, wird der Aufbau und Vergleich von Ereignisstrukturen ES in kleine Teile strukturiert. Eine Ereignisstruktur ES wird, beginnend von einem vorgegebenen bzw. ausgewählten Zustand des Modells M, solange aufgebaut, bis nur noch Ereignisse E hinzugefügt werden können, die Eingaben als Aktion haben. Der Vergleich erfolgt ebenfalls lediglich auf den Teilereignisstrukturen TE, die einem Abschnitt eines solchen Aufbaus entsprechen. [00126] In order to counteract this problem, the construction and comparison of event structures ES is structured into small parts. An event structure ES is built up, starting from a predetermined or selected state of the model M, until only events E can be added that have inputs as action. The comparison is also only made on the partial event structures TE that correspond to a section of such a structure.

[00127] Dazu wird das zu vergleichende Modell M1 lediglich partiell in eine Ereignisstruktur ES überführt, und mit entsprechenden Teilen bzw. Ereignisstrukturen ES des für den Vergleich herangezogenen Modells M2 verglichen. Dabei werden partielle Ereignisstrukturen aufgebaut die, beginnend von einem vorgegebenen Zustand des Modells, teilweisen Ausführungen des Modells entsprechen, bei denen alle möglichen Ausgaben des Systems erfolgt sind und das Modell eine Eingabe notwendig macht, um weitere Ausgaben zu produzieren. For this purpose, the model M1 to be compared is only partially converted into an event structure ES and compared with corresponding parts or event structures ES of the model M2 used for the comparison. In doing so, partial event structures are constructed which, starting from a given state of the model, correspond to partial executions of the model, in which all possible outputs of the system have taken place and the model requires an input in order to produce further outputs.

[00128] Teile der einen Version des zu vergleichenden Modells werden mit Teilen des für den Vergleich herangezogenen Modells verglichen, die den jeweiligen partiellen Ereignisstrukturen mit der gleichen Eingabe, beginnend von einem gemeinsamen Zustand, entsprechen. Parts of the one version of the model to be compared are compared to parts of the model used for comparison corresponding to respective partial event structures with the same input starting from a common state.

[00129] Beim zuvor angegebenen Beispiel einer Eisenbahnkreuzung erfolgt der Aufbau in folgenden Teilen: Zunächst werden zum initialen Ereignis El die Ereignisse mit den Nummern „1“ entsprechend der Eingaben „ZNah“ und „2“ entsprechend „GKreuz“ eingefügt, wie dies in Fig. 3 dargestellt ist. In the example of a railroad crossing given above, the construction takes place in the following parts: First, the events with the numbers “1” corresponding to the inputs “ZNah” and “2” corresponding to “GKreuz” are inserted for the initial event El, as shown in Fig 3 is shown.

[00130] Die Eingabe „GKreuz“ führt zu keinen weiteren Ereignissen E. Die Eingabe „ZNah“ induziert die in Fig. 46 dargestellte Ereignisstruktur an möglichen Ausgaben. Bei dieser Ereignisstruktur sind „ZKreuz“ und „GKreuz“ mögliche Eingaben, die folgend auf die Aktion 5 „Go“ erfolgen können. Bei Wahl von „ZKreuz“ wird die in Fig. 47 dargestellte Ereignisstruktur induziert. The input "GKreuz" does not lead to any further events E. The input "ZNah" induces the event structure shown in FIG. 46 at possible outputs. In this event structure, "ZKreuz" and "GKreuz" are possible entries that can be made following action 5 "Go". When selecting "Zcross" the event structure shown in Fig. 47 is induced.

[00131] Abermals sind „ZFern“ und „GKreuz“ bei dieser Ereignisstruktur mögliche Eingaben, die nach Aktion 6 „ZKreuz“ erfolgen können. Die Wahl von „ZFern“ induziert die in Fig. 48 dargestellte Ereignisstruktur. Für die Aktion „ZNah“ gibt es 5 verschiedene Historien (Fig. 48), die sich dadurch unterscheiden, ob sich zwischenzeitlich der Schranken geöffnet hat oder das Licht angegangen ist. Again, "ZFern" and "GKreuz" are possible entries in this event structure, which can be made after action 6 "ZKreuz". Choosing "ZFern" induces the event structure shown in Fig. 48. There are 5 different histories (Fig. 48) for the "ZNah" action, which differ according to whether the barrier has opened in the meantime or the light has come on.

[00132] Je nach geplantem Suchaufwand, Suchziel und Modellgröße können einzelne, mehrere, oder alle dieser Historien und Eingaben weiterverfolgt und verglichen werden. Depending on the planned search effort, search target and model size, one, several, or all of these histories and entries can be followed up and compared.

[00133] Die Auswahl der Historien und Eingaben kann zufällig, heuristisch, oder umfassend durchgeführt werden, wie dies in Fellner, Andreas, et al. "Model-based, mutation-driven test case generation via heuristic-guided branching search." Proceedings of the 15th ACM-IEEE International Conference on Formal Methods and Models for System Design. ACM, 2017 beschrieben ist. The selection of histories and inputs can be random, heuristic, or comprehensive, as described in Fellner, Andreas, et al. "Model-based, mutation-driven test case generation via heuristic-guided branching search." Proceedings of the 15th ACM-IEEE International Conference on Formal Methods and Models for System Design. ACM, 2017.

STATISCHE ANALYSE [00134] Um nur eine eingeschränkte Menge an Ereignissen E beim Vergleich von Ereignisstruk18 / 40 STATIC ANALYSIS Around only a restricted set of events E when comparing event structures 18/40

turen ES überprüfen zu müssen, bzw. einen effizienten Aufbau von Ereignisstrukturen ES zu gewährleisten, kann bei einem erfindungsgemäßen Verfahren optional eine statische Analyse genutzt werden, um festzulegen, welche Ereignisse E bei einem bestimmten Zustand des Modells M möglich sind und welche Aktionen potenziell in Konflikt stehen. To have to check structures ES, or to ensure an efficient construction of event structures ES, a static analysis can optionally be used in a method according to the invention in order to determine which events E are possible in a specific state of the model M and which actions are potentially in conflict stand.

[00135] Statische Analyse bezeichnet in diesem Zusammenhang die Extraktion und Nutzung von Informationen basierten auf statischen Elementen des Modells M, also zum Beispiel der Bedingungen, Effekten der Aktionen, sowie die Variablen auf die diese zugreifen. Konkret werden die Variablenzugriffe der Aktionen A genutzt, um beim Aufbau der Ereignisstruktur ES festzustellen, für welche Aktionen A möglicherweise neue Ereignisse E einzufügen sind und um festzustellen zwischen welchen Ereignissen Konfliktrelationen eingefügt werden müssen. Als zeit- und rechenaufwendigere Alternative dazu wäre es beispielsweise möglich, nach dem Einfügen eines Ereignisses E, jedes im Modell M zur Verfügung stehende Ereignis E dahingehend zu prüfen, ob eine Einfügung folgend auf das jeweils davor eingefügte Ereignis E zulässig ist. In this context, static analysis refers to the extraction and use of information based on static elements of the model M, for example the conditions, effects of the actions, and the variables that access them. In concrete terms, the variable accesses of the actions A are used in order to establish, during the construction of the event structure ES, for which actions A new events E may have to be inserted and in order to determine between which events conflict relations must be inserted. As an alternative to this, which is more time-consuming and computationally expensive, it would be possible, for example, after the insertion of an event E, to check each event E available in the model M to determine whether an insertion following the event E inserted before it is permissible.

[00136] Welche Aktionen potenziell in Konflikt stehen ist somit leicht feststellbar. Z.B. stehen die Aktionen „LAn“ und „Go“ in Konflikt weil „LAn“ der Variable „L“ einen Wert zuweist, den „Go“ verwendet. Hingegen stehen die Aktionen „SUnten“ und „LAus“ sicher nicht im Konflikt, da die einzige Variable die beide verwenden „Pos“ ist und beide dieser keinen Wert zuweisen. Der Einsatz einer Konfliktrelation ist eine konservative Approximation der Konfliktrelation wie weiter oben beschrieben wurde. Zwei Aktionen die laut statischer Analyse nicht miteinander in Konflikt stehen, stehen gesichert auch nicht in Konflikt im obigen Sinne. Allerdings kann es Aktionen geben, die laut statischer Analyse in Konflikt stehen, nicht aber im obigen Sinne. Die Berechnung von Konflikten mittels statischer Analyse ist allerdings weitaus weniger rechenaufwendig, da nicht die Resultate von unterschiedlichen Ausführungsreihenfolgen an einer potenziell großen Menge an Zuständen überprüft werden muss. It is thus easy to determine which actions are potentially in conflict. For example, the actions "LAn" and "Go" conflict because "LAn" assigns a value to the variable "L" that "Go" uses. On the other hand, the actions "SDown" and "LOut" certainly do not conflict, since the only variable that both use is "Pos" and neither of them assigns a value to it. The use of a conflict relation is a conservative approximation of the conflict relation as described above. Two actions that are not in conflict with each other according to the static analysis are certainly not in conflict in the above sense. However, there can be actions which, according to static analysis, are in conflict, but not in the above sense. However, the calculation of conflicts using static analysis is far less computationally intensive, since the results of different execution orders do not have to be checked on a potentially large number of states.

[00137] Wenn nun ein Ereignis eingefügt wird, so sind Konfliktrelationen zu erstellen mit allen anderen Ereignissen, wenn die Aktionen, die diese Ereignisse ausführen einen Konflikt haben und die Ereignisse nicht (indirekt) in einer Kausalitätsbeziehung stehen. Obwohl dieses Verfahren die Zahl der Konflikte potentiell überschätzt und damit in einigen Fällen mehr Ereignisse als nötig eingefügt werden, so ist es doch effizienter als eine exakte Analyse der Aktionen, die statt einer syntaktischen Analyse eine mathematische Analyse notwendig macht. If an event is now inserted, then conflict relations are to be created with all other events if the actions that carry out these events have a conflict and the events are not (indirectly) in a causal relationship. Although this method potentially overestimates the number of conflicts and thus in some cases inserts more events than necessary, it is still more efficient than an exact analysis of the actions, which requires a mathematical analysis instead of a syntactic analysis.

[00138] Bei der statischen Analyse werden Information über Zugriffe auf Variablen V von einer betreffenden Aktion A genutzt, um die Menge an anderen Aktionen A einzuschränken, deren Zulässigkeit sich nach der Ausführung der betreffenden Aktion A verändert haben kann. Dabei kann sich die Zulässigkeit einer Aktion, durch die Ausführung einer anderen Aktion, nur dann ändern, wenn die Bedingung zur Zulässigkeit der Aktion eine Variable V beinhaltet, die von der anderen Aktion verändert wird. Eine Variable V kann nur dann von einer Aktion A verändert werden, wenn es einen Teileffekt der Aktion gibt, der der Variable V einen neuen Wert zuweist. In the static analysis, information about accesses to variables V from a relevant action A is used to restrict the set of other actions A, the permissibility of which may have changed after the relevant action A has been carried out. The permissibility of an action can only change when another action is carried out if the condition for the permissibility of the action contains a variable V that is changed by the other action. A variable V can only be changed by an action A if there is a partial effect of the action that assigns a new value to the variable V.

[00139] Diese Einschränkung wird im Aufbau von Ereignisstrukturen ES eingesetzt, indem nach dem Einfügen eines Ereignisses E entsprechend einer Aktion A lediglich für die eingeschränkte Menge an Aktionen, deren Zulässigkeit sich geändert haben kann, zuzüglich allen Ereignissen, die mit dem eingefügten Ereignis E in Konflikt stehen, zu überprüfen ist, ob ein neues Ereignis E mit einer solchen Aktion A einzufügen ist. This constraint is used in the construction of event structures ES by after inserting an event E corresponding to an action A only for the restricted set of actions whose admissibility may have changed, plus all events associated with the inserted event E in Are conflicting, it must be checked whether a new event E with such an action A is to be inserted.

[00140] Im gezeigten Ausführungsbeispiel einer Eisenbahnkreuzung wird ein Teil des Aufbaus der Ereignisstruktur ES wiederholt, um die vorteilhafte Verwendung einer statischen Analyse zu verdeutlichen und zu illustrieren, für welche Aktionen A beispielsweise überprüft wird, ob neue Ereignisse E hinzukommen, wobei diese Ereignisse E mit einer „?“- Nummerierung symbolisiert werden. In the illustrated embodiment of a railroad crossing, part of the structure of the event structure ES is repeated to illustrate the advantageous use of a static analysis and to illustrate for which actions A, for example, it is checked whether new events E are added, these events E with be symbolized by a "?" numbering.

[00141] Im initialen Zustand | (Fig. 1) sind zunächst alle möglichen Aktionen A des Modells M zu überprüfen. Im gezeigten Ausführungsbeispiel wird zunächst das Ereignis mit der Nummer „1“ bzw. „ZNah“, also dass sich ein Zug der Eisenbahnkreuzung nähert, eingefügt, wie dies in Fig. 2 ersichtlich ist. „ZNah“ verändert die Variable „Pos“, welche in der Bedingung zur Prüfung der In the initial state | (Fig. 1), all possible actions A of the model M must first be checked. In the exemplary embodiment shown, the event with the number “1” or “ZNah”, ie that a train is approaching the level crossing, is first inserted, as can be seen in FIG. "ZNah" changes the variable "Pos", which is used in the condition for checking the

Zulässigkeit von allen Aktionen A (außer „GKreuz“, siehe Tabelle 2) benötigt wird. Admissibility of all actions A (except "Gcross", see Table 2) is required.

[00142] Dementsprechend ist für alle Aktionen A zu prüfen, ob sie im Anschluss an Ereignis „1“ zulässig sind. Dabei wird nicht analysiert, welchen Wert „Pos“ nach der Ausführung von „ZNah“ hat, da im Allgemeinen der Wert von Variablen davon abhängt welche Aktionen zuvor ausgeführt wurden und eine Analyse die die gesamte Historie mit einbezieht zu rechenaufwändig ist, sondern lediglich welche Variablen V verändert werden. Es brauchen also nur neun statt aller zehn möglichen Aktionen (Fig. 49) auf deren Zulässigkeit überprüft werden. Die Aktion „GKreuz“ muss nicht überprüft werden, da sie die Variable Pos in ihren Bedingungen nicht zur Prüfung ihrer Zulässigkeit benötigt. Accordingly, it must be checked for all actions A whether they are permissible following event "1". It is not analyzed which value "Pos" has after the execution of "ZNah", because in general the value of variables depends on which actions were previously executed and an analysis that includes the entire history is too computationally expensive, but only which variables V to be changed. So only nine instead of all ten possible actions (FIG. 49) need to be checked for their admissibility. The "GCross" action does not need to be checked because it does not need the Pos variable in its conditions to check its admissibility.

[00143] Die Prüfung der Zulässigkeiten ergibt, dass die Aktionen „LAn“ und „SUnten“ tatsächlich zulässig sind. Für diese Aktionen können also Ereignisse hinzugefügt werden. Zunächst wird aber das Ereignis mit der Nummer „2“ für die Aktion „GKreuz“ eingefügt (Fig. 50), da dieses Ereignis zulässig ist. Diese Aktion verändert die Variable „G“, welche lediglich für die Prüfung der Zulässigkeit der Aktionen „Go“ und „GKreuz“ benötigt werden, welche nun auf Zulässigkeit im Zustand entsprechend Ereignis „2“ geprüft werden. Beide Aktionen sind nicht zulässig, deswegen wird kein neues Ereignis im Anschluss an Ereignis „2“ hinzugefügt. [00143] The examination of the permissibility shows that the actions “LAn” and “SUnten” are actually permissible. Events can therefore be added for these actions. First, however, the event with the number "2" for the "Gcross" action is inserted (Fig. 50), since this event is permissible. This action changes the variable "G", which is only required for checking the admissibility of the actions "Go" and "GKreuz", which are now checked for admissibility in the state corresponding to event "2". Both actions are not allowed, so no new event is added after event "2".

[00144] Ein Ereignis für „LAn“ mit einer Kausalitätsrelation KaR zu Ereignis „1“ wird eingefügt (Fig. 51). Diese Aktion verändert Variable „L“, welche nur für die Prüfung der Zulässigkeit der Aktionen „Go“, „LAus“ und „LAn“ genutzt wird. Dementsprechend braucht auch nur diese Aktion auf Zulässigkeit überprüft werden. Die Aktion „Go“ ist allerdings nicht zulässig, da der Wert von „S“ nicht 0 ist. Es gibt auch kein zu Ereignis „2“ unabhängiges Ereignis, das die Zulässigkeit herstellen könnte. Ebenfalls sind „LAn“ und „LAus“ nicht zulässig, da deren Bedingungen nicht erfüllt sind. An event for "LAn" with a causality relation KaR to event "1" is inserted (Fig. 51). This action changes variable "L", which is only used to check the admissibility of the actions "Go", "LAus" and "LAn". Accordingly, only this action needs to be checked for admissibility. However, the action "Go" is not allowed because the value of "S" is not 0. There is also no event independent of event "2" that could establish admissibility. "LAn" and "LAus" are also not permitted because their conditions are not met.

[00145] Ein Ereignis für „SUnten“ mit Kausalitätsrelation zu Ereignis „1“ wird eingefügt (Fig. 52). Diese Aktion verändert Variable „S“, welches nur für die Prüfung der Aktionen „Go“, „SUnten“ und „SOben“ genützt wird. Die Aktion „Go“ ist nach Ereignis „3“ nicht zulässig, da der Wert von „L“ nicht „True“ ist. Allerdings gibt es mit Ereignis „4“ ein Ereignis, das ebenfalls potenziell die Zulässigkeit der Aktion verändert. Deswegen muss auch geprüft werden, ob die Ereignisse mit den Nummern „4“ und „3“ gemeinsam die Aktion „Go“ zulässig machen, was der Fall ist. Die Aktionen „SUnten“ und „SOben“ sind nicht zulässig an dieser Stelle. An event for "SDown" with causality relation to event "1" is inserted (Fig. 52). This action changes variable "S", which is only used for checking the actions "Go", "SUnder" and "SOben". The action "Go" is not allowed after event "3" because the value of "L" is not "True". However, with event "4" there is an event that also potentially changes the admissibility of the action. Therefore, it must also be checked whether the events numbered "4" and "3" together make the action "Go" permissible, which is the case. The actions "SUnten" and "SOben" are not permitted at this point.

[00146] Es wird ein Ereignis für „Go“ mit Kausalitätsrelation zu beiden bedingenden Ereignissen und einer Konfliktrelation zu Ereignis „2“ eingefügt (Fig. 53). Die Aktion „Go“ verändert die Variable „Stop“, welche zur Prüfung der Zulässigkeit von den Aktionen „SOben“, „LAus“, „Stop“, „Go“ und „ZKreuz“ verwendet wird (Fig. 54). Zusätzlich zur Prüfung der Zulässigkeit dieser fünf Aktionen muss auch die Zulässigkeit der Aktion „GKreuz“ geprüft werden, da es ein Ereignis entsprechend dieser Aktion gibt mit dem Ereignis „4“ in Konflikt steht (Fig. 53). Im Gegensatz zu den Aktionen, die ihre Zulässigkeit potenziell geändert haben können, brauchen Aktionen die in Konflikt stehen, ihre Zulässigkeit nicht zu ändern, um nach dem Ereignis zulässig zu sein. Lediglich die Reihenfolge der Ausführung bedingt einen Unterschied. Aktion „GKreuz“ ist in Ereignis „4“ zulässig, weswegen ein Ereignis für die Aktion eingefügt werden wird (siehe oben). An event for “Go” with a causality relation to both conditional events and a conflict relation to event “2” is inserted (FIG. 53). The "Go" action changes the "Stop" variable, which is used to check the permissibility of the actions "SOben", "LAus", "Stop", "Go" and "ZKreuz" (Fig. 54). In addition to checking the legitimacy of these five actions, the legitimacy of action "GCross" must also be checked, since there is an event corresponding to this action that conflicts with event "4" (Fig. 53). Contrary to actions that may potentially have their legality changed, conflicting actions need not change their legality in order to be legal after the event. The only difference is the order of execution. Action "GCross" is allowed in event "4", so an event will be inserted for the action (see above).

OBJEKTGENAUE STATISCHE ANALYSE OBJECT ACCURATE STATIC ANALYSIS

[00147] Beim erfindungsgemäßen Vergleich von Modellen kann zur kompakteren Darstellung der Modelle optional eine Objektkapselung genutzt werden, die beispielsweise in Marcello M. Bonsangue, Joost N. Kok, and Kaisa Sere. 1998. An Approach to Object-Orientation in Action Systems. In Mathematics of Program Construction, MPC’98, Marstrand, Sweden, June 15-17, 1998, Proceedings (MPC), Johan Jeuring (Ed.), Vol. 1422. Springer, 68-95 oder http://link.springer.de/link/service/series/0558/bibs/1422/14220068.htm beschrieben ist. When comparing models according to the invention, an object encapsulation can optionally be used for a more compact representation of the models, for example in Marcello M. Bonsangue, Joost N. Kok, and Kaisa Sere. 1998. An Approach to Object-Orientation in Action Systems. In Mathematics of Program Construction, MPC'98, Marstrand, Sweden, June 15-17, 1998, Proceedings (MPC), Johan Jeuring (Ed.), Vol. 1422. Springer, 68-95 or http://link.springer .de/link/service/series/0558/bibs/1422/14220068.htm.

[00148] Es gibt dabei Klassen, die beschreiben, welche Variablen V jede Instanz dieser Klasse hat. Für jede Klasse gibt es eine Menge an Instanzen und es gibt Variablen die vom Typ einer Klasse sein können, das heißt auf Instanzen dieser Klasse verweisen. Prinzipiell agieren unter-There are classes that describe which variables V each instance of this class has. For every class there are a set of instances and there are variables that can be of the type of a class, ie refer to instances of this class. In principle, act

schiedliche Instanzen derselben Klasse unabhängig. Diese Unabhängigkeit soll von den aufgebauten Ereignisstrukturen genutzt werden. different instances of the same class independently. This independence should be used by the event structures that have been set up.

[00149] Allerdings sind für die naive statische Analyse Variablen von einem Objekttyp sowie die Variablen dieser Instanzen ident, weswegen die zugehörigen Aktionen als in Konflikt stehend identifiziert werden. Dieser Umstand soll durch eine detailliertere statische Analyse vermieden werden und zwischen Variablen die auf verschiedene Instanzen verweisen soll unterschieden werden. [00149] However, for naive static analysis, variables of an object type and the variables of these instances are identical, which is why the associated actions are identified as conflicting. This circumstance should be avoided by a more detailed static analysis and a distinction should be made between variables that should refer to different instances.

[00150] Diese Unterscheidung von Variablen erfolgt, indem, beginnend vom Ausgangszustand des Vergleichs, die Instanzen von Variablen mit einem Objekttypen mitgeführt und eventuelle Änderungen dieser Instanzen durch Effekte von Aktionen akkurat gehalten werden. Die instanzgenaue Variablenaufschlüsselung wird dann zur Konfliktanalyse verwendet, sodass zwei Variablen mit Objekttyp nur dann als ident identifiziert werden, wenn sie auf dieselbe Instanz verweisen. [00150] This differentiation of variables takes place in that, starting from the initial state of the comparison, the instances of variables are carried along with an object type and any changes to these instances are kept accurate by the effects of actions. The instance-precise variable breakdown is then used for conflict analysis, so that two object-type variables are identified as ident only if they refer to the same instance.

[00151] Zur Veranschaulichung wird das gezeigte Ausführungsbeispiel erweitert und die Situation modelliert, dass es mehrere Gleise gibt. Dazu gibt es eine Klasse „Gleis“, mit einer Variablen „G“, die angibt, ob sich Geröll auf dem Gleis befindet. Die Klasse hat zwei Instanzen „Gleis 1“ und „Gleis2“. Dem Modell M werden neue Variablen „AktGleis“ vom Typ „Gleis“ sowie „GlSet“ beispielsweise vom Typ Boolean hinzugefügt. Die in Tabelle 5 zusammengefassten Aktionen werden verändert bzw. hinzugefügt. For the purpose of illustration, the exemplary embodiment shown is expanded and the situation is modeled in which there are several tracks. There is also a class "track" with a variable "G" that indicates whether there is rubble on the track. The class has two instances "Gleis1" and "Gleis2". New variables "AktGleis" of the "Gleis" type and "GlSet" of the Boolean type, for example, are added to the M model. The actions summarized in Table 5 are changed or added.

[00152] Tabelle 5: Weitere Aktionen A im Modell M Table 5: Further actions A in model M

Aktion A Aktionstyp | Beschreibung Bedingung Effekt Action A action type | Description Condition Effect

GKreuz1 Eingabe Geröll gelangt auf Gleis1 | TRUE Gleis1.G := True GKreuz1 input rubble reaches track1 | TRUE Track1.G := True

GKreuz2 | Eingabe Geröll gelangt auf Gleis2 | TRUE Gleis2.G := True GCross2 | Input rubble arrives on track2 | TRUE Track2.G := True

AktGI1 Eingabe Der Zug fährt auf Gleis1 |GISet==False AktGleis:=Gleis 1 GlSet:=True AktGI1 Input The train is running on track 1 |GISet==False AktGleis:=Track 1 GlSet:=True

AktGI2 Eingabe Der Zug fährt auf Gleis2 |GISet==False AktGleis:=Gleis2 GlSet:=True AktGI2 input The train is running on track2 |GISet==False AktGleis:=Gleis2 GlSet:=True

Go Ausgabe Das Stopsignal für den | Pos==Fern && Stop:=Aus Go output The stop signal for the | Pos==Remote && Stop:=Off

Zug geht aus sobald sich | Stop==True & | GISet==False der Zug annähert, | S__9 8& Train goes out as soon as | Stop==True & | GISet==False the train is approaching, | S__9 8&

Schranke eschlossen, barrier closed,

Warnlicht an ist. das ak. | L== True && warning light is on. the ak | L== True &&

tive Gleis gesetzt wurde | G'Set==True && und am aktiven Gleis kein | AktGleis.G==False Geröll ist tive track was set | G'Set==True && and no | on the active track AktGleis.G==False is scree

[00153] Beim Aufbau der Ereignisstruktur ES ist zunächst zu klären, welche Variable V die Aktion „Go“ für die Prüfung der Zulässigkeit benötigt. Als Bedingung ist Tabelle 5 zu entnehmen, dass „AktGleis.G“==False ist. „AktGleis“ ist allerdings eine Variable vom Typ „Gleis“. Je nachdem, ob „AktGleis“ gerade „Gleis 1“ oder „Gleis2“ zugewiesen ist, wird entweder auf die Variable „Gleis 1.G“ oder „Gleis2.G“ zugegriffen. Dies hat speziell Auswirkung darauf, ob eine Konfliktrelation zwischen Ereignissen mit der Aktion „Go“ bzw. „GSKreuz1“ und „GKreuz2“ besteht. When setting up the event structure ES, it must first be clarified which variable V requires the action “Go” to check the admissibility. As a condition, Table 5 shows that "AktGleis.G"==False. However, "AktGleis" is a variable of the "Gleis" type. Depending on whether "AktGleis" is currently assigned to "Gleis 1" or "Gleis2", either the variable "Gleis 1.G" or "Gleis2.G" is accessed. This has a special effect on whether there is a conflict relationship between events with the action "Go" or "GSKreuz1" and "GKreuz2".

[00154] Die Ereignisstruktur in Fig. 55 zeigt das Ergebnis einer objektgenauen Variablenanalyse. Dabei gibt es zwei Ereignisse mit der Aktion „Go“, je nachdem welches Gleis aktiv gesetzt wurde. Die Ereignisse stehen jeweils nur mit dem entsprechenden Ereignis „1“ oder „5“ in Konflikt. Ereignis „8“ kann zum Beispiel unabhängig von Ereignis „5“ eintreten. Dieselbe Analyse wird beispielsweise auch eingesetzt, um die Anzahl an möglichen zulässigen Aktionen A einzuschränken. The event structure in FIG. 55 shows the result of an object-specific variable analysis. There are two events with the action "Go", depending on which track was activated. The events only conflict with the corresponding event "1" or "5". For example, event "8" can occur independently of event "5". The same analysis is also used, for example, to restrict the number of possible permissible actions A.

TESTFÄLLET TEST CASE

[00155] Erfindungsgemäß erstellte Ereignisstrukturen ES bzw. deren Vergleich können bzw. kann vorteilhafterweise auch zur Testfallgenerierung verwendet werden. Ein Testfall T ist dabei Event structures ES created according to the invention or their comparison can or can advantageously also be used for test case generation. A test case T is included

als eine Sequenz von Eingaben, Ausgaben, sowie erwartbaren Ausgaben zu verstehen. Dabei sind bei der Ausführung eines Testfalls T an einem zu testenden System die Eingaben von der ausführenden Instanz dem System zuzuführen, und die observierten Ausgaben sind mit dem Testfall T zu vergleichen. to be understood as a sequence of inputs, outputs and expected outputs. When executing a test case T on a system to be tested, the inputs from the executing entity are to be fed to the system and the observed outputs are to be compared with the test case T.

[00156] Ein Testfall T wird dabei als korrekt ausgeführt betrachtet, wenn bei korrekter Abfolge der Sequenz an Eingaben, die vorgegebene Abfolge an Ausgaben beobachtet wird. Ein Testfall T wird als nicht konklusiv ausgeführt betrachtet, wenn bei korrekter Abfolge der Sequenz an Eingaben, eine Ausgabe erfolgt, die zwar als eine mögliche Ausgabe hinterlegt ist, aber nicht der vorgegebenen Sequenz von Ein- und Ausgaben entspricht. Ein Testfall T schlägt fehl, wenn bei korrekter Abfolge der Sequenz an Eingaben, eine Ausgabe erfolgt, die weder als aktuell mögliche Ausgabe hinterlegt ist, noch der vorgegebenen Sequenz von Ein- und Ausgaben entspricht. A test case T is considered to have been executed correctly if the specified sequence of outputs is observed given a correct sequence of the sequence of inputs. A test case T is considered not to have been executed conclusively if, given the correct sequence of inputs, an output occurs that is stored as a possible output, but does not correspond to the specified sequence of inputs and outputs. A test case T fails if, given the correct sequence of inputs, an output occurs that is neither stored as currently possible output nor corresponds to the specified sequence of inputs and outputs.

[00157] Testfälle T ergeben sich beispielsweise durch den Vergleich von zwei Versionen eines Modells M, die unter anderem entstehen können durch: Test cases T result, for example, from the comparison of two versions of a model M, which can arise, among other things, from:

- gezieltes Einsetzen von Fehlern im Modell M bzw. Mutationen, auf die später noch eingegangen wird, oder - Targeted use of errors in the model M or mutations, which will be discussed later, or

- Weiterentwicklung des Modells M, oder - Further development of the model M, or

- unabhängige Entwicklung des Modells M auf mehrere Arten, z.B. durch verschiedene Modellierungsansätze, von verschiedenen Personen, über verschiedene Ubersetzungen aus verschiedenen Modellierungssprachen etc., oder - independent development of the model M in several ways, e.g. by different modeling approaches, by different people, via different translations from different modeling languages, etc., or

- verschiedene Abstraktionsebenen des Modells M. - different levels of abstraction of the model M.

[00158] Auf diese Weise werden zwei Modelle M1 und M2 erstellt. Durch die oben beschriebene Überführung der beiden Modelle M1, M2 in Ereignisstrukturen ES und deren Vergleich ergibt sich entweder, dass es keine Unterschiede in erlaubten Sequenzen von Eingaben und Ausgaben gibt, wobei in diesem Fall kein Testfall T generiert wird, oder dass es Unterschiede in erlaubten Sequenzen von Eingaben und Ausgaben gibt, wobei es in diesem Fall eine Teilereignisstruktur der Ereignisstruktur der einen Version des Modells M bzw. des Modells M1 gibt, die Sequenzen an Eingaben und Ausgaben beschreibt, die laut der Ereignisstruktur der anderen Version des Modells M bzw. des Modells M2 nicht zulässig sind. In this way, two models M1 and M2 are created. The above-described transfer of the two models M1, M2 into event structures ES and their comparison results in either that there are no differences in permitted sequences of inputs and outputs, in which case no test case T is generated, or that there are differences in permitted There are sequences of inputs and outputs, in which case there is a partial event structure of the event structure of one version of the model M or of the model M1, which describes sequences of inputs and outputs which, according to the event structure of the other version of the model M or of the model M2 are not permitted.

[00159] Damit kann entweder das Auftreten solcher Sequenzen getestet werden, indem diese Teilereignisstrukturen zu Testfällen T umgewandelt werden. Zusätzlich oder alternativ dazu kann das Ausbleiben falscher Sequenzen getestet werden, indem eine Teilereignisstruktur der Ereignisstruktur der anderen Version des Modells M bzw. des Modells M2 zu Testfällen T umgewandelt wird, wobei diese Teilereignisstruktur Sequenzen an Aktionen A ermöglichen soll, die maximal lang ident sind mit den nicht zulässigen Sequenzen an Aktionen A sind. The occurrence of such sequences can thus be tested by converting these partial event structures into test cases T. In addition or as an alternative to this, the absence of incorrect sequences can be tested by converting a partial event structure of the event structure of the other version of the model M or the model M2 to test cases T, with this partial event structure being intended to enable sequences of actions A that are identical to the maximum length are the impermissible sequences of actions A.

[00160] Konfliktfreie Teilereignisstrukturen können in Testfälle T umgewandelt werden, indem Sequenzen von Aktionen entsprechend Ereignissen gesammelt werden, die, gemäß den Kausalitätsrelationen KaR, bedingende Ereignisse vor bedingten Ereignissen reiht, und diese mit möglichen Ausgaben, die Ereignissen entsprechen, die laut der Kausalitätsrelationen KaR und/oder Konfliktrelationen KoR der gesamten Ereignisstruktur ES jeweils nach dem aktuellen Ereignis auftreten können. Diese Sequenzen können zu Testfällen komplettiert werden, indem für jede Ausgabe die Menge an zulässigen, alternativen Ausgaben aus der Ereignisstruktur abgelesenund zum Testfall hinzugefügt werden. Conflict-free sub-event structures can be transformed into test cases T by collecting sequences of actions corresponding to events which, according to the causality relations KaR, precede conditional events, and these with possible outputs corresponding to events which according to the causality relations KaR and/or conflict relations KoR of the entire event structure ES can occur after the current event. These sequences can be completed into test cases by reading the number of permissible, alternative outputs from the event structure for each output and adding them to the test case.

[00161] Generell werden in der industriellen Praxis als interessante Testfälle T solche betrachtet, die eine Version eines Modells M von einer anderen Version des Modells M unterscheiden. Wie bereits ausgeführt, umfasst ein Testfall T eine Sequenz an Eingaben und Ausgaben, sowie an möglichen Ausgaben die zwar vom Modell M erlaubt werden, aber nicht vom Testfall T an dieser Stelle der Sequenz vorgesehen sind. In general, test cases T that distinguish one version of a model M from another version of the model M are considered to be interesting test cases T in industrial practice. As already explained, a test case T includes a sequence of inputs and outputs, as well as possible outputs that are permitted by the model M, but are not intended by the test case T at this point in the sequence.

[00162] Folgende Sequenzen sind Testfälle T, wobei die Sequenz aus Paaren besteht, deren erster Teil die erwartete Eingabe bzw. Ausgabe ist und deren zweiter Teil die Liste an zulässigen, alternativen Ausgaben ist. The following sequences are test cases T, where the sequence consists of pairs, the first part of which is the expected input or output and the second part of which is the list of permissible, alternative outputs.

T1:< ZNah / {}, LAn / {SUnten}, SUnten / {}, Go/{} > T1:< ZNear / {}, LAn / {SDown}, SDown / {}, Go/{} >

T2: < ZNah / {}, SUnten / {LAn}, LAn / {}, Go /{} > T2: < ZNear / {}, SDown / {LAn}, LAn / {}, Go /{} >

T3: < ZNah / {}, LAn / {SUnten}, SUnten / {}, Go / {}, ZKreuz / {}, ZFern {}, Stop / {}, LAus / {SOben)}, SOben/{}> T3: < ZNear / {}, LAn / {SDown}, SDown / {}, Go / {}, ZCross / {}, ZFern {}, Stop / {}, LOut / {SOup)}, SOup/{}>

T4: < GKreuz / {} > T4: < GCross / {} >

[00163] Dabei sind in den in spitzen Klammern < > Sequenzen von Elementen bzw. Aktionen angegeben, wobei die Aktionen durch Schrägstriche / getrennt sind und in den geschwungenen Klammern {} jeweils zulässige, alternative Ausgaben angeführt sind, die statt der Aktion auftreten dürfen. Sofern die Sequenz mehrere Paare enthält, sind diese durch Kommata getrennt. In this case, sequences of elements or actions are specified in the angle brackets <>, the actions being separated by slashes / and in the curly brackets {} permissible alternative outputs which may occur instead of the action. If the sequence contains multiple pairs, these are separated by commas.

[00164] Wird Testfall T1 auf einem System getestet, ist zunächst die Eingabe „ZNah“ zu tätigen. Sollte darauf die Sequenz an Ausgaben < LAn, SUnten, Go > in dieser Reihenfolge beobachtet werden, so gilt der Test als korrekt ausgeführt. Sollte als erste Ausgabe „SUnten“ observiert werden, so endet der Test nicht konklusiv. „SUnten“ ist an dieser Stelle zwar erlaubt, aber nicht vorgesehen, weswegen keine weitere Aussage mehr über den Testablauf gemacht werden kann. Jede andere Ausgabe, oder das Fehlen jeglicher Ausgaben resultiert im Fehlschlag des Tests. Testfall T2 reiht im Vergleich zu Testfall T1 die Aktionen „LAn“ und „SUnten“ in der umgekehrten Richtung. Testfall T3 ist ein Test mit mehreren Eingaben. Testfall T4 testet eine andere erste Eingabe. [00164] If test case T1 is tested on a system, the input “ZNah” must first be made. If the sequence of outputs < LAn, SUnten, Go > is then observed in this order, the test is considered to have been carried out correctly. If “SUnten” is observed as the first output, the test does not end conclusively. "SDown" is permitted at this point, but not intended, which is why no further statement can be made about the test procedure. Any other output, or the absence of any output, will result in the test failing. Test case T2 sequences the actions "LAn" and "SUnten" in the opposite direction compared to test case T1. Test case T3 is a multi-input test. Test case T4 tests a different first input.

[00165] Im oben gezeigten Ausführungsbeispiel lieferte der Vergleich der beiden Ereignisstrukturen E1 (Fig. 29) und E2 (Fig. 30) ein negatives Ergebnis. Im Falle eines negativen Resultats des Vergleichs von Ereignisstrukturen, konnte nachgewiesen werden, dass Ereignisstruktur E1 mehr Sequenzen von Eingaben und Ausgaben aufweist, als Ereignisstruktur E2. In the exemplary embodiment shown above, the comparison of the two event structures E1 (FIG. 29) and E2 (FIG. 30) yielded a negative result. In case of a negative result of the comparison of event structures, it could be proven that event structure E1 has more sequences of inputs and outputs than event structure E2.

[00166] Derartige Teilereignisstrukturen TE, wie beispielsweise die Teilereignisstruktur E1**, die das Scheitern des Vergleichs zweier Ereignisstrukturen E bewirkt haben, können als Testfälle T interpretiert werden. Dazu wird lediglich die Ereignisstruktur ES in eine lineare Reihenfolge gebracht und die möglichen alternativen Ausgaben, welche von der gesamten ursprünglichen Ereignisstruktur ES stammen, werden gesammelt. Daraus ergibt sich in diesem Fall folgender Testfall T5: Such partial event structures TE, such as partial event structure E1**, which caused the comparison of two event structures E to fail, can be interpreted as test cases T. To do this, the event structure ES is simply placed in a linear order and the possible alternative outputs, which originate from the entire original event structure ES, are collected. In this case, this results in the following test case T5:

T5: < LAn / {SUnten}, LAn / {SUnten}, SUnten / {} > T5: < LAn / {SDown}, LAn / {SDown}, SDown / {} >

Der Testfall T5 überprüft das Auftreten der zusätzlichen Sequenz < LAn, LAn, SUnten >. Test case T5 checks the occurrence of the additional sequence <LAn, LAn, SUnten>.

[00167] Das Modell M2 aus dem die Ereignisstruktur E2 entsteht, kann diesen Testfall T5 nicht erfolgreich ausführen, da spätestens nach dem ersten Auftreten von „LAn“ einmal „SUnten“ auftritt. Die Sequenz an Eingaben und Ausgaben wird der Ereignisstruktur entnommen, die möglichen Ausgaben beziehen sich auf die originale Ereignisstruktur, deswegen ist zum Beispiel „SUnten“ bereits zu Beginn möglich. The model M2 from which the event structure E2 is created cannot successfully execute this test case T5, since at the latest after the first occurrence of “LAn” “SUnten” occurs. The sequence of inputs and outputs is taken from the event structure, the possible outputs refer to the original event structure, which is why, for example, "SDown" is already possible at the beginning.

[00168] Analog kann auch Ereignisstruktur E2 (Fig. 30) als Testfall T interpretiert werden. Ein möglicher Testfall T6 ist Event structure E2 (FIG. 30) can also be interpreted analogously as test case T. A possible test case is T6

T6: < LAn / {SUnten}, SUnten / {}, LAn / {} > T6: < LAn / {SDown}, SDown / {}, LAn / {} >

Dieser Testfall T6 überprüft das Ausbleiben der zusätzlichen Sequenz < LAn, LAn, SUnten >. Eine Ausführung des Testfalls T6 vom Modell, das Ereignisstruktur E1 induziert, kann diesen Test zum Scheitern bringen, wenn sie zum Beispiel die Sequenz liefert. MUTATIONEN [00169] Wie oben erwähnt, können verschiedene Versionen eines Modells durch Mutation erzeugt werden. Eine Mutation ist dabei eine kleine, syntaktische Anderung des Modells. [00170] Dies soll anhand des folgenden Beispiels näher erläutert werden. Die in Tabelle 6 angegebene Mutation verändert die Aktion „Go“, sodass die Aktion nicht überprüft, ob der Schranken unten ist. Der Mutant setzt lediglich eine Teilbedingung auf „True“. This test case T6 checks the absence of the additional sequence <LAn, LAn, SUnten>. Executing test case T6 from the model that induces event structure E1 can cause this test to fail if, for example, it returns the sequence. MUTATIONS As mentioned above, different versions of a model can be created by mutation. A mutation is a small, syntactic change in the model. This will be explained in more detail using the following example. The mutation given in Table 6 changes the action "Go" so that the action does not check whether the barrier is down. The mutant only sets a partial condition to "True".

MUTATIONEN MUTATIONS

[00169] Wie oben erwähnt, können verschiedene Versionen eines Modells durch Mutation erzeugt werden. Eine Mutation ist dabei eine kleine, syntaktische Anderung des Modells. As mentioned above, different versions of a model can be created by mutation. A mutation is a small, syntactic change in the model.

[00170] Dies soll anhand des folgenden Beispiels näher erläutert werden. Die in Tabelle 6 angegebene Mutation verändert die Aktion „Go“, sodass die Aktion nicht überprüft, ob der Schranken unten ist. Der Mutant setzt lediglich eine Teilbedingung auf „True“. This will be explained in more detail using the following example. The mutation given in Table 6 changes the action "Go" so that the action does not check whether the barrier is down. The mutant only sets a partial condition to "True".

[00171] Tabelle 6: Mutation im Modell M Table 6: Mutation in model M

Aktion A | Aktionstyp Beschreibung Bedingung Effekt Go Ausgabe Mutierte Version er- | Pos==Nah && Stop:=False (Mutant) setzt „S==0" durch | Stop==True && „True“ True && L==False && G==False Go Ausgabe Originale Version | Pos==Nah && Stop:=False (Original) hat „S==0*" als Teil- | Stop==True && bedingung S=-0 && L==False && G==False Action A | Action Type Description Condition Effect Go Output Mutated version | Pos==Nah && Stop:=False (Mutant) enforces "S==0" | Stop==True && "True" True && L==False && G==False Go Output Original Version | Pos==Nah && Stop:=False (Original) has "S==0*" as part | Stop==True && condition S=-0 && L==False && G==False

[00172] Der für die Aktion „Go“ relevante Teil der Ereignisstruktur ändert sich wie in Fig. 56 dargestellt, sodass eine mutierte Ereignisstruktur EM der in Fig. 57 dargestellten originalen Ereignisstruktur E4 erstellt wird. Der Vergleich der Ereignisstrukturen ergibt, dass die mutierte Ereignisstruktur EM mehr Sequenzen an Aktionen hat als die originale Ereignisstruktur E4. Im Speziellen ist die Sequenz < ZNah, LAn, Go, SUnten > in der mutierten Ereignisstruktur EM möglich, in der originalen Ereignisstruktur E4 jedoch nicht. The part of the event structure relevant to the action “Go” changes as shown in FIG. 56, so that a mutated event structure EM of the original event structure E4 shown in FIG. 57 is created. The comparison of the event structures shows that the mutated event structure EM has more sequences of actions than the original event structure E4. Specifically, the sequence <ZNah, LAn, Go, SUnten> is possible in the mutated event structure EM, but not in the original event structure E4.

[00173] Ein Testfall entsteht indem eine konfliktfreie Teilereignisstruktur der originalen Ereignisstruktur zu einer Sequenz transformiert wird, die möglichst den Sequenzen entspricht, die im Mutanten möglich, im Original aber nicht möglich sind. In diesem Beispiel gibt es nur eine solche Teilereignisstruktur, welches die gesamte originale Ereignisstruktur E4 ist. Die Ereignisse E werden in eine lineare Sequenz gebracht und die möglichen alternativen Ausgaben werden aus der gesamten Ereignisstruktur ES gesammelt. Der entstandene Testfall T7 ist: A test case is created by transforming a conflict-free partial event structure of the original event structure into a sequence that corresponds as closely as possible to the sequences that are possible in the mutant but not possible in the original. In this example there is only one such partial event structure, which is the entire original event structure E4. The events E are put into a linear sequence and the possible alternative outputs are collected from the entire event structure ES. The resulting test case T7 is:

T7: < ZNah / {}, LAn / {SUnten}, SUnten / {}, Go/{} > T7: < ZNear / {}, LAn / {SDown}, SDown / {}, Go/{} >

Der Testfall T7 überprüft das Ausbleiben der Sequenz < ZNah, LAn, Go, SUnten >. Test case T7 checks the absence of the sequence <ZNah, LAn, Go, SUnten>.

[00174] Auf diese Weise kann ein System wie beispielsweise die Steuer- und Regelungsanlage einer oben beschriebenen Bahnkreuzung getestet werden. Die Steuer- und Regelungsanlage ist dabei zur Messungen von Zustandsgrößen von Sensoren des Systems und zur Steuerung von Aktuatoren des Systems ausgebildet. In this way, a system such as the control and regulation system of a level crossing described above can be tested. The open-loop and closed-loop control system is designed to measure state variables from sensors in the system and to control actuators in the system.

[00175] Für den Test wird im gezeigten Ausführungsbeispiel auf Grundlage eines Referenzmodells ein Modell für die zu testende Steuer- und Regelungsanlage einer oben beschriebenen Bahnkreuzung erstellt. Dabei werden die Zustände des Modells beispielsweise durch Messungen von Zustandsgrößen der Bahnkreuzung angegeben werden, die von der Steuer- und Regelungsanlage ermittelt werden und die Ausführung der Aktionen A des Modells bewirkt beispielsweise die Veränderung eines Aktuators des Systems gesteuert durch die Steuer- und Regelungsanlage. In the exemplary embodiment shown, a model for the control and regulation system to be tested of a level crossing described above is created for the test on the basis of a reference model. The states of the model are indicated, for example, by measurements of state variables of the level crossing, which are determined by the control and regulation system, and the execution of the actions A of the model causes, for example, the change in an actuator of the system controlled by the control and regulation system.

[00176] Das Referenzmodell kann dabei auf Grundlage der Beobachtung eines physischen Referenzsystems gelernt werden, oder anderweitig zur Verfügung gestellt werden. Als physisches Referenzsystem kann beispielsweise eine Steuer- und Regelungsanlage für Bahnschranken herangezogen werden, die eine fehlerfreie Funktionsweise aufweist. The reference model can be learned based on the observation of a physical reference system, or be made available in some other way. A control and regulation system for railway barriers, for example, can be used as a physical reference system, which has an error-free function.

[00177] Dazu wird ein weiteres Modell beispielsweise durch Mutation des Referenzmodells d erzeugt und Testfälle T werden erstellt, indem das weitere Modell mit dem Referenzmodell verglichen wird, wie dies zuvor bereits beschrieben wurde. For this purpose, a further model is generated, for example by mutating the reference model d, and test cases T are created by comparing the further model with the reference model, as has already been described above.

[00178] Dabei kann ein Testadapter zum Einsatz kommen, bei dem es sich beispielsweise um ein Steuergerät handelt, auf dem die Testfälle T hinterlegt werden. Dieser Testadapter wird beispielsweise an die zu testende Steuer- und Regelungsanlage der Bahnkreuzung angeschlossen und führt die zuvor erstellten Testfälle T durch, um das System anhand der so erzeugten Testfälle T, wie zuvor beschrieben, zu testen. A test adapter can be used, which is, for example, a control device on which the test cases T are stored. This test adapter is connected, for example, to the control and regulation system of the level crossing to be tested and carries out the previously created test cases T in order to test the system using the test cases T thus created, as described above.

24 / 40 24/40

[00179] Dies bedeutet, dass vom Testadapter die Eingaben entsprechend der Testfälle T an die Steuer- und Regelungsanlage übermittelt werden und die als Reaktion auf die Eingaben vom zu testenden System erzeugten Ausgaben erfasst werden. Vorzugsweise werden bei der Ausführung eines Testfalls T die Eingaben dem System zugeführt werden, indem die Sensoren des Systems mit physikalischen Größen beaufschlagt werden, für die sie sensitiv sind, und die Ausgaben des Systems werden vorzugsweise festgestellt, indem überprüft wird, ob ein Aktuator eine Aktion ausführt. Die beobachtete Ein- und Ausgaben mit beispielsweise vom Testadapter dem jeweiligen Testfall T verglichen. [00179] This means that the test adapter transmits the inputs corresponding to the test cases T to the open-loop and closed-loop control system and the outputs generated by the system to be tested in response to the inputs are recorded. When executing a test case T, the inputs are preferably supplied to the system by subjecting the sensors of the system to physical quantities to which they are sensitive, and the outputs of the system are preferably determined by checking whether an actuator takes an action executes The observed inputs and outputs are compared with the respective test case T, for example by the test adapter.

[00180] Dieser Vergleich der Ein- und Ausgaben mit den Testfällen T gibt Aufschluss darüber, ob die Ausgaben während der Testdurchführung von den erwarteten Ausgaben, die beispielsweise das Referenzsystem erzeugt, abweichen. Ist dies der Fall, deutet dies auf einen Fehler in der Steuer- und Regelungsanlage hin, der durch die Ausführung der Testfälle ermittelt und behoben werden kann, und derart Störungen oder Unfälle auf der getesteten Eisenbahnkreuzung verhindert werden können. [00180] This comparison of the inputs and outputs with the test cases T provides information as to whether the outputs during the test execution deviate from the expected outputs which, for example, the reference system generates. If this is the case, this indicates an error in the control and regulation system, which can be determined and corrected by executing the test cases, and such faults or accidents on the tested level crossing can be prevented.

Claims (1)

Patentansprüche patent claims 1. Verfahren zum Vergleich von zwei Modellen (M; M1, M2), die nebenläufige Systeme beschreiben, a) wobei jedes der Modelle (M; M1, M2) jeweils durch eine Anzahl an Variablen (V) und Aktionen (A) beschrieben wird, 1. Method for comparing two models (M; M1, M2) that describe concurrent systems, a) each of the models (M; M1, M2) being described by a number of variables (V) and actions (A). , - wobei jeder Variable (V) jeweils eine endliche Anzahl an möglichen Werten (W) zugeordnet wird, - where each variable (V) is assigned a finite number of possible values (W), - wobei eine Menge an Zuständen festgelegt wird, wobei ein Zustand für jede Variable (V) die Zuordnung jeweils eines ihrer möglichen Variablenwerte (W) angibt, - where a set of states is defined, where a state for each variable (V) indicates the assignment of one of its possible variable values (W), - wobei jedes Modell die Ausführung von, insbesondere unendlichen, Sequenzen an Aktionen (A) beschreibt, - where each model describes the execution of, in particular infinite, sequences of actions (A), - wobei ein initialer Zustand (I) festgelegt wird, - where an initial state (I) is defined, - wobei es zu jedem Zeitpunkt der Ausführung jedes Modells (M; M1, M2) einen aktuellen Zustand gibt, der ausgehend vom initialen Zustand (I) durch die Ausführung jeweils im aktuellen Zustand zulässiger Aktionen (A) des Modells (M; M1, M2) verändert wird, - whereby at each point in time of the execution of each model (M; M1, M2) there is a current state which, starting from the initial state (I), is carried out by the execution of actions (A) of the model (M; M1, M2 ) is changed, - wobei jede Aktion (A) beschrieben wird durch - where each action (A) is described by - eine Bedingung, der die Variablenwerte (W) im aktuellen Zustand des jeweiligen Modells (M; M1, M2) genügen müssen, damit die jeweilige Aktion (A) in diesem Zustand zulässig ist, und - eine Anzahl an Instruktionen, die angeben, wie die Aktion (A) die Variablenwerte (W) des Zustands verändert, - wobei zwei Aktionen (A; A1, A2) als im Konflikt stehend bezeichnet werden, wenn ausgehend von einem beliebigen gültigen Zustand möglicher Variablenwerte, - an diesem Zustand beide Aktionen zulässig sind und die Aktionen verschiedene Zustände erzeugen, wenn sie in unterschiedlicher Reihenfolge ausgeführt werden, oder - an diesem Zustand beide Aktionen zulässig sind und die Ausführung der einen Aktion die andere Aktion verunmöglicht, indem nach Ausführen der einen Aktion der Zustand der Bedingung zur Ausführung der anderen Aktion nicht mehr genügt, oder - an diesem Zustand genau eine der beiden Aktionen zulässig ist und in dem Zustand nach dem Ausführen der zulässigen Aktion die andere Aktion zulässig ist, b) wobei für zumindest Teile der beiden zu vergleichenden Modelle (M; M1, M2) jeweils eine Ereignisstruktur (ES; ES1, ES2) umfassend eine Anzahl an Ereignissen (E) festgelegt wird, - wobei ein eindeutiges initiales Ereignis (El) festgelegt wird, das unter allen Ereignissen (E) als erstes eintritt, - wobei jedes nicht initiale Ereignis (El) durch eine Aktion (A) und eine Menge an vorangegangenen Ereignissen eindeutig gekennzeichnet ist, - wobei, für den Eintritt eines Ereignisses das Auftreten aller Ereignisse der Menge der vergangenen Ereignisse notwendig ist, was eine Kausalitätsrelation (KaR) zwischen dem bedingenden Ereignis und den vorangegangen bedingten Ereignissen bildet, - wobei jedes Ereignis eine direkte oder indirekte (transitive) Kausalitätsrelation zum initialen Ereignis (El) hat, - wobei eine Konfliktrelation (KoR) zwischen zwei Ereignissen (E) festgelegt wird, wenn der Eintritt des einen Ereignisses das künftige Eintreten des jeweils anderen Ereignisses ausschließt, c) wobei Ereignisstrukturen (ES; ES1, ES2) iterativ aufgebaut werden, indem zumindest für Teile der beiden Modelle (M; M1, M1) beginnend vom initialen Ereignis (El) und dem initialen Zustand (I) zulässige Aktionen (A) ausgeführt werden, - wobei ein neues Ereignis eingefügt wird und über eine Menge an Kausalitätsrelationen (KaR) zu einer Menge an bestehenden Ereignissen (E) hinzugefügt wird, wenn - die Ereignisse (E) entsprechend der bestehenden Konfliktrelation (KoR) gemeinsam auftreten können, - zwischen keinen zwei Ereignissen (E) der Menge eine direkte oder indirekte Kausalitätsrelation (KaR) besteht, - a condition that the variable values (W) in the current state of the respective model (M; M1, M2) must satisfy in order for the respective action (A) to be permissible in this state, and - a number of instructions that indicate how the action (A) changes the variable values (W) of the state, - whereby two actions (A; A1, A2) are said to be in conflict if, starting from any valid state of possible variable values, - at this state both actions are permissible and the actions generate different states if they are executed in a different order, or - in this state both actions are permissible and the execution of one action makes the other action impossible, in that after the execution of one action the state of the condition for the execution of the other action is no longer sufficient, or - exactly one of the two actions is permitted in this state and the other action is permitted in the state after the execution of the permitted action b) where for at least parts of the two models to be compared (M; M1, M2) in each case an event structure (ES; ES1, ES2) comprising a number of events (E) is specified, - wherein a unique initial event (El) is specified, which occurs first among all events (E), - wherein each non-initial event (El) is uniquely characterized by an action (A) and a set of previous events, - where, for the occurrence of an event, the occurrence of all events of the set of past events is necessary, which is a causality relation (KaR) between the conditional event and the preceding conditional events, - with each event having a direct or indirect (transitive) causality relation to the initial event (El), - with a conflict relation (KoR) between two events (E) being established if the occurrence of the an event excludes the future occurrence of the respective other event, c) event structures (ES; ES1, ES2) being constructed iteratively, inde m at least for parts of the two models (M; M1, M1) starting from the initial event (El) and the initial state (I), permissible actions (A) are executed - whereby a new event is inserted and via a set of causality relations (KaR) to a set of existing events (E ) is added if - the events (E) can occur together according to the existing conflict relation (KoR), - there is no direct or indirect causality relation (KaR) between any two events (E) of the set, - die Aktion entsprechend dem neuen Ereignis zulässig ist in dem Zustand, der durch das Ausführen aller Aktionen der Ereignisse der Menge, einschließlich aller diesen Ereignissen entsprechend der Kausalitätsrelation (KaR) vorangegangenen Ereignisse, entsteht, und - the action corresponding to the new event is permissible in the state resulting from the execution of all actions of the events of the set, including all events preceding these events according to the causality relation (KaR), and - entweder die Menge an Ereignissen (E) nur aus dem initialen Ereignis (El) besteht, oder jede Aktion entsprechend der Menge an bestehenden Ereignissen jeweils mit der Aktion des einzufügenden Ereignisses in Konflikt steht, - either the set of events (E) consists only of the initial event (El), or each action according to the set of existing events conflicts with the action of the event to be inserted, - nach Einfügen eines neuen Ereignisses (E) eine neue Konfliktrelation (KoR) zu einem zuvor eingefügten Ereignis (E) hinzugefügt wird, - after inserting a new event (E), a new conflict relation (KoR) is added to a previously inserted event (E), - wenn die Ereignisse (E) nicht in einer direkten oder indirekten Kausalitätsre-- if the events (E) are not in a direct or indirect causal relationship lation (KaR) stehen und lation (KaR) stand and - wenn, die Aktionen der beiden Ereignisse miteinander in Konflikt stehen, d) wobei eine erste Ereignisstruktur (ES1) eines ersten Modells (M1) mit einer zweiten Ereignisstruktur (ES2) eines zweiten Modells (M2) verglichen wird, um festzustellen, ob die erste Menge an möglichen Sequenzen von Aktionen (A) die durch die erste Ereignisstruktur (ES1) beschrieben wird, in der zweiten Menge an möglichen Sequenzen die durch die zweite Ereignisstruktur (ES2) beschrieben wird, enthalten ist, - wobei zum Vergleich des ersten Modells (M1) mit dem zweiten Modell (M2) die erste Ereignisstruktur (ES1) und die zweite Ereignisstruktur (ES2) jeweils in konfliktfreie Teilereignisstrukturen (TE1, TE2) getrennt werden, sodass sich derart eine erste und eine zweite Menge an konfliktfreien Teilereignisstrukturen (TE1, TE2) ergeben, - if the actions of the two events conflict with each other, d) comparing a first event structure (ES1) of a first model (M1) with a second event structure (ES2) of a second model (M2) to determine whether the first Set of possible sequences of actions (A) that is described by the first event structure (ES1), is contained in the second set of possible sequences that is described by the second event structure (ES2), - where for comparison of the first model (M1 ) with the second model (M2), the first event structure (ES1) and the second event structure (ES2) are separated into conflict-free partial event structures (TE1, TE2), so that a first and a second set of conflict-free partial event structures (TE1, TE2) result, - Indem jede Ereignisstruktur (ES1, ES2) an jeder Konfliktrelation (KoR) rekursiv in zwei Teilereignisstrukturen (TE1, TE2) so lange geteilt wird, bis zwischen keinen zwei Ereignissen (E) einer Teilereignisstruktur (TE1; TE2) Konfliktrelationen (KoR) bestehen, indem - By recursively dividing each event structure (ES1, ES2) into two partial event structures (TE1, TE2) at each conflict relation (KoR) until there are no conflict relations (KoR) between any two events (E) of a partial event structure (TE1; TE2), by doing - Ereignisse (E), die direkt oder indirekt durch eines der an der jeweiligen Konfliktrelation (KoR) beteiligten Ereignisse bedingt werden, jeweils nur einer der beiden Teilereignisstrukturen (TE1, TE2) zugeordnet werden und alle anderen Ereignisse (E), außer dem jeweils anderen Ereignis der Konfliktrelation (KoR) und die davon entsprechend der Kausalitätsrelation (KaR) direkt oder indirekt bedingten Ereignisse, beiden Teilereignisstrukturen (TE1, TE2) zugeordnet werden, - Events (E) that are directly or indirectly caused by one of the events involved in the respective conflict relation (KoR) are only assigned to one of the two partial event structures (TE1, TE2) and all other events (E), except for the other one Event of the conflict relation (KoR) and the events directly or indirectly caused by it according to the causality relation (KaR) are assigned to both partial event structures (TE1, TE2), - wobei für jede Teilereignisstruktur (TE1) der ersten Menge eine Teilereignisstruktur (TE2) der zweiten Menge gesucht wird, deren Kausalitätsrelationen (KaR) und Ereignissen (E) entsprechende Aktionen (A) kompatibel sind, - wherein for each partial event structure (TE1) of the first set, a partial event structure (TE2) of the second set is sought, whose causality relations (KaR) and events (E) corresponding actions (A) are compatible, - wobei Teilereignisstrukturen (TE1, TE2) dann als kompatibel angesehen werden, - whereby partial event structures (TE1, TE2) are then regarded as compatible, - wenn eine eindeutige Zuordnung von Ereignissen (E) einer ersten Teilereignisstruktur (TE1) zu Ereignissen (E) einer zweiten Teilereignisstruktur (TE2) gefunden wird, sodass Paare von einander zugeordneten Ereignissen (E) jeweils dieselben zugeordneten Aktionen (A) aufweisen, und - wenn sich durch Hinzufügen von allen Kausalitätsrelationen (KaR) der zweiten Teilereignisstruktur (TE2) zur ersten Teilereignisstruktur (TE1) für die gemäß der Zuordnung entsprechenden Paare von Ereignissen (E) der ersten Teilereignisstruktur (TE1) keine Zyklen in der Kausalität der ersten Teilereignisstruktur (TE1) ergeben, - wobei eine derartige Zuordnung durch eine Tiefensuche auf der ersten Teilereignisstruktur (TE1), mit hinzugefügten Kausalitätsrelationen (KaR) der zweiten Teilereignisstruktur (TE2), Festlegung von Zuordnungen von einzelnen Ereignissen (E), gefunden wird indem - die getroffenen Zuordnungen systematisch so lange revidiert werden, bis entweder keine Zyklen mehr auftreten, oder - die Tiefensuche abgebrochen wird, da keine zyklusfreie Zuordnung möglich ist, wobei in diesem Fall die Unterschiedlichkeit der Ereignisstrukturen sowie der Modelle festgestellt wird, und - wobei im Falle, dass eine Kausalitätsrelation (KaR) an einer Stelle hinzugefügt wurde, an der zuvor keine direkte oder indirekte Kausalitätsrela-- if a clear assignment of events (E) of a first partial event structure (TE1) to events (E) of a second partial event structure (TE2) is found, so that pairs of mutually assigned events (E) each have the same assigned actions (A), and - if no cycles in the causality of the first partial event structure (TE1 ) result, - whereby such an assignment is found by a depth search on the first partial event structure (TE1), with added causality relations (KaR) of the second partial event structure (TE2), determination of assignments of individual events (E), by - the assignments made systematically be revised until either no more cycles occur, or - the tie fen search is aborted, since no cycle-free assignment is possible, in which case the difference in the event structures and the models is determined, and - in the event that a causality relation (KaR) was added at a point where no direct or indirect causality relation tion (KaR) bestand, die Teilereignisstrukturen (TE1, TE2) nur dann als kompatibel betrachtet werden, wenn auch für eine neue Teilereignisstruktur (TE1a*), die durch Hinzufügen einer zusätzlichen Kausalitätsrelation (KaR) in der entgegengesetzten Richtung wie die hinzugefügte Kausalitätsrelation (KaR) entsteht, eine kompatible Teilereignisstruktur (TE2) in der zweiten Menge an Teilereignisstrukturen gefunden wird, e) wobei das Ergebnis des Vergleichs der beiden Modelle (M1, M2) als positiv betrachtet wird, wenn für jede Teilereignisstruktur (TE1) der ersten Ereignisstruktur (ES1) des ersten Modells (M1) eine kompatible Teilereignisstruktur (TE2) der zweiten Ereignisstruktur (ES2) des zweiten Modells (M2) gefunden wird. tion (KaR), the sub-event structures (TE1, TE2) are only considered compatible if also for a new sub-event structure (TE1a*) created by adding an additional causality relation (KaR) in the opposite direction as the added causality relation (KaR ) arises, a compatible partial event structure (TE2) is found in the second set of partial event structures, e) the result of the comparison of the two models (M1, M2) being considered positive if for each partial event structure (TE1) of the first event structure (ES1 ) of the first model (M1) a compatible partial event structure (TE2) of the second event structure (ES2) of the second model (M2) is found. 2, Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in Schritt d) durch den Vergleich zweier Modelle (M1, M2) Testfälle (T) erstellt werden, wobei das erste Modell (M1) und das zweite Modell (M2) jeweils durch Modifikation des jeweils anderen Modells oder durch Modifikation eines gemeinsamen Vorgängermodells erstellt wurden, 2. The method according to claim 1, characterized in that in step d) test cases (T) are created by comparing two models (M1, M2), the first model (M1) and the second model (M2) each being created by modifying the different models or by modifying a common predecessor model, - wobei die Arten von Aktionen (A) der Modelle (M1, M2) zumindest Eingaben und Ausgaben umfassen, - wobei ein Testfall (T) eine Sequenz von Eingaben und Ausgaben ist, in der Sequenz jeweils mindestens eine Eingabe und eine Ausgabe vorkommt und zu jeder Ein-/Ausgabe der Sequenz optional eine Liste an alternative Ausgaben, welche an dieser Stelle zulässig sind, aber nicht dem Testfall (T) entsprechen, angeben werden kann, - wobei beim Vergleich der Modelle (M1, M2) gemäß Schritt d) festgestellt wird, dass - Unterschiede in den Sequenzen von Eingaben und Ausgaben vorliegen, wobei in diesem Fall eine Teilereignisstruktur (TE1) der Ereignisstruktur (ES1) des ersten Modells (M) vorhanden ist, die Sequenzen an Eingaben und Ausgaben beschreibt, die aufgrund der Ereignisstruktur (ES2) des zweiten Modells (M) nicht zulässig sind, - wobei ein Testfall (T) aufgrund der Teilereignisstruktur (TE1) des ersten Modells (M), die nicht zulässige Sequenzen an Eingaben und Ausgaben enthält, erstellt wird, um das Auftreten derartiger, nicht zulässiger, Sequenzen zu testen, und/oder ein Testfall (T) aufgrund einer Teilereignisstruktur (TE2) der Ereignisstruktur (ES2) des zweiten Modells (M) erstellt wird, um das Ausbleiben falscher Sequenzen zu testen, wobei die Teilereignisstruktur (TE1) derart gewählt wird, dass sie Sequenzen an Aktionen (A) ermöglicht, die möglichst lang identisch mit den nicht zulässigen Sequenzen an Aktionen (A) sind, und - wobei Testfälle (T) aufgrund von konfliktfreien Teilereignisstrukturen (TE1; TE2) erstellt werden, indem Sequenzen von Aktionen (A) entsprechend Ereignissen (E) gesammelt werden, wobei gemäß den Kausalitätsrelationen (KaR) bedingende Ereignisse vor bedingten Ereignissen gereiht werden, und diese mit möglichen alternativen Ausgaben, die Ereignissen entsprechen, die laut der Kausalitätsrelationen (KaR) und/oder Konfliktrelationen (KoR) der gesamten Ereignisstruktur (ES1, ES2), jeweils nach dem aktuellen Ereignis (E) auftreten können, aber nicht Teil der Sequenz sind, zu Testfällen (T) ergänzt werden, oder - für den Fall dass keine Unterschiede in den Sequenzen von Eingaben und Ausgaben vorliegen, kein Testfall (T) erstellt wird. - wherein the types of actions (A) of the models (M1, M2) include at least inputs and outputs, - wherein a test case (T) is a sequence of inputs and outputs, in which sequence at least one input and one output occurs and to A list of alternative outputs that are permissible at this point but do not correspond to the test case (T) can optionally be specified for each input/output of the sequence, - with the comparison of the models (M1, M2) according to step d) being determined becomes that - there are differences in the sequences of inputs and outputs, in which case a partial event structure (TE1) of the event structure (ES1) of the first model (M) is present, which describes sequences of inputs and outputs which, due to the event structure ( ES2) of the second model (M) are not permissible, - whereby a test case (T) is created due to the partial event structure (TE1) of the first model (M), which contains impermissible sequences of inputs and outputs, to test the occurrence of such impermissible sequences, and/or a test case (T) is created on the basis of a partial event structure (TE2) of the event structure (ES2) of the second model (M) in order to test the absence of incorrect sequences, with the Partial event structure (TE1) is chosen in such a way that it enables sequences of actions (A) that are identical to the impermissible sequences of actions (A) for as long as possible, and - test cases (T) based on conflict-free partial event structures (TE1; TE2) are constructed by collecting sequences of actions (A) corresponding to events (E), ranking events conditional before conditional events according to the causality relations (KaR), and these with possible alternative outputs corresponding to events determined according to the causality relations (KaR) and/or conflict relations (KoR) of the entire event structure (ES1, ES2), each can occur after the current event (E), but are not part of the sequence, are added to test cases (T), or - just in case that there are no differences in the sequences of inputs and outputs, no test case (T) is created. 3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass bei der Ausführung eines Testfalls (T) in einem zu testenden System die Eingaben dem System zugeführt werden und beobachtete Ausgaben mit dem Testfall (T) verglichen werden, 3. The method according to claim 2, characterized in that when executing a test case (T) in a system to be tested, the inputs are supplied to the system and observed outputs are compared with the test case (T), - wobei ein Testfall (T) als korrekt ausgeführt betrachtet wird, wenn bei korrekter Abfolge der Sequenz an Eingaben, die erwartete Sequenz an Ausgaben beobachtet wird, - wobei der Testfall (T) als nicht konklusiv ausgeführt betrachtet wird, wenn bei korrekter Abfolge der Sequenz an Eingaben, eine Ausgabe beobachtet wird, die von der Sequenz abweicht, aber in der optionalen Liste an alternativen Ausgaben vorhanden ist, - where a test-case (T) is considered correctly executed if, given the correct order of the sequence of inputs, the expected sequence of outputs is observed, - where the test-case (T) is considered inconclusively executed if with the correct order of the sequence at inputs, an output is observed that deviates from the sequence but is present in the optional list of alternative outputs, - wobei der Testfall (T) als fehlgeschlagen betrachtet wird, wenn bei korrekter Abfolge der Sequenz an Eingaben, eine Ausgabe beobachtet wird, die von der Sequenz abweicht, und nicht in der optionalen Liste an alternativen Ausgaben vorhanden ist. - where the test-case (T) is considered failed if, with the sequence of inputs correctly sequenced, an output that deviates from the sequence is observed and is not present in the optional list of alternative outputs. 4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass Testfälle (T) erstellt werden durch, - gezieltes Einsetzen von Fehlern in einem Modell (M; M1; M2), insbesondere Mutation des Modells (M; M1; M2), und/oder - Weiterentwicklung eines Modells (M; M1; M2) und/oder - unabhängige Entwicklung eines Modells (M; M1; M2) auf mehrere Arten und/oder - verschiedene Abstraktionsebenen eines Modells (M; M1; M2). 4. The method according to claim 2 or 3, characterized in that test cases (T) are created by - targeted use of errors in a model (M; M1; M2), in particular mutation of the model (M; M1; M2), and /or - further development of a model (M; M1; M2) and/or - independent development of a model (M; M1; M2) in several ways and/or - different levels of abstraction of a model (M; M1; M2). 5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass - die Arten von Aktionen (A) der Modelle (M; M1; M2), zusätzlich zu Eingaben und Ausgaben, interne Aktionen umfassen, - wobei interne Aktionen solche Aktionen (A) angeben, die das System in einen neuen Zustand bringen, ohne dabei von außerhalb des Systems erkennbar und/oder steuerbar zu sein, und - wobei beim Aufbau von Ereignisstrukturen (ES; ES1; ES2) keine Ereignisse (E) für interne Aktionen erstellt werden, insbesondere deren Effekte in alle auf eine interne Aktion folgenden Ereignisse (E), die Ein- bzw. Ausgaben entsprechen, einfließen. 5. Method according to one of the preceding claims, characterized in that - the types of actions (A) of the models (M; M1; M2), in addition to inputs and outputs, include internal actions, - wherein internal actions include such actions (A) indicate that bring the system into a new state without being recognizable and/or controllable from outside the system, and - whereby no events (E) for internal actions are created when event structures (ES; ES1; ES2) are set up, in particular, the effects of which flow into all events (E) that follow an internal action and that correspond to inputs and outputs. 6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass der Vergleich der ersten Ereignisstruktur (ES1) des ersten Modells (ES1) mit der zweiten Ereignisstruktur (ES2) des zweiten Modells (M2) gemäß Schritt d) nach einer vorgegebenen Anzahl von Ereignissen (E) abgebrochen wird. 6. The method according to any one of the preceding claims, characterized in that the comparison of the first event structure (ES1) of the first model (ES1) with the second event structure (ES2) of the second model (M2) according to step d) after a predetermined number of events (E) is aborted. 7. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass - beim Aufbau von Ereignisstrukturen (ES; ES1; ES2) gemäß Schritt b) ein zu vergleichendes Modell, insbesondere beide zu vergleichenden Modelle (M; M1; M2), partiell in eine Ereignisstruktur (ES; ES1; ES2) überführt wird, wobei partielle Ereignisstrukturen aufgebaut werden die, beginnend von einem vorgegebenen Zustand, teilweisen Ausführungen des Modells (M; M1; M2) entsprechen, bei denen alle möglichen Ausgaben des Systems erfolgt sind und eine Eingabe erforderlich macht, um weitere Ausgaben des Modells (M; M1; M2) zu erhalten, und - und diese Ereignisstrukturen (ES; ES1; ES2) Teile eines ersten Modells (M1), und Teile eines zweiten Modells (M2), insbesondere Teile einer Modifikation des ersten Modells (M1) oder durch Modifikation eines gemeinsamen Vorgängermodells erstellten Modells, repräsentieren, die den jeweiligen partiellen Ereignisstrukturen, beginnend von einem gemeinsamen Zustand, entsprechen, - wobei nur die Teilmenge aller Sequenzen von Aktionen nach Unterschieden untersucht werden, die in den Ereignisstrukturen (ES; ES1; ES2) enthalten sind. 7. The method according to any one of the preceding claims, characterized in that - in the construction of event structures (ES; ES1; ES2) according to step b) a model to be compared, in particular both models to be compared (M; M1; M2), partially in a Event structure (ES; ES1; ES2) is transferred, with partial event structures being built which, starting from a given state, correspond to partial executions of the model (M; M1; M2), in which all possible outputs of the system have taken place and an input is required makes in order to obtain further outputs of the model (M; M1; M2), and - and these event structures (ES; ES1; ES2) parts of a first model (M1), and parts of a second model (M2), in particular parts of a modification of the first model (M1) or models created by modifying a common predecessor model, which correspond to the respective partial event structures, starting from a common state, - where only the subset of all sequences of actions are examined for differences that are in the event structures (ES; ES1; ES2) are included. 8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Auswahl der zu untersuchenden Teilmengen von Sequenzen an Eingaben erfolgt durch - Heuristiken und/oder - zufällige Auswahl und/oder - komplette Auswahl. 8. The method as claimed in claim 7, characterized in that the subsets of input sequences to be examined are selected by - heuristics and/or - random selection and/or - complete selection. 9. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass beim Aufbau von Ereignisstrukturen (ES; ES1; ES2) gemäß Schritt c) eine statische Analyse von Zugriffen auf Variablen (V) herangezogen wird, 9. The method according to any one of the preceding claims, characterized in that a static analysis of accesses to variables (V) is used when setting up event structures (ES; ES1; ES2) according to step c), - wobei zwei Aktionen als in Konflikt stehend angenommen werden, wenn die eine Aktion eine Variable verwendet, der die andere Aktion einen Wert zuweist, oder beide Aktionen derselben Variable einen Wert zuweisen, und - where two actions are assumed to conflict if one action uses a variable that the other action assigns a value to, or both actions assign a value to the same variable, and - wobei Information über Zugriffe auf Variablen (V) einer Aktion (A) herangezogen werden, um die Menge an anderen Aktionen einzuschränken, deren Zulässigkeit sich nach der Ausführung der Aktion verändert haben kann, - whereby information about access to variables (V) of an action (A) is used to limit the number of other actions whose admissibility may have changed after the action has been executed, - wobei sich die Zulässigkeit einer ersten Aktion durch die Ausführung einer zweiten Aktion nur dann ändern kann, wenn die Bedingung zur Zulässigkeit der ersten Aktion eine Variable beinhaltet, die von der zweiten Aktion verändert wird, - wobei insbesondere eine Variable (V) nur dann von einer Aktion verändert werden kann, wenn die Ausführung der Aktion der Variable (V) einen Wert zuweist, - wobei beim Aufbau von Ereignisstrukturen (ES; ES1; ES2) nach dem Einfügen eines Ereignisses (E) entsprechend einer Aktion lediglich für die derart eingeschränkte Menge an Aktionen (A), deren Zulässigkeit sich geändert haben kann, und alle Ereignisse (E), die mit dem eingefügten Ereignis in Konflikt stehen, überprüft wird, ob ein neues Ereignis (E) mit einer solchen Aktion (A) eingefügt wird. - where the admissibility of a first action can only change through the execution of a second action if the condition for admissibility of the first action includes a variable that is changed by the second action, - where in particular a variable (V) only then of of an action can be changed if the execution of the action assigns a value to the variable (V), - whereby when building event structures (ES; ES1; ES2) after the insertion of an event (E) corresponding to an action only for the quantity restricted in this way actions (A) whose permissibility may have changed, and all events (E) that conflict with the inserted event, it is checked whether a new event (E) with such an action (A) is inserted. 10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass beim Aufbau von Ereignisstrukturen (ES; ES1; ES2) gemäß Schritt c) eine objektgenaue statische Analyse von Zugriffen auf Variablen (V) herangezogen wird, 10. The method according to claim 9, characterized in that an object-precise static analysis of accesses to variables (V) is used when setting up event structures (ES; ES1; ES2) according to step c), - wobei eine Objektkapselung des jeweils betrachteten Modells (M; M1; M2) verwendet wird, um mehrere Instanzen eines gleichen gemeinsamen Objekttyps zu erstellen, - where an object encapsulation of the respectively considered model (M; M1; M2) is used to create multiple instances of the same common object type, - wobei zur Analyse von Zugriffen auf Variablen (V) zwischen gleichen Variablen (V) verschiedener Instanzen desselben Objekttyps unterschieden wird, indem dynamisch zum Ausführungszeitpunkt die Instanz einer Variable (V) mit dem jeweiligen Objekttyp mitgeführt wird. - A distinction is made between the same variables (V) of different instances of the same object type for the analysis of accesses to variables (V), in that the instance of a variable (V) with the respective object type is carried along dynamically at the time of execution. 11. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass - die Zustände jedes Modells (M; M1, M2) durch Messungen von Zustandsgrößen des jeweils durch das Modell (M; M1, M2) repräsentierten Systems angegeben werden und - durch die Ausführung der Aktionen (A) jedes Modells (M; M1, M2) die Veränderung eines Aktuators des jeweiligen Systems bewirkt wird. 11. Method according to one of the preceding claims, characterized in that - the states of each model (M; M1, M2) are indicated by measurements of state variables of the system represented in each case by the model (M; M1, M2) and - by the execution the actions (A) of each model (M; M1, M2) cause the change in an actuator of the respective system. 12. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass ein auf Grundlage eines Referenzmodells erstelltes System untersucht wird, indem - durch Mutation des Referenzmodell ein weiteres Modell erzeugt wird, - dass gemäß Anspruch 2 Testfälle (T) durch Vergleich des weiteren Modells mit dem Referenzmodell erstellt werden, - das System anhand der so erzeugten Testfälle (T) gemäß Anspruch 3 getestet wird, wobei insbesondere vorgesehen ist, dass - bei der Ausführung eines Testfalls (T) im zu testenden System die Eingaben dem System zugeführt werden, indem die Sensoren des Systems mit physikalischen Größen beaufschlagt werden, für die sie sensitiv sind, - wobei die Ausgaben des Systems festgestellt werden, indem überprüft wird, ob ein Aktuator eine Aktion ausführt, und - beobachtete Ein- und Ausgaben mit dem jeweiligen Testfall (T) verglichen werden. 12. The method according to any one of the preceding claims, characterized in that a system created on the basis of a reference model is examined by - a further model is generated by mutation of the reference model, - that according to claim 2 test cases (T) by comparing the further model with are created using the reference model, - the system is tested using the test cases (T) generated in this way according to claim 3, with particular provision being made for - when executing a test case (T) in the system to be tested, the inputs are supplied to the system by the Sensors of the system are subjected to physical quantities to which they are sensitive, - the outputs of the system are determined by checking whether an actuator is performing an action, and - the observed inputs and outputs are compared with the respective test case (T). will. 13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass das Referenzmodell aus der Beobachtung eines physischen Referenzsystems gelernt wird. 13. The method according to claim 12, characterized in that the reference model is learned from the observation of a physical reference system. Hierzu 10 Blatt Zeichnungen 10 sheets of drawings 30 / 40 30 / 40
ATA51088/2018A 2018-12-07 2018-12-07 Procedure for comparing two models that describe concurrent systems AT521931B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ATA51088/2018A AT521931B1 (en) 2018-12-07 2018-12-07 Procedure for comparing two models that describe concurrent systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ATA51088/2018A AT521931B1 (en) 2018-12-07 2018-12-07 Procedure for comparing two models that describe concurrent systems

Publications (2)

Publication Number Publication Date
AT521931A1 AT521931A1 (en) 2020-06-15
AT521931B1 true AT521931B1 (en) 2022-01-15

Family

ID=71066773

Family Applications (1)

Application Number Title Priority Date Filing Date
ATA51088/2018A AT521931B1 (en) 2018-12-07 2018-12-07 Procedure for comparing two models that describe concurrent systems

Country Status (1)

Country Link
AT (1) AT521931B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757678A (en) * 1992-10-09 1998-05-26 Texas Instruments Incorporated Method of simultaneous simulation of a complex system having system objects, parameter objects, state objects, and simulation objects
GB2357597A (en) * 1999-12-22 2001-06-27 Keith Andrew Burton Dynamic process model with model interrogation
WO2013076071A1 (en) * 2011-11-25 2013-05-30 Siemens Aktiengesellschaft Method for semiautomatically creating a simulation model for a mechatronic system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757678A (en) * 1992-10-09 1998-05-26 Texas Instruments Incorporated Method of simultaneous simulation of a complex system having system objects, parameter objects, state objects, and simulation objects
GB2357597A (en) * 1999-12-22 2001-06-27 Keith Andrew Burton Dynamic process model with model interrogation
WO2013076071A1 (en) * 2011-11-25 2013-05-30 Siemens Aktiengesellschaft Method for semiautomatically creating a simulation model for a mechatronic system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BAKALEM, M. et al. 'PPS: An integrated object oriented Approach for modelling and Simulation fo manufacturing systems' Proceedings of IEEE International Conference on Systems, Man and Cybernetics, 2.-5. Okt. 1994, Seiten 2184 - 2189. [heruntergeladen am 28.11.2019] Heruntergeladen von <IEEE Xplore Digital Library, https://ieeexplore.ieee.org/ document/400188> <DOI: 10.1109/ICSMC.1994.400188> *
HUERTAS-QUINTERO, LINA A. M. et al. 'A Systems Integration perspective to manufacturing modelling and simulation' 2010 IEEE International Systems Conference, 5.-8. April 2010 [heruntergeladen am 28.11.2019]. Heruntergeladen von <IEEE Explore Digital Library, https://ieeexplore.ieee.org/ document/5482347> <DOI: 10.1109/SYSTEMS.2010.5482347 > *
The smart factory: Responsive , adaptive, connected manufacturing. [Datasheet online]. Deloitte University Press, 2017 [heruntergeladen am 28.11.2019]. Heruntergeladen von <https://www2.deloitte.com/content/dam/insights/us/articles/ 4051_The-smart-factory/DUP_The-smart-factory.pdf> *

Also Published As

Publication number Publication date
AT521931A1 (en) 2020-06-15

Similar Documents

Publication Publication Date Title
DE19717716C5 (en) Method for the automatic diagnosis of technical systems
DE102015207656B4 (en) Method and system for testing control software of a controlled system
DE60017457T2 (en) PROCEDURE FOR ISOLATING AN ERROR IN ERROR MESSAGES
EP0852759B1 (en) Drafting method for industrial and building systems and computer-controlled planning system for use in said method
DE102004024262A1 (en) Knowledge-based diagnostic system for a complex technical system with two separate knowledge bases for processing technical system data and processing customer complaints
EP0966703B1 (en) Method for computer-assisted error checking of sensors and/or actors in technical systems
DE102021100149A1 (en) Computer-implemented method for providing a test history of traffic scenarios to be tested
DE102010033861A1 (en) On a formal analysis based development of requirements specifications
AT521931B1 (en) Procedure for comparing two models that describe concurrent systems
WO2009068228A1 (en) System and method for the combined acquisition of data for scada and simulation or network calculation applications
DE10133670A1 (en) Method for automatic generation of a knowledge base for a technical system diagnosis system from a model of the technical system, e.g. for fault monitoring and diagnosis of a motor vehicle onboard control system
DE102017218143A1 (en) Method and device for driving a vehicle electronic planning module
DE102020213831B4 (en) Method for determining an existence probability of a possible element in an environment of a motor vehicle, driver assistance system and motor vehicle
WO2015035438A1 (en) Method for verifying generated software, and verifying device for carrying out such a method
DE10017708B4 (en) Method for controlling mechanisms and technical systems, equipment and control software
DE102017104049B4 (en) METHOD AND DEVICE FOR CHECKING THE RELIABILITY OF A CHIP
EP1958101B1 (en) System and method for the automatic verification of planning results
AT511297B1 (en) Method for generating a model of a communication task
DE10148032A1 (en) Testing CPU of microprocessor or micro-controller, by checking gates of CPU that influence flow of computer program during self-test
EP3831692A1 (en) Control system for a traffic network and method for preparing and/or adapting such a control system
EP1795999A1 (en) Method and system for transforming elements of a control program in a ladder diagram format into a function block format
WO2024008453A1 (en) Method for predicting an influence of one road user on at least one other road user, and method for operating a vehicle
DE102013114708A1 (en) Method for the integrated simulation of complex technical systems
DE10206287A1 (en) Method for testing software and/or portable data carrier, especially chip cards, involves detecting execution of command with pre-set conditions
EP1640827B1 (en) Method and apparatus using a region growing algorithm for converting a control program depicted with elements of a graphical programming language