DE102020211710A1 - Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells - Google Patents

Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells Download PDF

Info

Publication number
DE102020211710A1
DE102020211710A1 DE102020211710.1A DE102020211710A DE102020211710A1 DE 102020211710 A1 DE102020211710 A1 DE 102020211710A1 DE 102020211710 A DE102020211710 A DE 102020211710A DE 102020211710 A1 DE102020211710 A1 DE 102020211710A1
Authority
DE
Germany
Prior art keywords
formal
computer
logic
requirement
implemented method
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
DE102020211710.1A
Other languages
English (en)
Inventor
Peter Munk
Arne Nordmann
Eike Martin Thaden
Andreas-Juergen Rohatschek
Markus Schweizer
Lydia Gauerhof
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020211710.1A priority Critical patent/DE102020211710A1/de
Priority to US17/446,812 priority patent/US20220092271A1/en
Priority to CN202111093122.6A priority patent/CN114201937A/zh
Publication of DE102020211710A1 publication Critical patent/DE102020211710A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Computerimplementiertes Verfahren (100) zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen (110) eines Modells (200) des technischen Systems; Bereitstellen (120) einer Menge an Anforderungen (A, G) an das technische System; Konvertieren (140) einer jeweiligen Anforderung (A, G) in wenigstens einen formalen Ausdruck wenigstens einer formalen Logik, wobei die formale Logik aus einer Logikmenge (L) umfassend wenigstens zwei formalen Logiken basierend auf Eigenschaften der Anforderungen (A, G) ausgewählt wird (130); Überprüfen (150), ob eine jeweilige Anforderung (A, G) durch das Modell (200) erfüllt ist, wobei das Überprüfen (150) durch Ausführen wenigstens einen Programmsolvers für einen jeweiligen formalen Ausdruck erfolgt.

