WO2014016115A1 - Method for producing a model of a communication task - Google Patents
Method for producing a model of a communication task Download PDFInfo
- Publication number
- WO2014016115A1 WO2014016115A1 PCT/EP2013/064521 EP2013064521W WO2014016115A1 WO 2014016115 A1 WO2014016115 A1 WO 2014016115A1 EP 2013064521 W EP2013064521 W EP 2013064521W WO 2014016115 A1 WO2014016115 A1 WO 2014016115A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- software components
- target system
- communication
- communication task
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
- G06F8/355—Round-trip engineering
Definitions
- the subject invention relates to a method for generating a model of a communication task from target system-independent software components, wherein the communication task is given in the form of an abstract description and the abstract description is converted into the model.
- EP 2 068 214 A1 describes a graphical program creation based on defined graphic objects. In doing so, a user manually creates a technical process by selecting and linking matching predefined graphics objects from a database, the process being first mechanically determined by selecting appropriate design elements and then assigning functions to the mechanical elements. The subsequently created by compiling control program can then be executed in a controller.
- a manual program creation is very expensive, especially in larger processes.
- EP 2 154 606 A1 a configurable on a target system configuration to implement an automation task on a test bench from a library of a number of abstract, target system independent software components together and the selected target system independent software components via their data channels to implement an automation task to a model interconnect.
- This model is created manually by a user through the selection, the parameterization and the software components, which are interconnected via data channels, and are interconnected step by step, e.g. by drawing in appropriate software with graphical interface.
- the next step, from this model by transformation into target system-dependent software components to form an executable configuration (essentially an executable computer program), to instantiate them and to parameterize them via the command interface, can take place automatically.
- Such a method is described in EP 2 154 606 A1.
- This method makes it possible to make changes to the target system even during the runtime of the configuration, in which only individual software components have to be changed, supplemented or replaced without having to stop the entire system.
- typical automation tasks for test bench applications can easily contain several thousand such interconnected software components.
- the manual creation of such a model is associated with considerable effort. Even more effort may be required if such configurations, especially over long periods of time, must be maintained.
- This includes, for example, the adaptation of the model or the configuration to the constantly evolving or changed requirements of the Test bench, such as an engine test bench, chassis dynamometer, etc. for testing or developing vehicles or components thereof (such as internal combustion engine, transmission, powertrain, etc.). This may require only minor changes to the configuration, such as adding new data channels, changing certain parameters of individual components, such as an amplification factor, or changing message identifiers of messages on communication buses, etc.
- test bed system test bench control, test bed automation, test bench computer, data acquisition, etc.
- embedded systems on the test specimen such as. Engine electronics, hybrid control unit, ABS system, etc.
- this data communication usually runs via bus systems such as CAN or FlexRay.
- bus systems such as CAN or FlexRay.
- FIBEX Field Bus Exchange Format
- DBC Data Management Entity
- test rig The task of the test rig is often to simulate or take over parts of this data communication through the test bed system, for example because the relevant control unit itself is not yet available in the current test phase.
- another task might require that the signals of particular nodes on the bus be recorded, monitored or evaluated.
- An abstractly defined communication structure (eg as a FIBEX file) can therefore be implemented automatically eg into a FlexRay bus node, which considerably simplifies the effort for creating an executable configuration on a target system.
- DE 10 2005 058 801 A1 describes a method for the automatic creation of software tools from a semantically interpretable system information.
- This problem is solved by storing the relations between the information in the abstract description and the target system-independent software components during model creation. This makes it possible to establish a direct connection at the component level and therefore only have to change individual components in case of changes.
- FIG. 3 shows a method according to the invention for generating a model.
- the present invention uses, for example, the method of EP 2 154 606 A1 in order to generate a configuration 3 executable on a target system from a model 1 consisting of (more or less) abstract, target system-independent software components.
- An executable configuration essentially means an executable program. Depending on where this program is to run (target system), the executable configuration will be available in different forms or program code.
- the necessary manoeuvrable processes are described in detail in EP 2 154 606 A1 and are shown in simplified form in FIG.
- a user 2 creates a model 1 and accesses eg a library 5 of existing target system-independent software components.
- an executable configuration 3 is generated which is loaded on the target system 4, eg a test bench or automation computer or a platform such as dSpace® or LabView TM on a computer, and there, for example to perform an automation or communication task , is performed.
- the target system 4 eg a test bench or automation computer or a platform such as dSpace® or LabView TM on a computer, and there, for example to perform an automation or communication task , is performed.
- the abstract description of a communication structure e.g. in the form of a well-known FIBEX or DBC file that creates model 1 or part of model 1.
- the abstract communication structure is thus made up of target system independent software components, e.g. are stored in the library 5, composed.
- the necessary software components can also be automatically instantiated and, if necessary, also stored in the library 5 for later reuse.
- rules could be defined for how certain details in the abstract communication structure are converted into software components. Such mapping is well known in itself, which is why it will not be discussed in more detail here.
- a CAN message "TestMsg” contains two signals, Signal_A and Signal_B, which may be described as follows in a communication structure 6 in the form of a DBC file: BO_IDx TestMsg: 8 node_y
- This abstract description is converted into a model 1 (or submodule), in this case four, target-system-independent software components 10, 11, 12, 13, as shown in FIG. delt.
- the CAN message "TestMsg" contains two signals of a certain length and type.
- a transformation unit 14 e.g. a computer, the entire abstract description of a communication structure 6, as shown in Figure 3, converted into a model 1 or a partial model of a model 1. If necessary, it is possible to fall back on already defined software components from the library 5. The remainder of the procedure is as before, e.g. as described in EP 2 154 606 A1 and above with reference to FIG.
- each software component in the target system independent model 1 has a unique identification. This essentially concerns the components and interconnecting channels configured in it. Subelements such as parameters of the component can also be unmistakably identified via the component ID and a unique name.
- the communication structure e.g. in FIBEX or DBC file, signals or messages defined by unique names.
- the FIBEX (or DBC) file itself is uniquely identified, e.g. using primary identifiers such as project name and version, or any other convention.
- a relation stored in the memory unit 7 could then be e.g. ring:
- both sides continue to be kept consistent by regenerating the changed parts.
- the communication structure 6 is changed, e.g. In that a parameter is changed, the saved relation in the storage unit 7 can uniquely and simply identify and update the affected software component (s) in the model 1.
- this change only has to be transferred to the executable configuration 3 on the target system 4, e.g. as described in EP 2 154 606 A1, without having to stop the entire system.
- the user 2 could also intervene in the model 1. Changes that affect the communication structure 6 can now also be traced via the stored relation in the communication structure 6.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
A communication task in the form of an abstract description is converted into a model (1) in automated fashion, with the relations between the information in the abstract description and the target‑system‑independent software components being stored in order to allow changes on individual software components of the model (1).
Description
Verfahren zur Erzeugung eines Modells einer Kommunikationsaufgabe Method for generating a model of a communication task
Die gegenständliche Erfindung betrifft ein Verfahren zur Erzeugung eines Modells einer Kommunikationsaufgabe aus zielsystemunabhängigen Softwarekomponenten, wobei die Kommunikationsaufgabe in Form einer abstrakten Beschreibung vorgegeben ist und die abs- trakte Beschreibung in das Modell umgewandelt wird. The subject invention relates to a method for generating a model of a communication task from target system-independent software components, wherein the communication task is given in the form of an abstract description and the abstract description is converted into the model.
Die EP 2 068 214 A1 beschreibt eine grafische Programmerstellung anhand von definierten Grafikobjekten. Dabei erstellt ein Benutzer manuell einen technischen Prozess, indem er passende vordefinierte Grafikobjekte aus einer Datenbank auswählt und zusammenschaltet, wobei der Prozess zuerst durch Auswahl geeigneter Konstruktionselemente mechanisch festgelegt wird und danach den mechanischen Elementen Funktionen zugewiesen werden. Das danach durch Kompilieren erstellte Steuerprogramm kann dann in einer Steuerung ausgeführt werden. Eine solche manuelle Programmerstellung ist aber, insbesondere bei größeren Prozessen, sehr aufwendig. EP 2 068 214 A1 describes a graphical program creation based on defined graphic objects. In doing so, a user manually creates a technical process by selecting and linking matching predefined graphics objects from a database, the process being first mechanically determined by selecting appropriate design elements and then assigning functions to the mechanical elements. The subsequently created by compiling control program can then be executed in a controller. However, such a manual program creation is very expensive, especially in larger processes.
Es ist z.B. aus der EP 2 154 606 A1 bekannt, eine auf einem Zielsystem ablauffähige Konfi- guration zur Umsetzung einer Automatisierungsaufgabe auf einem Prüfstand aus einer Bibliothek einer Anzahl von abstrahierten, zielsystemunabhängigen Softwarekomponenten zusammenzustellen und die gewählten zielsystemunabhängigen Softwarekomponenten über ihre Datenkanäle zur Realisierung einer Automatisierungsaufgabe zu einem Modell zusammenzuschalten. Dieses Modell wird von einem Anwender manuell durch die Auswahl, das Parametrieren und das über Datenkanäle Verschalten zielsystemunabhängiger Softwarekomponenten Schritt für Schritt gebildet, z.B. durch Zeichnen in entsprechender Software mit grafischer Oberfläche. Der nächste Schritt, aus diesem Modell durch Transformation in ziel- systemabhängige Softwarekomponenten eine ablauffähiges Konfiguration (also im Wesentlichen ein ausführbares Computerprogramm) zu bilden, diese zu instanziieren und über deren Kommandointerface zu parametrisieren, kann dabei automatisch ablaufen. Ein solches Verfahren ist in der EP 2 154 606 A1 beschrieben. It is e.g. from EP 2 154 606 A1, a configurable on a target system configuration to implement an automation task on a test bench from a library of a number of abstract, target system independent software components together and the selected target system independent software components via their data channels to implement an automation task to a model interconnect. This model is created manually by a user through the selection, the parameterization and the software components, which are interconnected via data channels, and are interconnected step by step, e.g. by drawing in appropriate software with graphical interface. The next step, from this model by transformation into target system-dependent software components to form an executable configuration (essentially an executable computer program), to instantiate them and to parameterize them via the command interface, can take place automatically. Such a method is described in EP 2 154 606 A1.
Dieses Verfahren erlaubt es, auch noch zur Laufzeit der Konfiguration am Zielsystem Änderungen daran vorzunehmen, in dem nur einzelne Softwarekomponenten geändert, ergänzt oder ausgetauscht werden müssen, ohne dabei das Gesamtsystem stoppen zu müssen. Typische Automatisierungsaufgaben für Prüfstands-Anwendungen können aber leicht mehrere tausend solcher verschalteter Softwarekomponenten enthalten. Das manuelle Erstellen eines solchen Modells ist dabei mit erheblichem Aufwand verbunden. Noch mehr Aufwand kann entstehen, wenn solche Konfigurationen, insbesondere über längere Zeiträume hinweg, gewartet werden müssen. Darunter fällt beispielsweise das Anpassen des Modells bzw. der Konfiguration an die sich stets weiter entwickelnden oder geänderten Anforderungen am
Prüfstand, wie z.B. ein Motorprüfstand, Rollenprüfstand, etc. zum Testen bzw. Entwickeln von Fahrzeugen oder Komponenten davon (wie z.B. Verbrennungsmotor, Getriebe, Antriebsstrang, etc.). Das erfordert unter Umständen nur geringfügige Änderungen an der Konfiguration, wie z.B. das Hinzufügen neuer Datenkanäle, das Ändern bestimmter Parameter einzelner Komponenten, wie beispielsweise ein Verstärkungsfaktor, oder das Ändern von Nachrichten-Identifiern von Meldungen auf Kommunikationsbussen, usw. This method makes it possible to make changes to the target system even during the runtime of the configuration, in which only individual software components have to be changed, supplemented or replaced without having to stop the entire system. However, typical automation tasks for test bench applications can easily contain several thousand such interconnected software components. The manual creation of such a model is associated with considerable effort. Even more effort may be required if such configurations, especially over long periods of time, must be maintained. This includes, for example, the adaptation of the model or the configuration to the constantly evolving or changed requirements of the Test bench, such as an engine test bench, chassis dynamometer, etc. for testing or developing vehicles or components thereof (such as internal combustion engine, transmission, powertrain, etc.). This may require only minor changes to the configuration, such as adding new data channels, changing certain parameters of individual components, such as an amplification factor, or changing message identifiers of messages on communication buses, etc.
In der Praxis wird ein nicht unbeträchtlicher Teil dieser Komponenten für Datenkommunikation zwischen dem Prüfstandsystem (Prüfstandssteuerung, Prüfstandsautomatisierung, Prüf- standsrechner, Datenerfassung, etc.) selbst und eingebetteten Systemen am Prüfling, wie z.B. Motorelektronik, Hybrid-Steuergerät, ABS System, usw., benötigt. Diese Datenkommunikation läuft heutzutage üblicherweise über Bussysteme wie CAN oder FlexRay. Um die Datenkommunikation auf diesen Bussen zu planen und abstrakt zu beschreiben, haben sich bestimmte Standards zur Beschreibungen der Kommunikationsstruktur und der Kommunikationsaufgaben durchgesetzt, beispielsweise FIBEX oder DBC. FIBEX (Field Bus Exchange Format) ist z.B. ein XML basiertes Datenformat zur Beschreibung komplexer, Nachrichtenorientierter Kommunikationssysteme, wie beispielsweise FlexRay oder CAN. Diese Beschreibungsfiles werden am Prüfstand üblicherweise vorgegeben, z.B. vom Fahrzeughersteller entwickelt und gewartet, um damit beispielsweise die Entwicklung der Subsysteme (Motorelektronik, Hybrid-Steuergerät, etc.) zu koordinieren. Da diese Beschreibungsfiles alle De- tails der Datenkommunikation am Bus enthalten, kann ihr Aufbau äußerst komplex und umfangreich sein. In practice, a not insignificant part of these components for data communication between the test bed system (test bench control, test bed automation, test bench computer, data acquisition, etc.) itself and embedded systems on the test specimen, such as. Engine electronics, hybrid control unit, ABS system, etc., needed. Today, this data communication usually runs via bus systems such as CAN or FlexRay. In order to plan and abstract the data communication on these buses, certain standards for describing communication structure and communication tasks have become commonplace, such as FIBEX or DBC. FIBEX (Field Bus Exchange Format) is e.g. an XML-based data format for the description of complex, message-oriented communication systems, such as FlexRay or CAN. These description files are usually specified on the test bench, e.g. Developed and maintained by the vehicle manufacturer to coordinate, for example, the development of subsystems (engine electronics, hybrid control unit, etc.). Since these description files contain all the details of the data communication on the bus, their structure can be extremely complex and extensive.
Am Prüfstand besteht nun oft die Aufgabe, Teile dieser Datenkommunikation durch das Prüfstandsystem zu simulieren bzw. zu übernehmen, zum Beispiel weil das betreffende Steuergerät in der momentanen Prüfphase selbst noch nicht zur Verfügung steht. Man spricht dann von Restbussimulation am Prüfstand. Eine andere Aufgabenstellung könnte beispielsweise erfordern, dass die Signale bestimmter Knoten am Bus aufgezeichnet, überwacht oder bewertet werden müssen. The task of the test rig is often to simulate or take over parts of this data communication through the test bed system, for example because the relevant control unit itself is not yet available in the current test phase. One then speaks of residual bus simulation on the test bench. For example, another task might require that the signals of particular nodes on the bus be recorded, monitored or evaluated.
In jedem Anwendungsfall ist es aber erforderlich, einen Teil der Softwarekomponenten der ablauffähigen Konfiguration für die Übernahme solcher Kommunikationsaufgaben zu erstel- len und zu parametrieren. Auch hier kann es schnell zu sehr vielen, z.B. hunderte bis tausende, solcher Signale und Softwarekomponenten kommen. Es ergibt sich also wieder ein erheblicher Aufwand, der vom Anwender vorweg manuell durchgeführt werden muss. Dazu wurde in der DE 10 2010 001 596 A1 bereits vorgeschlagen, aus Eingabedaten und Konfigurationsdaten in Form eines FIBEX-Files die Konfiguration eines Flexray-Kommunikations- busses automatisiert zu erstellen. Mit diesem Verfahren wird also ein Bussystem zur Abarbeitung von Kommunikationsaufgaben auf einem Zielsystem betrieben. Eine vorgegebene,
abstrakt definierte Kommunikationsstruktur (z.B. als FIBEX File) kann daher automatisiert z.B. in einen FlexRay Bus-Knoten umgesetzt werden, was den Aufwand zur Erstellung einer ablauffähigen Konfiguration auf einem Zielsystem erheblich erleichtert. Ähnlich ist in der DE 10 2005 058 801 A1 Verfahren zur automatischen Erstellung von Software-Werkzeugen aus einer semantisch interpretierbaren Anlageninformation beschrieben. In any case of application, however, it is necessary to create and parameterize part of the software components of the executable configuration for the assumption of such communication tasks. Again, it can quickly come to many, such as hundreds to thousands, such signals and software components. This results in a considerable effort, which must be performed manually by the user beforehand. For this purpose, it has already been proposed in DE 10 2010 001 596 A1 to automatically generate the configuration of a Flexray communication bus from input data and configuration data in the form of a FIBEX file. With this method, therefore, a bus system for processing communication tasks is operated on a target system. A predetermined, An abstractly defined communication structure (eg as a FIBEX file) can therefore be implemented automatically eg into a FlexRay bus node, which considerably simplifies the effort for creating an executable configuration on a target system. Similarly, DE 10 2005 058 801 A1 describes a method for the automatic creation of software tools from a semantically interpretable system information.
Das Problem dabei ist jedoch, dass Änderungen in der Definition der abstrakten Kommunikationsstruktur nicht ohne weiteres in eine Änderung des Modells und damit auch nicht in eine Änderung der ablauffähigen Konfiguration am Zielsystem gemappt werden kann. Bei solchen, auch nur kleinen, Änderungen muss vielmehr der gesamte Prozess nochmals durch- laufen werden. Dazu muss aber das Bussystem gestoppt werden. Mit diesem Verfahren können somit keine punktuellen Änderungen am Bussystem vorgenommen werden, ohne das gesamte Bussystem zu stoppen. The problem here is that changes in the definition of the abstract communication structure can not easily be mapped into a change of the model and thus not in a change of the executable configuration on the target system. For such changes, even small ones, the entire process has to be run through again. For this, however, the bus system must be stopped. Thus, no punctual changes to the bus system can be made with this method, without stopping the entire bus system.
Es ist daher eine Aufgabe der gegenständlichen Erfindung, die oben angeführten Nachteile der bekannten Verfahren zur Durchführung einer Kommunikationsaufgabe, die in einer abs- trakten Definition der Kommunikationsstruktur beschrieben ist, zu beheben. It is therefore an object of the present invention to overcome the abovementioned disadvantages of the known methods for carrying out a communication task which is described in an abstract definition of the communication structure.
Diese Aufgabe wird gelöst, indem bei der Modellerstellung die Relationen zwischen der Information in der abstrakten Beschreibung und den zielsystemunabhängigen Softwarekomponenten gespeichert werden. Das ermöglicht es, einen direkten Zusammenhang auf Komponentenebene herzustellen und damit bei Änderungen nur einzelne Komponenten ändern zu müssen. This problem is solved by storing the relations between the information in the abstract description and the target system-independent software components during model creation. This makes it possible to establish a direct connection at the component level and therefore only have to change individual components in case of changes.
Die gegenständliche Erfindung wird nachfolgend unter Bezugnahme auf die Figuren 1 bis 3, die schematische und vorteilhafte Ausgestaltungen der Erfindung zeigen, näher erläutert. Dabei zeigt The subject invention will be explained in more detail below with reference to Figures 1 to 3, which show schematic and advantageous embodiments of the invention. It shows
Fig.1 ein Verfahren zur Erzeugung einer ablauffähigen Konfiguration nach dem Stand der Technik, 1 shows a method for producing an executable configuration according to the prior art,
Fig.2 ein Beispiel eines Modells aus zielsystemunabhängigen Softwarekomponenten und An example of a model of target system independent software components and
Fig.3 ein erfindungsgemäßes Verfahren zur Erzeugung eines Modells. 3 shows a method according to the invention for generating a model.
Die gegenständliche Erfindung nutzt z.B. das Verfahren der EP 2 154 606 A1 , um aus einem Modell 1 bestehend aus (mehr oder weniger) abstrakten, zielsystemunabhängigen Softwarekomponenten eine auf einem Zielsystem ablauffähige Konfiguration 3 zu erzeugen. Unter einer ablauffähigen Konfiguration wird im Wesentlichen ein ausführbares Programm verstanden. Je nachdem wo dieses Programm ablaufen soll (Zielsystem), wird die ablauffähige Konfiguration in unterschiedlichen Ausprägungen bzw. Programmcode vorliegen. Die dazu not-
wendigen Abläufe sind ausführlich in der EP 2 154 606 A1 beschrieben und sind vereinfacht in Fig.1 dargestellt. Ein Anwender 2 erstellt ein Modell 1 und greift dabei z.B. auf eine Bibliothek 5 vorhandener zielsystemunabhängiger Softwarekomponenten zu. Aus diesem Modell 1 wird eine ablauffähige Konfiguration 3 erzeugt, die auf das Zielsystem 4, z.B. ein Prüfstands- oder Automatisierungsrechner oder eine Plattform wie z.B. dSpace® oder LabView™ auf einem Rechner, geladen wird und dort, z.B. zum Durchführen einer Automatisierungs- oder Kommunikationsaufgabe, ausgeführt wird. The present invention uses, for example, the method of EP 2 154 606 A1 in order to generate a configuration 3 executable on a target system from a model 1 consisting of (more or less) abstract, target system-independent software components. An executable configuration essentially means an executable program. Depending on where this program is to run (target system), the executable configuration will be available in different forms or program code. The necessary manoeuvrable processes are described in detail in EP 2 154 606 A1 and are shown in simplified form in FIG. A user 2 creates a model 1 and accesses eg a library 5 of existing target system-independent software components. From this model 1, an executable configuration 3 is generated which is loaded on the target system 4, eg a test bench or automation computer or a platform such as dSpace® or LabView ™ on a computer, and there, for example to perform an automation or communication task , is performed.
Erfindungsgemäß wird nun aus der abstrakten Beschreibung einer Kommunikationsstruktur, z.B. in Form eines bekannten FIBEX oder DBC-Files, das Modell 1 oder ein Teil des Modells 1 erstellt. Die abstrakte Kommunikationsstruktur wird folglich aus zielsystemunabhängigen Softwarekomponenten, die z.B. in der Bibliothek 5 abgelegt sind, zusammengesetzt. Dazu können die notwendigen Softwarekomponenten auch automatisch instanziiert und gegebenenfalls zur späteren Wiederverwendung auch in der Bibliothek 5 abgespeichert werden. Z.B. könnten dazu Vorschriften definiert sein, wie bestimmte Angaben in der abstrakten Kommunikationsstruktur, in Softwarekomponenten umgewandelt werden. Ein solches Map- ping ist an sich hinlänglich bekannt, weshalb hier nicht näher darauf eingegangen wird. Der Anwender wird dabei davon entlastet, aufwändig und fehleranfällig die Softwarekomponenten Stück für Stück selbst im Modell 1 zu erstellen und zusammenzuschalten, da dieser Schritt nun automatisch mit der in der Beschreibung einer Kommunikationsstruktur befindli- chen Information ablaufen kann. Der Vorteil tritt besonders deutlich bei komplexen Bussystemen wie z.B. FlexRay unter Verwendung einer FIBEX Beschreibungsdatei oder CAN unter Verwendung einer DBC-Datei, zu Tage. FIBEX und DBC sind dabei vorgegebene, bekannte Standards zur abstrakten Beschreibung einer Kommunikationsstruktur und werden folglich hier als bekannt vorausgesetzt und nicht näher erläutert. Im Folgenden wird das unter Be- zugnahme auf die Fig.2 am Beispiel einer simplen CAN Kommunikation und deren Beschreibung in einer DBC-Datei beschrieben. In accordance with the invention, the abstract description of a communication structure, e.g. in the form of a well-known FIBEX or DBC file that creates model 1 or part of model 1. The abstract communication structure is thus made up of target system independent software components, e.g. are stored in the library 5, composed. For this purpose, the necessary software components can also be automatically instantiated and, if necessary, also stored in the library 5 for later reuse. For example, For this purpose, rules could be defined for how certain details in the abstract communication structure are converted into software components. Such mapping is well known in itself, which is why it will not be discussed in more detail here. The user is thereby relieved of the difficulty of creating and interconnecting the software components piece by piece, even in model 1, since this step can now proceed automatically with the information contained in the description of a communication structure. The advantage is particularly evident in complex bus systems such as e.g. FlexRay using a FIBEX description file or CAN using a DBC file. FIBEX and DBC are given, known standards for abstract description of a communication structure and are therefore assumed to be known here and not explained in detail. This is described below with reference to FIG. 2 using the example of a simple CAN communication and its description in a DBC file.
Eine CAN-Nachricht„TestMsg" beinhaltet z.B. zwei Signale, Signal_A und Signal_B, was in einer Kommunikationsstruktur 6 in Form einer DBC-Datei folgendermaßen beschrieben sein kann. BO_ IDx TestMsg: 8 node_y For example, a CAN message "TestMsg" contains two signals, Signal_A and Signal_B, which may be described as follows in a communication structure 6 in the form of a DBC file: BO_IDx TestMsg: 8 node_y
SG_ Signal_B : 32|8@1 + (1 ,0) [0|0] SG_ signal_B: 32 | 8 @ 1 + (1, 0) [0 | 0]
SG_ Signal_A : 0|16@1 - (1 ,0) [0|0] SG_ Signal_A: 0 | 16 @ 1 - (1, 0) [0 | 0]
Diese abstrakte Beschreibung wird in ein Modell 1 (bzw. Teilmodell) aus, hier vier, zielsystemunabhängigen Softwarekomponenten 10, 1 1 , 12, 13, wie in Fig.2 dargestellt, umgewan-
delt. Die CAN-Nachricht„TestMsg" enthält zwei Signale bestimmter Länge und bestimmten Typs. This abstract description is converted into a model 1 (or submodule), in this case four, target-system-independent software components 10, 11, 12, 13, as shown in FIG. delt. The CAN message "TestMsg" contains two signals of a certain length and type.
Auf diese Weise wird in einer Transformationseinheit 14, z.B. ein Computer, die gesamte abstrakte Beschreibung einer Kommunikationsstruktur 6, wie in Fig.3 gezeigt, in ein Modell 1 oder ein Teilmodell eines Modells 1 umgewandelt. Gegebenenfalls kann dabei auf bereits definierte Softwarekomponenten aus der Bibliothek 5 zurückgegriffen werden. Der restliche Ablauf ist wie bisher, z.B. wie in der EP 2 154 606 A1 und oben unter Bezugnahme auf die Fig.1 beschrieben. In this way, in a transformation unit 14, e.g. a computer, the entire abstract description of a communication structure 6, as shown in Figure 3, converted into a model 1 or a partial model of a model 1. If necessary, it is possible to fall back on already defined software components from the library 5. The remainder of the procedure is as before, e.g. as described in EP 2 154 606 A1 and above with reference to FIG.
Weiters ist erfindungsgemäß vorgesehen, die Relationen zwischen der Information in der Beschreibungen der Kommunikationsstruktur 6 und den daraus automatisch erzeugten ziel- systemunabhängigen Softwarekomponenten im Modell 1 separat abzuspeichern und zu verwalten, z.B. in einer Speichereinheit 7. Der Zusammenhang kann z.B. über eindeutige Identifier in der Kommunikationsstruktur 6 und im Modell 1 hergestellt werden, wie anhand des folgendes Beispiels erläutert. Jede Softwarekomponente im zielsystemunabhängigen Modell 1 hat eine eindeutige Identifikation. Das betrifft im Wesentlichen die darin konfigurierten Komponenten und verbindende Kanäle. Subelemente wie Parameter der Komponente können über die Komponenten-ID und einem eindeutigen Namen ebenfalls unverwechselbar identifiziert sein. Andererseits sind in der Kommunikationsstruktur, also z.B. im FIBEX bzw. im DBC File, Signale oder Nachrichten über eindeutige Namen definiert. Nehmen wir an, das FIBEX (oder DBC) File selbst ist eindeutig identifiziert, z.B. über primäre Identifikatoren wie über Projektname und Version, oder einer beliebigen anderen Konvention. Eine in der Speichereinheit 7 gespeicherte Relation könnte dann z.B. lauten: Furthermore, it is provided according to the invention to separately store and manage the relations between the information in the descriptions of the communication structure 6 and the target system-independent software components automatically generated therefrom in the model 1, e.g. in a memory unit 7. The context may be e.g. via unique identifiers in the communication structure 6 and model 1, as explained with reference to the following example. Each software component in the target system independent model 1 has a unique identification. This essentially concerns the components and interconnecting channels configured in it. Subelements such as parameters of the component can also be unmistakably identified via the component ID and a unique name. On the other hand, in the communication structure, e.g. in FIBEX or DBC file, signals or messages defined by unique names. Suppose the FIBEX (or DBC) file itself is uniquely identified, e.g. using primary identifiers such as project name and version, or any other convention. A relation stored in the memory unit 7 could then be e.g. ring:
[FIBEX„ProjektXYZ.VI 23"]. [Signal„aaa27"].[Parameter ,,BIT-POSITION"].[Value=16] =>ergibt=> [Komponente GUID=XYZ]. [Parameter„Startbit"]. [Value=16] [FIBEX "ProjectXYZ.VI 23"]. [Signal "aaa27"]. [Parameter "BIT-POSITION"]. [Value = 16] => returns => [Component GUID = XYZ]. [Parameter "Start Bit"] , [Value = 16]
Das Signal aaa27 der Kommunikationstruktur„ProjektXYZ.VI 23" wird daher eindeutig auf eine Softwarekomponenten XYZ im Modell 1 , mit den angeführten Parametern, gemappt. The signal aaa27 of the communication structure "ProjektXYZ.VI 23" is therefore clearly mapped to a software component XYZ in model 1, with the parameters mentioned.
Wird nun durch Vergleich zweier Kommunikationsstrukturen 6 erkannt, dass die primäre Identifikationen gleich sind, es also z.B. das Signal„aaa27" wieder gibt, sich dort aber der Parameter Z von W1 auf W2 geändert hat, kann das in der ablauffähigen Konfiguration 3 punktgenau nachgezogen werden, indem also die Komponente GUID=XYZ, Parameter Z von W1 auf W2 geändert wird. Das kann nun wieder nur für diese Softwarekomponente gemacht werden, ohne dabei das Gesamtsystem am Zielsystem 4 zu stoppen.
Oder wenn die zugrunde liegende Kommunikationsstruktur nun z.B. kein Signal„aaa27" mehr enthält, kann die entsprechende Softwarekomponente (und möglicherweise weitere, daraus entstandene Softwarekomponenten und davon gespeiste Kanäle) im Modell 1 gelöscht werden und die ablauffähigen Konfiguration 3 entsprechend zielgenau geändert wer- den. Auch das Hinzufügen von Elementen ist damit möglich. Das ist natürlich auch in die umgekehrte Richtung möglich. If it is now detected by comparison of two communication structures 6 that the primary identifications are the same, that is, eg the signal "aaa27" returns, but the parameter Z has changed from W1 to W2 there, this can be retraced exactly in the executable configuration 3 Thus, by changing the component GUID = XYZ, parameter Z from W1 to W2, this can now only be done for this software component without stopping the entire system at the target system 4. Or if the underlying communication structure no longer contains, for example, a signal "aaa27", the corresponding software component (and possibly further software components resulting therefrom and channels fed therefrom) can be deleted in model 1 and the executable configuration 3 can be correspondingly modified in a targeted manner. It is also possible to add elements, which of course is also possible in the opposite direction.
Damit können bei einer Änderung, z.B. infolge einer Aktualisierung oder Änderung einer der beiden Seiten, also entweder in der Beschreibungen der Kommunikationsstruktur 6 oder im Modell 1 aus zielsystemunabhängigen Softwarekomponenten, weiterhin beide Seiten durch Nachgenerieren der sich geänderten Teile konsistent gehalten werden. Wird z.B. die Kommunikationsstruktur 6 geändert, z.B. in dem ein Parameter geändert wird, kann über die gespeicherte Relation in der Speichereinheit 7 eindeutig und einfach die davon betroffene(n) Softwarekomponente(n) im Modell 1 identifiziert und aktualisiert werden. Damit muss diese Änderung nur mehr auf die ablauffähige Konfiguration 3 am Zielsystem 4 übertragen werden, z.B. wie in der EP 2 154 606 A1 beschrieben, ohne dabei das Gesamtsystem stoppen zu müssen. Umgekehrt könnte auch der Anwender 2 in das Modell 1 eingreifen. Änderungen, die dabei die Kommunikationsstruktur 6 betreffen können nun ebenfalls über die gespeicherte Relation in der Kommunikationsstruktur 6 nachgezogen werden.
Thus, in the event of a change, e.g. As a result of updating or changing one of the two sides, that is, either in the descriptions of the communication structure 6 or in model 1 of target system-independent software components, both sides continue to be kept consistent by regenerating the changed parts. If e.g. the communication structure 6 is changed, e.g. In that a parameter is changed, the saved relation in the storage unit 7 can uniquely and simply identify and update the affected software component (s) in the model 1. Thus, this change only has to be transferred to the executable configuration 3 on the target system 4, e.g. as described in EP 2 154 606 A1, without having to stop the entire system. Conversely, the user 2 could also intervene in the model 1. Changes that affect the communication structure 6 can now also be traced via the stored relation in the communication structure 6.
Claims
1 . Verfahren zur Erzeugung eines Modells einer Kommunikationsaufgabe aus zielsystemunabhangigen Softwarekomponenten, wobei die Kommunikationsaufgabe in Form einer abstrakten Beschreibung vorgegeben ist und die abstrakte Beschreibung in das Modell (1 ) umgewandelt wird, dadurch gekennzeichnet, dass bei der Modellerstellung die Relationen zwischen der Information in der abstrakten Beschreibung und den zielsystemunabhangigen Softwarekomponenten gespeichert werden. 1 . A method for generating a model of a communication task from target system independent software components, wherein the communication task is given in the form of an abstract description and the abstract description is converted into the model (1), characterized in that in the modeling the relations between the information in the abstract description and the target system independent software components.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass das erzeugte Modell (1 ) in eine auf einem Zielsystem (4) ablauffähige Konfiguration (3) umgewandelt wird. 2. The method according to claim 1, characterized in that the generated model (1) is converted into an executable on a target system (4) configuration (3).
3. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass bei einer Änderung der Kommunikationsaufgabe in der abstrakten Beschreibung auch die über die gespeicherte Relation zugehörigen zielsystemunabhangigen Softwarekomponenten geändert werden. 3. The method according to claim 1, characterized in that when changing the communication task in the abstract description and the associated via the stored relation target system independent software components are changed.
4. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass bei einer Änderung des Modells (1 ) auch die über die gespeicherte Relation zugehörige Kommunikationsaufgabe in der abstrakten Beschreibung geändert wird.
4. The method according to claim 1, characterized in that when changing the model (1) and the associated via the stored relation communication task is changed in the abstract description.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ATA50289/2012 | 2012-07-24 | ||
AT502892012A AT511297B1 (en) | 2012-07-24 | 2012-07-24 | Method for generating a model of a communication task |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014016115A1 true WO2014016115A1 (en) | 2014-01-30 |
Family
ID=47048834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2013/064521 WO2014016115A1 (en) | 2012-07-24 | 2013-07-10 | Method for producing a model of a communication task |
Country Status (2)
Country | Link |
---|---|
AT (1) | AT511297B1 (en) |
WO (1) | WO2014016115A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AT513358B1 (en) * | 2013-12-16 | 2020-02-15 | Avl List Gmbh | Method for creating a mapping file of a communication protocol |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2154606A1 (en) * | 2008-08-04 | 2010-02-17 | AVL List GmbH | Generation of a runnable configuration |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005058801A1 (en) * | 2005-12-09 | 2007-06-28 | Abb Technology Ag | Software tool`s compilation and configuration system, has data processing device, where plant information, information about plant components and its connections and characteristics that are provided in readable and interpretable form |
DE102007058352B4 (en) * | 2007-12-03 | 2014-02-27 | Phoenix Contact Gmbh & Co. Kg | Method and system for configuring a control routine for controlling at least one real or virtual process device component |
-
2012
- 2012-07-24 AT AT502892012A patent/AT511297B1/en not_active IP Right Cessation
-
2013
- 2013-07-10 WO PCT/EP2013/064521 patent/WO2014016115A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2154606A1 (en) * | 2008-08-04 | 2010-02-17 | AVL List GmbH | Generation of a runnable configuration |
Also Published As
Publication number | Publication date |
---|---|
AT511297A2 (en) | 2012-10-15 |
AT511297A3 (en) | 2013-04-15 |
AT511297B1 (en) | 2013-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102016119320A1 (en) | Method for configuring a real or virtual electronic control unit | |
EP3451202B1 (en) | Method for generating a model of a technical system which can be run on a test device and a test device | |
DE102019209540A1 (en) | Process and device for the optimal distribution of test cases on different test platforms | |
EP3306295B1 (en) | Method and device for testing electronic controls, in particular for testing of automobile control systems | |
EP3047341A1 (en) | System for the computer-assisted creation of rules for monitoring and/or diagnosing a technical plant | |
EP2483775A1 (en) | Method and arrangement for installing and configuring a computer system | |
AT511297B1 (en) | Method for generating a model of a communication task | |
EP1671139A1 (en) | System and method for testing control processes in a vehicle | |
WO2010094359A1 (en) | Method and system for engineering an automation of at least part of a technical installation | |
WO2013152826A1 (en) | Method for operating a diagnostic system and diagnostic system | |
EP3933593A1 (en) | Method and computer program for testing a technical system | |
DE102017218143A1 (en) | Method and device for driving a vehicle electronic planning module | |
EP2194457B1 (en) | Device for creating a marked reference data stream | |
EP3783493A1 (en) | Method for testing a system for a request | |
WO2004003798A2 (en) | Information generation system for product formation | |
DE102004012315A1 (en) | Automatic interfacing of platform independent computer software into program code for a platform dependent functions | |
DE112018002344T5 (en) | DEVELOPMENT SUPPORT DEVICE | |
DE102017212612A1 (en) | Method for automatically generating tests for the software of a vehicle | |
DE102004023634B4 (en) | Method for checking the completeness and consistency of an information library | |
DE102004050293B3 (en) | Simulating operation of network involves describing subscriber time behavior using configurable time parameters derived from time parameters of subscriber functional model run time points | |
DE10339336A1 (en) | Device for a process to develop a technical component has facility to create a model for the simulation of characteristics of the technical component | |
EP2360506A1 (en) | Device which can be embedded in an optical system and method | |
WO2021105103A1 (en) | Method and software tool for making executable specifications in system development or system validation of complex functional systems | |
DE102021211620A1 (en) | Method and system for automatic generation of an embedded source code for the electronic control unit of an AD/ADAS on-road vehicle | |
DE20317681U1 (en) | Design feature based computer aided design process for the design of automobile body construction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13735022 Country of ref document: EP Kind code of ref document: A1 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13735022 Country of ref document: EP Kind code of ref document: A1 |