DE102020215160A1 - Method for generating computer code for a central server architecture in a vehicle - Google Patents

Method for generating computer code for a central server architecture in a vehicle Download PDF

Info

Publication number
DE102020215160A1
DE102020215160A1 DE102020215160.1A DE102020215160A DE102020215160A1 DE 102020215160 A1 DE102020215160 A1 DE 102020215160A1 DE 102020215160 A DE102020215160 A DE 102020215160A DE 102020215160 A1 DE102020215160 A1 DE 102020215160A1
Authority
DE
Germany
Prior art keywords
computer
data
template
code
middleware
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
DE102020215160.1A
Other languages
German (de)
Inventor
Andreas Attenberger
Mohammed Hashem
Iulian Sadovan
Juan Armando Hernandez Jimenez
Daniel Fiala
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.)
Continental Automotive Technologies GmbH
Original Assignee
Continental Automotive 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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE102020215160.1A priority Critical patent/DE102020215160A1/en
Publication of DE102020215160A1 publication Critical patent/DE102020215160A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Erzeugen von Computercode für eine zentrale Serverarchitektur in einem Fahrzeug, wobei ein Speichern einer Spezifikationsvorlage für eine Middleware zum Definieren des Typs, des Inhalts und des Verhaltens Middleware in einem computerlesbaren Speichermedium, wobei die Spezifikationsvorlage für jede Middleware als Bausteine eines Metamodells dienen, das alle verfügbaren Bausteine definiert, aus denen ein Zielmodell aufgebaut wird und eine Implementierung der Spezifikationsvorlage erstellt wird und das lauffähige Computerprogramm der Implementierung automatisch erzeugt wird.A method for generating computer code for a central server architecture in a vehicle, including storing a specification template for a middleware for defining the type, content and behavior of the middleware in a computer-readable storage medium, the specification template for each middleware serving as building blocks of a meta-model that all available building blocks are defined from which a target model is built and an implementation of the specification template is created and the executable computer program of the implementation is automatically generated.

Description

FELDFIELD

Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen von Computercode für eine zentrale Serverarchitektur in einem FahrzeugThe present invention relates to a method for generating computer code for a central server architecture in a vehicle

HINTERGRUNDBACKGROUND

Die Erfindung betrifft die Bereiche Erzeugen von Computercode für eine zentrale Serverarchitektur in einem Fahrzeug und Softwareentwicklung. Insbesondere handelt es sich um eine Vorrichtung und ein Verfahren zum Erzeugen von Computercode für eine zentrale Serverarchitektur in einem Fahrzeug.The invention relates to the areas of generating computer code for a central server architecture in a vehicle and software development. In particular, it is a device and a method for generating computer code for a central server architecture in a vehicle.

Ziel der Erfindung ist es, das Schreiben von Computercode, insbesondere in der Automotive-Welt zu verbessern, und das Implementieren von Anwendungsprogrammen zu vereinfachen und zu beschleunigen. Um dies zu erreichen, ist ein bestimmter Satz von Grundelementen erforderlich, der ein Spezifikationsmuster implementiert, mit dem die Arten von Fahrzeuganwendungsprogrammen für vollständig definiert werden können. Was benötigt wird, ist eine Reihe von Grundelementen und ein Editor-Tool, mit dem die Benutzeroberfläche mithilfe eines Modells angegeben, mit dem Benutzer validiert, auf Vollständigkeit und Nichtmehrdeutigkeit überprüft und automatisch in Quellcode in einer Programmiersprache der dritten Generation umgewandelt werden kann Arbeitscomputercode auszugeben, der eine solche Benutzeroberfläche implementiert, die in der Lage ist, mit einer Geschäftslogikkomponente zu kommunizieren, die für die Implementierung der Funktionalität der Anwendung verantwortlich ist, für die die Benutzeroberfläche das „Front-End“ ist.The aim of the invention is to improve the writing of computer code, in particular in the automotive world, and to simplify and accelerate the implementation of application programs. Achieving this requires a certain set of primitives that implements a specification pattern that allows the types of vehicle application programs to be fully defined. What is needed is a set of primitives and an editor tool that specifies the user interface using a model that allows users to validate, check for completeness and non-ambiguity, and automatically convert it to source code in a third-generation programming language to output working computer code, which implements such a user interface capable of communicating with a business logic component responsible for implementing the functionality of the application for which the user interface is the "front end".

Die Probleme mit Spezifikationen und Tools zur Codegenerierung nach dem Stand der Technik sind folgende:

  • Spezifikationsmethoden berücksichtigen das Domänenmodell, d.h. die Funktionalität der jeweiligen Anwendung. Beispiele für solche dann fehlerhaften Modell- und Codegenerierungswerkzeuge sind bekannt. Mit anderen Worten, diese Modellierungswerkzeuge des Standes der Technik setzen voraus, dass die Implementierungslogik vollständig spezifiziert und manuell codiert wird.
The problems with state-of-the-art code generation specifications and tools are as follows:
  • Specification methods take into account the domain model, ie the functionality of the respective application. Examples of such faulty model and code generation tools are known. In other words, these prior art modeling tools assume that the implementation logic is fully specified and manually coded.