Description

  • Stand der Technik
  • Die Offenbarung betrifft ein Verfahren, eine Vorrichtung und ein Computerprogramm zum Testen eines technischen Systems anhand eines Modells.
  • Bei der modellbasierten System-Entwicklung wird ein Modell des Systems erstellt und zum Testen des Systems verwendet. Das Modell, beispielsweise in UML oder SysML modelliert, besteht typischerweise aus Blöcken mit Ports und Verbindungen zwischen diesen Ports. Blöcke enthalten typischerweise weitere Blöcke, um das System in einer hierarchischen Weise zu zerlegen. Bei der modellbasierten Sicherheitsanalyse, MBSA, wird dem Modell eine weitere, sicherheitsorientierte Sicht auf das System hinzufügt. Eine Möglichkeit besteht darin, den Blöcken so genannte Sicherheitsverträge hinzuzufügen. Sicherheitsverträge leiten sich aus der vertragsbasierten Konstruktion ab und sind in der modellbasierten System-Entwicklung bekannt. Sicherheitsverträge dienen der kompositorischen Spezifikation von Sicherheitsanforderungen sicherheitsrelevanter Systeme, die der Komponentenstruktur hierarchischer Systemmodelle folgen und mit dieser verknüpft sind. Für eine jeweilige Komponente spezifiziert ein Sicherheitsvertrag beispielsweise sicherheitsbezogene „Annahmen“, die durch die direkte Umgebung der Komponente, beispielsweise durch ihre übergeordneten Komponenten, erfüllt werden müssen, und entsprechende sicherheitsbezogene „Garantien“, die die Komponente ihrerseits erfüllen muss. Das Ziel von Sicherheitsverträgen ist es, Entwickler und Sicherheitsmanager bei der Bewertung der Sicherheit von Modellen, insbesondere der Fähigkeit der gewählten Komponentenstrukturen, alle Sicherheitsanforderungen zu erfüllen, zu unterstützen.
  • Es ist wünschenswert, diese Bewertung schnell und automatisiert durchzuführen.
  • Offenbarung der Erfindung
  • Diese Aufgabe wird gelöst, durch ein Verfahren gemäß Anspruch 1.
  • Eine Ausführungsform betrifft ein computerimplementiertes Verfahren zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, wobei das Verfahren die folgenden Schritte umfasst:
    • Bereitstellen eines Modells des technischen Systems;
    • Bereitstellen einer Menge an Anforderungen an das technische System; Konvertieren einer jeweiligen Anforderung in wenigstens einen formalen Ausdruck wenigstens einer formalen Logik, wobei die formale Logik aus einer Logikmenge umfassend wenigstens zwei formalen Logiken basierend auf Eigenschaften der Anforderungen ausgewählt wird;
    • Überprüfen, ob eine jeweilige Anforderung durch das Modell erfüllt ist, wobei das Überprüfen durch Ausführen wenigstens einen Programmsolvers für einen jeweiligen formalen Ausdruck erfolgt.
  • Unter einer Anforderung wird hierbei eine Sicherheitsanforderung verstanden, wobei Sicherheitsanforderungen üblicherweise in einem sogenannten Sicherheitsvertrag festgelegt werden.
  • Durch Konvertieren der Anforderungen in formale Ausdrücke, kann die Bewertung der Sicherheit des Modells, insbesondere der Fähigkeit einer Komponentenstruktur des Modells, alle Sicherheitsanforderungen zu erfüllen, automatisiert durchgeführt werden.
  • Das Auswählen einer passenden formalen Logik aus der Logikmenge erfolgt basierend auf Eigenschaften der Anforderungen. Bei den Eigenschaften handelt es sich beispielsweise um Boolesche Ausdrücke, Wahrscheinlichkeit, zeitliche Aspekte. Dabei können üblicherweise nicht alle dieser Eigenschaften von jeder formalen Logik abgebildet werden. Es ist daher vorgesehen, dass basierend auf den Eigenschaften, wenigstens eine formale Logik ausgewählt wird, mit der die jeweilige Anforderung in einen formalen Ausdruck konvertiert werden kann.
  • Jede Logik kann von wenigstens einem passenden Programmsolver bearbeitet werden. Durch Auswählen der formalen Logik wird somit entsprechend auch wenigstens ein Programmsolver ausgewählt.
  • Gemäß einer Ausführungsform ist vorgesehen, dass eine jeweilige Anforderung wenigstens eine Aussage oder eine Verkettung von wenigstens zwei oder mehr Aussagen umfasst.
  • Gemäß einer Ausführungsform ist vorgesehen, dass das Auswählen einer jeweiligen formalen Logik aus der Logikmenge die folgenden Schritte umfasst: Bestimmen der formalen Logik mit dem geringsten Komplexitätsgrad aus der Logikmenge, mit der die Anforderung und/oder jede Aussage der Anforderung als ein formaler Ausdruck abgebildet werden kann. Bestimmte Eigenschaften der Anforderungen, beispielsweise rein Boolesche Ausdrücke, können durch mehrere, insbesondere alle formale Logiken, abgebildet werden. Bestimmte andere Eigenschaften, wie insbesondere Wahrscheinlichkeit oder Zeitabhängigkeit, können üblicherweise nur durch wenige oder nur eine bestimmte formale Logik abgebildet werden. Vorteilhafterweise wird eine Anforderung in wenigstens einen formalen Ausdruck der formalen Logik mit dem geringsten Komplexitätsgrad konvertiert, mit der die Anforderung abgebildet werden kann. Umfasst die Anforderung mehrere Aussagen, kann für jede Aussage bestimmt werden, mit welcher formalen Logik die Aussage abgebildet werden kann und somit die formale Logik bestimmt werden, die jede Aussage der Anforderung abbildet kann.
  • Vorteilhafterweise kann vorgesehen sein, dass mehrere Programmsolver parallel ausgeführt werden. Dabei kann es sich um voneinander verschiedene Programmsolver für einen formalen Ausdruck und/oder um mehrere Programmsolver für mehrere formale Ausdrücke handeln.
  • Gemäß einer Ausführungsform ist vorgesehen, dass eine jeweilige Anforderung umfassend wenigstens einen natürlich sprachlichen Ausdruck bereitgestellt wird.
  • Das Spezifizieren von Anforderungen an das System, kann auf diese Weise benutzerfreundlich zunächst als natürlich sprachlicher Ausdruck erfolgen. Das Konvertieren in einen formalen Ausdruck erfolgt anhand des Verfahrens.
  • Gemäß einer Ausführungsform ist vorgesehen, dass das Modell wenigstens zwei oder mehr Komponenten umfasst, und eine Anforderung wenigstens eine Annahme einer jeweiligen Komponente bezüglich des technischen Systems, insbesondere bezüglich weiterer Komponenten, und/oder wenigstens eine Garantie einer jeweiligen Komponente an das technische System, insbesondere an weitere Komponenten, umfassen, und das Auswählen der formalen Logik basierend auf Eigenschaften einer jeweiligen Annahme und/oder einer jeweiligen Garantie erfolgt.
  • Gemäß einer weiteren vorteilhaften Ausführungsform kann vorgesehen sein, dass das Verfahren weiter umfasst: Klassifizieren von Aussagen einer jeweiligen Anforderung in Abhängigkeit des Komplexitätsgrad der erforderlichen formalen Logik, und Ausführen der Schritte Konvertieren und Überprüfen auf Aussagen, die eine formale Logik unterhalb eines bestimmten Komplexitätsgrads erfordern. Das Klassifizieren erfolgt dabei vorteilhafterweise vor den gemäß den Anspruch 1 beschrieben Schritten. Anhand des Klassifizierens ist es möglich, zunächst Aussagen, die eine komplexere Logik erfordern, nicht zu betrachten und nur die Aussagen, die anhand einer simpleren Logik abgebildet werden können, zu konvertieren. Aufgrund der geringeren Komplexität erlaubt dies eine schnelle und effiziente Ausführung der Schritte des Konvertierens in formale Ausdrücke und des Überprüfens, ob die Anforderungen durch das Modell erfüllt sind.
  • In vorteilhafter Weiterbildung kann vorgesehen sein, dass die Schritte Konvertieren und Überprüfen anschließend weiter auf Aussagen, die eine formale Logik oberhalb eines bestimmten Komplexitätsgrads erfordern, ausgeführt werden. Dies kann beispielsweise erforderlich sein, wenn durch das Überprüfen im vorhergehenden Schritt keine eindeutige Aussage getroffen werden kann, ob die Anforderungen durch das Modell erfüllt sind oder nicht.
  • Gemäß einer vorteilhaften Ausführungsform ist vorgesehen, dass das Verfahren weiter umfasst: Anpassen des Modells abhängig davon, ob und/oder in welchem Umfang eine jeweilige Anforderung durch das Modell erfüllt ist. Nach dem Anpassen des Modells können die Schritte Konvertieren und/oder Überprüfen erneut ausgeführt werden. Vorteilhafterweise wird das Modell angepasst, bis alle Anforderungen erfüllt sind.
  • Weitere Ausführungsformen betreffen ein Computerprogramm zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, wobei das Computerprogramm computerlesbare Instruktionen umfasst, bei deren Ausführung durch einen Computer ein computerimplementiertes Verfahren gemäß den Ausführungsformen ausgeführt wird.
  • Weitere Ausführungsformen betreffen eine Vorrichtung zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, wobei die Vorrichtung zum Ausführen eines computerimplementierten Verfahrens gemäß den beschriebenen Ausführungsformen, insbesondere durch Ausführen eines Computerprogramms gemäß den Ausführungsformen, ausgebildet ist.
  • Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in den Figuren der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung.
  • In der Zeichnung zeigt:
    • 1 eine schematische Darstellung von Schritten eines Verfahrens gemäß einer ersten Ausführungsform in einem Flussdiagramm;
    • 2 eine schematische Darstellung von Schritten eines Verfahrens gemäß einer ersten Ausführungsform in einem Flussdiagramm;
    • 3 eine schematische Darstellung von Ausschnitten eines Modells des technischen Systems, und
    • 4 eine schematische Darstellung einer Vorrichtung zum Ausführen eines Verfahrens gemäß 1 und 2.
  • Mit Bezug auf 1 und 2 wird im Folgenden ein Verfahren 100 zum Testen eines technischen Systems beschrieben.
  • Bei dem technischen System handelt es sich um ein sicherheitsrelevantes System, insbesondere umfassend Software- und/oder Hardware-Komponenten, beispielsweise für ein Kraftfahrzeug.
  • Das System wird gemäß der dargestellten Ausführungsform durch ein Modell 200, vergleiche 2, repräsentiert.
  • Das Modell 200 umfasst gemäß der dargestellten Ausführungsform beispielhaft die Komponente 210 und weitere Komponenten 220a, 220b.
  • Die Komponenten 210, 220a, 220b umfassen Ports 230, insbesondere Eingänge zum Empfangen von Daten und Ausgänge zum Versenden von Daten. Zwischen den Ports 230 der Komponenten 210, 220a, 220b sind Verbindungen 240 modelliert.
  • Weiter sind Anforderungen A, G an das technische System, insbesondere umfassend Annahmen A der Komponenten 210, 220a, 220b bezüglich des Systems, insbesondere weiterer Komponenten 210, 220a, 220b des Systems, und Garantien G der Komponenten 210, 220a, 220b an das System, insbesondere an die weiteren Komponenten 210, 220a, 220b des Systems, festgelegt.
  • In 2 sind schematisch die Annahmen A der Komponente 210 gegenüber der Komponenten 220a und die Garantien G der Komponente 210 gegenüber der Komponenten 220b dargestellt.
  • Bei dem System handelt es sich beispielsweise um ein technisches System eines Fahrzeugs. Die Komponente 210 ist beispielsweise ein Steuergerät oder eine Recheneinheit eines Steuergeräts, insbesondere für den Antrieb des Kraftfahrzeugs. Die Komponenten 220a sind beispielsweise Sensoren, insbesondere zur optischen Erfassung, insbesondere Kameras. Die Komponenten 220b sind beispielsweise Aktoren, insbesondere zum Ansteuern einer Antriebseinheit des Fahrzeugs und/oder einer Lenkeinheit des Fahrzeugs. Die Komponenten 220a, insbesondere die Sensoren, übertragen Daten an die Komponente 210, insbesondere das Steuergerät. Die Komponente 210 wiederrum überträgt Daten an die Komponenten 220b. Die Annahme A der Komponente 210 ist in diesem Fall beispielsweise, die Annahme, dass die Komponenten 220a zu vorgebbaren Zeiten Daten an die Komponente 210 übertragen. Die Garantie G der Komponente 210 ist in diesem Fall beispielsweise, die Garantie, dass die Komponente 210 zu vorgebbaren Zeiten Daten an die Komponenten 220b überträgt.
  • Die Annahme A lautet beispielsweise: „Kamerabild trifft alle 10ms mit einer Toleranz von 1% ein und alle relevanten Objekte werden mit einer Genauigkeit von 99% identifiziert, wenn das System aktiv ist“.
  • Die Garantie G lautet beispielsweise: „Drehmoment und Winkel werden zwischen 100ms und 120ms nach Eintreffen des Kamerabildes bereitgestellt, es sei denn, es tritt ein interner, nicht behebbarer Fehler auf. In diesem Fall werden bei aktivem System das vorherige Drehmoment und der vorherige Winkel bereitgestellt“.
  • Eine jeweilige Anforderung A, G umfasst wenigstens eine Aussage oder eine Verkettung von wenigstens zwei Aussagen. Die beispielhaft genannte Annahme A und Garantie G umfassen jeweils eine Verkettung von mehreren Aussagen.
  • Im Folgenden wird wieder mit Bezug auf 1 und 2 weiter das Verfahren 100 zum Testen beschrieben. Mit dem Verfahren 100 kann schnell und effizient überprüft werden, ob die Anforderung A, G durch das Modell, erfüllt sind.
  • Gemäß der dargestellten Ausführungsform umfasst das Verfahren 100 die folgenden Schritte:
    • einen Schritt 110 zum Bereitstellen eines Modells des technischen Systems,
    • einen Schritt 120 zum Bereitstellen einer Menge an Anforderungen A, G an das technische System,
    • einen Schritt 140 zum Konvertieren einer jeweiligen Anforderung A, G in wenigstens einen formalen Ausdruck wenigstens einer formalen Logik, wobei die formale Logik aus einer Logikmenge L umfassend wenigstens zwei formalen Logiken basierend auf Eigenschaften der Anforderungen A, G in einem Schritt 130 ausgewählt wird, und
    • einen Schritt 150 zum Überprüfen, ob eine jeweilige Anforderung A, G durch das Modell 200 erfüllt ist, wobei das Überprüfen 150 durch Ausführen wenigstens einen Programmsolvers für einen jeweiligen formalen Ausdruck erfolgt.
  • Gemäß den Ausführungsformen wird eine jeweilige Anforderung A, G zunächst umfassend wenigstens einen natürlich sprachlichen Ausdruck bereitgestellt 120. Ein Beispiel dafür ist durch die vorstehend beschriebenen Beispiele für die Annahme A und die Garantie G gegeben.
  • Anschließend wird für eine jeweilige Anforderung A, G und/oder eine jeweilige Aussage der Anforderung A, G eine jeweilige formale Logik aus der Logikmenge L ausgewählt 130.
  • Die Logikmenge L umfasst beispielsweise formale Logiken, wie Linear Temporal Logic, LTL, Computation Tree Logic, CTL, Probabilistic Computation Tree Logic, PCTL, Continuous Stochastic Logic, CSL, Signal Temporal Logic, STL.
  • Die genannten Logiken sind in der Lage, verschiedene Eigenschaften auszudrücken. Boolesche Ausdrücke können beispielsweise in allen formalen Logiken abgebildet werden. In LTL ist es beispielsweise möglich, auszudrücken, dass ein Ereignis immer, irgendwann oder im nächsten Zeitschritt eintritt. CSL erweitert die Möglichkeiten von LTL und erlaubt es, Pfadquantifizierungen, z. B. in allen Pfaden vom aktuellen Zustand oder in mindestens einem Pfad vom aktuellen Zustand, mit den zeitlichen Quantifizierungen aus LTL zu kombinieren.
  • PCTL und CSL erlauben die Einbeziehung probabilistischer Quantifizierung. STL ermöglicht die Darstellung von Signalen mit realen Werten und deren zeitabhängiges Verhalten.
  • Basierend auf den Eigenschaften der Anforderungen A, G und/oder Aussagen der Anforderungen A, G wird eine formale Logik ausgewählt, mit der die Eigenschaften der Anforderung A, G bzw. der Aussage abgebildet werden kann.
  • Wenn es für eine Anforderung A, G und/oder eine Aussage mehrere formale Logiken gibt, mit der diese abgebildet werden kann, kann es sich als vorteilhaft erweisen, wenn die formale Logik mit dem geringsten Komplexitätsgrad aus der Logikmenge L bestimmt wird, mit der die Anforderung A, G und/oder jede Aussage der Anforderung A, G als ein formaler Ausdruck abgebildet werden kann.
  • Wenn eine Anforderung mehrere Aussagen umfasst, wird jede Aussage der Anforderung A, G und/oder die Anforderung A, G im gesamten in eine formale Logik konvertiert. Dabei erweist es sich als vorteilhaft, wenn die formale Logik mit dem geringsten Komplexitätsgrad bestimmt wird, mit der die gesamte Anforderung A, G als ein formaler Ausdruck abgebildet werden kann.
  • Anschließend wird zum Überprüfen 150, ob eine jeweilige Anforderung A, G durch das Modell 200 erfüllt ist, wenigstens ein Programmsolver für einen jeweiligen formalen Ausdruck ausgeführt. Der formale Ausdruck ist dabei von einem von dem jeweiligen Programmsolver maschinenlesbar.
  • In der jeweiligen Logik ist der Programmsolver in der Lage, die Konsistenz des formalen Ausdrucks und damit der Anforderung A, G im Modell 200 nachzuweisen. Auf diese Weise kann nachgewiesen werden, ob und/oder in welchem Umfang eine jeweilige Anforderung A, G durch das Modell 200 erfüllt ist. Dies ermöglicht beispielsweise auch eine effiziente Analyse, ob eine bestimmte Komponente durch eine andere Komponente, insbesondere mit ähnlicher Funktionalität, ersetzt werden kann, ohne die Anforderungen A, G zu verletzen.
  • Es kann vorgesehen sein, dass mehrere Programmsolver parallel ausgeführt werden.
  • Für jede formale Logik gibt es wenigstens einen passenden Programmsolver. Durch Auswählen einer formalen Logik wird somit auch ein Programmsolver ausgewählt. Geeignete Programmsolver für die genannten formalen Logiken sind beispielsweise NuSMV oder NuXMV von FBK für LTL und CTL sowie PRISM für LTL, CSL und PCTL oder STORM für PCTL und CSL. Für STL existieren prototypische Programmsolver, beispielsweise beschrieben in Kyungmin Bae and Jia Lee. 2019. Bounded Model Checking of Signal Temporal Logic Properties using SyntacticSeparation.Proc. ACM Program. Lang.3, POPL, Article 51 (January 2019), https://doi.org/10.1145/3290364.
  • Anschließend kann das Modell 200 abhängig davon, ob und/oder in welchem Umfang eine jeweilige Anforderung A, G durch das Modell 200 erfüllt ist, angepasst werden. Dies ist durch den Schritt 160 dargestellt. Vorteilhafterweise kann nach Anpassen des Modells 200, das Verfahren 100, insbesondere der Schritt 150 zum Überprüfen erneut ausgeführt werden.
  • Eine weitere Ausführungsform des Verfahrens wird im Folgenden unter Bezugnahme auf 2 erläutert. Die mit denselben Bezugszeichen versehenen Schritte des Verfahrens entsprechen dabei in gleicher oder ähnlicher Weise den Schritten aus 1.
  • Gemäß der dargestellten Ausführungsform umfasst das Verfahren 100 die folgenden Schritte:
    • einen Schritt 110 zum Bereitstellen eines Modells 200 des technischen Systems,
    • einen Schritt 120 zum Bereitstellen einer Menge an Anforderungen A, G, umfassend wenigstens zwei Aussagen, an das technische System,
    • einen Schritt 170 zum Klassifizieren von Aussagen einer jeweiligen Anforderung A, G in Abhängigkeit des Komplexitätsgrad der erforderlichen formalen Logik,
    • einen Schritt 140 zum Konvertieren von Aussagen, die eine formale Logik unterhalb eines bestimmten Komplexitätsgrads erfordern, in wenigstens einen formalen Ausdruck wenigstens einer formalen Logik, wobei die formale Logik aus einer Logikmenge L umfassend wenigstens zwei formalen Logiken basierend auf Eigenschaften der Anforderungen A, G in einem Schritt 130 ausgewählt wird, und
    • einen Schritt 150 zum Überprüfen, ob eine jeweilige Anforderung A, G durch das Modell 200 erfüllt ist, wobei das Überprüfen 150 durch Ausführen wenigstens eines Programmsolvers für einen jeweiligen formalen Ausdruck erfolgt.
  • Anstatt für alle Aussagen eine formale Logik automatisch auf der Grundlage der in der natürlich sprachlichen Form gegebenen Eigenschaften auszuwählen, werden gemäß der in 2 dargestellten Ausführungsform zunächst lediglich Aussagen die eine formale Logik unterhalb eines bestimmten Komplexitätsgrads erfordern, beispielsweise formale Logik erster Ordnung ohne zeitliche Aspekte, zu konvertieren 140. Auf Grund der geringeren Komplexität kann so schnell und effizient ein Ergebnis berechnet werden. Beispielsweise kann so schon festgestellt werden, dass eine bestimmte Anforderung A, G durch das Modell 200 nicht erfüllt ist. In einigen Fällen kann ein derartiges Ergebnis, dass nur auf formalen Ausdrücken einer Logik mit einem geringen Komplexitätsgrad basiert, bereits ausreichend sein.
  • Vorteilhafterweise können, beispielsweise für den Fall, dass das erste Ergebnis nicht ausreichend ist, insbesondere keine ausreichenden Erkenntnisse liefert, anschließend weitere Aussagen, die eine formale Logik mit einem höheren Komplexitätsgrad erfordern, konvertiert werden 140.
  • Anschließend können dann die Schritte Überprüfen 150 und gegebenenfalls Anpassen 160 ausgeführt werden.
  • In 4 ist eine Vorrichtung 300 zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, dargestellt. Die Vorrichtung 300 ist zum Ausführen des computerimplementierten Verfahrens 100 gemäß den beschriebenen Ausführungsformen ausgebildet.
  • Die Vorrichtung 300 weist wenigstens eine Recheneinrichtung 310 auf, der beispielsweise wenigstens eine Speichereinrichtung 320 zugeordnet sein kann, insbesondere zur zumindest zeitweisen Speicherung wenigstens eines Computerprogramms und/oder von Daten, insbesondere mittels der Recheneinrichtung 310 zu verarbeitenden Daten. Weiter bevorzugt kann in der Speichereinrichtung 320 ein Computerprogramm PRG1 abgelegt sein, zur zumindest zeitweisen Steuerung eines Betriebs der Vorrichtung 300, insbesondere zur Ausführung des Verfahrens 100 gemäß den Ausführungsformen.
  • Bei der Recheneinrichtung 310 handelt es sich beispielsweise um einen Mikroprozessor. Die Speichereinrichtung 320 umfasst wenigstens eines der folgenden Elemente: einen flüchtigen Speicher, insbesondere Arbeitsspeicher (RAM), einen nichtflüchtigen Speicher, insbesondere Flash-Speicher.
  • Gemäß der dargestellten Ausführungsform umfasst die Vorrichtung 300 eine weitere Speichereinrichtung 330, auf der beispielsweise das Modell 200 des technischen Systems gespeichert ist.
  • Gemäß der dargestellten Ausführungsform umfasst die Vorrichtung 300 eine weitere Speichereinrichtung 340, auf der beispielsweise die Logikmenge L und/oder eine Menge S an Programmsolver hinterlegt sind.
  • Über eine Schnittstelle 350 können die Anforderungen A, G als eine Benutzereingabe in einer natürlichen Sprache bereitgestellt 120 werden.

