Method, computer program and data carrier for documenting a type configuration for a computing device - Patents.com
By employing distributed ledger technology to document type configurations in a tamper-proof and transparent manner, the method addresses the challenges of ensuring the integrity and traceability of automotive software updates, enhancing their safety and reliability.
Patent Information
- Application Number
- JP2024552131
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-09
- Filing Date
- 2023-02-20
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2043-02-20
AI Technical Summary
Existing methods for documenting software updates in automobiles lack tamper-proof and transparent mechanisms, particularly for ensuring the integrity and traceability of type configurations over time.
A method utilizing distributed ledger technology to document type configurations generated from provided type libraries, ensuring tamper-proof and transparent documentation by storing identification values in a distributed data bank, which can be accessed by multiple computing devices.
The method provides a secure, transparent, and tamper-proof way to document and manage type configurations, ensuring the integrity of software updates and enabling traceability over years, thus enhancing the safety and reliability of automotive software updates.
Smart Images

Figure 2025507888000001_ABST
Abstract
Description
[Technical field]
[0001] The invention relates to a method for documenting type configurations generated on the basis of a provided type library, in particular for a computing device of a motor vehicle, as claimed in claim 1. Furthermore, the invention relates to a computer program as claimed in claim 9. Finally, the invention relates to an electronically readable data carrier as claimed in claim 10. [Background technology]
[0002] Future legislation may require vehicle manufacturers to operate so-called Software Update Management Systems (SUMS) in order to, for example, update the vehicle's software over-the-air without the vehicle being transported to the factory and thus directly to the end user. Furthermore, it would be desirable to make software updates more plannable and, above all, more transparent. A particular challenge here is the tamper-proof documentation of the planning results. Furthermore, the documentation should be traceable even after many years. US Pat. No. 5,399,633 discloses a product line based content management system and a corresponding method. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] DE10 2010 050 379 A1 Summary of the Invention [Problem to be solved by the invention]
[0004] The object of the invention is to provide a method, a computer program and a data carrier, which can enable the safety or integrity of software updates, in particular in motor vehicles, in a particularly advantageous manner. [Means for solving the problem]
[0005] This problem is solved according to the invention by the subject matter of the independent claims. Advantages and preferred embodiments of the invention are set out in the dependent claims, the description and the drawings.
[0006] A first aspect of the invention relates to a method serving to document a type configuration generated on the basis of a provided type library for at least one computing device, the first computing device and / or at least one further computing device, for example the first computing device being one of a complex of computing devices for product line development, the at least one further computing device being in particular a computing device of an automobile, each computing device then being in particular an electronic computing device, in particular comprising a processor, each computing device thus being preferably configured as a computer and / or for electronic data processing.
[0007] A type library is, for example, an interface description for accessing particularly publicly accessible data structures and / or a subprogram for an external service program, which may for example be configured as a server that can be used by several subprograms. On the basis of the type library, partial and / or complete type configurations can be created, which for example form the basis of a distributed development ecosystem.
[0008] The method of the present invention for documentation comprises the following steps: A first step involves providing, by a first computing device, a first version of a type library.
[0009] A second step involves storing the identification values of the first version of the type library in a distributed data bank.
[0010] In a third step, a first at least partial and / or in particular complete type configuration is generated by the first computing device and / or by another computing device, for example by a computing device of a motor vehicle, based on the first version of the type library.
[0011] A fourth step involves storing the identification values of the first type configuration in a distributed data bank.
[0012] A distributed data bank is in particular a distributed ledger similar to a distributed ledger, which is preferably suitable for the documentation of type libraries and / or type configurations. Such a distributed ledger, for example, contains a type of consensus method, by which manipulation of the identification values, which can be assigned uniquely to the type configuration or to the type library, respectively, can be precluded or made particularly difficult. For example, the identification value of a first version of a type library is a hash value, by which the first version of the type library can be uniquely identified and, in particular, changes to the type library, which in particular lead to a new version, can be recognized. For example, changes to the type library result in a different identification value. The respective identification values of the respective versions of a type configuration are formed in a similar manner.
[0013] The first computing device may for example be a computing device of an authoring system for type libraries (English: Type Library Authoring System), while the other computing device may for example be the control device of a motor vehicle.
[0014] Thus, for example, one advantage of the present invention is the concrete, automated and irreversible creation and / or update of a concrete first type library and of partial and / or complete type configurations derived therefrom. In this way, the use of a distributed data bank, in particular configured as a distributed ledger, can on the one hand enable tamper-proof documentation and on the other hand lay the foundation for a decentralized development ecosystem. Here, data protection considerations and intellectual property protection considerations can be taken into account in a particularly favorable manner. For example, the method according to the present invention is also suitable for managing type configurations as a method for defining type configurations, as a method for checking the integrity of type libraries, as a method for creating consistent type configurations that are applicable, for example, for over-the-air updates, and as a method for authenticating type configurations.
[0015] The insight underlying the present invention is that distributed ledger technologies may be particularly suitable for the documentation of a distributed development ecosystem. A type configuration may result in a concrete instantiation of a previous general development result, for example during the development of a type library. From the point of view of the end user of the vehicle, it may then be desirable to include a large number of configuration options or ordering options that must be covered in the development process and taken into account in the production / manufacturing process.
[0016] For example, it is known that type libraries can be constructed that allow for a large number of configuration options and ordering options, and further that partial type configurations as well as ultimately complete or full type configurations can be derived from the type libraries.
[0017] The method of the present invention allows type library and / or type configuration requirements to be met and made operational in a distributed development ecosystem.
[0018] In other words, the method according to the invention creates the possibility of using a central type library, in particular on the basis of a distributed data bank, in order to be able to create a particularly consistent partial and / or complete type configuration and thus provide a basis for a distributed development ecosystem. The advantage is that only references, which can be expressed in particular by an identification value, respectively, can be stored in the distributed data bank, for example as a hash (value) or in addition to a hash. The actual source data of the type library and / or type configuration and therefore the source code can be stored, for example, in a separate data bank.
[0019] In a preferred embodiment of the invention, the distributed databank is operated by a consensus scheme. In other words, the databank is configured as a distributed ledger and in particular as a blockchain. The consensus scheme may be a proof-of-work, for example, a proof-of-work, which can be implemented by solving a cryptographic puzzle. Additionally or alternatively, a proof-of-holding, for example, a proof-of-stack, can be implemented, whereby the computing devices involved in the distributed databank, such as the first computing device and at least one further computing device, each have the possibility to implement a proof-of-holding and / or a proof-of-work and thus agree on a universally valid unambiguous version of the respective identification value. Alternatively, for example, a so-called proof-of-time and / or a proof-of-space can also be implemented. The adoption of a consensus scheme allows the tamper-proofness of the documentation to be guaranteed in a particularly favorable manner.
[0020] In another preferred embodiment of the invention, the respective type library and / or the respective type configuration is stored in at least one separate data bank. In other words, for example, memory space is reserved by at least one of the computing devices, in which, in particular in a data bank structure, for example, source code of the type library and / or the type configuration is stored. This provides the possibility that the distributed data bank, in which for example the identification values are stored, is kept as slim as possible, so that for example the method can be implemented in a particularly efficient manner. Additionally or alternatively, this can for example reduce memory costs.
[0021] In another preferred embodiment of the invention, at least one of the data banks and / or at least one of the computing devices are synchronized via a distributed data bank, in particular where at least one of the computing devices is part of a product line development (Software Product Line (SPL) Engineering). In other words, a file exchange takes place between the individual computing devices and / or data banks, and the distributed data bank controls the data collation, so that the data banks or computing devices are each, in particular jointly, up to date and thus have access to the respective latest version of the type library or type configuration. For example, the data bank of Software Product Line (SPL) Engineering can be preferably synchronized by a distributed ledger or blockchain in order to obtain the necessary transparency or provability for certification and / or to improve distributed software development. Furthermore, the advantage is obtained that software built on the basis of the type library and / or type configuration can be instantly kept up to date in each computing instance or computing device and thus, for example, in a car.
[0022] In another preferred embodiment of the invention, additional method steps are performed. For example, in another step, a second version of the type library derived from the first version is provided by the first computing device and / or another computing device. In a subsequent step, an identification value of the second version of the type library is stored in a distributed data bank. In other words, a new version of the type library is provided, which is built and further developed based on the first type library, for example based on its source code. An identification value that uniquely identifies the second version of the type library is then also stored in the distributed data bank. If the distributed data bank is a block chain, for example, a new block is added to the data bank with the associated identification value. This has the advantage that the method allows the documentation of changes to the type library to be embodied in a particularly preferred manner.
[0023] In another preferred embodiment, the following additional steps are performed: generating at least one second type configuration at least partially and / or completely based on the second version of the type library by the first computing device and / or the second computing device, and storing identification values of the second type configuration in a distributed data bank.
[0024] For example, if a type library is constantly further developed in terms of content, it may be updated and re-versioned on a regular basis, e.g. daily, and the method then has the advantage that a corresponding release process can be advantageously configured so that existing content of the type library is not erased, but only new content is added.
[0025] In a distributed development ecosystem or for software updates in a car that add new components, the process of erasing a type library should only be allowed if the elements of the partial and / or complete type configuration derived from it and thus the concrete product instance of e.g. a car at the end consumer are not affected. An additional step makes this at least traceable.
[0026] In accordance with the deletion of a type library, elements of partial and / or complete type configurations can or should be deleted only if a concrete product instance, e.g. a car, is not the subject of the deletion. As soon as a complete type configuration is used by a concrete product instance, all elements of the product line development to which the complete type configuration is associated become documentation-relevant and thus siliconization-relevant, if they are to become future software updates for the car. Advantageously, the method allows any changes in the type configuration to be particularly advantageously documented and thus particularly permanently preserved.
[0027] This can be made possible in particular by the use of identification values. In a preferred embodiment of the invention, the respective identification values are therefore reference values and / or cryptographic hash values and / or the respective type libraries or type configurations are stored as at least part of the respective cryptographic values. In other words, the respective identification values comprise the reference values and / or hash values and / or type libraries or type configurations. This has the advantage that, for example, if a source file is deleted, the corresponding references continue to exist in the distributed ledger, even if it is not known where they point. Even if it is not known where the references point, this is not important, in particular in that, as explained above, there is no dependency on the deleted elements in the end user's concrete product instances, which may for example be part of the type configuration. In this way, it is particularly advantageous that the method can be applied for documentation purposes.
[0028] In a preferred embodiment of the invention, at least one of the computing devices provides a runtime environment, by which the respective type library and / or type configuration can be executed. In other words, at least one of the computing devices, which has access to a distributed data bank and is, for example, part of a car, is configured to be able to directly use, for example, a product line software, which is built on one of the type configurations, when the method is applied in product line development. This provides the advantage that the software can be quickly distributed, but also executed.
[0029] A second aspect of the invention relates to a computer program directly readable in a storage device of a computing device so as to perform the steps of the method according to the first aspect of the invention when the program is run on the computing device.
[0030] Advantages and advantageous features of the first aspect of the invention may be considered as advantages and advantageous features of the second aspect of the invention, and vice versa.
[0031] A third aspect of the present invention relates to an electronically readable data carrier having electronically readable control information stored thereon, the control information comprising at least one computer program according to the second aspect of the invention and configured to carry out a method according to the first aspect of the invention when the data carrier and a computing device are used.
[0032] Advantageous and advantageous embodiments of the first and second aspects of the invention may be regarded as advantageous and advantageous embodiments of the third aspect of the invention, and vice versa.
[0033] Further advantages, features and details of the invention will become apparent from the following description of preferred embodiments and from the drawings. The features and combinations of features mentioned in the above description and in the following description of the figures and / or shown only in the figures can be used not only in the respective combinations presented, but also in other combinations or alone without departing from the scope of the invention. [Brief description of the drawings]
[0034] [Figure 1] 1 is a schematic flow chart of a method for documenting a type configuration. [Diagram 2] 2 is a schematic diagram of an embodiment of the method shown in FIG. 1. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] FIG. 1 shows a schematic flow chart of a method for documenting a type configuration, in particular for an automotive computing device, generated on the basis of a provided type library.
[0036] An electronic computing device, for example of a motor vehicle configured as a control unit, should preferably be able to provide in the future software updates which are documentable and furthermore certifiable and therefore as difficult as possible to tamper with.
[0037] This is achieved by the proposed method, which allows for the management of type configuration in addition to documentation, so that the method can be implemented for the definition of type configuration, and is also suitable for checking the integrity and / or preventing tampering of type libraries.
[0038] To this end, the method comprises several steps. In a first step S1, provision of a first version N of a type library TB(N) is performed by a first computing device, for example configured as an authoring system AS.
[0039] A second step S2 involves storing an identification value of the first version N of the type library TB(N) in a distributed databank VD.
[0040] In a third step S3, a first at least partial type configuration pTK(X) or a complete type configuration vTK(X) is generated by the first computing device, the authoring system AS and / or at least one further computing device, exemplarily a partial Type Configuration Service pTKS and a complete Type Configuration Service vTKS.
[0041] Finally, a fourth step S4 consists in storing the identification values of the first type configurations pTK(X) through vTK(X) in the distributed data bank VD.
[0042] Figure 2 shows in a schematic diagram an embodiment of the method presented in Figure 1, in which the authoring system AS releases in one step a new version N of a type library TB(N), which is documented according to step S2 in the distributed databank VD.
[0043] Then, by means of another computing device, for example a partial type configuration service pTKS, a partial type configuration pTK(X) is created on the basis of the type library and its identification values are documented in the data bank VD according to step S3. Additionally or alternatively, by means of a complete type configuration service vTKS, a complete type configuration vTK(X) is created according to step S3. Then, the corresponding identification values are saved according to step S4.
[0044] In this way, complete documentation including traceability to the respective versions of the type library is already guaranteed.
[0045] Then, for example in a second step of the procedure illustrated in Fig. 2, the partial library TB(N) can be further developed in content and released in a new version N+1 as partial library TB(N+1), the type library service TBS (English: Type Library Service) then from this point onwards using the new version N1 of the type library TB N+1, for example in a read-only manner. In other words, the provision of the second version N+1 of the type library TB, derived from the first version N, is effected by the first computing device (AS) and / or by the further computing device (pTKS). In addition, the storage of the identification values of the second version N+1 of the type library TB is then effected in the distributed data bank VD.
[0046] In a subsequent step, a computing device configured as a partial type configuration service pTKS, for example, can create a new partial type configuration pTK(Y) based on the type library TB(N+1) and document its identification value in the distributed data bank VD.
[0047] Additionally or alternatively, if a complete type configuration vTK(Y) is created based on the type library TB(N+1), this is also documented in the distributed data bank VD.
[0048] In addition to versioning the entire type library TB(N) / TB(N+1), the method also allows versioning, with unambiguous reference, of individual components of each type library TB(N) / TB(N+1) itself.
[0049] Preferably, in the method, a runtime environment is provided by at least one of the computing devices, for example by the AS and / or the TKS, and in particular by the type library service TBS, whereby the respective type library TB(N), TB(N+1) and / or the respective type configuration TK(X), TK(Y) can be executed. For example, the type library service TBS can provide a runtime environment whereby the versions N and / or N+1 of the type library TB can be used, at least in a readable manner.
[0050] Thus, each type configuration vTK(X), vTK(Y), pTK(X), pTK(Y) always targets exactly the unambiguous version N or N+1 of the type library TB(N) / TB(N+1) from which it is derived. For full type configurations vTK(X), vTK(Y), they can also target unambiguous versions of partial type configurations pTK(X), pTK(Y).
[0051] The method presented here provides the possibility of preserving all the provided information, including the type libraries TB(N), TB(N+1) as well as the type configurations vTK(X), vTK(Y), pTK(X), pTK(Y), in particular through a central data bank VD having a consensus mechanism and additionally configured as a distributed ledger or blockchain, so that subsequent manipulation of said information is impossible.
[0052] Each identification value stored in the distributed databank VD comprises, for example, a reference and / or a cryptographic hash value and / or the respective type library TB(N), TB(N+1) and / or the respective type configuration vTK(X), vTK(Y), pTK(X), pTK(Y) itself. Additionally or alternatively, the type library TB(N), TB(N+1) and / or the respective type configuration vTK(X), vTK(Y), pTK(X), pTK(Y) can each be stored in at least one further databank.
[0053] In order to map a corresponding development ecosystem, such as a development project, within the framework of a collaboration or to restrict collaboration to certain suppliers, the method allows the provision of corresponding layers for each sub-area of a type library or a partial and / or complete type configuration, which extract only the desired elements of the respective databank and fade out the rest accordingly.
[0054] This layer functionality may be advantageously realized directly through the mechanisms of the applied distributed ledger technology, in which case corresponding mechanisms such as smart contracts or self-sovereign or decentralized identity may be applied.
[0055] This embodiment is preferably designed for automotive application cases in the automotive industry, however the method can be applied to the development of any complex multivariate mass produced item, for example aircraft, trucks, buses, agricultural machinery, ships, trains, drones, robots, motorcycles, autonomous vehicles, machines and equipment, and can be applied in both the consumer goods and information and communication technology industries.
[0056] Furthermore, the presented methodology allows for the type-based product line development concept to be concretized in the context of a distributed homogeneous development ecosystem, thus fulfilling the requirements imposed, for example, pursuant to UNECE regulation UN-R 156.
[0057] The methods described herein may be in the form of a computer program which implements the methods in one of the electronic computing devices when the method is executed. Similarly, there may be an electronically readable data carrier having stored thereon electronically readable control information which contains at least one such computer program and is configured to be able to carry out the methods when the data carrier is used in an electronic computing device.
Claims
1. 1. A method for documenting a type configuration (TK) generated based on a provided type library (TB) for at least one computing device, comprising: providing (S1) a first version of said type library (TB) by a first computing device; a step (S2) of storing the identification values of the first version of said type library (TB) in a distributed data bank (VB); generating (S3) by said first computing device and / or by at least one further computing device a first at least partial type configuration (pTK) and / or a complete type configuration (vTK) based on a first version of said type library (TB); a step (S4) of storing in said distributed data bank (VB) an identification value of said first type configuration (TK); The method according to claim 1,
2. The method according to claim 1, characterized in that the distributed data bank (VD) operates in a consensus manner.
3. 3. Method according to claim 1 or 2, characterized in that each said type library (TB) and / or each said type configuration (pTK / vTK) is stored in at least one separate data bank.
4. 4. The method according to claim 1, wherein at least one of the data banks and / or at least one of the computing devices are synchronized through the distributed data bank (VD), in particular at least one of the computing devices being part of a product line development.
5. The following additional steps: providing, by said first computing device and / or said further computing device, a second version of a type library (TB) derived from said first version; storing an identification value of the second version of said type library (TB) in said distributed data bank; 5. The method according to claim 1 , characterized in that
6. The following additional steps: generating, by said first computing device and / or said further computing device, at least one second at least partial type configuration (pTK / vTK) based on a second version of said type library (TB); storing an identification value of said second type configuration (pTK / vTK) in said distributed data bank (VB); The method of claim 5, characterized by:
7. 7. The method according to claim 1, wherein each said identification value comprises a reference value and / or a cryptographic hash value and / or the respective type library (TB) or the respective type configuration (TK).
8. 8. The method according to claim 1, wherein at least one of the computing devices provides a runtime environment by means of which a respective type library (TB) and / or type configuration (TK) can be executed.
9. A computer program directly loadable in a storage device of a computing device, said computer program having program means for carrying out each of the steps of the method according to any one of claims 1 to 8, when said program is executed on said computing device.
10. 10. An electronically readable data carrier having electronically readable control information stored thereon, said control information comprising at least one computer program as claimed in claim 9 and configured to carry out a method according to any one of claims 1 to 8 when the data carrier is used in a computing device.
Citation Information
Patent Citations
Management method, management apparatus, and, program
JP2019220146A
Announcement smart contracts to announce software release
US20190305959A1
Software library access and usage management
US20210311926A1
Product line managing module for product line based content management system, produces bill of materials of product and auto code for several modules based on data dictionary entries and interface information
DE102010050379A1