WO2021089293A1 - Procédé et dispositif de fourniture de logiciel d'application - Google Patents
Procédé et dispositif de fourniture de logiciel d'application Download PDFInfo
- Publication number
- WO2021089293A1 WO2021089293A1 PCT/EP2020/079057 EP2020079057W WO2021089293A1 WO 2021089293 A1 WO2021089293 A1 WO 2021089293A1 EP 2020079057 W EP2020079057 W EP 2020079057W WO 2021089293 A1 WO2021089293 A1 WO 2021089293A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application software
- container
- file
- program
- specific
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Definitions
- the present invention relates to a method for providing application software.
- the present invention also relates to a corresponding device, a corresponding computer program and a corresponding storage medium.
- SW software
- OTA over-the-air
- VCG vehicle connectivity gateway
- vehicle-internal control units can be expanded in this way by features that use existing sensors and actuators for new applications.
- Corresponding applications can be carried out by the manufacturer or original equipment manufacturer (OEM) of an agricultural machine - for example by means of a development kit - and offered on a digital sales platform in the cloud.
- Conceivable extensions are, for example, advanced telemetry or special agricultural functions such as targeted weed control.
- DE102015203766A1 discloses a subsystem for a vehicle with a device management client connected via an air interface to a device management server of the backend for exchanging device, vehicle and diagnostic and software update information, one connected via the air interface to a download server of the backend Download client for downloading a software update from the backend into the vehicle, software update clients connected to the download client for applying the software update and a vehicle update client connected to the download client and the software update clients for coordinating the software update.
- the container or operating system virtualization which has been common in data center operations for a long time, has recently increasingly found its way into the practice of embedded systems.
- This method makes it possible to operate several instances of an operating system as so-called guests in isolation from one another on a host system.
- the host can provide a complete runtime environment to each application encapsulated within such a container, which may include, for example, dynamic libraries of the programming language used by the respective developer, such as Java, C or Python.
- this "lightweight" form of virtualization imposes some restrictions on the guests, but has the advantage that all containers share the core of the native operating system - typically Linux, BSD, Solaris or another Unix-like system use. The use of containers thus spares the scarce resources of embedded systems. Disclosure of the invention
- the invention provides a method for providing application software, a corresponding device, a corresponding computer program and a corresponding storage medium according to the independent claims.
- One advantage of this solution is the possibility of individual generation as well as starting, executing and terminating a container during runtime on a control unit (electronic control unit, ECU).
- a so-called manifest describing the application software, an executable program file (utility software as opposed to software that represents the infrastructure) and a container framework - possibly with inheritance mechanisms - are used.
- the creation of the manifest and the data to be containerized can be carried out by the developer with the help of tools.
- the latter opens up a large number of configuration options by adapting the manifest; For example, he can determine whether a feature also wants to store data at runtime in a subdirectory of the landing zone.
- container technology - think of the open source systems Docker or LXC -, platform Structure and runtime behavior, such as the restriction or allocation of resources, CPU, RAM and I / O, are described in the manifest, which may be written in a markup language such as XML, for example.
- One advantage of differentiating between generic and specific containers is that the amount of data is reduced when downloading (download), since a template is already available on the ECU that already contains the most important libraries, and therefore only changes need to be completed or updated.
- the containers can also be created in a test environment in which the function of the application software can be checked. This mechanism therefore improves the
- the advantage here is that the software environment of the application can be maintained without replacing it yourself.
- FIG. 1 the flow diagram of a method according to a first one
- FIG. 2 schematically shows a shell model on which the method is based.
- FIG. 3 shows the block diagram of a system according to a second embodiment.
- FIG. 1 illustrates the basic steps (1-10) of a method according to the invention, which will now be explained using the example of the software platform (11) according to FIG.
- the user and programming interfaces and metadata such as IDs, resource requirements, target market or server location required for the planned feature are specified (process 1 - Figure 1).
- a program framework (skeleton 15 - FIG. 2) with a corresponding application programming interface (API) is generated automatically (process 2 - FIG. 1), which serves as a template for the developer in his development environment.
- the developer can, for example, deliver a Simulink model, corresponding source or object code or a complete container as a work result. While the model and source code allow far-reaching conclusions to be drawn about the functionality of the application software (16 - Figure 2), reverse engineering of object code or container proves to be comparatively time-consuming, so that corresponding configurations offer the developer's intellectual property a certain amount of protection.
- This can be a machine language binary file, a bytecode file that can be executed directly or by a runtime system, or a text file that can be executed by interpreted by an operating system shell.
- the interfaces (A1 - Figure 2) required for connection to any abstraction layers are also generated and added to the program file.
- the executable program file as well as the manifest and data are then packaged into a ZIP or other archive file (process 4 - Figure 1).
- the “Dockerfolder” folder contains a text file called “Dockerfile” that describes the required runtime environment, for example for the Java programming language.
- Another folder, named "app” for example, contains the executable program file.
- the archive file generated in this way is stored in the cloud repository (process 5 - Figure 1). Further steps to ensure software quality can take place there, e.g. B. Cloud-based testing.
- the archive file is loaded from the cloud into the landing zone of the target control device or other target system (18 - Figure 2) (process 6 - Figure 1).
- process 7 - Figure 1 Either the package is automatically installed immediately after it has been saved in the landing zone, or the user has to authorize the installation manually.
- the installation carried out online on the control unit is as follows: After unpacking the entire archive file and parsing the manifest, feature-specific landing zones are created in order to separate different applications (16 - Figure 1) 2) without ensuring mutual access or mutual visibility.
- the description contained in the "Dockerfile” file for example, is parsed.
- An image of the generic container (12 - FIG. 2) is then created; an object-oriented container technology with its own inheritance mechanisms is preferably used for this purpose. If the generic container (12 - FIG. 2) is adapted afterwards, all of them take over in this way derived specific container (13 - Figure 2) this change in a corresponding manner.
- the specific container (13 - Figure 2) is filled and adapted based on the parsed description. Any required libraries and the content of the “app” folder with the executable program file are transferred to the container, while the values of the manifest are transferred to the registry in order to save them persistently.
- a message broker such as MQTT or DDS sends a signal to a life cycle management (LCM) of the application software (16 - Figure 2) responsible component sent.
- LCM life cycle management
- This method (1-10) can be implemented, for example, in software or hardware or in a mixed form of software and hardware, partly in the cloud (20) and partly in a control device, as the schematic illustration in FIG. 3 illustrates.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
L'invention concerne un procédé (1 - 10) de fourniture de logiciel d'application (16), qui présente les caractéristiques suivantes : - une description (21) du logiciel d'application (16) est préparée (1), - un squelette de programme (15) est généré (2) à l'aide de la description (21), le logiciel d'application (16) est fusionné (3) avec le squelette de programme (15) au moyen d'enveloppeurs (14) pour former un fichier de programme, et - un manifeste est achevé à l'aide de la description (21) et mis en paquets (4) avec le fichier de programme pour former un fichier d'archive (22) de telle sorte que, sur un système d'exploitation prédéfini (17), un conteneur (13) spécifique au logiciel d'application (16) peut être extrait du fichier d'archive (22).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019217058.7 | 2019-11-06 | ||
DE102019217058.7A DE102019217058A1 (de) | 2019-11-06 | 2019-11-06 | Verfahren und Vorrichtung zum Bereitstellen einer Anwendungssoftware |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021089293A1 true WO2021089293A1 (fr) | 2021-05-14 |
Family
ID=72944136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2020/079057 WO2021089293A1 (fr) | 2019-11-06 | 2020-10-15 | Procédé et dispositif de fourniture de logiciel d'application |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102019217058A1 (fr) |
WO (1) | WO2021089293A1 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160330277A1 (en) * | 2015-05-06 | 2016-11-10 | International Business Machines Corporation | Container migration and provisioning |
US20190324786A1 (en) * | 2018-04-23 | 2019-10-24 | Hewlett Packard Enterprise Development Lp | Containerized application deployment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10387750B2 (en) * | 2017-08-08 | 2019-08-20 | Red Hat, Inc. | Supporting manifest list for multi-platform application container images |
-
2019
- 2019-11-06 DE DE102019217058.7A patent/DE102019217058A1/de active Pending
-
2020
- 2020-10-15 WO PCT/EP2020/079057 patent/WO2021089293A1/fr active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160330277A1 (en) * | 2015-05-06 | 2016-11-10 | International Business Machines Corporation | Container migration and provisioning |
US20190324786A1 (en) * | 2018-04-23 | 2019-10-24 | Hewlett Packard Enterprise Development Lp | Containerized application deployment |
Also Published As
Publication number | Publication date |
---|---|
DE102019217058A1 (de) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102005026040B4 (de) | Parametrierung eines Simulations-Arbeitsmodells | |
DE102015112040A1 (de) | Verfahren und System zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung | |
DE102010011658A1 (de) | Applikationsplattform und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit einer solchen | |
DE102015203766A1 (de) | Teilsystem für ein Fahrzeug und entsprechendes Fahrzeug | |
DE102016119320A1 (de) | Verfahren zum Konfigurieren eines realen oder virtuellen elektronischen Steuergerätes | |
EP2332042A1 (fr) | Procédé et dispositif pour remplacer un composant d'un système informatique | |
DE202015101904U1 (de) | Computersystem und Speichervorrichtung zum Aktualisieren von Firmwarekomponenten | |
EP3285165A1 (fr) | Modification et simulation du logiciel d'exploitation d'un systeme technique | |
EP3217236A1 (fr) | Procédé et système de génération d'un programme de commande sous forme d'une application mobile exécutable sur un appareil mobile | |
DE112020002785T5 (de) | Verfahren für ein virtualisierungssystem auf container-grundlage | |
WO2019211122A1 (fr) | Cadre de développement de caractéristique et cadre d'intégration de caractéristique servant à implémenter des caractéristiques fonctionnelles physiques dans un appareil cible | |
DE102010039021B4 (de) | Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät | |
WO2021089293A1 (fr) | Procédé et dispositif de fourniture de logiciel d'application | |
DE102016201769A1 (de) | Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug | |
WO2021209192A1 (fr) | Procédé et dispositif de contrôle de la compatibilité entre un logiciel d'application et une machine de travail mobile | |
DE102017215044B4 (de) | Verfahren zum Wechseln auf eine Firmware-Version auf einem elektrischen Steuergerät für ein Antriebssystem, elektrisches Steuergerät und Antriebssystem | |
DE102021202133A1 (de) | Verfahren, Vorrichtung und Konfigurationsumgebung zum Erzeugen von Konfigurationsdaten für ein Steuergerät | |
EP3285162A1 (fr) | Procédé de projection d'un projet et système d'exécution du procédé | |
DE102004012315A1 (de) | Verfahren zur automatischen Anpassung von Software | |
WO2021089296A1 (fr) | Procédé d'échange de messages par l'intermédiaire d'un logiciel d'application | |
WO2005003935A1 (fr) | Systeme et procede d'octroi de permis d'exploitation pour des programmes logiciels necessitant un permis d'exploitation | |
DE102020213809A1 (de) | Verfahren zum Betreiben eines Steuergeräts beim Testen einer Software des Steuergeräts und Verfahren zum Betreiben eines Testcomputers beim Testen einer Software eines Steuergeräts | |
WO2021089295A1 (fr) | Procédé et dispositif de gestion d'un composant logiciel pour un système déterminé | |
WO2021089297A1 (fr) | Procédé de commande d'une machine | |
DE102019217044A1 (de) | System zum Steuern einer Maschine |
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: 20793323 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20793323 Country of ref document: EP Kind code of ref document: A1 |