Claims (11)

  1. Computerimplementiertes Verfahren (100) zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen (110) eines Modells (200) des technischen Systems; Bereitstellen (120) einer Menge an Anforderungen (A, G) an das technische System; Konvertieren (140) einer jeweiligen Anforderung (A, G) in wenigstens einen formalen Ausdruck wenigstens einer formalen Logik, wobei die formale Logik aus einer Logikmenge (L) umfassend wenigstens zwei formalen Logiken basierend auf Eigenschaften der Anforderungen (A, G) ausgewählt wird (130); Überprüfen (150), ob eine jeweilige Anforderung (A, G) durch das Modell (200) erfüllt ist, wobei das Überprüfen (150) durch Ausführen wenigstens einen Programmsolvers für einen jeweiligen formalen Ausdruck erfolgt.
  2. Computerimplementiertes Verfahren (100) nach Anspruch 1, wobei eine jeweilige Anforderung wenigstens eine Aussage oder eine Verkettung von wenigstens zwei Aussagen umfasst.
  3. Computerimplementiertes Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei das Auswählen (130) einer jeweiligen formalen Logik aus der Logikmenge (L) die folgenden Schritte umfasst: Bestimmen der formalen Logik mit dem geringsten Komplexitätsgrad aus der Logikmenge (L), mit der die Anforderung (A, G) und/oder Aussagen der Anforderung (A, G) als ein formaler Ausdruck abgebildet werden kann.
  4. Computerimplementiertes Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei mehrere Programmsolver parallel ausgeführt werden.
  5. Computerimplementiertes Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei eine jeweilige Anforderung (A, G) umfassend wenigstens einen natürlich sprachlichen Ausdruck bereitgestellt wird.
  6. Computerimplementiertes Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei das Modell (200) wenigstens zwei oder mehr Komponenten (210, 220a, 220b) umfasst, und eine Anforderung (A, G) wenigstens eine Annahme (A) einer jeweiligen Komponente (210, , 220a, 220b) bezüglich des technischen Systems, insbesondere bezüglich weiterer Komponenten (210, , 220a, 220b), und/oder wenigstens eine Garantie (G) einer jeweiligen Komponente (210, , 220a, 220b) an das technische System, insbesondere an weitere Komponenten (210, , 220a, 220b), umfassen, und das Auswählen (130) der formalen Logik basierend auf Eigenschaften einer jeweiligen Annahme und/oder einer jeweiligen Garantie erfolgt.
  7. Computerimplementiertes Verfahren (100) nach wenigstens einem der vorhergehenden Ansprüche, wobei das Verfahren weiter umfasst: Klassifizieren (170) von Aussagen einer jeweiligen Anforderung (A, G) in Abhängigkeit des Komplexitätsgrad der erforderlichen formalen Logik, und Ausführen der Schritte Konvertieren (140) und Überprüfen (150) auf Aussagen, die eine formale Logik unterhalb eines bestimmten Komplexitätsgrads erfordern.
  8. Computerimplementiertes Verfahren (100) nach Anspruch 7, wobei, die Schritte Konvertieren (140) und Überprüfen (150) anschließend weiter auf Aussagen, die eine formale Logik oberhalb eines bestimmten Komplexitätsgrads erfordern, ausgeführt werden.
  9. Computerimplementiertes Verfahren (100), nach wenigstens einem der vorhergehenden Ansprüche, wobei das Verfahren weiter umfasst: Anpassen (160) des Modells (200) abhängig davon, ob und/oder in welchem Umfang eine jeweilige Anforderung (A, G) durch das Modell (200) erfüllt ist.
  10. Computerprogramm (PRG1) zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, wobei das Computerprogramm (PRG1) computerlesbare Instruktionen umfasst, bei deren Ausführung durch einen Computer ein computerimplementiertes Verfahren (100) nach einem wenigstens einem der Ansprüche 1 bis 9 ausgeführt wird.
  11. Vorrichtung (300) zum Testen eines, insbesondere sicherheitsrelevanten, technischen Systems, insbesondere umfassend Software- und/oder Hardwarekomponenten, wobei die Vorrichtung zum Ausführen eines computerimplementierten Verfahrens (100) nach wenigstens einem der Ansprüche 1 bis 9, insbesondere durch Ausführen eines Computerprogramms (PRG1) nach Anspruch 9, ausgebildet ist.
