EP4169212A1 - Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen - Google Patents

Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen

Info

Publication number
EP4169212A1
EP4169212A1 EP21746386.8A EP21746386A EP4169212A1 EP 4169212 A1 EP4169212 A1 EP 4169212A1 EP 21746386 A EP21746386 A EP 21746386A EP 4169212 A1 EP4169212 A1 EP 4169212A1
Authority
EP
European Patent Office
Prior art keywords
application
service
module
cyber
modules
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
EP21746386.8A
Other languages
English (en)
French (fr)
Inventor
Markus Lachenmayr
Joachim FRÖHLICH
Tudor IONESCU
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.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
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 Siemens AG, Siemens Corp filed Critical Siemens AG
Publication of EP4169212A1 publication Critical patent/EP4169212A1/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Definitions

  • the invention relates to a computer-implemented method for providing at least one service in a node or process of a cyber-physical system with at least two application modules, with communication between the at least two application modules via respective application-module-specific application interfaces offered by the at least two application modules takes place, with each of the application module-specific offered application interfaces representing a communication access to the respective application module.
  • the invention relates to a computer program product comprising a program for a computer unit.
  • the invention also includes an electronically readable data carrier with electronically readable control information stored thereon.
  • the invention relates to a cyber-physical system with a node or process that has at least two application modules, with each of the at least two application modules having a respective application-module-specific application interface via which communication between the at least two application modules, with each of the application module-specific application interfaces offered representing a communication access to the respective application module.
  • the invention also relates to a coupling module.
  • a cyber-physical system refers to a Bundle of information technology or software components with mechanical and/or electronic devices that are in communication with one another via a data infrastructure, for example a communication network such as a local or a global communication network, in particular the Internet.
  • a communication network such as a local or a global communication network, in particular the Internet.
  • this can be an operating system process within which communication takes place, for example in that application modules communicate with one another.
  • a cyber-physical system is characterized, among other things, by a high degree of complexity.
  • Cyber-physical systems generally have one or more embedded systems that are connected to one another in terms of communication technology by means of the communication networks.
  • a cyber-physical system can be, for example, an intelligent power grid, a novel industrial plant that can dynamically adapt to respective production conditions, a robot and/or the like.
  • Cyber-physical systems can also include, for example, medical devices or systems, age-appropriate assistance systems, traffic control systems, traffic logistics systems, networked safety systems, networked driver assistance systems for vehicles, industrial process control systems, automation systems, environmental control and monitoring systems, energy supply management systems, military network systems , infrastructure systems for communication and culture and/or the like.
  • autonomous computing which can include options for self-configuration, self-optimization and self-healing.
  • Autonomy computing enables error detection and fault tolerance in computer-based systems.
  • Autonomy computing concerns, among other things, self-organization or an application level.
  • performance services and runtime environments can only be configured by CPS before runtime.
  • the configuration or adaptation of performance services, parameters of CPS applications and their harmonization with operating system services or parameters is an application development task.
  • the invention relates to the above problems, particularly in relation to cyber-physical systems.
  • the invention is therefore based on the object of developing a generic method, in particular for a cyber-physical system, a computer program product, an electronically readable data carrier, a cyber-physical system and a coupling module, such that the aforementioned problems can be reduced.
  • the invention proposes in particular that at least the application module-specific application interfaces offered by the at least two application modules are implemented by a coupling module, which establishes communication between the at least two application modules and which provides the at least one service that can be activated .
  • the program has program code sections of a program for executing the steps of a method according to the invention when the program is executed by the computer unit, so that at least one service in a communication between at least two application modules Cyber-physical system is provided activatable.
  • control information include at least one computer program product according to the invention and be designed in such a way that when a computer unit is controlled using the control information of the data carrier the computer unit carries out the method of the invention.
  • the invention proposes in particular that the cyber-physical system have a coupling module in which at least the application-module-specific application interfaces offered for the at least two application modules are implemented and which is designed to communicate to establish a connection between the at least two application modules and to provide at least one service that can be activated.
  • the coupling module is designed to provide at least one service that can be activated in a communication between at least two application modules, the coupling module being designed for the cyber-physical system according to the invention.
  • the invention is based, among other things, on the idea that the coupling module, hereinafter also called CPS Interface Module (CIM), interfaces of CPS function modules (English: CPS Function Module; CFM) or application interfaces, for example the at least one - Application module, that is, interfaces of these modules can be extracted from the CPS function modules and brought together in the separate coupling module, so that communication between the at least two application modules can take place via the coupling module.
  • CCM CPS Interface Module
  • CFM CPS Function Module
  • application interfaces for example the at least one - Application module, that is, interfaces of these modules can be extracted from the CPS function modules and brought together in the separate coupling module, so that communication between the at least two application modules can take place via the coupling module.
  • the application module can be, for example, a control module of a robotic arm or the like.
  • the control module can have a computer unit, for example, which is used to control the robot arm.
  • the application modules each provide an interface, namely the application interface, which preferably represents an application module-specific application interface provided.
  • the application module provides communication access via this interface, via which data can be exchanged, for example.
  • the application interface can, for example, also be in the form of a programming interface (API), via which a program part of a program system communicates with other computer programs can be made available for connection to the program system.
  • API programming interface
  • the application modules could also both be respective computer units or the like.
  • the first application module can transmit its data to the respective second application module via the application interface of the second application module.
  • the second application module can transmit its data to the first application module via the application interface of the first application module.
  • This enables bidirectional communication between the application modules to be achieved.
  • unidirectional communication between the application modules may also be sufficient, for example if one of the application modules is formed by a sensor or the like that supplies sensor data to the application module and one of the application modules movement data to the other which supplies application modules for executing a predeterminable movement and/or the like.
  • the invention does not need to be limited to a combination of two application modules. Rather, there is the possibility of additionally considering additional application or control modules. However, this is not relevant to the basic principle of the invention.
  • the coupling module or CIM now makes it possible, in that the interfaces are implemented in the coupling module, to make additional services available in a simple manner.
  • a function specifies what the cyber-physical system (CPS) should do. It thus represents an operation or operation in a functional domain of the cyber-physical system.
  • a cyber-physical system can, for example, be a robot arm with a gripper, particularly in a domain for the assembly of goods in the broadest sense with task-related functions, such as moving the robot arm, opening the gripper, grabbing a workpiece, screwing in a clockwise direction and/or the like.
  • Functions are contained or implemented in CPS function modules (CFN).
  • a service can be determining what the cyber-physical system should do.
  • an operation in a surveillance domain of a cyber-physical system therefore also called an extra-functional service, for example a service for monitoring, testing and securing functions of the cyber-physical system.
  • Services are contained or implemented in CPS Service Modules (CSM).
  • a simple mechanism can thus be implemented between two or more modules of a cyber-physical system node or process that communicate with one another in order to dynamically load and control modular, extra-functional services in individual cyber-physical system nodes or processes, e.g. enable and disable, and remove dynamically, particularly during the runtime of the cyber-physical system.
  • the mechanism installs mount points in at least one coupling module, where the extra-functional services in separate, targeted service modules, which can be dynamic during the runtime of a cyber-physical system node or process, intervene can, can be controlled and can also be uncoupled again.
  • Extra-functional services can monitor and test individual functions and data, cost planning of resources, for example execution times for functions, number of activations of functions, scope of functions, checking function access rights, selecting and switching between alternative but different technical function implementations, for example in fallback situations or takeover situations, and the testing of conditions between communicating function modules.
  • the function modules can be application modules, for example.
  • Integrating points of intervention in a cyber-physical system node or process using the proposed mechanism of the invention does not change the structure or implementation of the cyber-physical functions in the functional modules that communicate with one another.
  • the function modules are preferably at least partially provided by one or more computer units that are operated with a suitable computer program. Basically, however, there is also the possibility of realizing one or more of the function modules at least partially by means of a correspondingly suitable hardware circuit to be provided. This makes it possible to provide the function modules almost independently of a location for the desired function and, if necessary, also to maintain them.
  • the cyber-physical system in particular the application module, can have an electronic circuit, a computer unit, combinations thereof and/or the like.
  • the computer unit can be set up in such a way that it can at least partially carry out the method according to the invention, for which purpose it is correspondingly controlled by the computer program.
  • Both the computer unit and the electronic circuit can be formed by one or more semiconductor chips.
  • the cyber-physical system, in particular the application module can also have discrete electronic components and combinations with semiconductor chips.
  • the cyber physical system in particular the application module, include a storage unit in which at least some training data sets can be stored.
  • the computer program for the computer unit can be stored at least partially in the memory unit.
  • the cyber-physical system can also be at least partially cloud-based.
  • the computer unit can be embodied as a distributed computer unit, preferably embodied at least partially as a cloud.
  • the aforementioned computer program product can be provided by means of a computer-readable storage medium.
  • the computer program can be loaded directly into an internal memory of the computer unit.
  • a network in particular the Internet
  • a data source for example a server
  • the computer program product preferably comprises a computer-readable medium on which the program uncode sections are stored.
  • Such a computer-readable medium can, for example, be a memory chip, for example a PROM, a compact disk, a USB stick or the like.
  • the cyber-physical system is designed to be able to provide at least one service in a communication between at least two application modules.
  • the coupling module provides that at least the application interface of at least one of the at least two application modules is implemented in the coupling module.
  • the coupling module has an activatable service which, as already explained above, can intervene in the communication between the control module and the application module, specifically preferably at a predefined or definable intervention point, and which can be controlled accordingly.
  • the one Grip point can be determined automatically, for example depending on the communication between the at least two application modules.
  • the service can of course also be disconnected, especially if it is no longer required.
  • the coupling module is thus interposed between the at least two application modules and establishes the communication link between these two application modules.
  • the at least one service is loaded via a service interface of the coupling module.
  • the coupling module can be in communication with a corresponding database or data source or service source via the service interface.
  • a specified service is loaded into the coupling module via the service interface under the control of a control center.
  • the coupling module can, for example, have a control-related communication connection with the control center.
  • the at least one service is operated after loading in the coupling module.
  • the service By operating the service in the coupling module, it is therefore possible to use and make the corresponding service available.
  • there is also the possibility, by operating the service of providing a control option for the coupling module, in particular for the service operated, in order, for example, to have further functionalities with regard to the use of the service to be able to steer.
  • data recorded and/or determined through the use of the service can of course also be made available.
  • the at least one service is preferably provided in an activatable manner after operation.
  • the use of the service in particular with regard to the communication connection, can be controlled as required.
  • the service therefore does not need to be activated permanently.
  • the operation of the service also includes its activation.
  • the activation of the service is preferably separate from the operation of the service, which allows influences due to the use of the service to be kept as low as possible.
  • an intervention point is determined for the at least one service.
  • the point of intervention allows the function of the service to be coupled to the communication in the communication link in a suitable manner, so that the desired use of the service can be implemented.
  • the point of intervention can be, for example, a specific point in a signal or data sequence of the communication.
  • the communication in the communication connection is recorded and evaluated by means of the service or by the coupling module itself in order to be able to determine the most favorable point of intervention.
  • the service is preferably activated depending on a control signal.
  • This control signal can be a control signal which the coupling module receives from a separate unit, for example the control center or the like. Basically, of course, there is also the possibility that the control signal is provided by at least one of the at least two application modules.
  • the coupling module can provide the control signal directly for the at least one service. place . Of course, it can also be provided that the coupling module first evaluates the control signal and then activates the service depending on the evaluation.
  • a function call of one of the application modules is determined and data of the function call are recorded by means of the activated service.
  • This data can, for example, be transmitted to the control center, a user of the cyber-physical system or the like.
  • the data can also be stored using the coupling module if necessary.
  • the data can be operational data relating to the at least one application module.
  • a function response of one of the application modules is determined and data of the function response is recorded by means of the activated service.
  • the functional readiness of the application module can be determined.
  • the data can either be stored, for example, by means of the coupling module, in particular stored in a retrievable manner, or also be transmitted to the control center. The function of the cyber-physical system can thereby be further improved.
  • the recorded data is evaluated and at least the function call or the function response is adapted depending on the evaluation of the data before the function call or the function response is transmitted from the respective coupling module to the respective other application module.
  • the service of the coupling module can thus interpose itself in the communication between the at least two application modules and influence the communication.
  • the flexibility with regard to the control of the cyber-physical system can be further improved.
  • supplementary operating awards or security specifications can be made available by the cyber-physical system by means of the coupling module, in particular the at least one service.
  • the service captures the communication between the at least two application modules, analyzes it with regard to specified data and, depending on the analysis, emits a notification signal.
  • the functioning of the cyber-physical system can be better monitored, for example in relation to operating parameters, functions, faulty states and/or the like.
  • the operational security of the cyber-physical system can thereby be further improved.
  • the communication between at least one of the at least two application modules and a third application module is established depending on the intended function of the at least one application module.
  • This makes it possible to create redundancy so that the cyber-physical system node can continue to be operated as intended.
  • This case can be relevant, for example, if the application module has a fault and the application module does not continue accordingly can be operated.
  • This can be determined using the service of the coupling module.
  • the service may also determine that another third application module is available that can take control of the application module and redirect the communication to that third application module.
  • the communication connection can then be accessed and the communication connection can be established from the first faulty application module to a third application module that is ready for operation.
  • the reliability of the cyber-physical system can be further improved.
  • the service identifies at least one of the at least two application modules and is activated as a function of the identification. It is therefore not only necessary for the service to be able to be activated by the control center, for example, but its activation can also depend on which application modules are currently in a communication connection. This allows the use of a specific service to be automatically adapted to specific application modules. No separate control functions need to be provided for this.
  • the exemplary embodiments explained below are preferred embodiments of the invention.
  • the features and combinations of features specified above in the description as well as the features and combinations of features mentioned in the following description of exemplary embodiments and/or shown alone in the figures Ones can be used not only in the combination specified, but also in other combinations.
  • the invention therefore also includes or is to be regarded as disclosed in embodiments that are not explicitly shown and explained in the figures, but that result from the explained embodiments and can be generated by separate combinations of features.
  • the features, functions and/or effects shown in the exemplary embodiments can each represent individual features, functions and/or effects of the invention that are to be considered independently of one another and that each also develop the invention independently of one another. Therefore, the exemplary embodiments are also intended to include combinations other than those in the illustrated embodiments.
  • the described embodiments can also be supplemented by further features, functions and/or effects of the invention that have already been described.
  • FIG. 1 shows a schematic block diagram for a cyber-physical system node or process in which three function modules of a cyber-physical system communicate with one another
  • FIG. 2 shows a schematic block diagram like FIG - Physical system are coupled
  • FIG 3 in a schematic block diagram like FIG 2 a detailed representation of the communication technology coupling by means of the coupling module between two function modules
  • 4 shows a schematic block diagram of a node configuration according to FIG. 3
  • FIG. 5 shows a schematic diagram of a state diagram with regard to the active provision of a service by the coupling module according to FIG - physical system node or process starting from a state according to FIG 6 via intermediate states according to FIG 7, 8 to the final state according to FIG 9,
  • FIG. 17 shows a schematic block diagram of an operating configuration of the coupling module according to FIG. 5, with parameter changes of a service
  • FIG. 18 shows a schematic block diagram of a first application with a sequence that uses a coupling module to monitor the operation of one or more functional modules of a cyber-physical system during normal operation
  • FIG. 19 shows a schematic block diagram like FIG. 18 of a second application for intervening in a functional module of a cyber-physical system in order to provide an alternative or improved functionality or a communication link to another cyber-physical Produce system node or process.
  • the function module 12 is a control module which is used to carry out an activity in a function domain of the cyber-physical system 32 .
  • the control module is an application module.
  • the control module 12 serves to provide the additional function modules 14, 16, which in this case represent application modules, for the intended operation.
  • the application modules 14, 16 can be, for example, a robot arm like the application module 14 or also a sensor like the application module 16.
  • the principle of the invention is not restricted to this. Of course, the number of function modules can also be varied as required, without departing from the spirit of the invention.
  • the application module 16 provides an application interface 26 via which communication with the application module 16 from outside the cyber-physical system node 32 is possible.
  • the application module 16 communicates with the control module 12 via a control interface 22.
  • the control module 12 communicates with the application module 14 via an application interface 20 of the application module 14.
  • the application module 14 in turn communicates with the control module 12 via a control interface 18.
  • the function modules 12, 14, 16 are function modules of the cyber-physical system node 32 with functions FT.
  • the application module 16 which represents a sensor
  • the application module 14 which can represent a robot arm, can be controlled by the control module 12.
  • the configuration according to FIG. 1 proves to be disadvantageous in that additional services can only be implemented subsequently with great effort.
  • FIG. 2 shows, in a schematic block diagram like FIG. 1, how the respective coupling modules 28, 30 are connected between the function modules 12, 14, 16.
  • the application and control interfaces 18, 20, 22, 26 are presently extracted from the respective functional modules 12, 14, 16 and implemented in the respective coupling modules 28, 30.
  • the coupling modules 28, 30 thus provide the communication link between the function modules 12, 14, 16 here. With the coupling modules 28, 30, the function modules 12, 14, 16 can be completely decoupled.
  • two of the function modules 12, 14, 16 communicate via a respective one of the coupling modules 28, 30.
  • the communication between the function modules 12, 14, 16 depends on or is provided by the interposed coupling modules 28, 30.
  • the function modules 12, 14 , 16 are no longer directly linked to one another in terms of communication technology.
  • the coupling modules 28, 30 are not dependent on the function modules 12, 14, 16. However, the coupling modules 28, 30 provide the respective interfaces 18, 20, 22, 26, via which the respective communication between the function modules 12, 14, 16 can be conveyed.
  • the coupling modules 28, 30 do not cause an overhang next to activated functions of the cyber-physical system indirectly via function pointers.
  • the application interfaces 18, 20, 22, 26 of the functions of the cyber-physical system node 32 and the implementations of the functions remain unchanged.
  • the application interfaces 18 , 20 , 22 , 26 of the function modules 12 , 14 , 16 are separated from the respective function modules 12 , 14 , 16 and are detected by the coupling modules 28 , 30 . These are thus used or interposed between the function modules 12, 14, 16 in order to facilitate communication in the function modules 12, 14, 16 while maintaining a defined interface for the application interfaces 18, 20, 22, 26 preserve semantics.
  • FIG. 3 shows an example using the function modules 12, 16 and the coupling module 28 as a point of attack 36 can be implemented taking into account the function interfaces 22 and a function interface 34, with the semantics defined for the function interface 22 being able to be retained .
  • 3 shows the intervention point 36 (English: mount point, service hook) in the form of an example.
  • a point of intervention generally implements a detached interface from a function of a cyber-physical system node.
  • the implementation of the point of intervention 36 serves, among other things, to couple or decouple specific functions of the cyber-physical system node 32, to dynamically couple and decouple specific services 10, 24 of the cyber-physical system node 32, and function calls to coupled services 10, 24 and/or forward functions of the cyber-physical system node 32 .
  • a point of intervention such as point of intervention 36 is a specific service to a function of the cyber-physical system.
  • a point of intervention like the point of intervention 36 is contained in the coupling module 28 and runs in the coupling module 28.
  • the point of intervention 36 can have no or more dynamically loadable specific services of the cyber-physical system for the pair same cyber-physical function.
  • the service 10, 24 may include, for example, monitoring, testing, turning on/off, backing up, and/or the like. Specific services of the cyber-physical system run in the functional module 42 of the cyber-physical system.
  • a service module 38 loads one or more services or service instances into a system runtime of the coupling module 28 by means of a service unit 40 D s . These services are instantiated in order to have CPS functional instances that have been loaded and instantiated by a functional unit 44 D F surround.
  • Points of intervention such as the point of intervention 36 in the coupling module 28 and any services that are coupled to the points of intervention may adhere to the semantics of the application interfaces 20, 34 implemented in the coupling module 28.
  • intervention points are thus implemented around functions in the function modules.
  • An intervention point such as the intervention point 36 shows a corresponding assigned function in a function module 42 with the possibility of coupling the extra-functional service during the runtime of the cyber-physical system node 32 by implementing the same application interface as that of the assigned function, as is also illustrated with reference to FIG.
  • 46 designates a function call of the application module 16, which is transmitted to the coupling module 28.
  • 82 designates a function call of the control module 12, which is transmitted to the coupling module 28.
  • a function is denoted by 54 .
  • the function calls 46, 82 are sent to a respective interface 22,
  • an intervention point 36 is determined, which is transmitted to a service unit 48 .
  • the service unit 48 receives a specific service 52 from a service module 50 which is transmitted to the service unit 48 will.
  • a call for a next service or a next function is transmitted to the interface 22, 34 with 56 or 84, respectively.
  • the application module 16 is a functional module of the cyber-physical system 32 with functions in a client role.
  • the function module 12 is a function module with functions in a server role or provider role.
  • the arrows in FIG. 4 show an implementation, for example that the function 54 is implemented by the function modules 12, 16.
  • the service unit 48 implements the intervention point 36 and the specific service 52.
  • the following first program listing shows a node configuration operation:
  • SO in FIG. 5 designates a start and an end state in which a service of the cyber-physical system and a service hosting is not present in the cyber-physical system node 32 .
  • the state S1 designates a service module which is loaded. However, the service is not yet provided.
  • State S2 designates the provided service.
  • State S3 designates the service that intervenes at a specific point in a service stack.
  • the state S3.1 designates the service in the deactivated state.
  • the state S3.2 designates the service in the activated state.
  • the loading of the service into the coupling module 30 is shown at 58 . There is thus a transition from state S0 to state S1.
  • the service is provided at 62, whereupon a transition to state S2 takes place.
  • an intervention point is determined during the transition according to reference number 66, whereupon state S3.1 is assumed.
  • 70 shows a transition from the deactivated state S3.1 to the activated state S3.2.
  • the service is active. 78 shows that the service can be parameterized.
  • the second program listing shown below shows an implementation of the status machine according to FIG. 5.
  • This implementation implements on-demand loading, instantiation and activation of the service around a corresponding function.
  • other implementations are also possible, for example implementations that include a separate loading, instantiating or activating the service during a service phase of a cyber-physical system node, during an operating phase of the cyber-physical system node 32, or the like.
  • FIG. 6 to 9 again show how the structure or configuration of the cyber-physical system node 32 changes, starting from a state according to FIG. 6 in which a function module 16 is in communication with at least one control module 12 and a coupling module 28 with an intervention point 36 is present, to a state according to FIG. 9, in which the following module is additionally loaded, namely a service module with one or more specific services around the control module 12.
  • the corresponding service can be loaded from the service module 50 via a service interface 86 implemented in the coupling module 28 , 30 .
  • FIGS. 7 and 8 show intermediate states and two alternative transition paths.
  • a transition path starting from FIG 6 via FIG. 7 to FIG. 9 whereas another transition path starting from FIG. 6 via FIG. 8 to FIG. 9 can be.
  • the cyber-physical system node or process 32 is running.
  • the prescribed mechanism makes it possible to use a wide variety of configurations of services for the cyber-physical system between functions of the cyber-physical system node or process 32, as illustrated in the further FIGS. 10 to 16.
  • 15 and 16 show in particular a failover in which the application module 14, 16 is coupled from a first control module 12 to a second control module 80, for example when the first control module 12 is faulty.
  • various other uses are apparent, with particular reference being made to the previous statements.
  • FIGS. 10 to 16 Different states between which you can switch are shown in FIGS. 10 to 16.
  • a change from the state according to FIG. 11 to the state according to FIG. 12 is shown, for example, in FIG. 17, a parameter of a service of the cyber-physical system being changed.
  • the service is not yet connected. However, the coupling is present at time t2, although the service is still deactivated. The service is then activated at time t 3 .
  • the state shown in FIG. 11 is present at time t 1
  • the state shown in FIG. 12 is present at time t 3 .
  • the service is still deactivated.
  • a first transition is represented by the reference sign 90, in which a configuration operation can be carried out according to the following third listing:
  • the following application cases of the invention show how a dynamic analysis of status parameters of a malfunctioning cyber-physical system node 32 can be analyzed.
  • the aim here is to get a deeper insight into the cyber-physical system with regard to operation in the event of a malfunction, unusual behavior and/or the like, for example with regard to one or more functions, in particular function modules.
  • the cyber-physical system runs for a longer period of time. Suddenly, a cyber-physical node login service reports an increase in erroneous server requests. The performance of the cyber-physical system node 32 decreases. The log messages from the affected cyber-physical system node 32 provide no indication of the reason for the decrease in performance. In order to provide a better insight into the operation of the affected cyber-physical system node 32 by an operator, the operator will carry out an extended health check, for example using extra-functional services. The affected cyber-physical system node 32 is designed and implemented to operate in the degraded mode will. However, this can only achieve reduced, suboptimal system performance, which is undesirable.
  • F c designates a function in a function module of the cyber-physical system in the role of an application client.
  • F P designates a function in a function module of the cyber-physical system in the role of a function provider or control module.
  • S MP denotes an intervention point for a special service in a coupling module.
  • SL denotes a log function call.
  • S P denotes a service for measuring an execution time
  • S M denotes a dump memory service.
  • the scenario in FIG. 18 runs as follows using a coupling module:
  • Function F Pf can be analyzed for unusual data.
  • the operator consequently installs a memory scanner S M in relation to the function F P performed.
  • the service S M clears the memory with which the function F P was operated before and after the function F P was called.
  • the memory of a function of the cyber-physical system can be contained in a separate reserved memory module or data module.
  • a data module is assigned to a specific function of the cyber-physical system and corresponds to a data area in a Skill Executed Context (SEC) that a task uses to store task-internal data.
  • SEC Skill Executed Context
  • the cyber-physical system node 32 is designed for testing during runtime without influencing the behavior of the cyber-physical system node 32 over time.
  • the extra-functional services S P and S M implement the same functional interface as F P and S MPf without changing their functional meaning. In addition, both stay within the specified and allowed time limits for the function F P , respectively. Therefore, the services S P and S M , preferably both, can be interposed between the functions F c and F P .
  • FIG. 19 shows another application for dynamically changing functional implementations of a malfunctioning cyber-physical system node N 1 32 using a coupling module.
  • the aim here is to apply another variant to a function contained in a functional module of a cyber-physical system in order to enable alternative or improved functionality or to connect to another cyber-physical system.
  • An updated implementation of a function that uses an external database system is to be applied. This new version corrects a performance deficiency of a previous version and uses a different database system.
  • F P,1 designates a first version of the function F P in the role of a function provider, F P,2 an updated one
  • Version 2 of the function F P and S a service that switches between two or more function providers.
  • the dashed arrow denotes a call to a function of another cyber-physical system node.
  • Function F P, 1 shows that the reason for the low performance is an implementation error.
  • An operator of the cyber-physical system uses a service module with an extra-functional service S Y that dynamically offers a second alternative function on module loads in parallel to a function module that is already in use and switches between the alternative function modules.
  • Time t 3 A developer of the cyber-physical system develops the function F P,2 , which is an improved version of the function F P,1 , and applies it using the service S Y . Switching can be set or controlled to direct only specialized requests to the new version. This enables a predetermined testing, for example by only requests with special
  • Tokens are routed to the newer version by the test team. After the new version F P,2 has been tested and found to be reliable and better, all requests for the function F P , 2 can be routed with the service S Y .
  • the service S could only transmit erroneous requests to the function F P,2 to check whether the updated implementation can handle the critical requests correctly.
  • control tokens that are exchanged between the cyber-physical system nodes 32 .
  • These control token attributes can be analyzed during the intended operation of a cyber-physical system node 32 in order to gain further insight into the performance of the system node 32 and the operation.
  • These attributes can be used to dynamically select alternative function implementations.
  • the control token can convey a function response code between an application function Fc and a control function Fp .
  • the function response code is updated after each new function call. Since the control token is transmitted by the docking module, extra-functional services can be added to the docking module that provide the function of the control token with attributes for each function call during a workflow through the cyber-physical system node 32 for advanced performance analysis adds:
  • an identification of a workflow initiator can be added to the workflow's control token.
  • the initiator can identify a developer or an operator of the cyber-physical system. This information can be used by the extra-functional service, which can select alternative function implementations, as described for the previous exemplary embodiment.
  • AOP can be used to add services.
  • aspects can be integrated at points where a specific condition is met.
  • the condition is usually the entry or exit of a function call.
  • an advice is executed, for example before or after the function call. Any additional code can be applied within the advice. Therefore, an AOP framework, such as aspects for Java systems, can be used instead of connector patterns. be used, which is proposed according to the invention.
  • this only encompasses the provision of an integration point for the mechanism that has been described according to the invention herein.
  • the invention can be used without requiring additional frameworks and/or compilers for weaving entry points in the system. Furthermore, the invention can be implemented using any object-oriented programming language.
  • AOP changes interfaces because of designations. AOP also requires specific compilers and aspects are static. However, AOP can be used to realize implementations of extra-functional services in the coupling modules. It is not COP because the coupling modules and the extra-functional services are dynamic, can be adapted and controlled during runtime, and moreover are completely independent of functions of the cyber-physical system node. COP changes the system and therefore requires compiler support.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die Erfindung betrifft ein rechnerimplementiertes Verfahren zum Bereitstellen von wenigstens einem Dienst (10, 24) in einem Knoten beziehungsweise Prozess eines Cyber-physikalischen Systems mit wenigstens zwei Anwendungsmodulen (12, 14, 16), wobei eine Kommunikation zwischen den wenigstens zwei Anwendungsmodulen (12, 14, 16) über jeweilige anwendungsmodulspezifische angebotene Anwendungsschnittstellen (18, 20, 22, 26) der wenigstens zwei Anwendungsmodule (12, 14, 16) erfolgt, wobei eine jeweilige der anwendungsmodulspezifischen angebotenen Anwendungsschnittstellen (18, 20, 22, 26) einen Kommunikationszugang zum jeweiligen Anwendungsmodul darstellt. Erfindungsgemäß werden zumindest die anwendungsmodulspezifischen angebotenen Anwendungsschnittstellen (18, 20, 22, 26) der wenigstens zwei Anwendungsmodule (12, 14, 16) durch ein Ankoppelmodul (28, 30) implementiert, welches die Kommunikaschen zwischen den wenigstens zwei Anwendungsmodulen (12, 14, 16) herstellt und welches den wenigstens einen Dienst (10, 24) aktivierbar bereitstellt.