Das separate Codieren der Implementierungslogik kann zu Fehlern bei der Integration und zu Fehlern im Fahrzeugfunktionscode selbst führen. Dies verlängert die Verzögerung von der Konzeption bis zum ersten Verkauf auf dem Markt (Time-to-Market), da möglicherweise lange Verzögerungen beim Debuggen des Fahrzeugfunktionalitätscodes auftreten. Darüber hinaus verfügen diese Spezifikationstools nach dem Stand der Technik nicht über eine präzise, eindeutige Semantik, die validiert werden kann, um Fehler im Code zu beseitigen, Code automatisch aus der validierten Spezifikation generieren und mit einer generierten Verbindung verbinden setzen zu können.Coding the implementation logic separately can lead to errors in integration and errors in the vehicle function code itself. This increases the delay from conception to first sale on the market (time-to-market) as there may be long delays in debugging vehicle functionality code. Additionally, these prior art specification tools lack precise, unambiguous semantics that can be validated to debug code, automatically generate code from the validated specification, and connect to a generated connection.

Andererseits berücksichtigen Methoden und Notationen zur Spezifikation der funktionalen Anforderungen von Computerprogrammen, wie Tools zum Definieren von Modellen der Logik eines Programms, wie OMT oder UML, auch die Anforderungen für Fahrzeugfunktionscodes nicht.On the other hand, methods and notations for specifying the functional requirements of computer programs, such as tools for defining models of a program's logic, such as OMT or UML, also do not consider the requirements for vehicle function codes.

Diese Situation führt zu einem Zustand, in dem mindestens zwei Modelle benötigt werden, um die Geschäftslogik der Modelle und das Fahrzeugfunktionscodes eines Computerprogramms vollständig zu spezifizieren. Dies führt zu Synchronisationsproblemen, wenn sich eine der Spezifikationen ändert. Mit anderen Worten, wenn sich eine der Spezifikationen ändert, „bricht“ die andere Spezifikation und der geschriebene Code, der diese andere Spezifikation implementiert, funktioniert nicht mehr mit dem Code, der geschrieben wurde, um die erste Spezifikation zu implementieren. Dies erfordert eine teure und zeitaufwendige Überarbeitung der zweiten Spezifikation. This situation leads to a state where at least two models are needed to fully specify the business logic of the models and the vehicle function code of a computer program. This leads to synchronization problems when one of the specifications changes. In other words, when one of the specs changes, the other spec "breaks" and the code written to implement that other spec no longer works with the code written to implement the first spec. This requires an expensive and time-consuming revision of the second specification.

Generierungswerkzeuge erzeugen Teilcode, bei dem der generierte Ul-Code nicht vollständig ist. Ein solcher Code kann nicht direkt kompiliert werden und muss von Hand codiert werden, bevor ein Programm existiert, das als endgültige Anwendung ausgeführt werden kann.Generation tools produce partial code where the generated UI code is not complete. Such code cannot be compiled directly and must be hand-coded before a program exists that can be run as a final application.

Modellierungswerkzeuge enthalten keine Grundelemente, die aufgerufen werden können, um die Elemente eines Fahrzeugfunktionscodes anzugeben.Modeling tools do not contain primitives that can be invoked to specify the elements of a vehicle short code.

Die Werkzeuge des Standes der Technik schlagen jedoch Grundelemente auf sehr niedrigem Niveau vor, die nicht in mittelgroßen Industrieprojekten verwendet werden können, ohne Skalierbarkeitsprobleme zu haben. Akademische Forschung zu Modellierungswerkzeugen wie iUML haben zu Werkzeugen geführt, die nicht in Industrieprojekten getestet und nicht auf solche Skalierbarkeitsanforderungen abgestimmt wurden.However, the prior art tools propose very low level primitives that cannot be used in medium sized industrial projects without having scalability problems. Academic research on modeling tools such as iUML have resulted in tools that have not been tested in industrial projects and have not been tuned to such scalability requirements.

Einige Notationen wie OVID und UML haben in den verwendeten Konzepten keine genaue semantische Bedeutung.Some notations such as OVID and UML do not have a precise semantic meaning in the concepts used.

Infolgedessen ist es unmöglich, validierte Spezifikationen des und fehlerfreien Codes aus einer ungenauen Spezifikation zu generieren.As a result, it is impossible to generate validated specifications of and error-free code from an inaccurate specification.

US 5185867 (A ) beschreibt ein Informationsverarbeitungssystem zum Erzeugen von Softwarespezifikationen, einem Verfahren und einer Vorrichtung zum automatischen Erzeugen von Softwarespezifikationen, zum Erleichtern von Softwarewartungsarbeiten durch Erzeugen einer Spezifikation aus mindestens einem Softwareprodukt, das durch Spezifizieren der Spezifikation in der Softwareentwicklung erhalten wird. Das Verfahren umfasst die Schritte des Lesens von Informationen, die in mindestens einem Softwareprodukt beschrieben sind, das durch Spezifizieren einer Spezifikation mit hohem Rang erhalten wurde, Extrahieren von Informationen, die von der Spezifikation mit hohem Rang übernommen wurden, zu Spezifikationen von niedrigem Rang aus den so gelesenen Informationen, Teilen der extrahierten Informationen in gemeinsame Informationen Elemente und Elemente, die einzeln vorhanden sind und sich auf die gemeinsamen Elemente beziehen, einzeln vorhandene Elemente für jedes gemeinsame Element zusammenstellen, entsprechende Elemente auf der Grundlage der Informationen anordnen, die für jedes gemeinsame Element in einer Netzwerkform zusammengestellt wurden, Netzwerkinformationen generieren, Darstellungsformat von konvertieren jedes Element der Netzwerkinformationen und Generieren einer hochrangigen Spezifikation. US5185867 (A ) describes an information processing system for generating software specifications, a method and an apparatus for automatically generating software specifications for facilitating software maintenance work by generating a specification from at least one software product obtained by specifying the specification in software development. The method comprises the steps of reading information described in at least one software product obtained by specifying a high-level specification, extracting information inherited from the high-level specification on low-level specifications from the information so read, dividing the extracted information into common information elements and elements existing individually and relating to the common elements, assembling individually existing elements for each common element, arranging corresponding elements on the basis of the information available for each common element have been assembled into a network form, generate network information, display format of converting each item of network information, and generate a high-level specification.