DE102020211710.1A 2020-09-18 2020-09-18 Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells Pending DE102020211710A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020211710.1A DE102020211710A1 (de) 2020-09-18 2020-09-18 Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells
US17/446,812 US20220092271A1 (en) 2020-09-18 2021-09-02 Method, device and computer program for testing a technical system based on a model
CN202111093122.6A CN114201937A (zh) 2020-09-18 2021-09-17 用于基于模型测试技术系统的方法、设备和计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020211710.1A DE102020211710A1 (de) 2020-09-18 2020-09-18 Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells

Publications (1)

Publication Number Publication Date
DE102020211710A1 true DE102020211710A1 (de) 2022-03-24

Family

ID=80473726

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020211710.1A Pending DE102020211710A1 (de) 2020-09-18 2020-09-18 Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells

Country Status (3)

Country Link
US (1) US20220092271A1 (de)
CN (1) CN114201937A (de)
DE (1) DE102020211710A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022203124A1 (de) 2022-03-30 2023-10-05 Robert Bosch Gesellschaft mit beschränkter Haftung Computer-implementiertes System und Verfahren zum Überwachen der Funktionsfähigkeit einer automatisierten Fahrfunktion

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022203124A1 (de) 2022-03-30 2023-10-05 Robert Bosch Gesellschaft mit beschränkter Haftung Computer-implementiertes System und Verfahren zum Überwachen der Funktionsfähigkeit einer automatisierten Fahrfunktion

