Asset administration shell-based application software information management and distribution method
Patent Information
- Application Number
- KR1020230196576
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-29
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-12-29
Smart Images

Figure R1020230196576_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to the integrated information management and distribution of application software, and more specifically, to a method for automating the integrated information management and distribution of application software recognized as an asset in the smart manufacturing field by utilizing an Asset Administration Shell (AAS). Background Technology
[0003] In today's manufacturing sector, application software incorporating various ICT technologies is being introduced to drive innovations such as process optimization, predictive maintenance, reduced equipment operating costs, and increased productivity. This process involves diverse stakeholders (software designers, developers, DevOps engineers, etc.), and the passive nature of information exchange among them often leads to a lack of consistency. Furthermore, the complexity involved in the deployment, installation, and operation of applications can give rise to various problems.
[0004] Looking more closely at existing problems in terms of information management, managing application software-related information manually leads to information fragmentation because stakeholders at each stage of the application software lifecycle manage software information in different ways, which can result in missing information. Additionally, the problem arises where the same information is expressed differently, causing errors in information recognition.
[0005] Analyzing the issues regarding application software distribution, the complexity of the distribution process has increased as the complexity of application software development has grown today. The traditional manual method of distributing application software is time-consuming, and deployment failures due to human error occur frequently.
[0006] To address this, various frameworks for deployment automation are being utilized today; however, the process of creating deployment-related configuration files is still performed manually. Furthermore, if personnel changes result in an unskilled individual handling the task, it leads to significant effort and time consumption. The problem to be solved
[0008] The present invention has been devised to solve the aforementioned problems, and the objective of the present invention is to provide a method that enables accurate and consistent information management (version, license, dependency, required resource specifications, deployment, maintenance, etc.) for stakeholders at each stage of the application software lifecycle by utilizing an asset management shell.
[0009] Furthermore, another objective of the present invention is to provide a method that can reduce the complexity of application deployment and prevent human error by automatically configuring a deployment configuration file during the application deployment process and simplifying the complex deployment process. means of solving the problem
[0011] An application software management method according to an embodiment of the present invention for achieving the above objective comprises: a step of generating an AAS information model of the application software; and a first management step of managing information of the application software using the generated AAS information model.
[0012] The AAS information model may include a first submodel containing basic information of the application software and basic information after installation; and a second submodel containing information about the components constituting the application software.
[0013] The AAS information model may include a third submodel containing information about platform resources required for the operation of application software; and a fourth submodel containing information about the application software's containers, options, and environment variables.
[0014] The AAS information model may include a fifth submodel containing the maintenance history of the application software.
[0015] The first management step may include the step of creating an AAS server instance that is connected to an AAS information model file and can manage information of the application software by accessing it via a REST API.
[0016] The first management step may include the step of registering the created AAS server instance in the AAS registry to display a list of application software that is currently available for information management.
[0017] The application software management method according to the present invention may further include a second management step of managing the distribution of application software using a generated AAS information model.
[0018] The second management step may include: a step of receiving distribution-related information from an AAS server instance and configuring a distribution configuration file; and a step of loading the configured configuration file and executing a distribution command to distribute the application software.
[0019] Distribution-related information may be included in the fourth submodel of the AAS information model.
[0020] According to another aspect of the present invention, an application software management system is provided, characterized by comprising: a generating unit that generates an AAS information model of application software; and a first management unit that manages information of application software using the generated AAS information model.
[0021] According to another aspect of the present invention, an application software management method is provided, characterized by comprising: a step of generating an AAS information model of application software; and a step of managing the distribution of application software using the generated AAS information model.
[0022] According to another aspect of the present invention, an application software management system is provided, characterized by comprising: a generating unit for generating an AAS information model of application software; and a managing unit for managing the distribution of application software using the generated AAS information model. Effects of the invention
[0024] As described above, according to the embodiments of the present invention, by gathering fragmented information into one at each stage of the application software lifecycle and preventing the same information from being expressed in different ways, the overall costs incurred in the maintenance and exchange of application software information can be reduced.
[0025] In addition, according to embodiments of the present invention, by automating the distribution process from the automatic generation of distribution configuration files to the logic in relation to application software distribution, consistent distribution is always possible without human error even if the responsible DevOps engineer is replaced. Brief explanation of the drawing
[0027] Fig. 1. Basic structure of the AAS information model Fig. 2. AAS information model of application software Fig. 3. SBom (Software Bill of Materials) Submodel UML Fig. 4. ComputingPlatformResources submodel UML Fig. 5. SoftwareDistribution Submodel UML Fig. 6. Software Maintenance Submodel UML Fig. 7. System architecture for integrated information management and distribution of application software Fig. 8. AAS server instance creation process Fig. 9. Application software information management through an AAS server instance Fig. 10. Application software deployment process through master-agent-based CI / CD service Specific details for implementing the invention
[0028] The present invention will be described in more detail below with reference to the drawings.
[0029] An embodiment of the present invention presents a method for managing and distributing information on asset management shell-based application software.
[0030] This is a technology that configures (models) an information model (submodel) dedicated to application software to represent and manage its information, designs a separate system structure capable of utilizing it, and enables the management of application software information and automated distribution via APIs.
[0031] The present invention provides the following detailed techniques in the embodiments.
[0032] - Asset Administration Shell (AAS) based application software information model
[0033] - System architecture for integrated information management and distribution of application software
[0034] - A method for managing application software information via API by creating an AAS server instance that provides REST API access endpoints based on the AAS information model and the proposed system architecture.
[0035] - A method for automatically configuring a deployment configuration file by retrieving information for application software deployment from a previously created AAS server instance, and automating the deployment of application software based on the configured deployment configuration file
[0036] Each one is explained below.
[0038] 1. AAS Information Model of Application Software
[0039] To resolve the problem of errors in information recognition caused by representing the same information differently at each stage of the application software lifecycle, an application software AAS information model was defined based on AAS.
[0040] Prior to defining the AAS information model of application software, the basic structure of the standard metamodel-based AAS information model is as shown in Figure 1.
[0041] - An AAS can be composed of 1 to N submodels.
[0042] - A submodel can consist of 1 to N submodel elements.
[0043] - A submodel element can be a property or file having a single unique value, or it can be composed of an SMC (Submodel Element Collection) consisting of 1 to N submodel elements.
[0044] In an embodiment of the present invention, an AAS information model composed of five sub-models is presented for the information management and distribution of application software, and its structure is as shown in FIG. 2. FIG. 2 is an AAS information model of application software. Each sub-model is defined as follows.
[0045] The SoftwareNameplate submodel is software nameplate information that contains basic information about the software, such as developer and release details, as well as basic information after installation (installation path, installation date, etc.). The SoftwareNameplate submodel uses version 1.0, which is officially provided by the IDTA (Industrial Digital Twin Association).
[0046] - A Software Bill of Materials (SBom) represents information (version, license, relationships between components, etc.) regarding all components constituting software, and is a concept similar to a bill of materials for hardware assets (e.g., factory equipment). An SBoM submodel can represent base information for the corresponding SBoM document and information about the components. The structure of the SBoM submodel was defined by referring to the minimum element fields for SBoM information specification required by the National Telecommunications and Information Administration (NTIA), a U.S. government agency, and the essential fields required by ISO / IEC 5962:2021 SPDX (Software Package Data Exchange), an international standard for representing SBoMs. Figure 3 illustrates the structure of the SBoM submodel as a UML diagram.
[0047] - The ComputingPlatformResources submodel is intended to represent platform (device) resources required for the operation of application software, and the resource information defined in this submodel can represent supported operating systems, minimum specifications, and recommended specifications. Figure 4 shows the structure of the ComputingPlatformResources submodel as a UML diagram.
[0048] The SoftwareDistribution submodel was defined based on Docker, one of the technologies available for distributing application software. This submodel was configured to represent container information, various options, and environment variable information included in the docker-compose.yml configuration file. Figure 5 shows the structure of the SoftwareDistribution submodel as a UML diagram.
[0049] The SoftwareMaintenance submodel is defined to represent the maintenance history of the application software. Multiple MaintenanceHistory submodel elements defined in this submodel can be configured, and the MaintenanceType property within these submodel elements can indicate the type of application software's maintenance (feature addition / modification / removal, bug fix, etc.) and related information. Figure 6 illustrates the structure of the SoftwareMaintenance submodel as a UML diagram.
[0051] 2. System Architecture for Integrated Information Management and Distribution of Application Software
[0052] In an embodiment of the present invention, the system architecture of FIG. 7 is presented for the integrated management and distribution of application software information. As illustrated, the application software information integrated management / distribution system according to an embodiment of the present invention is configured to include a Management Server (110), an AAS service module (120), and a CI / CD (Continuous Integration / Continuous Delivery) service module (130).
[0054] 2.1 Management Server(110)
[0055] The Management Server (110) has the following modules for information management and distribution management.
[0056] - The software information management module (SW Information Manager) provides the function of importing application software AAS information model files via REST API, the function of transmitting the imported AAS information model files to the system internal AAS service module (120), and the CRUD (add / view / modify / delete) function of application software information.
[0057] - The software distribution manager module can send distribution-related work requests to the CI / CD service module (130) of the system's internal master and agent structure via REST API.
[0058] - It may further include a generation module for generating an AAS information model.
[0060] 2.2 AAS service module (120)
[0061] The AAS service module (120) provides the following functions through the AAS SDK, which is an AAS service framework.
[0062] - Receive the AAS information model file from the software information management module and create an AAS server instance using the AAS SDK. The created AAS server instance is connected to the AAS information model file and can be accessed via REST API to manage information about the application software.
[0063] The AAS SDK creates an AAS server instance and simultaneously provides an AAS Registry to register the created AAS server instance, displaying a list of application software currently available for information management.
[0065] 2.3 CI / CD service module (130)
[0066] The CI / CD service module (130) is a master, agent-based CI / CD tool that performs tasks related to application software distribution in the system.
[0067] The Master is a type of server that provides REST APIs. When it receives a distribution request from the software distribution management module, it assigns the task to each of the two agents.
[0068] - The configuration agent performs tasks assigned by the master. It receives deployment-related information from the master from the AAS server instance created earlier in the AAS service module (120) and configures the deployment configuration file (docker-compose.yml).
[0069] The Distribution Agent is executed once the Configuration Agent task is completed, and it performs the task by retrieving distribution command information from the AAS server instance based on the previously configured configuration file.
[0071] 3. Information Management Method for Application Software Based on the AAS Information Model
[0072] Related information is modeled using the previously defined application software AAS information model structure. The AASX Package Explorer can be used as an AAS modeling editor, and the application AAS information model (.aasx) can be modeled through this editor. The AAS information model thus created can be imported into the AAS SDK, which is an AAS server instance creation framework, to create the corresponding AAS server instance. Figure 8 illustrates the process of creating an AAS server instance.
[0073] Most AAS SDKs currently available as open source adhere to AAS standard specifications (it is assumed that an AAS SDK adhering to AAS standard specifications is used in the embodiments of the present invention as well). As a result, to access the AAS server instance at each stage of the application software lifecycle, one can simply use the APIs specified in the existing standard without needing to receive separate API information.
[0074] The created AAS server instance is linked with the AAS information model, so that information about the application software can be managed through the REST API as shown in Fig. 9.
[0076] 4. Application Software Distribution Method Based on AAS Information Model
[0077] For the deployment of AAS-based application software, a system having the architecture of "2" and an AAS server instance created for information management in "3" are required. Figure 10 illustrates a method for deploying application software based on an AAS information model.
[0078] In the CI / CD service module (130) of the system, the master manages the agents (assigns tasks to agents and receives events for completed tasks, and passes the tasks to the next agent). When assigning tasks to the configuration agent, the master passes information related to the distribution configuration of the SoftwareDistribution submodel through the created AAS server instance, so that the agent generates a configuration file (docker-compose.yml) for distribution.
[0079] Once the task is completed, the master assigns the application software deployment task to a deployment agent. At this point, the deployment agent completes the deployment task by loading the configuration file created in the previous configuration step and saved in the temporary repository (Conf File Repository), and executing the deployment command.
[0081] So far, a method for managing and distributing information on asset management shell-based application software has been described in detail with reference to preferred embodiments.
[0082] In the above embodiment, an asset management shell was utilized to enable the management of accurate and consistent information (version, license, dependencies, required resource specifications, deployment, maintenance, etc.) for stakeholders at each stage of the application software lifecycle.
[0083] Compared to existing information management methods in the form of paper or electronic documents (PDF), the embodiment of the present invention utilizes an asset management shell, which is a standardized information model based on standards, to represent information and provides a server instance that references this information model, thereby enabling consistent and continuous integration and management of information.
[0084] In addition, the above embodiment automatically configures the deployment configuration file during the application deployment process and simplifies the complex deployment process, thereby reducing the complexity of application deployment and preventing human error.
[0085] Unlike conventional application software distribution that requires the manual creation of configuration files for distribution, the embodiment of the present invention enables simple and automated distribution without a separate complex process by automatically configuring the distribution configuration file by referencing distribution-related information in the asset management shell information model and structuring the distribution process.
[0086] Meanwhile, it goes without saying that the technical concept of the present invention may also be applied to a computer-readable recording medium containing a computer program that enables the device and method according to the present embodiment to perform their functions. Furthermore, the technical concept according to various embodiments of the present invention may be implemented in the form of computer-readable code recorded on a computer-readable recording medium. A computer-readable recording medium may be any data storage device that can be read by a computer and store data. For example, a computer-readable recording medium may be a ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical disk, hard disk drive, etc. Additionally, computer-readable code or a program stored on a computer-readable recording medium may be transmitted through a network connected between computers.
[0087] Furthermore, although preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above. Various modifications are possible by those skilled in the art without departing from the essence of the invention as claimed in the claims, and such modifications should not be understood individually from the technical spirit or perspective of the present invention. Explanation of the symbols
[0089] - Asset Management Shell-Based Application Software Information Model - Application software integrated information management - Application software distribution
Claims
Claim 1 A method for managing application software, comprising: a step of creating an AAS information model of application software; a first management step of managing information of application software using the created AAS information model; and a second management step of managing the distribution of application software using the created AAS information model; wherein the first management step includes a step of creating an AAS server instance that is connected to an AAS information model file and can manage information of application software by accessing it via a REST API; and the second management step includes a step of receiving distribution-related information from the AAS server instance and configuring a distribution configuration file; and a step of distributing application software by loading the configured configuration file and executing a distribution command. Claim 2 A method for managing application software according to claim 1, wherein the AAS information model comprises: a first submodel containing basic information of the application software and basic information after installation; and a second submodel containing information about components constituting the application software. Claim 3 The application software management method according to claim 1, wherein the AAS information model comprises: a third submodel containing information about platform resources required for the operation of application software; and a fourth submodel containing information about the container, options, and environment variables of the application software. Claim 4 A method for managing application software according to claim 1, wherein the AAS information model comprises a fifth submodel containing maintenance history information of the application software. Claim 5 delete Claim 6 The application software management method according to claim 1, wherein the first management step comprises the step of registering a created AAS server instance in an AAS registry and showing a list of application software currently available for information management. Claim 7 delete Claim 8 delete Claim 9 An application software management method according to claim 1, characterized in that distribution-related information is contained in the fourth submodel of the AAS information model. Claim 10 An application software management system comprising: a generating unit that generates an AAS information model of application software; a first management unit that manages information of application software using the generated AAS information model; and a second management unit that manages the distribution of application software using the generated AAS information model; wherein the first management unit generates an AAS server instance that is connected to an AAS information model file and can manage information of application software by accessing it via a REST API, and the second management unit receives distribution-related information from the AAS server instance, configures a distribution configuration file, loads the configured configuration file, and executes a distribution command to distribute application software. Claim 11 A method for managing application software, comprising: a step of creating an AAS information model of application software; and a step of managing the distribution of application software using the created AAS information model; wherein the management step comprises: a step of receiving distribution-related information from an AAS server instance created to manage information of application software by connecting to the AAS information model file and accessing it via a REST API, and configuring a distribution configuration file; and a step of distributing application software by loading the configured configuration file and executing a distribution command. Claim 12 An application software management system comprising: a generation unit that generates an AAS information model of application software; and a management unit that manages the distribution of application software using the generated AAS information model; wherein the management unit receives distribution-related information from an AAS server instance created to manage information of application software by connecting to an AAS information model file and accessing it via a REST API, configures a distribution configuration file, and loads the configured configuration file to execute a distribution command to distribute the application software.