Im Fahrzeug und den angrenzenden Bereichen zum Beispiel Cloud, Mobile Apps, setzen unterschiedliche Softwaretechnologien und Kommunikations-Middelwares. Solche Kommunikations-Middlewares sind z.B. AUTOSAR, Genivi, AGL, Android AUTO. Für jede dieser Domänen sind somit auch unterschiedliche Schnittstellenbeschreibungen, wie AUTOSAR xml, Franca, Protobuff nötig, wie es in 1 angedeutet ist. In neuen Fahrzeuggenerationen werden einzelne Funktionalitäten auch verschiedenen Steuergeräten und somit auch verschiedenen Kommunikations-Middlewares verteilt. Stand heute gibt es keine Möglichkeit eine Schnittstellenbeschreibung für die gesamte Fahrzeugbandbreite zu erstellen, welche ein direktes Ableiten der spezifischen Formate der einzelnen eingesetzten Technologien erlaubt.Various software technologies and communication middleware are used in the vehicle and the adjacent areas, for example cloud, mobile apps. Such communication middlewares are, for example, AUTOSAR, Genivi, AGL, Android AUTO. Different interface descriptions such as AUTOSAR xml, Franca, Protobuff are therefore also required for each of these domains, as described in 1 is indicated. In new vehicle generations, individual functionalities are also distributed to different control units and thus also to different communication middleware. As of today, there is no way to create an interface description for the entire range of vehicles that would allow direct derivation of the specific formats of the individual technologies used.

BESCHREIBUNG UND VORTEILEDESCRIPTION AND ADVANTAGES

Die technische Aufgabenstellung ergibt sich aus der Kenntnis der Mängel. Die derzeit vorhandenen Tools zur Software Schnittstellendefinition beschränken sich entweder auf spezifische Bereiche, wie bei AUTOSAR (In-Car) oder haben kein Link zur eigentlichen Implementierung, welches zum Beispiel bei Standard UML Tools der Fall ist.The technical task results from the knowledge of the defects. The currently available tools for software interface definition are either limited to specific areas, as with AUTOSAR (in-car) or have no link to the actual implementation, which is the case with standard UML tools, for example.

Durch die fehlende Darstellung der gesamten Fahrzeugschnittstellen in einem einheitlichen Format ist die Verifikation gegen ein Designmodell sehr schwierig Es gibt derzeit keine Möglichkeiten das Routen von einer Kommunikationsart zu einer anderen einheitlich darzustellen, (Signal ≠ Service/Service ≠ Pub/Sub/Service ≠ Cloud).Due to the lack of representation of the entire vehicle interfaces in a uniform format, verification against a design model is very difficult There are currently no options for representing the routing from one type of communication to another in a uniform way (Signal ≠ Service/Service ≠ Pub/Sub/Service ≠ Cloud) .

Das Herauslösen der einzelnen Kommunikations-Middlewarelösungen wäre Lösungen aus ihren „Silos“, um eine Möglichkeit der einheitlichen Beschreibung am Aufbau inklusive Routen zu ermöglichen.Separating the individual communication middleware solutions would be solutions from their "silos" in order to enable a possibility of a uniform description of the structure including routes.

Hierdurch entstehen Kompatibilitätsprobleme der einzelnen Software Schnittstellen durch verschiedene Beschreibungsformate und es existiert kein durchgängiges Tool-Workflow von Design bis zur Verifikation.This results in compatibility problems of the individual software interfaces due to different description formats and there is no consistent tool workflow from design to verification.

Aufgabe der Erfindung ist es eine effiziente Softwareentwicklung zu ermöglichen, die den gegenwärtigen Einschränkungen durch die Domänenentwicklung überwindet.The object of the invention is to enable efficient software development that overcomes the current restrictions imposed by domain development.

Die Aufgabe wird gelöst durch das Verfahren nach Anspruch 1The object is achieved by the method according to claim 1