Description

Beschreibung
Bereitstellen von einem Dienst in einem Knoten eines Cyber- physikalischen Systems mit wenigstens zwei Anwendungsmodulen
Die Erfindung betrifft ein rechnerimplementiertes Verfahren zum Bereitstellen von wenigstens einem Dienst in einem Knoten beziehungsweise Prozess eines Cyber-physitalischen Systems mit wenigstens zwei Anwendungsmodulen, wobei eine Kommunika- tion zwischen den wenigstens zwei Anwendungsmodulen über je- weilige anwendungsmodulspezifische angebotene Anwendungs- schnittstellen der wenigstens zwei Anwendungsmodule erfolgt, wobei eine jeweilige der anwendungsmodulspezifischen angebo- tenen Anwendungsschnittstellen einen Kommunikationszugang zum jeweiligen Anwendungsmodul darstellt. Ferner betrifft die Er- findung ein Rechnerprogrammprodukt umfassend ein Programm für eine Rechnereinheit. Weiterhin umfasst die Erfindung einen elektronisch lesbaren Datenträger mit darauf gespeicherten elektronisch lesbaren Steuerinformationen. Darüber hinaus be- trifft die Erfindung ein Cyber-physikalisches System mit ei- nem Knoten beziehungsweise Prozess, der wenigstens zwei An- wendungsmodule aufweist, wobei ein jeweiliges der wenigstens zwei Anwendungsmodule eine jeweilige anwendungsmodulspezifi- sche angebotene Anwendungsschnittstelle aufweist, über die eine Kommunikation zwischen den wenigstens zwei Anwendungsmo- dulen erfolgt, wobei eine jeweilige der anwendungsmodulspezi- fischen angebotenen Anwendungsschnittstellen einen Kommunika- tionszugang zum jeweiligen Anwendungsmodul darstellt. Schließlich betrifft die Erfindung auch ein Ankoppelmodul.
Gattungsgemäße rechnerimplementierte Verfahren, Rechnerpro- grammprodukte sowie elektronisch lesbare Datenträger sind im Stand der Technik ebenso umfänglich bekannt, ebenso wie Cy- ber-physikalische Systeme und Ankoppelmodule. Die gattungsge- mäßen Verfahren, Rechnerprogrammprodukte und elektronisch lesbare Datenträger dienen insbesondere der Nutzung in einem Cyber-physikalischen System. Ein Cyber-physikalisches System (englisch: cyber-physical System; CPS) bezeichnet einen Ver- bund von informationstechnischen beziehungsweise software- technischen Komponenten mit mechanischen und/oder elektroni- schen Vorrichtungen, die über eine Dateninfrastruktur, bei- spielsweise ein Kommunikationsnetzwerk wie ein lokales oder ein globales Kommunikationsnetzwerk, insbesondere das Inter- net, miteinander in Kommunikationsverbindung stehen. Insbe- sondere kann es sich dabei um einen Betriebssystemprozess handeln, innerhalb dessen kommuniziert wird, beispielsweise indem Anwendungsmodule miteinander kommunizieren.
Ein Cyber-physikalisches System zeichnet sich unter anderem durch einen hohen Grad an Komplexität aus. Cyber- physikalische Systeme weisen in der Regel ein oder mehrere eingebettete Systeme auf, die mittels den Kommunikationsnetz- werken miteinander kommunikationstechnisch in Verbindung ste- hen. Ein Cyber-physikalisches System kann zum Beispiel ein intelligentes Stromnetz, eine neuartige Industrieanlage, die sich dynamisch an jeweilige Produktionsbedingungen anpassen kann, ein Roboter und/oder dergleichen sein. Cyber- physikalische Systeme können zum Beispiel auch medizinische Geräte beziehungsweise Systeme, altersgerechte Assistenzsys- teme, Verkehrssteuerungssysteme, Verkehrs1ogistiksysteme, vernetzte Sicherheitssysteme, vernetzte Fahrassistenzsysteme für Fahrzeuge, industrielle Prozesssteuerungssysteme, Automa- tisierungssysteme, Umweltbeeinflussungs- und Beobachtungssys- teme, Energieversorgungsmanagementsysteme, militärische Ver- netzungssysteme, Infrastruktursysteme für Kommunikation und Kultur und/oder dergleichen sein. Darüber hinaus finden sie Anwendung bei Autonomie Computing, welches Möglichkeiten der Selbstkonfiguration, der SelbstOptimierung und -heilung um- fassen kann. Autonomie Computing ermöglicht Fehlererkennung und Fehlertoleranz in rechnerbasierten Systemen. Autonomie Computing betrifft unter anderem die Selbstorganisation be- ziehungsweise eine Einsatzebene.
Bei Cyber-physikalischen Systemen besteht Bedarf an Steuer- barkeit und Beobachtbarkeit des Cyber-physikalischen Systems, beispielsweise von Attributen von Cyber-physikalischen Syste- men, die autonom agieren, in wechselnden Umgebungen betrieben werden können und deshalb schnell zu entwickelnde beziehungs- weise ändernde System- beziehungsweise Produkteigenschaften aufweisen und/oder mit geringen Systemressourcen in engen Grenzen betrieben werden können.
Dieser Bedarf hat verschiedene Facetten:
- Ein Mangel an Kontrolle über Performanceattribute von Rech- nerprogrammen von Cyber-physikalischen Systemen, die zum Bei- spiel auf Feldgeräte verteilt sind und dort ablaufen.
- Systemserviceebenen für Funktionen der Rechnerprogramme des Cyber-physikalischen Systems sind schwer zu bestimmen und deshalb schwierig sicherzustellen.
- Systemserviceebenen für Funktionen der Rechnerprogramme des Cyber-physikalischen Systems, die sich bei verschiedenen Modi ändern und verschiedene Lebenszyklusphasen aufweisen.
- Es ist schwierig zu bestimmen, wie Funktionen von Cyber- physikalischen Systemen von Systemklienten genutzt werden, beispielsweise in Bezug auf Nutzungsprofile, Frequenz, Daten- ein- beziehungsweise -ausgabe und/oder dergleichen.
- Aufwendiges Überwachen und Testen von Feldgeräten.
- Programmiersprachen, Programmierwerkzeuge sowie provider- spezifische Lösungen sind komplex, schwer zu adaptieren be- ziehungsweise konsistent zu konfigurieren und im Übrigen in anwendungsspezifischen Umgebungen schwierig zu auditieren.
- Wenn das Rechnerprogramm eines Cyber-physikalischen System- knotens beziehungsweise -teils adaptierbar ist, dann gewöhn- lich vor einer Systemlaufzeit.
Diese Probleme werden verschärft durch komplexe Systeme mit kurzen System-, Produkt-, Merkmals1ebenszyklen und kompli- zierten Systemstrukturen. Verfahren, die Programmentwicklung und -bereitStellung (DevOps) kombinieren und damit die Ge- schwindigkeit erhöhen, neue, aktualisierte und/oder geänderte Programmmerkmale zu einem Zielsystem zu führen, erschweren ferner die Situation.
Bisher konnten die vorgenannten Probleme lediglich im Rahmen von Re-Build, Test, Re-Deploy einer ganzen Systemprogrammie- rung behandelt werden. Dies sind jedoch aufwendige, teure und zeitaufwendige Prozesse. Bisher ist es ferner üblich, eine Aspekt-orientierte Programmierung (AOP) vorzusehen. So können Cross-Cutting beziehungsweise Cross-Functional Services (CFS) beziehungsweise übergreifende funktionale Dienste, die einige Teile des Progranunsystems betreffen, wie beispielsweise Log- ging von Performance Eigenschaften sowie auch Performance Au- diting, in spezifischen Code Blocks organisiert sein. Spezi- fische Softwareteile werden mit den benötigten CFS versehen. Spezifische Compiler übersetzen die CFS in Rechnerprogramme auf Source-Code-Basis oder auf Maschinen-Code-Basis.
Darüber hinaus können Performancedienste und Laufzeitumgebun- gen von CPS nur vor der Laufzeit konfiguriert werden. Die Konfiguration beziehungsweise Adaption von Performancediens- ten, Parametern von CPS-Anwendungen und ihre Harmonisierung mit Betriebssystemdiensten beziehungsweise -parametern ist eine Anwendungsentwicklungsaufgabe. Die Erfindung bezieht sich auf die vorgenannten Probleme, insbesondere in Bezug auf Cyber-physikalische Systeme.
Der Erfindung liegt deshalb die Aufgabe zugrunde, ein gat- tungsgemäßes Verfahren, insbesondere für ein Cyber- physikalisches System, ein Rechnerprogrammprodukt, einen elektronisch lesbaren Datenträger, ein Cyber-physikalisches System sowie ein Ankoppelmodul dahingehend weiterzubilden, dass die vorgenannten Probleme reduziert werden können.
Als Lösung werden mit der Erfindung ein Verfahren, ein Rech- nerprogrammprodukt, ein elektronisch lesbarer Datenträger, ein Cyber-physikalisches System sowie ein Ankoppelmodul gemäß den unabhängigen Ansprüchen vorgeschlagen.
Vorteilhafte Weiterbildungen ergeben sich durch Merkmale der abhängigen Ansprüche.
In Bezug auf ein gattungsgemäßes Verfahren wird mit der Er- findung insbesondere vorgeschlagen, dass zumindest die anwen- dungsmodulspezifischen angebotenen Anwendungsschnittstellen der wenigstens zwei Anwendungsmodule durch ein Ankoppelmodul implementiert werden, welches die Kommunikation zwischen den wenigstens zwei Anwendungsmodulen herstellt und welches den wenigstens einen Dienst aktivierbar bereitstellt.
In Bezug auf ein gattungsgemäßes Rechnerprogrammprodukt wird insbesondere vorgeschlagen, dass das Programm Programmcodeab- schnitte eines Programms zum Ausführen der Schritte eines Verfahrens gemäß der Erfindung aufweist, wenn das Programm durch die Rechnereinheit ausgeführt wird, sodass wenigstens ein Dienst in einer Kommunikation zwischen wenigstens zwei Anwendungsmodulen eines Cyber-physikalischen Systems akti- vierbar bereitgestellt wird.
In Bezug auf einen gattungsgemäßen elektronisch lesbaren Da- tenträger mit darauf gespeicherten elektronisch lesbaren Steuerinformationen wird insbesondere vorgeschlagen, dass die Steuerinformationen zumindest ein Rechnerprogrammprodukt ge- mäß der Erfindung umfassen und derart ausgestaltet sind, dass bei Steuerung einer Rechnereinheit unter Nutzung der Steuer- informationen des Datenträgers die Rechnereinheit das Verfah- ren der Erfindung durchführt.
In Bezug auf ein gattungsgemäßes Cyber-physikalisches System wird mit der Erfindung insbesondere vorgeschlagen, dass das Cyber-physikalische System ein Ankoppelmodul aufweist, in welchem zumindest die anwendungsmodulspezifischen angebotenen Anwendungsschnittstellen der wenigstens zwei Anwendungsmodule implementiert sind und welches ausgebildet ist, die Kommuni- kation zwischen den wenigstens zwei Anwendungsmodulen herzu- stellen und wenigstens einen Dienst aktivierbar bereitzustel- len.
In Bezug auf ein gattungsgemäßes Ankoppelmodul wird insbeson- dere vorgeschlagen, dass das Ankoppelmodul ausgebildet ist, wenigstens einen Dienst aktivierbar in einer Kommunikation zwischen wenigstens zwei Anwendungsmodulen bereitzustellen, wobei das Ankoppelmodul für das Cyber-physikalische System gemäß der Erfindung ausgebildet ist.
Die Erfindung basiert unter anderem auf dem Gedanken, dass durch das Ankoppelmodul, im Folgenden auch CPS Interface Mo- dule (CIM) genannt, Schnittstellen von CPS Funktionsmodulen (englisch: CPS Function Module; CFM) beziehungsweise Anwen- dungsschnittstellen, beispielsweise des wenigstens einen An- wendungsmoduls, das heißt, Schnittstellen dieser Module aus den CPS Funktionsmodulen extrahiert und in dem separaten An- koppelmodul zusammengeführt werden können, sodass die Kommu- nikation zwischen dem wenigstens zwei Anwendungsmodulen über das Ankoppelmodul erfolgen kann. Dadurch wird die Möglichkeit geschaffen, mittels des Ankoppelmoduls beziehungsweise des CIM einen zusätzlichen neuen Dienst aktivierbar bereitzustel- len.
Das Anwendungsmodul kann zum Beispiel ein Steuermodul eines Roboterarms oder dergleichen sein. Das Steuermodul kann bei- spielsweise eine Rechnereinheit aufweisen, die dem Steuern des Roboterarms dient. Die Anwendungsmodule stellen jeweils eine Schnittstelle bereit, nämlich die Anwendungsschnittstel- le, die vorzugsweise eine anwendungsmodulspezifische angebo- tene Anwendungsschnittstelle darstellt. Über diese Schnitt- stelle stellt das Anwendungsmodul einen Kommunikationszugang bereit, über den beispielsweise Daten ausgetauscht werden können. Die Anwendungsschnittstelle kann zum Beispiel auch als Programmierschnittstelle (englisch: application program- ming Interface; API) ausgestaltet sein, über die ein Pro- grammteil von einem Programmsystem anderen Rechnerprogranunen zur Anbindung an das Programmsystem zur Verfügung gestellt werden kann. Natürlich ist die Erfindung hierauf nicht be- schränkt. Dem Grunde nach könnten die Anwendungsmodule auch beide jeweilige Rechnereinheiten oder dergleichen sein.
Über die Schnittstellen ist es möglich, die Kommunikation zwischen den Anwendungsmodulen zu führen. Das erste Anwen- dungsmodul kann zu diesem Zweck seine Daten über die Anwen- dungsschnittstelle des zweiten Anwendungsmoduls an das jewei- lige zweite Anwendungsmodul übermitteln. Umgekehrt kann das zweite Anwendungsmodul seine Daten über die Anwendungs- schnittstelle des ersten Anwendungsmoduls an das erste Anwen- dungsmodul übermitteln. Dadurch kann eine bidirektionale Kom- munikation zwischen den Anwendungsmodulen erreicht werden. Je nach Bedarf kann unter Umständen auch eine unidirektionale Kommunikation zwischen den Anwendungsmodulen ausreichen, bei- spielsweise wenn eines der Anwendungsmodule durch einen Sen- sor oder dergleichen gebildet ist, der Sensordaten an das An- wendungsmodul liefert, eines der Anwendungsmodule Bewegungs- daten an das andere der Anwendungsmodule zum Ausführen einer vorgebbaren Bewegung liefert und/oder dergleichen. Darüber hinaus braucht die Erfindung natürlich nicht auf eine Kombi- nation von zwei Anwendungsmodulen begrenzt zu sein. Vielmehr besteht die Möglichkeit, zusätzliche Anwendungs- beziehungs- weise Steuermodule ergänzend zu berücksichtigen. Für das Grundprinzip der Erfindung ist dies jedoch nicht relevant.
Das Ankoppelmodul beziehungsweise CIM ermöglicht es nun, dadurch, dass die Schnittstellen im Ankoppelmodul implemen- tiert sind, auf einfache Weise zusätzliche Dienste verfügbar zu machen.
Eine Funktion gibt an, was das Cyber-physikalische System (CPS) ausführen soll. Sie stellt somit eine Operation bezie- hungsweise einen Betrieb in einer Funktionsdomäne des Cyber- physikalischen Systems dar. Ein solches Cyber-physikalisches System kann zum Beispiel ein Roboterarm mit einem Greifer sein, insbesondere in einer Domäne Zusammenbau von Gütern im weitesten Sinne mit aufgabenbezogenen Funktionen, wie zum Beispiel den Roboterarm bewegen, den Greifer zu öffnen, ein Werkstück ergreifen, in Uhrzeigerrichtung schrauben und/oder dergleichen . Funktionen sind in CPS-Funktionsmodulen (CFN) enthalten beziehungsweise implementiert.
Ein Service kann dagegen das Bestimmen von demjenigen sein, was das Cyber-physikalische System tun soll. Darüber hinaus ist eine Operation in einer Überwachungsdomäne eines Cyber- physikalischen Systems, daher auch extra-funktionaler Service genannt, zum Beispiel ein Dienst zum Überwachen, Testen und Sichern von Funktionen des Cyber-physikalisches Systems. Dienste sind in CPS Service Modulen (CSM) enthalten bezie- hungsweise implementiert.
Somit kann ein einfacher Mechanismus zwischen zwei oder mehr miteinander kommunizierenden Modulen eines Cyber- physikalischen Systemknotens beziehungsweise -prozesses rea- lisiert werden, um modulare, extra-funktionale Dienste in in- dividuelle Cyber-physikalische Systemknoten beziehungsweise - prozesse dynamisch zu laden, zu steuern, beispielsweise zu aktivieren und zu deaktivieren, und dynamisch zu entfernen, und zwar insbesondere während der Laufzeit des Cyber- physikalischen Systems. Der Mechanismus installiert hierfür Eingriffspunkte (englisch: mount point) im wenigstens einen Ankoppelmodul, an denen die extra-funktionalen Dienste in se- paraten zielgerichteten Dienste-Modulen, die während der Laufzeit eines Cyber-physikalischen Systemknotens beziehungs- weise prozesses dynamisch sein können, eingreifen können, gesteuert werden können und auch wieder abgekoppelt werden können.
Extra-funktionale Dienste können das Überwachen und Testen von individuellen Funktionen und Daten, die Kostenplanung von Ressourcen, beispielsweise Ausführzeiten für Funktionen, An- zahl der Aktivierung von Funktionen, einen Umfang der Funkti- onen, das Prüfen von Funktionenzugriffsrechten, das Auswahlen und Umschalten zwischen alternativen, jedoch unterschiedli- chen Funktionenimplementierungen, zum Beispiel in Rückfallsi- tuationen oder ÜbernahmeSituationen, und das Testen von Be- dingungen zwischen miteinander kommunizierenden Funktions- Modulen umfassen. Die Funktions-Module können zum Beispiel Anwendungsmodule sein.
Das Integrieren von Eingriffspunkten in einen Cyber- physikalischen Systemknoten beziehungsweise -prozess mittels des vorgeschlagenen Mechanismus der Erfindung ändert nicht die Struktur beziehungsweise Implementierung der Cyber- physikalischen Funktionen in den miteinander kommunizierenden Funktions-Modulen .
Die Funktions-Module sind vorzugsweise zumindest teilweise durch eine oder mehrere Rechnereinheiten bereitgestellt, die mit einem geeigneten Rechnerprogramm betrieben werden. Dem Grunde nach besteht jedoch auch die Möglichkeit, eines oder mehrere der Funktions-Module zumindest teilweise auch mittels einer entsprechend geeigneten HardwareSchaltung zu realisie- ren. Besonders vorteilhaft erweist es sich, wenn die Funkti- ons-Module zumindest teilweise Cloud-basiert realisiert sind beziehungsweise bereitgestellt werden. Dadurch besteht die Möglichkeit, die Funktions-Module nahezu unabhängig von einem Ort für die gewünschte Funktion bereitzustellen und gegebe- nenfalls auch zu warten.
Das Cyber-physikalisches System, insbesondere das Anwendungs- modul, kann eine elektronische Schaltung, eine Rechnerein- heit, Kombinationen hiervon und/oder dergleichen aufweisen. Die Rechnereinheit kann derart eingerichtet sein, dass sie das Verfahren gemäß der Erfindung zumindest teilweise ausfüh- ren kann, zu welchem Zweck sie mittels des Rechnerprogramms entsprechend gesteuert wird. Sowohl die Rechnereinheit als auch die elektronische Schaltung können durch einen oder meh- rere Halbleiter-Chips gebildet sein. Darüber hinaus kann das Cyber-physikalische System, insbesondere das Anwendungsmodul, auch diskrete elektronische Bauelemente sowie Kombinationen mit Halbleiter-Chips aufweisen. Insbesondere kann das Cyber- physikalische System, insbesondere das Anwendungsmodul, eine Speichereinheit umfassen, in der zumindest teilweise Trai- ningsdatensätze hinterlegt sein können. Darüber hinaus kann in der Speichereinheit zumindest teilweise das Rechnerpro- gramm für die Rechnereinheit gespeichert sein. Das Cyber- physikalisches System kann zumindest teilweise auch Cloud- basiert ausgebildet sein. Insbesondere kann die Rechnerein- heit als verteilte Rechnereinheit ausgebildet sein, vorzugs- weise zumindest teilweise eine Cloud bildend ausgebildet sein.
Das vorgenannte Rechnerprogrammprodukt kann mittels eines rechnerlesbaren Speichermediums bereitgestellt sein. Darüber hinaus kann das Rechnerprogramm direkt in einen internen Speicher der Rechnereinheit ladbar sein. So ist es beispiels- weise möglich, das Rechnerprogramm aus einem Netzwerk, insbe- sondere dem Internet, von einer Datenquelle, beispielsweise einem Server, herunterzuladen und in einem internen Speicher der Rechnereinheit zu laden, sodass die Rechnereinheit das Rechnerprogramm ausführen kann. Vorzugsweise umfasst das Rechnerprogrammprodukt ein rechnerlesbares Medium, auf wel- chem die Progranunkodeabschnitte gespeichert sind. Ein solches rechnerlesbares Medium kann beispielsweise ein Speicherbau- stein, beispielsweise ein PROM, eine Compact-Disk, ein USB- Stick oder dergleichen sein.
Das Cyber-physikalische System ist unter Nutzung des Ankop- pelmoduls ausgebildet, wenigstens einen Dienst in einer Kom- munikation zwischen wenigstens zwei Anwendungsmodulen bereit- stellen zu können. Zu diesem Zweck sieht das Ankoppelmodul vor, dass im Ankoppelmodul zumindest die Anwendungsschnitt- stelle von wenigstens einem der wenigstens zwei Anwendungsmo- dule implementiert ist. Darüber hinaus weist das Ankoppelmo- dul einen aktivierbaren Dienst auf, der wie oben bereits erläutert in die Kommunikation zwischen dem Steuermodul und dem Anwendungsmodul eingreifen kann, und zwar vorzugsweise an einem vorgegebenen beziehungsweise vorgebbaren Eingriffs- punkt, und der entsprechend gesteuert werden kann. Der Ein- griffspunkt kann automatisiert ermittelt werden, beispiels- weise abhängig von der Kommunikation zwischen den wenigstens zwei Anwendungsmodulen.
Darüber hinaus kann der Dienst natürlich auch abgekoppelt werden, insbesondere wenn er nicht mehr benötigt wird. Das Ankoppelmodul ist somit zwischen den wenigstens zwei Anwen- dungsmodulen zwischengeschaltet und stellt die Kommunikati- onsverbindung zwischen diesen beiden Anwendungsmodulen her. Dadurch besteht die Möglichkeit, ohne die bisherige bestim- mungsgemäße Funktion in Bezug auf die Kommunikation zwischen den wenigstens zwei Anwendungsmodulen zu stören, zusätzliche Dienste bedarfsweise bereitzustellen und zu aktivieren bezie- hungsweise zu deaktivieren. Dadurch kann das Cyber- physikalische System insgesamt verbessert werden, insbesonde- re hinsichtlich seiner Flexibilität und Nutzung.
Darüber hinaus wird vorgeschlagen, dass der wenigstens eine Dienst über eine Diensteschnittstelle des Ankoppelmoduls ge- laden wird. Zu diesem Zweck kann das Ankoppelmodul über die Diensteschnittstelle mit einer entsprechenden Datenbank be- ziehungsweise Datenquelle beziehungsweise Dienstequelle in Kommunikationsverbindung stehen. Beispielsweise kann vorgese- hen sein, dass ein vorgegebener Dienst von einer Zentrale ge- steuert über die Diensteschnittstelle in das Ankoppelmodul geladen wird. Das Ankoppelmodul kann zu diesem Zweck bei- spielsweise steuerungstechnisch mit der Zentrale Kommunikati- onsverbindung stehen.
Darüber hinaus wird vorgeschlagen, dass der wenigstens eine Dienst nach dem Laden im Ankoppelmodul betrieben wird. Durch das Betreiben des Dienstes im Ankoppelmodul ist es also mög- lich, den entsprechenden Dienst zu nutzen und zur Verfügung zu stellen. Darüber hinaus besteht natürlich auch die Mög- lichkeit, durch das Betreiben des Dienstes eine Steuerungs- möglichkeit für das Ankoppelmodul, insbesondere für den be- triebenen Dienst, bereitzustellen, um beispielsweise weitere Funktionalitäten im Hinblick auf die Nutzung des Dienstes steuern zu können. Darüber hinaus können natürlich auch durch die Nutzung des Dienstes erfasste und/oder ermittelte Daten bereitgestellt werden.
Vorzugsweise wird der wenigstens eine Dienst nach dem Betrei- ben aktivierbar bereitgestellt. Dadurch kann die Nutzung des Dienstes, insbesondere in Bezug auf die Kommunikationsverbin- dung, bedarfsgerecht gesteuert werden. Der Dienst braucht so- mit nicht permanent aktiviert zu sein. Es kann jedoch vorge- sehen sein, dass das Betreiben des Dienstes zugleich auch seine Aktivierung beinhaltet. Vorzugsweise ist jedoch die Ak- tivierung des Dienstes separat vom Betreiben des Dienstes, welches es erlaubt, Beeinflussungen aufgrund der Nutzung des Dienstes möglichst gering halten zu können.
Gemäß einer Weiterbildung wird vorgeschlagen, dass für den wenigstens einen Dienst ein Eingriffspunkt ermittelt wird. Durch den Eingriffspunkt kann die Funktion des Dienstes an die Kommunikation in der Kommunikationsverbindung in einer geeigneten Weise angekoppelt werden, sodass die gewünschte Nutzung des Dienstes realisiert werden kann. Der Eingriffs- punkt kann zum Beispiel eine bestimmte Stelle in einer Sig- nal- beziehungsweise Datenfolge der Kommunikation sein. Zu diesem Zweck kann vorgesehen sein, dass die Kommunikation in der Kommunikationsverbindung mittels des Dienstes oder auch durch das Ankoppelmodul selbst erfasst und ausgewertet wird, um den günstigsten Eingriffspunkt ermitteln zu können. Beim Aktivieren des Dienstes wird dieser dann an dem entsprechen- den ermittelten Eingriffspunkt eingekoppelt.
Vorzugsweise wird der Dienst abhängig von einem Steuersignal aktiviert. Dieses Steuersignal kann ein Steuersignal sein, welches das Ankoppelmodul von einer separaten Einheit, bei- spielsweise der Zentrale oder dergleichen, erhält. Dem Grunde nach besteht natürlich auch die Möglichkeit, dass das Steuer- signal durch wenigstens eines der wenigstens zwei Anwendungs- module bereitgestellt wird. Das Ankoppelmodul kann das Steu- ersignal unmittelbar für den wenigstens einen Dienst bereit- stellen . Natürlich kann auch vorgesehen sein, dass das Ankop- pelmodul das Steuersignal zunächst auswertet und den Dienst dann abhängig vom Auswerten aktiviert.
Darüber hinaus wird vorgeschlagen, dass ein Funktionsaufruf eines der Anwendungsmodule ermittelt wird und mittels des ak- tivierten Dienstes Daten des Funktionsaufrufs erfasst werden. Dadurch wird die Möglichkeit geschaffen, die Funktion des An- wendungsmoduls zu erfassen, insbesondere zu überwachen und vorzugsweise auch entsprechende Daten über den aktivierten Dienst bereitzustellen. Diese Daten können zum Beispiel an die Zentrale, einen Nutzer des Cyber-physikalischen Systems oder dergleichen übermittelt werden. Natürlich können die Da- ten gegebenenfalls auch unter Nutzung des Ankoppelmoduls ge- speichert werden. Die Daten können Betriebsdaten bezüglich des wenigstens einen Anwendungsmoduls sein.
Weiterhin wird vorgeschlagen, dass eine Funktionsantwort ei- nes der Anwendungsmodule ermittelt wird und mittels des akti- vierten Dienstes Daten der Funktionsantwort erfasst werden. Dadurch kann beispielsweise die Funktionsbereitschaft des An- wendungsmoduls ermittelt werden. Auch hier können die Daten zum Beispiel entweder mittels des Ankoppelmoduls gespeichert werden, insbesondere abrufbar gespeichert werden, oder auch an die Zentrale übermittelt werden. Die Funktion des Cyber- physikalischen Systems kann dadurch weiter verbessert werden.
Es wird ferner vorgeschlagen, dass die erfassten Daten ausge- wertet werden und zumindest der Funktionsaufruf oder die Funktionsantwort abhängig vom Auswerten der Daten angepasst werden, bevor der Funktionsaufruf beziehungsweise die Funkti- onsantwort vom jeweiligen Ankoppelmodul an das jeweils andere Anwendungsmodul übermittelt wird. Bei dieser Ausgestaltung kann sich der Dienst des Ankoppelmoduls somit in die Kommuni- kation zwischen den wenigstens zwei Anwendungsmodulen Zwi- schenschalten und auf die Kommunikation Einfluss nehmen. Dadurch kann die Flexibilität in Bezug auf die Steuerung des Cyber-physikalischen Systems weiter verbessert werden. Bei- spielsweise können ergänzende Betriebsvergaben oder Sicher- heitsvorgaben mittels des Ankoppelmoduls, insbesondere des wenigstens einen Dienstes, ergänzend durch das Cyber- physikalische System verfügbar gemacht werden.
Gemäß einer Weiterbildung wird vorgeschlagen, dass der Dienst die Kommunikation zwischen dem wenigstens zwei Anwendungsmo- dulen erfasst, hinsichtlich vorgegebener Daten analysiert und abhängig von dem Analysieren ein Meldesignal abgibt. Dadurch kann die Funktion des Cyber-physikalischen Systems besser überwacht werden, zum Beispiel in Bezug auf Betriebsparame- ter, Funktionen, gestörte Zustände und/oder dergleichen. Die Betriebssicherheit des Cyber-physikalischen Systems kann dadurch weiter verbessert werden.
Vorzugsweise wird im Rahmen des Analysierens ermittelt, ob eines der Anwendungsmodule bestimmungsgemäß funktioniert.
Dies betrifft die Nutzung des Cyber-physikalischen Systems insgesamt und kann beispielsweise sicherheitsrelevant sein. Darüber hinaus kann dies auch aus nutzungstechnischer Sicht irgendeines Cyber-physikalischen Moduls relevant sein, bei- spielsweise bei einer Herstellung von Produkten oder derglei- chen. Beispielsweise kann ermittelt werden, ob eines der we- nigstens zwei Anwendungsmodule einen gestörten Betriebszu- stand hat, defekte Daten an das jeweils andere Anwendungsmo- dul übermittelt und/oder dergleichen. Die Sicherheit und die Nutzbarkeit des Cyber-physikalischen Systems können dadurch verbessert werden.
Insbesondere kann vorgesehen sein, dass abhängig von der be- stimmungsgemäßen Funktion des wenigstens einen Anwendungsmo- duls die Kommunikation zwischen wenigstens einem der wenigs- tens zwei Anwendungsmodule und einem dritten Anwendungsmodul hergestellt wird. Dies erlaubt es, eine Redundanz zu schaf- fen, sodass der Cyber-physikalische Systemknoten weiter be- stimmungsgemäß betrieben werden kann. Dieser Fall kann zum Beispiel relevant sein, wenn das Anwendungsmodul eine Störung aufweist und das Anwendungsmodul nicht entsprechend weiter betrieben werden kann. Dies kann mittels des Dienstes des An- koppelmoduls ermittelt werden. Darüber hinaus kann der Dienst auch ermitteln, dass ein anderes drittes Anwendungsmodul ver- fügbar ist, welches die Steuerung des Anwendungsmoduls über- nehmen kann, und die Kommunikation zu diesem dritten Anwen- dungsmodul umleiten. Zu diesem Zweck kann dann zum Beispiel in die Kommunikationsverbindung eingegriffen werden und die Kommunikationsverbindung vom ersten gestörten Anwendungsmodul zu einem dritten betriebsbereiten Anwendungsmodul hergestellt werden. Dadurch kann die Zuverlässigkeit des Cyber- physikalischen Systems weiter verbessert werden.
Weiterhin wird vorgeschlagen, dass der Dienst zumindest eines der wenigstens zwei Anwendungsmodule identifiziert und abhän- gig von der Identifikation aktiviert wird. Der Dienst braucht daher nicht nur beispielsweise von der Zentrale aktiviert werden zu können, sondern seine Aktivierung kann auch davon abhängig sein, welche Anwendungsmodule gerade aktuell in Kom- munikationsverbindung stehen. Dadurch kann die Nutzung eines spezifischen Dienstes an spezifische Anwendungsmodule automa- tisiert angepasst werden. Es brauchen hierfür keine separaten Steuerfunktionen vorgesehen zu sein.
Die für das erfindungsgemäße Verfahren angegebenen Vorteile und Wirkungen gelten natürlich gleichermaßen auch für das er- findungsgemäße Rechnerprogrammprodukt, den erfindungsgemäßen elektronisch lesbaren Datenträger, das erfindungsgemäße Cy- ber-physikalische System und das erfindungsgemäße Ankoppelmo- dul beziehungsweise umgekehrt. Infolgedessen können Verfah- rensmerkmale auch vorrichtungsmäßig oder umgekehrt formuliert sein.
Bei den im Folgenden erläuterten Ausführungsbeispielen han- delt es sich um bevorzugte Ausführungsformen der Erfindung. Die vorhergehend in der Beschreibung angegebenen Merkmale, Merkmalskombinationen sowie auch die in der folgenden Be- schreibung von Ausführungsbeispielen genannten und/oder in den Figuren alleine gezeigten Merkmale und Merkmalskombinati- onen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen verwendbar. Es sind so- mit auch Ausführungen von der Erfindung umfasst beziehungs- weise als offenbart anzusehen, die in den Figuren nicht ex- plizit gezeigt und erläutert sind, jedoch durch separierte Merkmalskombinationen aus den erläuterten Ausführungsformen hervorgehen und erzeugbar sind. Die anhand der Ausführungs- beispiele dargestellten Merkmale, Funktionen und/oder Wirkun- gen können für sich genommen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale, Funktionen und/oder Wirkungen der Erfindung darstellen, welche die Erfindung je- weils auch unabhängig voneinander weiterbilden. Daher sollen die Ausführungsbeispiele auch andere Kombinationen als die in den erläuterten Ausführungsformen umfassen. Darüber hinaus können die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale, Funktionen und/oder Wir- kungen der Erfindung ergänzt sein.
In den Figuren bezeichnen gleiche BezugsZeichen gleiche Merk- male und Funktionen.
Es zeigen:
FIG 1 eine schematische Blockdarstellung für einen Cyber-physikalischen Systemknoten beziehungs- weise -prozess, bei dem drei Funktionsmodule eines Cyber-physikalischen Systems miteinander in Kommunikation stehen, FIG 2 eine schematische Blockdarstellung wie FIG 1, bei der Funktionsmodule kommunikationstech- nisch über Ankoppelmodule des Cyber- physikalischen Systems gekoppelt sind, FIG 3 in einer schematischen Blockdarstellung wie FIG 2 einer detaillierten Darstellung der kom- munikationstechnischen Kopplung mittels des Ankoppelmoduls zwischen zwei Funktionsmodulen, FIG 4 eine schematische Blockdarstellung einer Kno tenkonfiguration gemäß FIG 3, FIG 5 eine schematische Darstellung eines Zustands- diagramms bezüglich der aktiven Bereitstellung eines Dienstes durch das Ankoppelmodul gemäß FIG 3 FIG 6 bis 9 schematische Blockdarstellungen bezüglich der Änderung der Struktur beziehungsweise Konfigu- ration des Cyber-physikalischen Systemknotens beziehungsweise -prozesses ausgehend von einem Zustand gemäß FIG 6 über Zwischenzustände ge- mäß der FIG 7, 8 bis zum endgültigen Zustand gemäß FIG 9,
FIG 10 bis 16 schematische Zustandsdarstellungen für unter schiedliche Aktivierungen von verschiedenen Diensten,
FIG 17 eine schematische Blockdarstellung einer Be- triebskonfiguration des Ankoppelmoduls gemäß FIG 5, mit Parameteränderungen eines Dienstes,
FIG 18 eine schematische Blockdarstellung einer ers- ten Anwendung mit einem Ablauf, der ein Ankop· pelmodul zur Überwachung des Betriebs von ei- ner oder mehreren Funktionsmodulen eines Cy- ber-physikalischen Systems während des bestim· mungsgemäßen Betriebs nutzt, und
FIG 19 eine schematische Blockdarstellung wie FIG 18 einer zweiten Anwendung zum Eingreifen in eine Funktionsmodul eines Cyber-physikalischen Sys- tems, um eine alternative oder verbesserte Funktionalität oder eine Kommunikationsverbin- dung zu einem anderen Cyber-physikalischen Systemknoten beziehungsweise -prozess herzu- stellen.
In FIG 1 zeigt in einer schematischen Blockdarstellung einen Cyber-physikalischen Prozess beziehungsweise -knoten 32, der drei Funktionsmodule 12, 14, 16 des Cyber-physikalischen Kno- tens 32 umfasst. In der vorliegenden Ausgestaltung ist vorge- sehen, dass das Funktionsmodul 12 ein Steuermodul ist, wel- ches dazu dient, eine Tätigkeit in einer Funktionsdomäne des Cyber-physikalischen Systems 32 auszuführen. Das Steuermodul ist vorliegend ein Anwendungsmodul. Das Steuermodul 12 dient dazu, für den bestimmungsgemäßen Betrieb der weiteren Funkti- onsmodule 14, 16, die vorliegend Anwendungsmodule darstellen, bereitzustellen. Die Anwendungsmodule 14, 16 können zum Bei- spiel ein Roboterarm sein wie das Anwendungsmodul 14 oder auch ein Sensor, wie das Anwendungsmodul 16. Das Prinzip der Erfindung ist jedoch hierauf nicht beschränkt. Auch die An- zahl der Funktionsmodule kann natürlich bedarfsweise variiert werden, ohne den Gedanken der Erfindung zu verlassen.
FIG 1 zeigt den Cyber-physikalischen Systemknoten 32, bei dem das Anwendungsmodul 16 eine Anwendungsschnittstelle 26 be- reitstellt, über die eine Kommunikation mit dem Anwendungsmo- dul 16 von außerhalb des Cyber-physikalischen Systemknotens 32 möglich ist. Das Anwendungsmodul 16 kommuniziert über eine Steuerschnittstelle 22 mit dem Steuermodul 12. Darüber hinaus kommuniziert das Steuermodul 12 über eine Anwendungsschnitt- stelle 20 des Anwendungsmoduls 14 mit dem Anwendungsmodul 14. Das Anwendungsmodul 14 seinerseits kommuniziert mit dem Steu- ermodul 12 über eine Steuerschnittstelle 18.
Bei den Funktionsmodulen 12, 14, 16 handelt es sich um Funk- tionsmodule des Cyber-physikalischen Systemknotens 32 mit Funktionen FT. In einer Ausgestaltung ist es somit möglich, dass das Anwendungsmodul 16, welches einen Sensor repräsen- tiert, Sensordaten über die Steuerschnittstelle 22 zum Steu- ermodul 12 überträgt. Das Anwendungsmodul 14, welches ein Ro- boterarm repräsentieren kann, kann vom Steuermodul 12 Steuer- daten beziehungsweise Steuerbefehle erhalten und Positions- und Betriebsdaten über die Steuerschnittstelle 18 an das Steuermodul 12 übermitteln. Dadurch kann ein bestimmungsgemä- ßer Betrieb realisiert werden.
Die Ausgestaltung gemäß FIG 1 erweist sich insofern als nach- teilig, als dass zusätzliche Dienste nur mit großem Aufwand nachträglich implementiert werden können.
FIG 2 zeigt in einer schematischen Blockdarstellung wie FIG 1, wie zwischen die Funktionsmodule 12, 14, 16 jeweilige An- koppelmodule 28, 30 zwischengeschaltet sind. Die Anwendungs- und Steuerschnittstellen 18, 20, 22, 26 sind vorliegend von den jeweiligen Funktionsmodulen 12, 14, 16 extrahiert und in den jeweiligen Ankoppelmodule 28, 30 implementiert. Die An- koppelmodule 28, 30 stellen hier also die Kommunikationsver- bindung zwischen den Funktionsmodulen 12, 14, 16 bereit. Mit den Ankoppelmodulen 28, 30 können die Funktionsmodule 12, 14, 16 vollständig entkoppelt werden.
Jeweils zwei der Funktionsmodule 12, 14, 16 kommunizieren vorliegend über ein jeweiliges der Ankoppelmodule 28, 30. Die Kommunikation zwischen den Funktionsmodulen 12, 14, 16 hängt ab beziehungsweise ist bereitgestellt durch die zwischenge- schalteten Ankoppelmodule 28, 30. Die Funktionsmodule 12, 14, 16 sind nicht mehr unmittelbar kommunikationstechnisch mitei- nander gekoppelt.
Die Ankoppelmodule 28, 30 sind ferner nicht abhängig von den Funktionsmodulen 12, 14, 16. Die Ankoppelmodule 28, 30 stel- len jedoch die jeweiligen Schnittstellen 18, 20, 22, 26 be- reit, über die dann die jeweilige Kommunikation zwischen den Funktionsmodulen 12, 14, 16 vermittelt werden kann.
Wenn die Ankoppelmodule 28, 30 zwischen den Funktionsmodulen 12, 14, 16 zwischengeschaltet sind, bewirken die Ankoppelmo- dule 28, 30 keinen Überhang neben aktivierten Funktionen des Cyber-physikalischen Systems indirekt über Funktionszeiger. Die Anwendungsschnittstellen 18, 20, 22, 26 der Funktionen des Cyber-physikalischen Systemknotens 32 und die Implemen- tierungen der Funktionen bleiben unverändert. Die Anwendungs- schnittstellen 18, 20, 22, 26 der Funktionsmodule 12, 14, 16 werden aus den jeweiligen Funktionsmodulen 12, 14, 16 heraus- gelöst und sind durch die Ankoppelmodule 28, 30 erfasst. Die- se sind somit zwischen den Funktionsmodulen 12, 14, 16 einge- setzt beziehungsweise zwischengeschaltet, um die Kommunikati- on in den Funktionsmodulen 12, 14, 16 unter Beibehaltung ei- ner für die Anwendungsschnittstellen 18, 20, 22, 26 definier- ten Semantik beizubehalten.
FIG 3 zeigt anhand eines Beispiels unter Nutzung der Funkti- onsmodule 12, 16 und des Ankoppelmoduls 28, wie ein Angriffs- punkt 36 unter Berücksichtigung der Funktionsschnittstellen 22 und einer Funktionsschnittstelle 34 implementiert werden kann, wobei die für die Funktionsschnittstelle 22 definierte Semantik beibehalten werden kann. FIG 3 zeigt den Eingriffs- punkt 36 (englisch: Mount Point, Service Hook) in Form eines Beispiels.
Ein Eingriffspunkt implementiert im Allgemeinen eine heraus- gelöste Schnittstelle aus einer Funktion eines Cyber- physikalischen Systemknotens. Die Implementierung des Ein- griffspunkts 36 dient unter anderem dazu, spezifische Funkti- onen des Cyber-physikalischen Systemknotens 32 anzukoppeln beziehungsweise abzukoppeln, spezifische Dienste 10, 24 des Cyber-physikalischen Systemknotens 32 dynamisch anzukoppeln und abzukoppeln, und Funktionsaufrufe an angekoppelte Dienste 10, 24 und/oder Funktionen des Cyber-physikalischen System- knotens 32 weiterzuleiten.
Ein Eingriffspunkt wie der Eingriffspunkt 36 ist ein spezifi- scher Dienst zu einer Funktion des Cyber-physikalischen Sys- tems. Ein Eingriffspunkt wie der Eingriffspunkt 36 ist im An- koppelmodul 28 enthalten und läuft im Ankoppelmodul 28. Der Eingriffspunkt 36 kann keine oder mehrere dynamisch ladbare spezifische Dienste des Cyber-physikalischen Systems für die gleiche Cyber-physikalische Funktion koppeln. Der Dienst 10, 24 kann zum Beispiel ein Überwachen, ein Testen, ein Ein- schalten beziehungsweise Ausschalten, ein Sichern und/oder dergleichen umfassen. Spezifische Dienste des Cyber- physikalischen Systems laufen im Funktionsmodul 42 des Cyber- physikalischen Systems.
In FIG 3 lädt ein Servicemodul 38 einen oder mehrere Dienste beziehungsweise Diensteinstanzen mittels einer Diensteeinheit 40 Ds in eine Systemlaufzeit des Ankoppelmoduls 28. Diese Dienste werden instanziiert, um CPS-Funktionsinstanzen, die durch eine Funktionseinheit 44 DF geladen und instanziiert worden sind, zu umgeben.
Eingriffspunkte wie der Eingriffspunkt 36 im Ankoppelmodul 28 und alle Dienste, die an den Eingriffspunkten angekoppelt sind, können die Semantik der Anwendungsschnittstellen 20, 34 einhalten, die in das Ankoppelmodul 28 implementiert sind.
Die Eingriffspunkte sind somit um Funktionen in den Funkti- onsmodulen herum realisiert. Ein Eingriffspunkt wie der Ein- griffspunkt 36 zeigt eine entsprechende zugeordnete Funktion in einem Funktionsmodul 42 mit der Möglichkeit, den extra- funktionalen Dienst während der Laufzeit des Cyber- physikalischen Systemknotens 32 einzukoppeln, und zwar durch Implementieren der gleichen Anwendungsschnittstelle wie die der zugeordneten Funktion, wie ferner anhand von FIG 4 darge- stellt ist.
In FIG 4 bezeichnet 46 einen Funktionsaufruf des Anwendungs- moduls 16, der an das Ankoppelmodul 28 übermittelt wird. Ebenso bezeichnet 82 einen Funktionsaufruf des Steuermoduls 12, der an das Ankoppelmodul 28 übermittelt wird. Mit 54 ist eine Funktion bezeichnet. Im Ankoppelmodul 28 werden die Funktionsaufrufe 46, 82 an eine jeweilige Schnittstelle 22,
34 übermittelt. Darüber hinaus wird ein Eingriffspunkt 36 er- mittelt, der an eine Diensteeinheit 48 übermittelt wird. Die Serviceeinheit 48 erhält aus einem Dienstemodul 50 einen spe- zifischen Dienst 52, der an die Diensteinheit 48 übermittelt wird. Mit 56 beziehungsweise 84 wird ein Aufruf eines nächs- ten Dienstens oder einer nächsten Funktion an die Schnitt- stelle 22, 34 übermittelt.
Das Anwendungsmodul 16 ist ein Funktionsmodul des Cyber- physikalischen Systems 32 mit Funktionen in einer Client- Rolle. Das Funktionsmodul 12 ist ein Funktionsmodul mit Funk- tionen in einer Server-Rolle beziehungsweise Provider-Rolle. Mit den Pfeilen in FIG 4 wird eine Implementierung darge- stellt, beispielsweise dass die Funktion 54 durch die Funkti- onsmodule 12, 16 implementiert ist. Ebenso implementiert die Diensteeinheit 48 den Eingriffspunkt 36 sowie den spezifi- schen Dienst 52.
Das folgende erste Programmlisting zeigt einen Knoten- Konfigurationsbetrieb :
01: LOAD <CSM:Services INTO CCIMS // State s0 s1 in Figure
5
02: UNLOAD <CSM:Services FROM CCIMS // State s1 s0 in Fig- ure 5
03: CREATE <CSM:Service:InstanceS FROM <CSM :Services // State s1 s2 in Figure 5
04: DELETE <CSM :Service:Instance> FROM <CSM:Services // State s2 s1 in Figure 5
05: MOUNT <CSM :Services (BELOW |ABOVE) <CSM:Service:InstanceS // State s2 s3 .1 in Figure
5
06: UNMOUNT <CSM:Service:InstanceS // State s3.1 s2 in Fig- ure 5
07: ENABLE (CALL|RETURN) <CSM:Service:InstanceS // State s3.1 -> s3.2 in Figure 5 08: DISABLE (CALL|RETURN) <CSM:Service:Instance> // State s3.2 s3 .1 in Figure 5 09: PARAMETER <CSM:Service:Instance> WITH <ParameterName>
<ParameterValue> // States3 -► s3 in Figure 5
Diese Konfigurationsabläufe steuern die Dienste des Cyber- physikalischen Systems eines Cyber-physikalischen Systemkno- tens 32 mittels einer Statusmaschine, wie sie anhand von FIG 5 dargestellt ist.
In FIG 5 bezeichnet SO einen Start- und einen Endzustand, bei dem ein Dienst des Cyber-physikalischen Systems und ein Dien- stehosting nicht im Cyber-physikalischen Systemknoten 32 vor- handen ist. Der Zustand Sl bezeichnet ein Dienstemodul, wel- ches geladen ist. Jedoch ist der Dienst noch nicht bereitge- stellt. Der Zustand S2 bezeichnet den bereitgestellten Dienst. Der Zustand S3 bezeichnet den Dienst, der an einer spezifischen Stelle eines Dienste-Stacks eingreift. Der Zu- stand S3.1 bezeichnet den Dienst im deaktivierten Zustand.
Der Zustand S3.2 bezeichnet den Dienst im aktivierten Zu- stand.
Mit 58 ist das Laden des Dienstes in das Ankoppelmodul 30 dargestellt . Es erfolgt somit ein Übergang vom Zustand SO zum Zustand S1. Mit 62 wird der Dienst bereitgestellt, woraufhin ein Übergang zum Zustand S2 erfolgt. Schließlich wird ein Eingriffspunkt beim Übergang gemäß BezugsZeichen 66 ermit- telt, woraufhin der Zustand S3.1 eingenommen wird. Mit 70 ist ein Übergang vom deaktivierten Zustand S3.1 zum aktivierten Zustand S3.2 dargestellt. Nun ist der Dienst aktiv. Mit 78 ist dargestellt, dass der Dienst parametrisiert werden kann.
72 bezeichnet den Übergang vom aktivierten Zustand S3.2 zum deaktivierten Zustand S3.1. Mit 68 wird der Dienst abgekop- pelt, sodass der Zustand S2 eingenommen wird. Mit 64 ist ein Übergang zum Zustand Sl dargestellt, bei dem das Bereitstel- len des Dienstes aufgehoben wird. Mit 60 kann der Dienst ge- löscht werden.
74 bezeichnet einen Funktionsaufruf vom Anwendungsmodul 14 zum Steuermodul 12, wohingegen 76 eine Funktionsantwort vom Steuermodul 12 zum Anwendungsmodul 14 zeigt. FIG 5 zeigt also einen Lebenszyklus eines extra-funktionalen Dienstes im Cy- ber-physikalischen Systemknoten 32.
Das im Folgenden dargestellte zweite Programmlisting zeigt eine Implementierung der Statusmaschine gemäß Fig. 5. Diese Implementierung realisiert On-Demand-Laden, Instanziieren so- wie Aktivieren des Dienstes um eine entsprechende Funktion herum. Natürlich sind auch andere Implementierungen möglich, beispielsweise Implementierungen, die ein separates Laden, Instanz!ieren oder Aktivieren des Dienstes während einer Dienstphase eines Cyber-physikalischen Systemknotens umfas- sen, während einer Betriebsphase des Cyber-physikalischen Systemknotens 32, oder dergleichen.
01: MountPoint.F(pl, ...) do // Mount point for Services around CPS function F with parameters pl,..., if any.
02: // State s0 in Figure 5
03: if new CPS Service(s) specified in the node configuration then
04: load the CSM(s) that contains the new Service(s)
05: // State s1 in Figure 5
06: instantiate specified CPS Service(s)
07: // State s2 in Figure 5
08: hook CPS Service instance(s) 09: // State s3.1 in Figure 5
10: if Service(s) enabled in the CPS node / process configu- ration then
11: enable CPS Service instance(s)
12: // State s3.2 in Figure 5
13: for all hooked and enabled CPS Services before CPS func- tion do
14 : call CPS Service Sbefore (p1, ...)
15: call CPS function F(p1, ...)
16: for all hooked and enabled CPS Services after CPS func- tion do 17 : call CPS Service Safter (p1 , ... )
18: return value from CPS function F or from last CPS Service
S or default values
Die FIG 6 bis 9 zeigen noch einmal, wie sich die Struktur be- ziehungsweise Konfiguration des Cyber-physikalischen System- knotens 32 ändert, ausgehend von einem Zustand gemäß FIG 6, bei dem ein Funktionsmodul 16 mit wenigstens einem Steuermo- dul 12 in Kommunikation steht und ein Ankoppelmodul 28 mit einem Eingriffspunkt 36 vorhanden ist, zu einem Zustand gemäß FIG 9, bei dem zusätzlich das folgende Modul geladen wird, nämlich ein Dienstemodul mit einem oder mehreren spezifischen Diensten um das Steuermodul 12 herum. Über eine im Ankoppel- modul 28, 30 implementierte Diensteschnittstelle 86 kann der entsprechende Dienst aus dem Dienstemodul 50 geladen werden.
Die FIG 7 und 8 zeigen Zwischenzustände und zwei alternative Übergangspfade . So kann ein Übergangspfad ausgehend von FIG 6 über FIG 7 zu FIG 9 sein, wohingegen ein anderer Übergangs- pfad ausgehend von FIG 6 über FIG 8 zur FIG 9 sein kann. In allen Konfigurationen von FIG 6 bis FIG 9 ist der Cyber- physikalische Systemknoten beziehungsweise -prozess 32 aus- führt. Der vorgeschriebene Mechanismus ermöglicht es, unter- schiedlichste Konfigurationen von Diensten für das Cyber- physikalische System zwischen Funktionen des Cyber- physikalischen Systemknotens beziehungsweise -prozesses 32 zu nutzen, wie anhand der weiteren FIG 10 bis 16 dargestellt ist.
Die FIG 15 und 16 zeigen insbesondere einen FailOver, bei dem das Anwendungsmodul 14, 16 von einem ersten Steuermodul 12 auf ein zweites Steuermodul 80 übergekoppelt wird, beispiels- weise wenn das erste Steuermodul 12 gestört ist. Darüber hin- aus sind diverse andere Nutzungen ersichtlich, wobei insbe- sondere auf die voransbehenden Ausführungen verwiesen wird.
In den FIG 10 bis 16 sind unterschiedliche Zustände darge- stellt, zwischen denen gewechselt werden kann. Ein Wechsel vom Zustand gemäß FIG 11 zum Zustand gemäß FIG 12 ist zum Beispiel in FIG 17 dargestellt, wobei ein Parameter eines Dienstes des Cyber-physikalisehen Systems geändert wird. Zum Zeitpunkt t1 ist der Dienst noch nicht angekoppelt. Das An- koppeln liegt jedoch zum Zeitpunkt t2 vor, wobei der Dienst jedoch noch deaktiviert ist. Zum Zeitpunkt t3 ist dann der Dienst aktiviert.
Zum Zeitpunkt t1 liegt der Zustand gemäß FIG 11 vor, wobei zum Zeitpunkt t3 der Zustand gemäß FIG 12 vorliegt. Zum Zeit- punkt t2 ist der Dienst noch deaktiviert.
Mit dem BezugsZeichen 90 ist ein erster Übergang dargestellt, bei dem ein Konfigurationsbetrieb gemäß dem folgenden dritten Listing durchgeführt werden kann:
//State SO in Figure 5 01: Load CSM1 INTO CIM1 02: CREATE S1 FROM CSM1 03: MOUNT S1 AFTER SMp,1 // State S3.1 in Figure 5
Mit dem BezugsZeichen 92 ist ein folgender Übergang vom Zeit- punkt 12 zum Zeitpunkt t3 mit einem Konfigurationsbetrieb ge- mäß dem folgenden vierten Listing vorgesehen:
// State S3.1 in Figure 5 04: PARAMETER S1 WITH Rate=5 // State S3.1 in Figure 5 05: ENABLE S1 // State S3.2 in Figure 5
Die folgenden Anwendungsfälle der Erfindung zeigen, wie eine dynamische Analyse von Zustandsparametern eines schlecht funktionierenden Cyber-physikalischen Systemknotens 32 analy- siert werden kann.
Hier ist das Ziel, einen tieferen Einblick in das Cyber- physikalische System in Bezug auf den Betrieb im Falle einer Störung, eines ungewöhnlichen Verhaltens und/oder dergleichen zu erhalten, beispielsweise in Bezug auf eine oder mehrere Funktionen, insbesondere Funktionsmodule.
Das Cyber-physikalische System läuft für eine längere Zeit. Plötzlich berichtet ein Login-Dienst eines Cyber- physikalischen Knotens ein Ansteigen von fehlerhaften Server- anfragen . Die Performance des Cyber-physikalischen Systemkno- tens 32 nimmt ab. Die Log-Mitteilungen des betroffenen Cyber- physikalischen Systemknotens 32 liefern keinen Hinweis für den Grund der Performance-Abnahme. Um einen besseren Einblick in den Betrieb des betroffenen Cyber-physikalischen System- knotens 32 durch einen Betreiber zu ermöglichen, wird der Be- treiber einen erweiterten GesundheitScheck, beispielsweise unter Nutzung von extra-funktionalen Diensten, durchführen. Der betroffene Cyber-physikalische Systemknoten 32 ist ausge- legt und implementiert, um im degradierten Modus betrieben zu werden. Dadurch kann jedoch nur eine reduzierte suboptimale Systemperformance erreicht werden, was unerwünscht ist.
Darüber hinaus tritt der Effekt zum ersten Mal auf. Zum Aus- führen einer Analyse unter realistischen aktuellen Bedingun- gen, installiert und experimentiert der Betreiber mit mehre- ren, erweiterten GesundheitSchecks während der Laufzeit ohne Re-Deploy und Neustarten des betroffenen Cyber-physikalischen Systemknotens 32, wie anhand von FIG 18 dargestellt. Mit Fc ist eine Funktion in einem Funktionsmodul des Cyber- physikalischen Systems in der Rolle eines Anwendungsklienten bezeichnet. Mit FP ist eine Funktion in einem Funktionsmodul des Cyber-physikalischen Systems in der Rolle eines Funkti- onsproviders beziehungsweise Steuermoduls bezeichnet. Mit S MP ist ein Eingriffspunkt für einen speziellen Dienst in einem Ankoppelmodul bezeichnet. SL bezeichnet einen Log- Funktionsaufruf . SP bezeichnet einen Dienst zum Messen einer Ausführungszeit und SM bezeichnet einen Dienst Dump-Memory.
Das Szenario in FIG 18 läuft unter Nutzung eines Ankoppelmo- duls wie folgt ab:
- Zeitpunkt t1 : Der Cyber-physikalische Knoten läuft, jedoch zeigt der Zwischendienst SL eine ungewöhnliche Menge an feh- lerhaften Funktionsaufrufen der Funktion FP. Aus Gründen der Performance ist der Dienst SL knapp in Bezug auf eine Doku- mentation und speichert nur wenige Daten, zum Beispiel eine Signatur der Funktion F P r Schlüsselfunktionparameter und Funktionsantwortcodes .
- Zeitpunkt tp : Für einen längeren Zeitraum zeigen die Funk- tion Antwortcodes eine ansteigende Beanstandungsrate. Die erste Annahme ist, dass überbordende Reaktionszeiten und ver- passte Grenzen diese Beanstandungen verursachen. Entsprechend installiert ein Betreiber des Cyber-physikalischen Systems einen Performance-Messdienst SP in Bezug auf die Ausführung der Funktion FP. Der Dienst SP wird geladen und ein Eingriffs- punkt in Bezug auf den Dienst SL und den Funktionsaufruf der Funktion FP wird ermittelt.
- Zeitpunkt tp: Die Performance-Daten, die vom Performance- Messdienst SP geliefert werden, zeigen ein normales Verhal- ten. Daher scheinen die fehlerhaften Serveranfragen einen an- deren Grund zu haben. Der Betreiber des Cyber-physikalischen Systems entkoppelt den Dienst SP. Der Cyber-physikalische Systemknoten 32 ist nun wieder in dem Zustand wie zum Zeit- punkt t1.
- Zeitpunkt t4: Nun soll der interne Zustand des Cyber- physikalischen Systemknotens, insbesondere der Status der
Funktion F Pf in Bezug auf ungewöhnliche Daten analysiert wer- den. Der Betreiber installiert folglich einen Memory-Scanner SM in Bezug auf die ausgeführte Funktion FP. Der Dienst SM löscht den Speicher, mit dem die Funktion FP vor und nach dem Aufruf der Funktion FP betrieben wurde. Dabei ist zu beach- ten, dass der Speicher einer Funktion des Cyber- physikalischen Systems in einem separaten reservierten Spei- chermodul beziehungsweise Datenmodul enthalten sein kann. Ein Datenmodul ist einer spezifischen Funktion des Cyber- physikalischen Systems zugeordnet und entspricht einem Daten- bereich in einem Skill-Executed-Context (SEC), den eine Task zum Speichern von Task-internen Daten nutzt.
Der Cyber-physikalische Systemknoten 32 ist zum Testen wäh- rend der Laufzeit ausgelegt, ohne das zeitliche Verhalten des Cyber-physikalische Systemknotens 32 zu beeinflussen. Die extra-funktionalen Dienste SP und SM implementieren die glei- che Funktionsschnittstelle wie FP und S MPf ohne ihre funktio- nale Bedeutung zu ändern. Außerdem bleiben beide innerhalb der spezifizierten beziehungsweise erlaubten Zeitgrenzen für die Funktion FP. Daher können die Dienste SP und SM, vorzugs- weise beide, zwischengeschaltet werden zwischen den Funktio- nen Fc und FP. FIG 19 zeigt in einer schematischen Blockdarstellung einen weiteren Anwendungsfall für dynamisches Ändern von Funkti- onsimplementierungen eines schlecht funktionierenden Cyber- physikalischen Systemknotens N1 32 unter Nutzung eines Ankop- pelmoduls. Es ist hier das Ziel, eine andere Variante zu ei- ner Funktion, die in einem Funktionsmodul eines Cyber- physikalischen Systems enthalten ist, anzuwenden, um eine al- ternative oder verbesserte Funktionalität zu ermöglichen oder eine Verbindung zu einem anderen Cyber-physikalischen System- knoten beziehungsweise prozess N2, N3 zu ermöglichen. Es soll eine aktualisierte Implementierung einer Funktion, die ein externes DatenbasisSystems nutzt, angewendet werden. Die- se neue Version behebt einen Performance-Mangel einer vorher- gehenden Version und nutzt ein anderes DatenbasisSystem.
In einer Übergangsperiode sollen nur Entwickler und Tester des Cyber-physikalischen Systems die aktualisierte Implemen- tierung nutzen. Dies ist anhand von FIG 19 dargestellt. Er- gänzend bezeichnet FP,1 eine erste Version der Funktion FP in der Rolle eines Funktions-Providers, FP,2 eine aktualisierte
Version 2 der Funktion FP und S einen Dienst, der zwischen zwei oder mehreren Funktions-Providern umschaltet. Der ge- strichelte Pfeil bezeichnet einen Aufruf einer Funktion eines anderen Cyber-physikalischen Systemknotens.
Der Ablauf gemäß FIG 19 stellt sich wie folgt dar:
- Zeitpunkt A : Der Cyber-physikalische Systemknoten ist im Betrieb, jedoch zeigt der Zwischendienst SL eine ungewöhnli- che Höhe von schlechten Performance-Aufrufen der Funktion
FP,1. Einträge in den Log-Dateien des Cyber-physikalischen Systemknotens 32 und eine Analyse des Quellcodes von der
Funktion F P, 1 zeigt, dass der Grund für die niedrige Perfor- mance ein Implementierungsfehler ist.
- Zeitpunkt A : Ein Betreiber des Cyber-physikalischen Sys- tems wendet ein Servicemodul mit einem extra-funktionalen Dienst SY an, der dynamisch ein zweites alternatives Funkti- onsmodul parallel zu einem bereits angewendeten Funktionsmo- dul lädt und zwischen den alternativen Funktionsmodulen um- schaltet .
Zeitpunkt t3 : Ein Entwickler des Cyber-physikalischen Sys- tems entwickelt die Funktion FP,2, die eine verbesserte Versi- on der Funktion FP,1 ist und wendet diese unter Nutzung des Dienstes SY an. Das Umschalten kann eingestellt beziehungs- weise gesteuert werden, um nur spezialisierte Anfragen zu der neuen Version zu leiten. Dies ermöglicht ein vorgegebenes Testen, indem beispielsweise nur von Anfragen mit speziellen
Token vom Testteam zur neueren Version geroutet werden. Nach- dem die neue Version FP,2 getestet ist und als zuverlässig und besser ermittelt worden ist, können mit dem Dienst SY al- le Anfragen zur Funktion FP,2 geleitet werden.
- Zeitpunkte t4 und t5 : Entfernen der Funktionen und Dienste aus dem Ankoppelmodul, die nicht weiter benötigt werden.
Anstelle eines vorgegebenen Routings könnte der Dienst S nur fehlerhafte Anfragen an die Funktion FP,2 übermitteln, um zu prüfen, ob die aktualisierte Implementierung die kritischen Anfragen korrekt bearbeiten kann.
Darüber hinaus besteht die Möglichkeit einer weiteren dritten Anwendung, um dynamische Änderungen von Ausführungsspuren durch einen Cyber-physikalischen Systemknoten durchzuführen. Es ist hier das Ziel, Attribute zu Steuertoken zu ergänzen, die zwischen den Cyber-physikalischen Systemknoten 32 ausge- tauscht werden. Diese Steuertoken-Attribute können während des bestimmungsgemäßen Betriebs eines Cyber-physikalischen Systemknoten 32 analysiert werden, um weiteren Einblick in die Performance des Systemknotens 32 und den Betrieb zu ge- winnen. Diese Attribute können dazu genutzt werden, alterna- tive FunktionsImplementierungen dynamisch zu selektieren.
Ein Steuertoken, der in einem Cyber-physikalischen Systemkno- ten 32 von einer Funktion, einem Funktionsmodul zu einer Funktion beziehungsweise einem Funktionsmodul übermittelt wird, soll zusätzliche Buchhaltungsdaten übermitteln, wobei er vollständig unberücksichtigt durch die Funktion bezie- hungsweise das Funktionsmodul bleibt. Zum Beispiel kann der Steuertoken einen Funktionsantwortcode zwischen einer Anwen- dungsfunktion Fc und einer Steuerfunktion FP übermitteln. Der Funktionsantwortcode wird nach jedem neuen Funktionsaufruf aktualisiert. Da der Steuertoken durch das Ankoppelmodul übermittelt wird, können extra-funktionale Dienste zum Ankop- pelmodul hinzugefügt werden, die die Funktion des Steuertoken mit Attributen für jeden Funktionsaufruf während eines Work- flows durch den Cyber-physikalischen Systemknoten 32 für er- weiterte Performance-Analysen hinzufügt:
- Eine Identifikation für die betroffene Funktion FP
- eine Eingriffszeit für die Funktion FP
- eine Antwortzeit der Funktion FP
Zusätzlich kann eine Identifizierung eines Workflow- Initiators zum Steuertoken des Workflows hinzugefügt werden. Der Initiator kann zum Beispiel einen Entwickler oder einen Betreiber des Cyber-physikalischen Systems identifizieren. Diese Information kann durch den extra-funktionalen Dienst genutzt werden, der alternative Funktionsimplementierungen, wie zum vorhergehenden Ausführungsbeispiel beschrieben, se- lektieren kann.
Die Erfindung hat insbesondere in Bezug auf AOP folgende Vor- teile: AOP kann für die Hinzufügung von Diensten genutzt wer- den. Über den sogenannten Weaving-Prozess können Aspekte an Stellen integriert werden, an denen eine spezifische Bedin- gung erreicht wird. Die Bedingung ist gewöhnlich der Eintritt oder der Ausgang eines Funktionsaufrufs. Wenn der Steuerfluss einen solchen Punkt erreicht, wird ein Advice ausgeführt, beispielsweise vor oder nach dem Funktionsaufruf. Innerhalb des Advices kann jeglicher zusätzlicher Code angewendet wer- den. Deshalb kann ein AOP-Framework, wie beispielsweise As- pekte für Java-Systeme, anstelle von Connector-Pattern ge- nutzt werden, was gemäß der Erfindung vorgeschlagen wird. Je- doch umfasst dies nur das Vorsehen eines Integrationspunkts für den Mechanismus, der gemäß der Erfindung vorliegend be- schrieben wurde.
Im Unterschied zur AOP kann die Erfindung dazu genutzt wer- den, ohne zusätzliche Frameworks und/oder Compiler für Weaving Entry Points in das System zu benötigen. Darüber hin- aus kann die Erfindung unter Nutzung irgendeiner Objekt- orientierten Programmiersprache realisiert werden. Im Unter- schied zur Erfindung ändert AOP Schnittstellen wegen Bezeich- nungen. AOP erfordert darüber hinaus spezifische Compiler, und Aspekte sind statisch. Jedoch kann AOP dazu genutzt wer- den, Implementierungen von extra-funktionalen Diensten in den Ankoppelmodulen zu realisieren. Es ist nicht COP, weil die Ankopplungsmodule und die extra-funktionalen Dienste dyna- misch sind, während der Laufzeit adaptiert und gesteuert wer- den können, und darüber hinaus vollständig unabhängig von Funktionen des Cyber-physikalischen Systemknotens sind. COP ändert das System und erfordert daher eine Compilerunterstüt- zung.
Die Ausführungsbeispiele dienen ausschließlich der Erläute- rung der Erfindung und sollen diese nicht beschränken.