Also Published As

Publication number Publication date
US20220092271A1 (en) 2022-03-24
CN114201937A (zh) 2022-03-18

Similar Documents

Publication Publication Date Title
EP1192543B1 (de) Verfahren und anordnung zur ermittlung eines fehlerbaums eines technischen systems, computerprogramm-erzeugnis und computerlesbares speichermedium dafür
DE102006046203A1 (de) Verfahren zur rechnergestützten Bewertung von Softwarequellcode
DE19639424A1 (de) Entwurfsverfahren für die Anlagentechnik und rechnergestütztes Projektierungssystem zur Verwendung bei diesem Verfahren
EP2706421B1 (de) Verfahren zur rechnergestützten Erzeugung mindestens eines Teils eines ausführbaren Steuerungsprogramms
EP2330469B1 (de) Verfahren und Entwicklungsumgebung zur Erzeugung eines ausführbaren Gesamtsteuerungsprogramms
EP2186003A2 (de) Verfahren und vorrichtung zur ermittlung einer eintrittswahrscheinlichkeit
DE102017120016A1 (de) Verfahren zur Konfiguration eines zum Testen eines elektronischen Steuergeräts eingerichteten Testgeräts sowie Konfigurationssystem
WO1998040796A1 (de) Verfahren zur rechnergestützten fehleranalyse von sensoren und/oder aktoren in einem technischen system
EP1470459B1 (de) Frühzeitige prognose der zuverlässigkeit einer technischen anordnung
DE102010033861A1 (de) Auf einer formellen Analyse basierte Entwicklung von Anforderungsspezifikationen
DE102018110018A1 (de) Verfahren zum Bereitstellen eines integrierten Prozesses für die Steuergerätentwicklung und Simulationsvorrichtung für die Steuergerätentwicklung
DE102020211710A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Testen eines technischen Systems anhand eines Modells
DE102011107646A1 (de) Verfahren und System zur dynamischen Verteilung von Programmfunktionen in verteilten Steuerungssystemen
DE102018117509A1 (de) Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zum Überwachen einer Wirkkette eines Wirknetzes eines Fahrzeuges
DE102021207872A1 (de) Kompositionelle verifikation von eingebetteten softwaresystemen
EP3933593A1 (de) Verfahren und computerprogramm zum testen eines technischen systems
EP3779619B1 (de) Verfahren und vorrichtung zur bestimmung emergenter risiken eines technischen systems
EP3173928B1 (de) Verfahren und vorrichtung zum überprüfen eines komponentenfehlerbaums
DE102020206327A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems
DE102020102996A1 (de) Verfahren für einen integrierten Entwurf zur Modellierung, Simulation und Test einer Echtzeit-Architektur innerhalb einer modellbasierten System- und Softwareentwicklung
DE102017104049B4 (de) Verfahren und vorrichtung zum überprüfen der zuverlässigkeit eines chips
DE102019219730A1 (de) Verfahren und Vorrichtung zur modellbasierten Analyse
DE102022121140B3 (de) Verfahren zum Betreiben eines zumindest teilweise assistiert betriebenen Kraftfahrzeugs, Computerprogrammprodukt sowie Assistenzsystem
DE102017213764A1 (de) Vorrichtung zur Zuverlässigkeitsanalyse eines mechatronischen Systems
DE102018212316A1 (de) Verfahren und Vorrichtung zum Verarbeiten eines Systemmodells eines technischen Systems