Vorteilhaft wird die Aufgabe gelöst durch ein Verfahren zum Erzeugen von Computercode für eine zentrale Serverarchitektur in einem Fahrzeug, wobei ein Speichern einer Spezifikationsvorlage für eine Middleware zum Definieren des Typs, des Inhalts und des Verhaltens Middleware in einem computerlesbaren Speichermedium, wobei die Spezifikationsvorlage für jede Middleware als Bausteine eines Metamodells dienen, das alle verfügbaren Bausteine definiert, aus denen ein Zielmodell aufgebaut wird, eine Implementierung der Spezifikationsvorlage erstellt wird und das lauffähige Computerprogramm der Implementierung automatisch erzeugt wird, ein Laden von Daten aus einer Datenstruktur und die eine Spezifikation in einer formalen Sprache umfasst, die die Muster definiert, die den Typ, den Inhalt und das Verhalten aller Elemente der gewünschten Benutzerschnittstelle für das Computerprogramm definieren, wobei das Laden von Daten aus computerlesbares Speichermedium erfolgt, um jede Spezifikationsvorlage gemäß der tatsächlich gewünschten Anwendung der der Spezifikationsvorlage anzupassen, ein Laden von Daten aus einer Software Beschreibungsumgebung die die Anwendung beschreibt, Durchführen einer Transformation an diesen angepassten Vorlagen, um sicherzustellen, dass fehlende Informationen geliefert werden, und mit den Daten aus der einer Software Beschreibungsumgebung verglichen werde, Durchführen einiger vorbestimmter vorläufiger Berechnungen, in der die Daten überprüft werde, Untersuchen der angepassten Vorlagen in einem Speichermedium, um zu bestimmen, welche von mehreren Vorlagen in einer endgültigen Zielprogrammiersprache auf hoher Ebene verwendet werden kann, um jede der angepassten Vorlagen zu implementieren, und Bestimmen der Vorlage in einer endgültigen Ausgabedatei eines Computers auf hoher Ebene Code in der Ziel-Computerprogrammiersprache, die der zentrale Serverarchitektur ausführbar ist, durch Extrahieren der erforderlichen Informationen aus der angepassten Vorlage, um für mindestens eine Spezifikationsvorlage den Computercode der formalen Spezifikation, der die Spezifikationsvorlage implementiert, zu erzeugen.The object is advantageously achieved by a method for generating computer code for a central server architecture in a vehicle, storing a specification template for a middleware to define the type, content and behavior of the middleware in a computer-readable storage medium, the specification template for each middleware serve as building blocks of a meta-model that defines all available building blocks from which a target model is built, an implementation of the specification template is created and the executable computer program of the implementation is automatically generated, data loading from a data structure and the specification in a formal language that defines the templates that define the type, content, and behavior of all elements of the desired user interface for the computer program, loading data from computer-readable storage media, to each specification template according to the actually desired application of the specification template, loading data from a software description environment that describes the application, performing a transformation on these customized templates to ensure that missing information is provided and comparing with the data from the software description environment performing some predetermined preliminary calculations in which the data is checked examining the customized templates in a storage medium to determine which of several templates can be used in a final high-level target programming language to define each to implement the customized templates, and determining the template in a final output file of a high-level computer code in the target computer programming language executable by the central server architecture by extracting the necessary information from the customized template to provide the computer code for at least one specification template of the formal specification that implements the specification template.

Zur Beschreibung der Software Schnittstellen wird bereits vorhandene Interface Description Language (IDL) in einem Verfahren zu einer sogenannten“ Unified IDL" zu herangezogen und diese Unified IDL bildet eine Beschreibungsschicht über den tatsächlich eingesetzten Middlewares.To describe the software interfaces, the already existing Interface Description Language (IDL) is used in a process for a so-called "Unified IDL" and this Unified IDL forms a description layer above the middleware actually used.

TECHNISCHE VORTEILE DER ERFINDUNGTECHNICAL ADVANTAGES OF THE INVENTION

Mithilfe der Unified IDL lassen sich alle relevanten Softwareschnittstellen middlewareunabhängig beschreiben. Mithilfe von eingeführten Transformatoren lassen sich die aus der Unified IDL Beschreibungen, die in den Zielsystemen eingesetzten Beschreibungsformate generieren.With the help of the Unified IDL, all relevant software interfaces can be described independently of the middleware. With the help of introduced transformers, the description formats used in the target systems can be generated from the Unified IDL descriptions.

Erstmals wird eine Unified IDL über den gesamte Fahrzeugbandbreite angewendet vom Sensor bis zur Cloud und gegen das Unified IDL Modell kann die spätere Implementierung mit einem geeigneten Tool getestet werden. For the first time, a Unified IDL is applied across the entire vehicle range from the sensor to the cloud, and the later implementation can be tested against the Unified IDL model with a suitable tool.

Vorteilhaft erfolgt hierdurch eine Verkürzung der Entwicklungszeiten durch vereinfachte Migration und Wiederverwendbarkeit von Software, sowie die vereinfachte Kommunikation zwischen den Fahrzeugdomänen und Firmen durch einheitliches Austauschformat. Weitergehend wird eine vereinfachte Freigabe/Homologation der Fahrzeugsoftware durch einheitliche Darstellung der Software Applikationsarchitektur und einfache Möglichkeit der Verifikation der Softwarearchitektur gegen ein Modell, welches ECU-übergreifend ist ermöglicht. Desweitern erfolgt vorteilhaft ein vereinfachter Austausch von Software Applikationen zwischen Firmen und den an der Software Entwicklung Beteiligten durch einheitliche Schnittstellenbeschreibung.This advantageously results in a reduction in development times through simplified migration and reusability of software, as well as simplified communication between the vehicle domains and companies through a uniform exchange format. Furthermore, a simplified release/homologation of the vehicle software is made possible through a uniform representation of the software application architecture and a simple possibility of verifying the software architecture against a model that covers all ECUs. Furthermore, there is advantageously a simplified exchange of software applications between companies and those involved in the software development through a uniform interface description.