Claims

Patentansprüche
1. Rechnerimplementiertes Verfahren zum Bereitstellen von we- nigstens einem Dienst (10, 24) in einem Knoten beziehungswei- se Prozess eines Cyber-physikalischen Systems mit wenigstens zwei Anwendungsmodulen (12, 14, 16), wobei eine Kommunikation zwischen den wenigstens zwei Anwendungsmodulen (12, 14, 16) über jeweilige anwendungsmodulspezifische angebotene Anwen- dungsschnittstellen (18, 20, 22, 26) der wenigstens zwei An- wendungsmodule (12, 14, 16) erfolgt, wobei eine jeweilige der anwendungsmodulspezifischen angebotenen Anwendungsschnitt- stellen (18, 20, 22, 26) einen Kommunikationszugang zum je- weiligen Anwendungsmodul darstellt, dadurch gekennzeichnet, dass zumindest die anwendungsmodulspezifischen angebotenen Anwen- dungsschnittstellen (18, 20, 22, 26) der wenigstens zwei An- wendungsmodule (12, 14, 16) durch ein Ankoppelmodul (28, 30) implementiert werden, welches die Kommunikation zwischen den wenigstens zwei Anwendungsmodulen (12, 14, 16) herstellt und welches den wenigstens einen Dienst (10, 24) aktivierbar be- reitstellt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der wenigstens eine Dienst über eine Diensteschnittstelle (86) des Ankoppelmoduls (28, 30) geladen wird, wobei der we- nigstens eine Dienst (10, 24) vorzugsweise nach dem Laden in das Ankoppelmodul (28, 30) im Ankoppelmodul (28, 30) betrie- ben wird.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der wenigstens eine Dienst (10, 24) nach dem Betreiben akti- vierbar bereitgestellt wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für den wenigstens einen Dienst (10, 24) ein Eingriffspunkt (36) ermittelt wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Dienst (10, 24) abhängig von einem Steuersignal aktiviert wird.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Funktionsaufruf (46, 74) eines der Anwendungsmodule (12, 14, 16) ermittelt wird und mittels des aktivierten Dienstes (10, 24) Daten des Funktionsaufrufs (46, 74) erfasst werden.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Funktionsantwort (76) eines der An- wendungsmodule (12, 14, 16) ermittelt und mittels des akti- vierten Dienstes (10, 24) Daten der Funktionsantwort (76) er- fasst werden.
8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass die erfassten Daten ausgewertet werden und zumindest der Funktionsaufruf (46, 74) oder die Funktionsantwort (76) ab- hängig vom Auswerten der Daten angepasst werden, bevor der Funktionsaufruf (46, 74) beziehungsweise die Funktionsantwort (76) vom jeweiligen Ankoppelmodul (28, 30) an das jeweils an- dere Anwendungsmodul (12, 14, 16) übermittelt wird.
9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Dienst (10, 24) die Kommunikation zwischen den wenigstens zwei Anwendungsmodulen (12, 14, 16) erfasst, hinsichtlich vorgegebener Daten analysiert und ab- hängig von dem Analysieren ein Meldesignal abgibt.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass im Rahmen des Analysierens ermittelt wird, ob wenigstens ei- nes der Anwendungsmodule (12, 14, 16) bestimmungsgemäß funk- tioniert .
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass abhängig von der bestimmungsgemäßen Funktion des wenigstens einen Anwendungsmoduls (12, 14, 16) die Kommunikation zwi- sehen wenigstens einem der wenigstens zwei Anwendungsmodule (12, 14, 16) und einem dritten Anwendungsmodul hergestellt wird.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Dienst (10, 24) zumindest eines der wenigstens zwei Anwendungsmodule (12, 14, 16) iden- tifiziert und abhängig von der Identifikation aktiviert wird.
13. Rechnerprogrammprodukt umfassend ein Programm für eine Rechnereinheit, wobei das Programm Programmkodeabschnitte ei- nes Rechnerprogramms zum Ausführen der Schritte eines Verfah- rens nach einem der vorhergehenden Ansprüche aufweist, wenn das Rechnerprogramm durch die Rechnereinheit ausgeführt wird, sodass wenigstens ein Dienst (10, 24) in einer Kommunikation zwischen wenigstens zwei Anwendungsmodulen (12, 14, 16) eines Cyber-physikalischen Systems (32) aktivierbar bereitgestellt wird.
14. Elektronisch lesbarer Datenträger mit darauf gespeicher- ten elektronisch lesbaren Steuerinformationen, welche zumin- dest ein Rechnerprogrammprodukt nach Anspruch 13 umfassen und derart ausgestaltet sind, dass bei Steuerung einer Rech- nereinheit unter Nutzung der Steuerinformationen des Daten- trägers die Rechnereinheit ein Verfahren nach einem der An- sprüche 1 bis 12 durchführt.
15. Cyber-physikalisches System (32) mit einem Knoten bezie- hungsweise Prozess, der wenigstens zwei Anwendungsmodule (12, 14, 16) aufweist, wobei ein jeweiliges der wenigstens zwei Anwendungsmodule (12, 14, 16) eine jeweilige anwendungs- modulspezifische angebotene Anwendungsschnittstelle (18, 20, 22, 26) aufweist, über die eine Kommunikation zwischen den wenigstens zwei Anwendungsmodulen (12, 14, 16) erfolgt, wobei eine jeweilige der anwendungsmodulspezifischen angebotenen Anwendungsschnittstellen (18, 20, 22, 26) einen Kommunikati- onszugang zum jeweiligen Anwendungsmodul darstellt, gekennzeichnet durch ein Ankoppelmodul (28, 30), in welchem zumindest die anwen- dungsmodulspezifischen angebotenen Anwendungsschnittstellen (18, 20, 22, 26) der wenigstens zwei Anwendungsmodule (12, 14, 16) implementiert sind und welches ausgebildet ist, die Kommunikation zwischen den wenigstens zwei Anwendungsmodulen (12, 14, 16) herzustellen und wenigstens einen Dienst (10, 24) aktivierbar bereitzustellen.
16. Ankoppelmodul (28, 30) des Cyber-physikalisches Systems (32) gemäß Anspruch 15, wobei das Ankoppelmodul (28, 30) aus- gebildet ist, wenigstens einen Dienst (10, 24) in einer Kom- munikation zwischen wenigstens zwei Anwendungsmodulen (12,
14, 16) aktivierbar bereitzustellen.
EP21746386.8A 2020-08-28 2021-07-12 Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen Pending EP4169212A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20193491.6A EP3961990A1 (de) 2020-08-28 2020-08-28 Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen
PCT/EP2021/069283 WO2022042926A1 (de) 2020-08-28 2021-07-12 Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen

Publications (1)

Publication Number Publication Date
EP4169212A1 true EP4169212A1 (de) 2023-04-26

Family

ID=72292280

Family Applications (2)

Application Number Title Priority Date Filing Date
EP20193491.6A Withdrawn EP3961990A1 (de) 2020-08-28 2020-08-28 Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen
EP21746386.8A Pending EP4169212A1 (de) 2020-08-28 2021-07-12 Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP20193491.6A Withdrawn EP3961990A1 (de) 2020-08-28 2020-08-28 Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen

Country Status (3)

Country Link
US (1) US12335063B2 (de)
EP (2) EP3961990A1 (de)
WO (1) WO2022042926A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170006135A1 (en) * 2015-01-23 2017-01-05 C3, Inc. Systems, methods, and devices for an enterprise internet-of-things application development platform

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010893A1 (en) * 2003-07-11 2005-01-13 Schmidt John G.E. Process for creating middleware adapters
US20060159077A1 (en) * 2004-08-20 2006-07-20 Vanecek George Jr Service-oriented middleware for managing interoperability of heterogeneous elements of integrated systems
US20060095551A1 (en) * 2004-10-29 2006-05-04 Leung John C K Extensible service processor architecture
US20080140857A1 (en) * 2006-03-21 2008-06-12 Conner Peter A Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework
US8793359B1 (en) * 2013-11-25 2014-07-29 Software Ag Systems and/or methods for intelligently detecting API key domains
US10063649B2 (en) * 2015-12-29 2018-08-28 Ca, Inc. Data translation using a proxy service
US10951738B1 (en) * 2020-08-06 2021-03-16 Bank Of America Corporation Automatic API integration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170006135A1 (en) * 2015-01-23 2017-01-05 C3, Inc. Systems, methods, and devices for an enterprise internet-of-things application development platform