In einer vorteilhaften Ausgestaltung zeichnet sich das Verfahren dadurch gekennzeichnet, dass die Daten aus einer Software-Beschreibungsumgebung aus einem UML Tools sind.In an advantageous embodiment, the method is characterized in that the data are from a software description environment from a UML tool.

In einer weiteren vorteilhaften Ausgestaltung zeichnet sich das Verfahren dadurch aus, dass die Transformation bidirektional erfolgen kann.In a further advantageous embodiment, the method is characterized in that the transformation can take place bidirectionally.

In einer besonders vorteilhaften Ausgestaltung erfolgt die Transformation bidirektional.In a particularly advantageous embodiment, the transformation takes place bidirectionally.

Eine weitere besonders vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens zeichnet sich dadurch aus, dass die Daten aus der Software-Beschreibungsumgebung mit der Ausgabedatei des Computers auf hoher Ebene Code in der Ziel-Computerprogrammiersprache, die auf der zentrale Serverarchitektur ausführbar ist regelungstechnisch gekoppelt sind.A further particularly advantageous embodiment of the method according to the invention is characterized in that the data from the software description environment is control-technically coupled to the output file of the computer at high level code in the target computer programming language that can be executed on the central server architecture.

Figurenlistecharacter list

Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird im Folgenden näher beschrieben. Es zeigen:

  • 1 Steuergeräte und Sensoren in einem gegenwärtigen Fahrzeugaufbau,
  • 2 Integration der Rechner Funktionalität in einer ECU,
  • 3 Darstellung des Integrationsschritt zur Zonen ECU,
  • 4 gesamte Integration in einem zentralen High Performance Server,
  • 5 gegenseitiger systematischer Aufbau in einem Ablauf zur Softwaregenerierung,
  • 6 Darstellung der Barrieren in der gegenwärtigen Systematik,
  • 7 schematische Darstellung der möglichen Verarbeitung mittels des erfindungsgemäßen Ansatzes,
  • 8 schematische Darstellung der erfindungsgemäßen Überlegung,
  • 9 schematische Darstellung des erfindungsgemäßen Verfahrens,
  • 10 Systemdarstellung der Erfindung,
  • 11 Darstellung der Integration anhand der zu implementierenden Prozesse.
An embodiment of the invention is shown in the drawings and is described in more detail below. Show it:
  • 1 Control devices and sensors in a current vehicle structure,
  • 2 Integration of the computer functionality in an ECU,
  • 3 Presentation of the integration step to the zone ECU,
  • 4 complete integration in a central high-performance server,
  • 5 Mutual systematic structure in a software generation process,
  • 6 Presentation of the barriers in the current system,
  • 7 schematic representation of the possible processing using the approach according to the invention,
  • 8th schematic representation of the consideration according to the invention,
  • 9 schematic representation of the method according to the invention,
  • 10 system representation of the invention,
  • 11 Presentation of the integration based on the processes to be implemented.

BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELENDESCRIPTION OF EXEMPLARY EMBODIMENTS

In der 1 bis ist schematisch gedeutet, wie sich die Entwicklung von einer aus Steuergerät und Sensor Funktionsarchitektur über den Domänenansatz zu der High Performance Server Architektur gelangt. 5 beschreibt in einer Blockdiagrammstruktur die Gesamtsituation, wie in der gegenwärtigen Softwareentwicklung zur Implementierung von Fahrzeugfunktionssoftware die einzelnen Komponenten zu interagieren haben und welche Schnittstellen zu berücksichtigen sind. Wie in der 5 angegeben bezeichnet, sind die geläufigen Abkürzungen, die der Fachmann als Terminologie kennt.In the 1 to is a schematic of how the development of a functional architecture consisting of control unit and sensor via the domain approach to the high-performance server architecture. 5 describes the overall situation in a block diagram structure, how the individual components have to interact in the current software development for the implementation of vehicle function software and which interfaces have to be considered. Like in the 5 indicated are the common abbreviations known to those skilled in the art as terminology.

Ein gegebenes Problem kann auf viele Arten implementiert werden, indem unterschiedliche Analyse-, Entwurfs- und Implementierungsentscheidungen getroffen werden.A given problem can be implemented in many ways, making different analysis, design, and implementation decisions.

Die Abstraktionstrennung zwischen der Analyse und der Implementierung wird als Problemraum bzw. Lösungsraum bezeichnet.The abstraction separation between the analysis and the implementation is called the problem space or solution space.

In diesem Szenario ist das konzeptionelle Modell ein Satz von Objekten, die das gewünschte Verhalten verschiedener Aspekte des Codes definieren, wie beispielsweise ein Objektmodell, ein dynamisches Modell, ein Funktionsmodell, die genommen wurden, um Sie gemeinsam die Anforderungen des zu schreibenden Programms oder Systems anpassen.In this scenario, the conceptual model is a set of objects that define the desired behavior of various aspects of the code, such as an object model, a dynamic model, a functional model, taken in order to collectively customize the needs of the program or system being written .