Also Published As

Publication number Publication date
EP3961990A1 (de) 2022-03-02
US20230318870A1 (en) 2023-10-05
WO2022042926A1 (de) 2022-03-03
US12335063B2 (en) 2025-06-17

Similar Documents

Publication Publication Date Title
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
DE60207155T2 (de) Objektorientiertes Internetschnittstellensystem für eine industrielle Steuereinrichtung
DE19933086B4 (de) Verfahren und Vorrichtung zur gegenseitigen Überwachung von Steuereinheiten
DE102012002280A1 (de) Verfahren zur dynamischen zuteilung in einer statisch zugeteilten und eingebetteten softwarearchitektur
EP3523703B1 (de) Verfahren zur softwareaktualisierung bei cloud-gateways, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens
EP3273315B1 (de) Plattform zur weiternutzung bestehender software für die ansteuerung industrieller feldgeräte
EP1461697A2 (de) SYSTEM UND VERFAHREN ZUR KOMMUNIKATION ZWISCHEN SOFTWAREAPPLIKATIONEN&amp;comma; INSBESONDERE MES&amp;minus;APPLIKATIONEN
DE4305522A1 (de) Einrichtung zur automatischen Erzeugung einer Wissensbasis für ein Diagnose-Expertensystem
DE112017003052T5 (de) Steuerungssystem mit einer verteilten dienstorientierten Architektur
DE102004048666A1 (de) Erweiterbarer Netzwerkagent - Verfahren, System und Architektur
EP3712720B1 (de) Verfahren und vorrichtung zur ansteuerung einer technischen anlage mittels einer adaptiven simplex architektur
DE102014219711A1 (de) Verfahren zur Kraftwerkssimulation
WO2022042926A1 (de) Bereitstellen von einem dienst in einem knoten eines cyber-physikalischen systems mit wenigstens zwei anwendungsmodulen
EP4332772A1 (de) Data distribution service-fähiger controller
EP1784697B1 (de) Verfahren, vorrichtung und softwaremodul zur softwaretechnischen abbildung des geräteverhaltens eines realen hausgeräts in einem modell
EP2189908B1 (de) Verfahren und Vorrichtung zum Bestimmen einer Kenngröße eines IT-Systems
EP1997007B1 (de) Verfahren und managementsystem zum konfigurieren eines informationssystems
EP3567441A1 (de) Prozessleitsystem mit einem engineering-, einem operator- und einem archiv-system
DE102018204952A1 (de) Testverfahren eines mechatronischen Systems
EP2618114B1 (de) Abrufen von messwerten, diagnoseinformationen oder geräteparametern
EP1536328A2 (de) Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems
EP4530758B1 (de) Überwachung mindestens einer maschine
DE102006062604A1 (de) Verfahren zum Testen von Gerätebeschreibungen für Feldgeräte der Automatisierungstechnik
EP1195946A2 (de) Verfahren zur Erbringung von Diensten in einem Netzwerk-Management-System mit einer offenen Systemarchitektur sowie Dienst-Objekt, Anforderungs-Objekt und Anforderungs-Manager hierzu
DE102022207612A1 (de) Computer-implementiertes Verfahren zur Verifikation einer Softwarekomponente einer automatisierten Fahrfunktion

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230118

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20250507