Eine Spezifikation in einer formalen Sprache wird unter Verwendung des konzeptionellen Modells erstellt und kann nach der Validierung gemäß den in einem Ausführungsmodell beschriebenen Regeln in eine Implementierung (Arbeitscode) übersetzt werden.A specification in a formal language is created using the conceptual model and after validation can be translated into an implementation (working code) according to the rules described in an execution model.

Das Objektmodell, das dynamische Modell und das Funktionsmodell werden verwendet, um die strukturellen und funktionalen Anforderungen des zu schreibenden Programms oder Systems zu beschreiben.The object model, dynamic model and functional model are used to describe the structural and functional requirements of the program or system to be written.

Ein mögliche Benutzeroberflächenmodell kann eingesetzt, um die Spezifikation durch Benutzeroberflächenanforderungen zu ergänzen, die den Mechanismus definieren, durch den der Benutzer Informationen von dem zu erstellenden Programm erhält und ihm Informationen bereitstellt.One possible user interface model can be used to supplement the specification with user interface requirements that define the mechanism by which the user gets information from and provides information to the program to be built.

Die Modelle im konzeptionellen Modell 104 werden von Programmieren (im Folgenden als Datenanalysten bezeichnet) unter Verwendung eines Editors (auch als Modeler bezeichnet) erstellt, der speziell für die Konstruktion, dargestellt durch Pfeil UML Tool in 10 der Modelle im konzeptionellen Modell erstellt wurde .The models in the conceptual model 104 are created by programmers (hereinafter referred to as data analysts) using an editor (also referred to as a modeler) specially designed for the construction, represented by arrow UML Tool in 10 of the models in the conceptual model was created .

Mit anderen Worten, der Editor verfügt über Werkzeuge, Symbole, Menüoptionen, Dialogfelder usw., mit denen die verschiedenen Bausteine in einem Metamodell, aus denen alle konzeptuellen Modelle erstellt werden, ausgewählt und in das konzeptionelle Modell eingefügt werden können. Der Editor ermöglicht auch die Definition der Attribute der Objekte im Konzeptmodell und die Definition der Beziehungen zwischen Objekten im Konzeptmodell.In other words, the editor has tools, icons, menu options, dialog boxes, etc. that can be used to select and insert into the conceptual model the various building blocks in a meta-model from which all conceptual models are built. The editor also allows to define the attributes of the objects in the conceptual model and to define the relationships between objects in the conceptual model.

Objekte wie dieser Begriff werden hier verwendet und bedeuten Objekte im Sinne der objektorientierten Computerprogrammierung.Objects, as this term is used herein, means objects in the sense of object-oriented computer programming.

Jedes Objekt verfügt über eine Datenstruktur, Prozeduren oder Programme, die an der Datenstruktur arbeiten, und einen Mechanismus zum Übersetzen von Nachrichten.Each object has a data structure, procedures or programs that operate on the data structure, and a mechanism for translating messages.

Sobald das konzeptionelle Modell erstellt ist, wird es in eine Spezifikation in einer formalen Sprache (im Folgenden als formale Spezifikation oder nur als Spezifikation bezeichnet) wie OASIS übersetzt, es kann jedoch jede formale Sprache verwendet werden.Once the conceptual model is created, it is translated into a specification in a formal language (hereafter referred to as a formal specification or just a specification) such as OASIS, but any formal language can be used.

Die Verwendung einer formalen Sprache ist wichtig, da sie Mehrdeutigkeiten beseitigt, da es Grammatikregeln (Syntax plus Semantik) gibt, mit denen die Spezifikation validiert werden kann, um sicherzustellen, dass sie vollständig und korrekt ist.Using a formal language is important as it removes ambiguity as there are grammar rules (syntax plus semantics) that can be used to validate the specification to ensure it is complete and correct.

Die formalen Spezifikationen können in einem Speicher (Computerspeicher oder Festplatte) gespeichert werden, das eine relationale Datenbank, eine Binärdatei oder eine andere binäre Darstellung der Informationen sein kann.The formal specifications can be stored in storage (computer memory or hard disk) which can be a relational database, binary file, or other binary representation of the information.

Die bevorzugte Ausführungsform ist eine XML-Form.The preferred embodiment is an XML form.

Die formale Spezifikation wird von einem Validator validiert, um Vollständigkeit, Korrektheit und Nichtmehrdeutigkeit zu überprüfen, und dieser Validierungsprozess ist der Code, der fehlerfrei ist, wenn er automatisch von einem Übersetzer erstellt wird.The formal specification is validated by a validator to check for completeness, correctness, and non-ambiguity, and this validation process is the code that is bug-free when automatically generated by a translator.

Dies wäre nicht möglich, wenn die Spezifikation nicht in einer formalen Sprache mit strengen, nicht variablen Regeln für Syntax und Semantik geschrieben wäre.This would not be possible unless the specification was written in a formal language with strict non-variable rules for syntax and semantics.

Durch die Verwendung dieser Grammatikregeln der formalen Sprache kann die Erklärung in der formalen Spezifikation überprüft werden, um sicherzustellen, dass jede Aussage vollständig, korrekt und nicht mehrdeutig ist.By using these formal language grammar rules, the statement in the formal specification can be checked to ensure that each statement is complete, correct, and unambiguous.

Sobald klar ist, dass jede Aussage in der formalen Spezifikation vollständig, korrekt und nicht mehrdeutig ist, ist der resultierende Code fehlerfrei.Once it is clear that every statement in the formal specification is complete, correct, and unambiguous, the resulting code is error-free.

Mit anderen Worten, wenn die Spezifikation gültig ist, kann sie als Eingabe für Codegeneratoren oder automatische Übersetzer verwendet werden, die das Ausführungsmodell implementieren, um Anwendungen für eine von mehreren Sprachen und / oder Plattformen, Visual Basic / Windows, Java Swing / Java MV, ColdFusion MX / Web-Apps, JSP / Web-Apps zu erzeugen.In other words, if the specification is valid, it can be used as input to code generators or automatic translators that implement the execution model to create applications for any of multiple languages and/or platforms, Visual Basic/Windows, Java Swing/Java MV, ColdFusion MX / web apps to generate JSP / web apps.

11 wird anhand von verschiedenen Funktionsblöcken darstellt, wie die - Modellierung der Kommunikation von Softwareanwendungen über heterogene Systeme, Netzwerke und Paradigmen hinweg erfolgt und eine Entwicklung von kommunikationsmiddleware-unabhängigen Anwendungen realisiert wird. Die Migration von Schnittstellenbeschreibungen zwischen automobilen Kommunikations-Middleware's erfolgt als Hauptfunktion und hierdurch erlangt man eine Erleichterung des Informationsaustausches von Kommunikationsarchitekturen zwischen der an der Softwareentwicklung beteiligten Parteien. 11 is represented by various function blocks, such as the - modelling the communication of software applications takes place across heterogeneous systems, networks and paradigms and a development of communication middleware-independent applications is realized. The migration of interface descriptions between automotive communication middleware is the main function and this facilitates the exchange of information on communication architectures between the parties involved in software development.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent Literature Cited

  • US 5185867 A [0013]US5185867A [0013]

Claims (5)

Verfahren zum Erzeugen von Computercode für eine zentrale Serverarchitektur in einem Fahrzeug, dadurch kennzeichnet, dass - Speichern einer Spezifikationsvorlage für eine Middleware zum Definieren des Typs, des Inhalts und des Verhaltens Middleware in einem computerlesbaren Speichermedium, wobei die Spezifikationsvorlage für jede Middleware als Bausteine eines Metamodells dienen, das alle verfügbaren Bausteine definiert, aus denen ein Zielmodell aufgebaut wird, - eine Implementierung der Spezifikationsvorlage erstellt wird und das lauffähige Computerprogramm der Implementierung automatisch erzeugt wird, - Laden von Daten aus einer Datenstruktur und die eine Spezifikation in einer formalen Sprache umfasst, die die Muster definiert, die den Typ, den Inhalt und das Verhalten aller Elemente der gewünschten Benutzerschnittstelle für das Computerprogramm definieren, wobei das Laden von Daten aus computerlesbares Speichermedium erfolgt, um jede Spezifikationsvorlage gemäß der tatsächlich gewünschten Anwendung der der Spezifikationsvorlage anzupassen, - Laden von Daten aus einer Software-Beschreibungsumgebung, die die Anwendung beschreibt, - Durchführen einer Transformation (T) an diesen angepassten Vorlagen, um sicherzustellen, dass fehlende Informationen geliefert werden, und mit den Daten aus der einer Software-Beschreibungsumgebung verglichen werde, - Durchführen einiger vorbestimmter vorläufiger Berechnungen, in der die Daten überprüft werde, - Untersuchen der angepassten Vorlagen in einem Speichermedium, um zu bestimmen, welche von mehreren Vorlagen in einer endgültigen Zielprogrammiersprache auf hoher Ebene verwendet werden kann, um jede der angepassten Vorlagen zu implementieren, und - Bestimmen der Vorlage in einer endgültigen Ausgabedatei eines Computers auf hoher Ebene Code in der Ziel-Computerprogrammiersprache, die der zentrale Serverarchitektur ausführbar ist, durch Extrahieren der erforderlichen Informationen aus der angepassten Vorlage, um für mindestens eine Spezifikationsvorlage den Computercode der formalen Spezifikation, der die Spezifikationsvorlage implementiert, zu erzeugen.Method for generating computer code for a central server architecture in a vehicle, characterized in that - storing in a computer-readable storage medium a specification template for a middleware for defining the type, content and behavior of the middleware, the specification template for each middleware serving as building blocks of a meta-model that defines all available building blocks from which a target model is built, - an implementation of the specification template is created and the executable computer program of the implementation is automatically generated, - Loading data from a data structure and comprising a specification in a formal language that defines the patterns that define the type, content and behavior of all elements of the desired user interface for the computer program, the data loading being done from a computer-readable storage medium to customize each specification template according to the actual desired application of the specification template, - Loading data from a software description environment that describes the application, - performing a transformation (T) on these customized templates to ensure that missing information is provided and compared with the data from a software description environment, - performing some predetermined preliminary calculations in which the data is checked, - examining the customized templates in a storage medium to determine which of multiple templates can be used in a final high-level target programming language to implement each of the customized templates, and - determining the template in a final output file of a high-level computer code in the target computer programming language executable by the central server architecture by extracting from the customized template the necessary information to generate, for at least one specification template, the computer code of the formal specification that defines the Specification template implemented to generate. Verfahren nach Anspruch 1, dadurch kennzeichnet, dass die Daten aus einer Software-Beschreibungsumgebung aus einem UML Tools sind.procedure after claim 1 , characterized in that the data are from a software description environment from a UML tool. Verfahren nach Anspruch 1 oder 2, dadurch kennzeichnet, dass die Transformation bidirektional erfolgen kann.procedure after claim 1 or 2 , characterized in that the transformation can be bidirectional. Verfahren nach einem der vorgehenden Ansprüche 1 bis 3, dadurch kennzeichnet, dass die Transformation bidirektional erfolgen kann.Method according to any of the foregoing Claims 1 until 3 , characterized in that the transformation can be bidirectional. Verfahren nach einem der vorgehenden Ansprüche 1 bis 4, dadurch kennzeichnet, dass die der Daten aus der Software-Beschreibungsumgebung mit der Ausgabedatei des Computers auf hoher Ebene Code in der Ziel-Computerprogrammiersprache, die auf der zentrale Serverarchitektur ausführbar ist regelungstechnisch gekoppelt sind.Method according to any of the foregoing Claims 1 until 4 , characterized in that the data from the software description environment is controllably coupled to the output file of the computer at high level code in the target computer programming language executable on the central server architecture.
DE102020215160.1A 2020-12-01 2020-12-01 Method for generating computer code for a central server architecture in a vehicle Pending DE102020215160A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020215160.1A DE102020215160A1 (en) 2020-12-01 2020-12-01 Method for generating computer code for a central server architecture in a vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020215160.1A DE102020215160A1 (en) 2020-12-01 2020-12-01 Method for generating computer code for a central server architecture in a vehicle

Publications (1)

Publication Number Publication Date
DE102020215160A1 true DE102020215160A1 (en) 2022-06-02

Family

ID=81586307

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020215160.1A Pending DE102020215160A1 (en) 2020-12-01 2020-12-01 Method for generating computer code for a central server architecture in a vehicle

Country Status (1)

Country Link
DE (1) DE102020215160A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185867A (en) 1988-03-18 1993-02-09 Hitachi, Ltd. Method and apparatus for automatically generating software specifications
US20150100942A1 (en) 2013-10-08 2015-04-09 King Abdulaziz City For Science And Technology Uml model integration and refactoring method
US20190042215A1 (en) 2017-08-07 2019-02-07 Sap Se Template expressions for constraint-based systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185867A (en) 1988-03-18 1993-02-09 Hitachi, Ltd. Method and apparatus for automatically generating software specifications
US20150100942A1 (en) 2013-10-08 2015-04-09 King Abdulaziz City For Science And Technology Uml model integration and refactoring method
US20190042215A1 (en) 2017-08-07 2019-02-07 Sap Se Template expressions for constraint-based systems

Similar Documents

Publication Publication Date Title
DE102005014273B4 (en) Comparison of interfaces between software components
DE102018003142A1 (en) Automatic setting of multitasking configurations for a code checking system
DE102014210854A1 (en) A computer-implemented method and signal sequence for a program for reusing executable software configurations for software systems, as well as a computer system and a computer program with program code for performing the method
WO2007006671A1 (en) Method and software system for the configuration of a modular system
DE102019207132A1 (en) System for diagnosing vehicle software and operating procedures therefor
DE102015121509A1 (en) Methodology and device for consistency check by comparison of ontology models
DE102011011951A1 (en) Requirement-driven feature development process
DE102012001406A1 (en) Automatic configuration of a product data management system
DE102011012068A1 (en) TERMINATION MANAGEMENT SYSTEM (TMS)
DE102013223833A1 (en) System for the computer-aided creation of rules for monitoring and / or diagnosis of a technical installation
EP3213266A1 (en) Method for integration of semantic data processing
DE102020215160A1 (en) Method for generating computer code for a central server architecture in a vehicle
DE102012210482A1 (en) Method and system for migrating business process instances
DE102010047954A1 (en) Formal offline verification of executable models
DE102010044039A1 (en) Method and device for quality analysis of system models
DE202012013449U1 (en) System for inline insertion of script dependencies
DE102021207872A1 (en) COMPOSITIONAL VERIFICATION OF EMBEDDED SOFTWARE SYSTEMS
DE102011012071A1 (en) REQUEST INTRODUCTION / READOUT TOOL, CALLED R2DB
DE102021208759A1 (en) Method of training a machine learning algorithm to generate test specifications for testing a software-based system
DE102009019442A1 (en) Method for automatic generation of test data, involves providing object model, which forms technical framework for statistical modification of test data, and reading sequential input-test data flow
DE112011103505T5 (en) Method for validating runtime references
DE102020213809A1 (en) Method for operating a control device when testing software in the control device and method for operating a test computer when testing software in a control device
EP3933593A1 (en) Method and computer program for testing a technical system
DE102017212612A1 (en) Method for automatically generating tests for the software of a vehicle
EP2284632B1 (en) Method for controlling a data exchange between a vehicle diagnosis system and control devices of vehicles, control program and vehicle diagnosis system

Legal Events

Date Code Title Description
R163 Identified publications notified
R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE

R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE