EP2250557A1 - Method for controlling an interaction between modules of a service-oriented component and service-oriented component - Google Patents

Method for controlling an interaction between modules of a service-oriented component and service-oriented component

Info

Publication number
EP2250557A1
EP2250557A1 EP09713697A EP09713697A EP2250557A1 EP 2250557 A1 EP2250557 A1 EP 2250557A1 EP 09713697 A EP09713697 A EP 09713697A EP 09713697 A EP09713697 A EP 09713697A EP 2250557 A1 EP2250557 A1 EP 2250557A1
Authority
EP
European Patent Office
Prior art keywords
mod
service
modules
event
oriented
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.)
Withdrawn
Application number
EP09713697A
Other languages
German (de)
French (fr)
Inventor
Armando Walter Colombo
Joao Marco Mendes
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.)
Schneider Electric Automation GmbH
Original Assignee
Schneider Electric Automation GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Schneider Electric Automation GmbH filed Critical Schneider Electric Automation GmbH
Publication of EP2250557A1 publication Critical patent/EP2250557A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

The invention relates to a method for controlling interaction between modules such as a communication module (KOM-MOD), control module (LC-MOD), device-interface module (GI-MOD) of a service oriented component (SOK). According to the invention, in order to simplify the interaction between modules during different and concurrent processes, the interaction between the modules (KOM-MOD; LC-MOD; GI-MOD) is event based and the modules (KOM-MOD; LC-MOD; GI-MOD) are coupled by an event-router scheduler module (EAS-MOD) for providing an event-router-scheduler for event-based connections and synchronisation of the module (K0M-M0D; LC-MOD; GI-MOD).

Description

Beschreibung description
Verfahren zur Steuerung einer Interaktion zwischen Modulen einer service-orientierten Komponente sowie Service- orientierte KomponenteMethod for controlling an interaction between modules of a service-oriented component and a service-oriented component
Die Erfindung bezieht sich auf ein Verfahren zur Steuerung einer Interaktion zwischen Modulen wie Kommunikations-Modul, Steuerungs-Modul, Geräte-Interface-Modul einer service-orientierten Komponente, eine service-orientierte Komponente wie Automatisierungsgerät sowie eine Softwarekomponente.The invention relates to a method for controlling an interaction between modules such as communication module, control module, device-interface module of a service-oriented component, a service-oriented component such as an automation device and a software component.
Produktions- und Automatisierungssysteme sind naturgemäß heterogen und bestehen aus unterschiedlichen Komponenten entsprechend ihren Aufgaben. Es ist daher vorhersehbar, dass die Spezifikationen solcher Systeme sich weg vom traditionellen zentral gesteuerten Ansatz hin zum verteilten korrespondierenden Ansatz entwickeln, welche sich den natürlichen Gegebenheiten und dem Layout des realen Systems anpassen.Production and automation systems are naturally heterogeneous and consist of different components according to their tasks. It is therefore foreseeable that the specifications of such systems will evolve away from the traditional, centrally-driven approach towards the distributed, corresponding approach, which will accommodate the natural realities and layout of the real system.
Es ist somit vielversprechend, eine Ansammlung von verteilten, autonomen, intelligenten, fehler-toleranten und wieder verwendbaren Herstellungseinheiten zu haben, die als ein Set von kooperierenden Einheiten zusammenarbeiten. Jede Einheit ist fähig, dyna- misch mit jeder anderen zu interagieren, um sowohl lokale als auch globale Herstellungsziele zu erreichen, vom physikalischen Maschinen-Steuerungslevel in der Fertigungsstätte zu höheren Levels des Fabrik-Management-Systems. Diese neue Generation von Systemen werden als intelligente Herstellungs-Systeme (IMS; Intelligent Manufac- turing Systems) bezeichnet.Thus, it is promising to have a collection of distributed, autonomous, intelligent, error tolerant, and reusable manufacturing units that work together as a set of cooperating entities. Each unit is capable of dynamic interacting with each other to achieve both local and global manufacturing goals, from the physical machine control level in the factory to higher levels of the factory management system. This new generation of systems is referred to as Intelligent Manufacturing Systems (IMS).
Eine der aufkommenden Lösungen, um die Vielzahl von Konzepten hinter IMS in brauchbare Prinzipien zu adaptieren, ist die Service- orientierte Architektur (SOA). Das Konzept SOA hat in wenigen Jahren große Bedeutung erlangt und wird ohne Zweifel einen großen Einfluss in vielen Technologiebereichen haben. Eine service-orientierte Architektur ist ein Set von architektonischen Theoremen zum Aufbau autonomer und interoperabler Systeme. Diese Annahme verdeutlicht eine der Herausforderungen von IMS, nämlich Bereitstellung von InterOperabilität zwischen autonomen Systemen.One of the emerging solutions for adapting the multitude of concepts behind IMS into useful principles is Service Oriented Architecture (SOA). The SOA concept has become very important in a few years and will undoubtedly have a major impact in many areas of technology. A service-oriented architecture is a set of architectural theories for building autonomous and interoperable systems. This assumption illustrates one of the challenges of IMS, namely, providing interoperability between autonomous systems.
Die Adaptierung des Service- orientierten Konzepts auf Automatisierungs- und Produk- tions-„Geschäfts-Systeme" in der Fertigungsstätte unter Beachtung der Prinzipien von IMS wird eine neue „Gemeinschaft" aus service-orientierten Automatisierungskomponenten erzeugen. Jeder Teilnehmer in dem System wird als service-orientierte Komponente bezeichnet, und in manchen Erweiterungen als service-orientierte Automatisierungskomponente, wenn die Komponente automatische Steuerungseinheiten aufweist. Komponenten können verschiedene Aufgaben haben wie z.B. Produktion, Transport oder Überwachung und autonom betrieben werden. Da Services die eigentliche Führung übernehmen, sollten diese Komponenten die Eigenschaft haben, Services anzufragen und umgekehrt die Anfrage von Services durch andere Teilnehmer der Gemeinschaft zu unterstützen. Services selbst sind eine Form der Bereitstellung von Resourcen und Aktionen, welche unter Umständen mitbenutzt werden, sehr ähnlich wie auch bei Services im realen Leben.The adaptation of the service-oriented concept to automation and production "business systems" in the production facility in compliance with the principles of IMS will create a new "community" of service-oriented automation components. Each participant in the system is referred to as a service-oriented component, and in some extensions as a service-oriented automation component, if the component has automatic controllers. Components can have various tasks, such as Production, transport or monitoring and autonomous operation. As services take the lead, these components should have the ability to request services and, conversely, support the request for services from other members of the community. Services themselves are a way of providing resources and actions that may be shared, much like services in real life.
Bei der verteilten Automatisierung und insbesondere im Bereich von Produktionssystemen kann ein Set von Ausrüstungsgegenständen und weiteren Komponenten des Systems unter bestimmten Umständen mit einer Gemeinschaft „lebender Wesen" verglichen werden. Betrachtet man eine Komponente näher, kann ihre interne mechatronische Organisation mit funktionalen Organen verglichen werden, die für spezifische Aufgaben (Tasks) verantwortlich sind, welche „lebendige" Eigenschaften bereitstellen, die fähig sind, diese Anforderungen zu erfüllen. Eine zentrale Frage ist, wie diese funktionalen Module oder „Organe" integriert und gesteuert werden und imstande sind, Ereignisse zwischen ihnen auszutauschen und dadurch komplexe und wirkungsvolle Strukturen zu bilden.In distributed automation, and in particular in the area of production systems, a set of equipment and other components of the system may under some circumstances be compared to a "living entity." Looking closer at a component, its internal mechatronic Organizations are compared with functional organs that are responsible for specific tasks that provide "living" characteristics capable of meeting those requirements, a central question is how these functional modules or "organs" are integrated and controlled and are able to exchange events between them, thereby forming complex and effective structures.
Service-orientierte Systeme sind ein Ansatz, die Umgebung für heterogene „Organismen" zu spezifizieren, welche Interaktion benötigen. Service-Geschäftssysteme sind im Bereich der Geschäftswelt und des elektronischen Handels bekannt; im Bereich der industriellen Automations- und Produktionssystem (insbesondere betreffend verteilte Geräte) ist es jedoch ein relativ neues Forschungsgebiet mit aussichtsreichen Perspektiven. Ein bedeutender Ausgangspunkt war das EU-Forschungsprojekt SIRENA, dessen Ziel es war, eine Service-Infrastruktur für eingebettete Echtzeit-Netzwerkanwendungen zu entwickeln. Die Implementierung eines Service-Frameworks wurde in Übereinstimmung mit den „Device Profile Forward Services (DPWS)"-Spezifikationen entwickelt, um die Kommunikation zwischen ressource-abhängigen eingebetteten Geräten zu ermöglichen.Service-oriented systems are an approach to specify the environment for heterogeneous "organisms" that require interaction Service business systems are known in the business world and electronic commerce in the field of industrial automation and production systems (especially regarding distributed devices) however, it is a relatively new field of research with promising prospects, and a major starting point was the EU research project SIRENA, which aimed to develop a service infrastructure for embedded real-time network applications. Device Profile Forward Services (DPWS) - Specifications designed to enable communication between resource-dependent embedded devices.
Ein wichtiger Punkt dieses Systems ist die Anordnung der Steuerung und wie deren Granularität und Verteilung beeinflusst wird. Seit der Einführung von üblichen programmierbaren Logikkontrollern (PLC; Programmable Logic Controller) wurden wesentliche Fortschritte in Forschung und Entwicklung gemacht mit dem Ziel, die Beschränkungen in Bezug auf die zentralisierte Verwendung von PLCs zu überwinden. Hierzu wurden Vorschläge unterbreitet aus den Bereichen Multi- Agenten-Systeme, Ho- lonik-Systeme und kürzlich auch service-orientierte Systeme.An important point of this system is the arrangement of the controller and how its granularity and distribution are influenced. Since the introduction of standard Programmable Logic Controllers (PLCs), significant advances have been made in research and development with the goal of overcoming the limitations on the centralized use of PLCs. To this end, proposals were submitted in the areas of multi-agent systems, domestic systems and, more recently, service-oriented systems.
Architekturen für Geräte und Steuerungs Software sind ebenfalls im Blickfeld der Forschung, üblicherweise unter Benutzung von ICE 61131-3 Sprachen, den IEC61499 Funktionsblöcken für verteilte Steuerung und Automation und andere Steuerungstechniken wie beispielsweise Petri-Netze. Für Service- orientiert verteilte Geräte ist das Steu- erung s verfahren teilweise offen für jeden Steuerungsansatz, sollte jedoch ebenfalls spezifische Anforderungen der Service-Orientierung berücksichtigen.Architectures for instrumentation and control software are also in the field of research, typically using ICE 61131-3 languages, IEC61499 distributed control and automation functional blocks, and other control techniques such as Petri nets. For service-oriented distributed devices, the tax It is partly open to any control approach, but should also take into account specific service orientation requirements.
Durch Anbieten unterschiedlicher Funktionalitäten sollte ein einzelnes serviceorientiertes Steuerungsgerät für verschiedenartige Aktivitäten bereit sein; somit benötigt dieses eine speziell angepasste interne Rahmenstruktur oder ein Programmiergerüst, im Folgenden Framework genannt, welches die unterschiedlichen und konkurrierenden Prozesse handhaben kann.By offering different functionalities, a single service-oriented control device should be ready for a variety of activities; Thus, this requires a specially adapted internal frame structure or a programming framework, referred to below as a framework, which can handle the different and competing processes.
Davon ausgehend liegt der vorliegenden Erfindung die Aufgabe zugrunde, ein Verfahren sowie eine service-orientierte Komponente und eine Softwarekomponente der eingangs genannten Art derart weiterzubilden, dass die Interaktion zwischen Modulen bei unterschiedlichen und konkurrierenden Prozessen vereinfacht wird.Based on this, the object of the present invention is to further develop a method and a service-oriented component and a software component of the type mentioned at the outset in such a way that the interaction between modules is simplified in the case of different and competing processes.
Die Aufgabe wird erfindungsgemäß dadurch gelöst, dass die Interaktion zwischen den Modulen ereignis-basierend erfolgt, wobei die ereignis-basierte Interaktion zwischen den Modulen und die Synchronisation der Module über ein Ereignis-Ablauf- Steuerungs-Modul (Event Router-Scheduler) gesteuert wird.The object is achieved according to the invention in that the interaction between the modules is event-based, wherein the event-based interaction between the modules and the synchronization of the modules is controlled via an event flow control module (Event Router Scheduler).
Für die ereignis-basierte Verbindung und Synchronisation funktioneller Module in ser- vice- orientierten Komponenten, Geräten und unterstützenden Anwendungen wird ein Ereignis-Ablauf-Steuerungs-Modul zur Verfügung gestellt.For the event-based connection and synchronization of functional modules in service-oriented components, devices and supporting applications, an event sequence control module is provided.
Dieses kann in modulare service-orientierte Komponenten, welche z.B. verteilte Automatisierungsgeräte unterstützen, integriert werden, und einen Framework für die Kommunikation zwischen den funktionellen Modulen, welche die Komponente bilden, bereitstellen. Die Anwendung bezieht sich insbesondere auf Automatisierungsgeräte für Fertigungs statten und unterstützende Software- Anwendungen.This may be incorporated into modular service-oriented components, e.g. Distributed automation devices support, integrate, and provide a framework for communication between the functional modules that make up the component. The application particularly relates to automation devices for production facilities and supporting software applications.
Eine service-orientierte Komponente ist eine modulare Struktur, die sich aus verschiedenen funktionalen Modulen zusammensetzt, einschließlich der zentralen Ereignis- Ablauf-Steuerung und des benötigten service-orientierten Kommunikationsmoduls, welches die Fähigkeit besitzt, die Kommunikation mit anderen Komponenten zu ermöglichen. Da die Komponente eine multi-threading-fähige Umgebung ist und Datenschutz benötigt, muss für diese Aufgaben ein Mechanismus vorhanden sein, der den einzelnen Modulen eine Interaktionsumgebung bietet.A service-oriented component is a modular structure composed of various functional modules, including the central event flow control and the required service-oriented communication module, which has the ability to communicate with other components. Because the component is a multi-threaded environment and requires data protection, there must be a mechanism for these tasks that provides each module with an interaction environment.
Durch die Erfindung wird erreicht, dass die Kommunikation von Automatisierungssteu- erungs-Komponentenmodulen nur bei Ereignissen erfolgt. Dies ist hilfreich, um die Echtzeitsynchronisation dieser Module und den Datenüberschreibschutz zu steuern. Somit wird jedes Modul unabhängig, aber komplementär. Der Ansatz gestattet den Entwicklern, jedes Modul unabhängig zu programmieren und auf einfache Weise zu wissen, wie die empfangene Information zu verarbeiten ist.The invention ensures that the communication of automation control component modules takes place only in the case of events. This is useful for controlling the real-time synchronization of these modules and data overwrite protection. Thus each module becomes independent but complementary. The approach allows the developers to program each module independently and to easily know how to process the received information.
Wird die Steuerungskomponente aus mehreren Modulen gebildet, die asynchron agieren und verschiedene Prozesse und/oder Threads verwenden können, wird ein spezielles Modul benötigt, um alle Module miteinander zu verbinden und Datennebenläufigkeit (data concurrency) zu wahren. Zu diesem Zweck ist das „Herz" des Puzzles das Ereignis-Ablauf-Steuerungs-Modul (Event-Router-Scheduler-Modul), das die folgenden Hauptmerkmale zur Verfügung stellt:If the control component is made up of several modules that can act asynchronously and use different processes and / or threads, a special module is needed to connect all the modules together and maintain data concurrency. To this end, the "heart" of the puzzle is the Event Router Scheduler module, which provides the following key features:
> Gestattet Ereignisübertragung zwischen jedem Modul, was es einem komplexen Interaktions-Mechanismus ermöglicht, einfache Basisfunktionen zu benutzen;> Allows event transfer between each module, allowing a complex interaction mechanism to use simple base functions;
> Gemeinsamer Ereignis-Ablauf-Steuerungsmechanismus für integrierte funktionale Module;> Common event flow control mechanism for integrated functional modules;
> Priorisierte Puffer für Ereignisse bei Auftreten von hohem Ereignisaufkommen;> Prioritized buffers for high-occurrence events;
> Thread-Management und Datenschutzeinrichtungen;> Thread management and data protection facilities;
> Allgemeines Interface, um verschiedene Modultypen anzuschließen. Echtzeitanwendungen werden von Tag zu Tag komplexer. Speziell Anwendungen von Maschinensteuerungen werden zur Handhabung elektronischer Komponenten geschaffen, um Informationen an einen Supervisor-Rechner wie Personal-Computer zu senden, um mit anderen Steuerungen zu kommunizieren und so weiter. Die Verarbeitung des gesamten Informationsflusses kann sehr komplex sein; zudem sollen in der industriellen Automatisierung Fehler, langjährige Entwicklungen oder häufige Maschinenumpro- grammierung vermieden werden.> General interface to connect different module types. Real-time applications are becoming more complex day by day. Specifically, machine control applications are created to handle electronic components to send information to a supervisor computer, such as personal computers, to communicate with other controllers, and so forth. The processing of the entire information flow can be very complex; In addition, errors, long-term developments or frequent machine reprogramming should be avoided in industrial automation.
Durch die Anwendung werden folgende Vorteile erreicht:The application achieves the following advantages:
Die Ereignis-Ablauf-Steuerung (Event-Router-Scheduler) stellt einen internen eventgesteuerten Architekturrahmen zur Verfügung, durch den der Informations- fluss für miteinander verbundene funktionale Module gesteuert wird.The event router scheduler provides an internal event-driven architecture framework that controls the flow of information for interconnected functional modules.
Einfachere funktionale Moduldefinition/-trennung und Integration in die Komponente durch Verwendung der zentralen Ereignis-Ablauf-Steuerung (Event-Router- Scheduler).Simplify functional module definition / separation and integration with the component by using the event router scheduler.
Jedes Modul kann unabhängig programmiert werden. Das bedeutet, dass es möglich ist, Module zu entfernen, zu ersetzen, nachzurüsten (Upgrade), neue hinzuzufügen oder nur zu prüfen, wie Informationen gesendet und gelesen werden.Each module can be programmed independently. This means that it is possible to remove, replace, upgrade (upgrade), add new modules, or just check how information is sent and read.
Support für individuell gefertigte funktionale Module zu jedem Zweck.Support for customized functional modules for every purpose.
Die Ereignis-Ablauf-Steuerung (Event-Router-Scheduler) kann in jeder Softwarekomponente angewandt und integriert werden, die auf der modularen und funktionalen Architektur basiert. Auf mehrere Anwendungsgebiete wird hingewiesen:The event router scheduler can be applied and integrated into any software component based on the modular and functional architecture. Several areas of application are noted:
> Funktionale Struktur für service-orientierte integrierte Geräte.> Functional structure for service-oriented integrated devices.
> Entwicklungstools, die den Zugriff auf service-orientierte Geräte automatisieren und deren interne Architektur diese Konzepte einschließt. > Entwicklung virtueller Softwarekomponente zur Umgebungssimulation.> Development tools that automate access to service-oriented devices and whose internal architecture includes these concepts. > Development of virtual software components for environment simulation.
> Überwachung von Tools und Komponenten, die Informationen von anderen Komponenten sammeln.> Monitor tools and components that collect information from other components.
> Unterstützung der Entwicklung von Software-Agenten und Multi-Agenten- Sy stemen.> Support for the development of software agents and multi-agent systems.
Die vorliegende Erfindung befasst sich folglich mit einer anatomieähnlichen Struktur für die Entwicklung von funktionalen und wieder verwendbaren Modulen einer Komponente als Teil eines Service- orientierten Automations Systems. Der zentrale Blickpunkt ist auf deren interne Struktur und insbesondere auf den Mechanismus gerichtet, der die funktionalen Module zusammenbindet, welcher als Ereignis-Ablauf-Steuerung oder Event Router-Scheduler bezeichnet wird. Die Ereignis-Ablauf-Steuerung kann verglichen werden mit dem Nervensystem eines Lebewesens im Sinne von Transport/Abwicklung von Impulsen von und zu unterschiedlichen Organen und somit zur Aufrechterhaltung des dynamischen Informationsflusses. Intelligentes Verhalten kann erreicht werden, wenn diese Nerven mit dem „Gehirn" verbunden werden, welches statische Steuerung, basierend auf „Work-Flow" Prozessen, bereitstellt und ebenfalls autonom ist, um auf unvorhergesehene Ereignisse, undokumentierte Situationen oder interne Zielsetzungen zu reagieren. Eingebunden in eine Service- orientierte Umgebung kann eine Kommunikation mit anderen Komponenten nur durch Zurverfügungstellung und Anfrage von Services erreicht werden, um lokale und globale Zielsetzungen zu erreichen.The present invention thus addresses an anatomy-like structure for the development of functional and reusable modules of a component as part of a service-oriented automation system. The central focus is on its internal structure, and in particular on the mechanism that binds together the functional modules, referred to as Event Flow Schedulers or Event Router Schedulers. The event flow control can be compared with the nervous system of a living being in the sense of transport / processing of pulses from and to different organs and thus to maintain the dynamic flow of information. Intelligent behavior can be achieved by connecting these nerves to the "brain," which provides static control based on "work-flow" processes and is also autonomous to respond to unforeseen events, undocumented situations, or internal objectives. Incorporated into a service-oriented environment, communication with other components can only be achieved by providing and requesting services to achieve local and global goals.
Weitere Einzelheiten, Vorteile und Merkmale der Erfindung ergeben sich nicht nur aus den Ansprüchen, den diesen zu entnehmenden Merkmalen - für sich und/oder in Kombination -, sondern auch aus der nachfolgenden Beschreibung von den Zeichnungen zu entnehmenden bevorzugten Ausführungsbeispielen.For more details, advantages and features of the invention will become apparent not only from the claims, the features to be taken these features - alone and / or in combination - but also from the following description of the drawings to be taken preferred embodiments.
Es zeigen: Fig. 1 eine schematische Darstellung einer service-orientierten Automatisierungskomponente eines service-orientierten Automatisierungs- und Produktionssystems;Show it: Figure 1 is a schematic representation of a service-oriented automation component of a service-oriented automation and production system.
Fig. 2 schematische Darstellung einer modularen Struktur einer service- orientierten Komponente;FIG. 2 shows a schematic representation of a modular structure of a service-oriented component; FIG.
Fig. 3 schematische Darstellung der Zusammensetzung einer service- orientierten Komponente mit Ereignis-Ablauf-Steuerung;FIG. 3 a schematic representation of the composition of a service-oriented component with event sequence control; FIG.
Fig. 4 verschiedene Typen des Sendens von Ereignis-Nachrichten durch ein4 shows various types of sending event messages through
Modul über die Ereignis-Ablauf-Steuerung;Module via the event sequence control;
Fig. 5a, b schematische Darstellung des Lesens eines Ereignisses bei „gesperrtem" Modul bzw. „offenem" Modul;Fig. 5a, b schematic representation of the reading of an event at "locked" module or "open" module;
Fig. 6 schematische Darstellung einer service-orientierten Komponente eines mechanischen Arms und dessen Funktion.Fig. 6 is a schematic representation of a service-oriented component of a mechanical arm and its function.
Fig. 1 zeigt eine schematische Darstellung einer service-orientierten Komponente SOK und deren Integration in eine Automations- und Produktionsumgebung einer Fertigungsstätte FS. Die dargestellte Komponente SOK stellt einen physikalischen Förderer F dar und übernimmt die Transportfunktion (Aufgabe: Beförderung). Die Kommunikation zur Außenwelt erfolgt über Services (Service-Orientierung), die imstande sind, Services bei Bedarf anzufragen oder zur Verfügung zu stellen. Die Integration in die IT- Umgebung wird ebenfalls über Service-Orientierung erreicht. Die Komponente umfasst ein Set von Funktionen (Tasks) (Tasks: Transport, Überwachung etc.), die als Services, welche von den Komponenten zur Verfügung gestellt werden, benutzt werden können.1 shows a schematic representation of a service-oriented component SOK and its integration into an automation and production environment of a production facility FS. The illustrated component SOK represents a physical conveyor F and takes over the transport function (task: transport). Communication to the outside world is through services (service orientation) that are able to request or provide services as needed. Integration into the IT environment is also achieved via service orientation. The component includes a set of functions (tasks: transport, monitoring, etc.) that can be used as services provided by the components.
Eine Interaktion zwischen den Komponenten erfolgt nach dem Zwei- Wege-Prinzip im Sinne von Anfrage des Service und Bereitstellung des Services. Es wird erwartet, dass in der Produktion und Automatisierung heterogene Komponenten zusammenarbeiten zum gegenseitigen Vorteil und dem Erreichen der globalen Zielsetzung. Dies kann als „Symbiose" bezeichnet werden, ähnlich zu den Interaktionen zwischen verschiedenen biologischen Arten (Spezies), wobei jedoch letztlich das globale Ziel beachtet werden muss.An interaction between the components follows the two-way principle in the sense of requesting the service and providing the service. It is expected that in production and automation heterogeneous components work together for mutual benefit and achieving the global objective. This can be termed "symbiosis," similar to the interactions between different biological species, but ultimately the global goal must be considered.
In einigen Situationen können service-orientierte Komponenten als Software-Agenten angesehen werden.In some situations, service-oriented components may be considered software agents.
Darüber hinaus sind Multi-Agenten-Systeme von besonderem Interesse, da diese Systeme die Idee der kollaborativen Agentengemeinschaft hervorbringen, in welcher jeder von ihnen autonome Aktionen über ihre Umgebung oder über das System, welches sie repräsentieren, übernehmen kann. Auf der anderen Seite und im Gegensatz zu den Agentenkonzepten zentriert sich der wahre Sinn der Service-Orientierung in der Eigenschaft des Anbietens von Services und in der Notwendigkeit der Anfrage von Services durch eine Komponente in dem System. Die wirkliche Architektur, Umgebung und Zielsetzungen des Systems sind für den Anwender offen und somit kann das System an unterschiedliche Strategien zum Erreichen der Anforderungen angepasst werden.Moreover, multi-agent systems are of particular interest as these systems evoke the idea of the collaborative agent community in which each of them can take autonomous actions about their environment or about the system they represent. On the other hand, unlike the agent concepts, the true meaning of service orientation is centered on the nature of providing services and the need to request services through a component in the system. The real architecture, environment and objectives of the system are open to the user and thus the system can be adapted to different strategies to meet the requirements.
Die Spezifikation einer internen Anatomie von Komponenten, welche deren Entwicklung vereinfacht, bleibt noch offen. Da service-orientierte Komponenten unterschiedliche und manchmal konkurrierende Aktivitäten ausführen können, kann es aber hilfreich sein, eine funktionale und unabhängige Struktur in Betracht zu ziehen zugunsten der Wiederverwendbarkeit und einfachen Entwicklung.The specification of an internal anatomy of components, which simplifies their development, remains open. However, because service-oriented components can perform different and sometimes competing activities, it may be helpful to consider a functional and independent structure in favor of reusability and ease of development.
Jede service-orientierte Komponente SOK kann unabhängig und unterschiedlich implementiert werden. Die einzige Anforderung ist, dass die Komponente ihre Funktionen als Services S anbietet und Kommunikationsprotokoll und Verfahren zu befolgen sind. Um imstande zu sein, diese Komponenten in einer einfachen, jedoch funktionalen Weise zu konstruieren und zu entfalten, wird ein „Framework" ähnlich einer Anatomie vorgeschlagen. Fig. 2 zeigt die schematische Struktur einer Komponente SOK in einer anatomischen Form, mehrere „Organe" (funktionale Module) umfassend, die für individuelle Tasks verantwortlich sind, wie in Fig. 2 dargestellt: Logik-Controller LC-MOD, Entschei- dungs- und Ausnahme-Handler EAH-MOD, Kommunikation K-MOD, Geräte-Interface GI-MOD und Ereignis-Ablauf-Steuerung (Event-Router-Scheduler) EAS-MOD. Diese Module sind in der Steuerungskomponente SOK entsprechend Ihres Bedarfs enthalten und unter Verwendung verschiedener Technologien möglicherweise implementiert. Es ist ebenfalls möglich, andere Module MOD für diverse Funktionalitäten zu entwickeln und zu integrieren, wenn diese die Regeln, welche von dem „Framework" für die Integration (Aufgaben des Event-Router-Schedulers) respektiert werden.Each service-oriented component SOK can be implemented independently and differently. The only requirement is that the component offer its functions as Services S and that communication protocol and procedures are followed. In order to be able to design and unfold these components in a simple yet functional manner, a "framework" similar to an anatomy is suggested. FIG. 2 shows the schematic structure of a component SOK in an anatomical form, comprising a plurality of "organs" (functional modules) responsible for individual tasks, as shown in FIG. 2: Logic Controller LC-MOD, Decision and exception handlers EAH-MOD, communication K-MOD, device interface GI-MOD and event router scheduler EAS-MOD These modules are included in the SOK control component according to your needs and using It is also possible to develop and integrate other modules MOD for various functionalities, as long as they respect the rules that are respected by the Integration Framework (Event Router Scheduler tasks).
Die Ereignis-Ablauf-Steuerung EAS und die Kommunikations-Module KOM-MOD sind die „Kernel"-Module, um eine service-orientierte Komponente SOK basierend auf der vorgeschlagenen Anatomie zu entwickeln. Diese sind verantwortlich, sowohl einerseits für den Haupt-Framework der Komponente (ereignis-basierte Inter-Modul- Interaktion und Integration) und externe Kommunikation mit anderen Komponenten (service-orientierte Inter- Komponenten-Kommunikation). Weitere Module MOD können zu der Struktur gemäß den Komponentenanforderungen hinzugefügt werden.The event flow control EAS and the communication modules KOM-MOD are the "kernel" modules for developing a service-oriented component SOK based on the proposed anatomy, which are responsible for both the main framework of the Component (event-based inter-module interaction and integration) and external communication with other components (service-oriented inter-component communication) Other modules MOD can be added to the structure according to the component requirements.
Genauer gesagt stellt das Kommunikations-Modul K0M-M0D die notwendigen Funktionen zur Verfügung, um Services von den assoziierten Komponenten anzubieten und Services von anderen Komponenten anzufragen. Andere Funktionen schließen u.a. Auf- findungs- (Discovery) und Verhandlungs- (Negotiation) Mechanismen ein. Die verbleibenden Module der Komponente können das Kommunikations-Modul K0M-M0D benutzen zum Zugriff auf diese Funktionen durch Impulse (Ereignisse), welche durch das Ereignis-Ablauf-Steuerungs-Modul EAS-MOD bereitgestellt werden. Als Beispiel kann ein Förderband den Service „Transfer" bereitstellen, um die Bewegung von Paletten zu bewirken, welcher durch das Logik-Controller-Modul LC-MOD gesteuert wird und durch das Geräte-Interface-Modul GI-MOD aufgerufen wird. Der Service "Transfer" kann von anderen Komponenten benutzt werden, jedoch kann die Komponente selbst ebenfalls externe Services aufrufen, wenn diese benötigt werden (z.B. zur Verbindung mit anderen Förderbändern ruft diese den Service „Transfer" eines anderen Förderbands auf).More specifically, the communication module K0M-M0D provides the necessary functions to offer services from the associated components and to request services from other components. Other functions include, but is not limited to, discovery (discovery) and negotiation (negotiation) mechanisms. The remaining modules of the component may use the communication module K0M-M0D to access these functions through pulses (events) provided by the event flow control module EAS-MOD. As an example, a conveyor may provide the service "transfer" to effect the movement of pallets controlled by the logic controller module LC-MOD and invoked by the device interface module GI-MOD. Transfer "can be used by other components, but the component itself can also call external services when they are needed (eg for connection with other conveyor belts this calls the service "transfer" of another conveyor belt).
Eine geeignete technologische Lösung zur Implementierung der service-orientierten Kommunikationsmodule ist die Verwendung der Web-Technologie und insbesondere Web-Services. Im Grunde ist die Web-Service-Technologie recht einfach und wurde entwickelt, um XML (eXtended Markup Language) Dokumente zwischen Service- Prozessen zu bewegen, welche Standard-Internetprotokolle benutzen. Diese Einfachheit verhilft Web-Services, das höhere Ziel der InterOperabilität zu erreichen und bedeutet gleichzeitig, dass es notwendig ist, andere Technologien hinzuzufügen, um komplexe verteilte Anwendungen zu realisieren. Es wurde ein Profil spezifiziert, um Web- Services auf Geräte-Level zu adaptieren, welches als „Device Profile for Web-Service (DPWS)" bekannt ist.A suitable technological solution for implementing the service-oriented communication modules is the use of the web technology and in particular web services. In essence, web service technology is quite simple and was developed to move XML (eXtended Markup Language) documents between service processes using standard Internet protocols. This simplicity helps web services achieve the higher goal of interoperability while also requiring the addition of other technologies to realize complex distributed applications. A profile has been specified to adapt device-level web services, known as Device Profiles for Web Service (DPWS).
Die weiteren Module MOD sind in Fig. 2 kurz beschrieben. Ziel ist es, die weiteren Module einzuschließen, um eine service-orientierten Automatisierungskomponente SOK bereitzustellen, welche „Mittler" für beliebiges physikalisches Equipment mit Steuerungsfähigkeit ist. Zum Beispiel repräsentiert die resultierende Komponente SOK gemäß Fig. 2 einen „Smart Controller" des Förderbandgeräts F, durch Bereitstellung mehrerer Eigenschaften wie beispielsweise Steuerung und Zugriff über das physikalische Gerät, die Fähigkeit zur Entscheidung in unvorhergesehen und undokumentierten Situationen und ebenfalls die Möglichkeit der service-orientierten Kommunikation mit anderen Komponenten. Ein weiteres Beispiel ist ein service-orientierter PLC-ähnlicher Controller, welcher Steuerungsmodelle (z.B. in IEC61131-3 Sprachen) interpretieren kann und anderen Komponenten über den Aufruf von diesen bereitgestellten Services notwendige Befehle erteilt. In diesem Fall sind Geräte-Interface-Module nicht notwendig, da diese nicht direkt die Geräte anweisen.The further modules MOD are briefly described in FIG. The aim is to include the further modules to provide a service-oriented automation component SOK which is a "mediator" for any physical equipment with controllability For example, the resulting component SOK of Figure 2 represents a "smart controller" of the conveyor F, by providing several features such as control and access via the physical device, the ability to make decisions in unforeseen and undocumented situations, and also the possibility of service-oriented communication with other components. Another example is a service-oriented PLC-like controller that can interpret control models (e.g., in IEC61131-3 languages) and give other commands necessary calls to these services provided. In this case, device interface modules are not necessary because they do not directly instruct the devices.
Schließlich wird das „Nervensystem" der in Fig. 2 dargestellten „Anatomie" durch die Ereignis-Ablauf-Steuerung EAS (Event-Router-Scheduler) gemanagt. Diese wird nachfolgend genauer erläutert. Komponenten und Geräte, die mehrere der dargestellten Aspekte der Service- Orientierung implementieren, benötigen eine einheitliche Anatomie, um mit den verschiedenen Funktionsmodulen (Organen) zu handeln, um die notwendigen Anforderungen zu erfüllen. Andere Probleme können von den asynchron betriebenen Modulen herrühren, möglicherweise Dateninkonsistenzen und konkurrierende Prozesse/Threads. Für diesen Zweck wird ein Mechanismus vorgeschlagen, der ein Impuls (Ereignis) Übertra- gungs- und Steuerungs-Merkmal bereitstellt, um die „Impulse" zu verschiedenen Modulen zu leiten und somit eine synchronisierte Interaktion zwischen diesen zu ermöglichen. Das Herz dieser Komponente ist das Ereignis-Ablauf-Steuerungs-Modul (Event- Router-Scheduler) EAS-MOD.Finally, the "nervous system" of the "anatomy" shown in Fig. 2 is managed by the event flow controller EAS (Event Router Scheduler). This will be explained in more detail below. Components and devices that implement several of the illustrated aspects of service orientation require a consistent anatomy to act on the various functional modules (organs) to meet the necessary requirements. Other problems may arise from the asynchronously powered modules, possibly data inconsistencies and competing processes / threads. For this purpose, a mechanism is proposed that provides an impulse (event) transfer and control feature to direct the "impulses" to different modules, thus enabling a synchronized interaction between them Event Flow Control Module (Event Router Scheduler) EAS-MOD.
Das EAS-MOD erfüllt die folgenden Ziele:The EAS-MOD fulfills the following goals:
• gemeinsamer Ereignis-Ablauf/Steuerungs-Mechanismus für die Interaktion und Integration von Modulen;• shared event flow / control mechanism for interaction and integration of modules;
• Bereitstellung einiger transparenter Funktionen zur Bildung und Führung von Modulen;• Providing some transparent functions for building and managing modules;
• geeignet für Softwareanwendungen, die sowohl für herkömmliche PCs als auch für eingebettete Systeme entwickelt wurden;• suitable for software applications designed for both traditional PCs and embedded systems;
• hohe Leistungsfähigkeit, insbesondere in kritischen Situationen und Zielansprache „targeting" Echtzeitanwendung;• high performance, especially in critical situations and targeting "targeting" real-time application;
• Verwendung von z.B. C-Sprachen, mit dem Ziel des Ausgleichs zwischen Leistungsfähigkeit, Portabilität und Merkmalen;• use of e.g. C languages, with the aim of balancing performance, portability and characteristics;
• Handlungs Sicherheit und Management von Daten-Nebenläufigkeit;• action security and data concurrency management;
• einfache Verwendbarkeit durch Entwickler im Sinne des Aufbaus von Modulen und wie Ereignisse ausgeführt werden.• ease of use by developers in building modules and how events are executed.
Die Funktion des EAS-MOD ist in einigen Parametern vergleichbar mit dem Nervensystem von Lebewesen, einschließlich menschlicher Lebewesen.The function of EAS-MOD is comparable in some parameters to the nervous system of living things, including human beings.
Im Fall von service-orientierten Komponenten SOK wird die „Umwelt" durch spezifische Module wie z.B. Kommunikations- und Geräte-Interfacemodule erfasst und mani- puliert. Das natürliche Gleichgewicht von Impulsen (Ereignissen) der einzelnen Module und deren Integration wird mit Hilfe des Ereignis-Ablauf-Steuerungs-Moduls EAS- MOD erreicht.In the case of service-oriented components SOK, the "environment" is detected by specific modules such as communication and device interface modules and mani- puliert. The natural balance of impulses (events) of the individual modules and their integration is achieved with the aid of the event sequence control module EAS-MOD.
Die Ereignis-Ablauf-Steuerung EAS ist ein Ereignis-Handler für in Echtzeit betriebene Module SM, GIM, KM derselben Anwendung (siehe Fig. 3). Es ist wie das zentrale Stück eines einfachen Puzzles, wobei die Puzzle- Teile die verschiedenen Softwaremodule desselben Programms sind. Größenteils wird beabsichtigt, die Kommunikation zwischen Modulen während anderer Aktivität („on the fly") zu handhaben; dies bedeutet, dass jedes Modul Ereignisse senden und von allen anderen empfangen kann ohne sich um Synchronisation, Informationsverlust, Datenüberschreibung LC-MOD, GI- MOD, KOM-MOD und anderes kümmern zu müssen.The event flow control EAS is an event handler for real-time modules SM, GIM, KM of the same application (see FIG. 3). It's like the central piece of a simple puzzle, with the puzzle pieces being the different software modules of the same program. For the most part, it is intended to handle communication between modules during other activity ("on the fly"), which means that each module can send and receive events from all others without the need for synchronization, information loss, data overwriting LC-MOD, GI-MOD To take care of KOM-MOD and other things.
Eine Komponente K wird in das entsprechende Gerät SOK, SOG oder die Softwareanwendung implementiert, nachdem die notwendigen Module verbunden wurden. In Fig. 3 besteht die Komponente K aus zwei benötigten Modulen, nämlich Ereignis-Ablauf- Steuerungs-Modul (EAS) und dem Kommunikations-Modul KOM-MOD, aber auch aus einem Geräte-Interface-Modul, das GI-MOD fähig ist, Informationen von dem VO des zugehörigen Moduls zu lesen bzw. an den VO zu schreiben.A component K is implemented in the corresponding device SOK, SOG or the software application after the necessary modules have been connected. In Fig. 3, component K consists of two required modules, namely event flow control module (EAS) and communication module KOM-MOD, but also a device interface module capable of GI-MOD. To read information from the VO of the associated module or to write to the VO.
Das Hauptmerkmal ist die Bereitstellung einer ereignis-basierten Interaktion zwischen den funktionalen Modulen und die entsprechende Ablauf-Steuerung von Ereignissen (siehe Steuerung und Ablauf von Ereignissen gem. Fig. 4). Vom praktischen Standpunkt aus betrachtet werden die internen Impulse (Ereignisse) der Komponente zwischen ihren funktionalen Modulen durch die Ereignis-Ablauf-Steuerung intern gemanagt. Die Ereignis-Ablauf-Steuerung erlaubt synchrone und asynchrone Ereignisaufrufe zwischen allen Modulen, was für Echtzeitanwendungen sehr wichtig ist. Ferner bietet diese mehrere zusätzliche Verfahren zur Realisierung komplexerer Abläufe, wie Ereignisse, welche durch andere Ereignisse und zeitgesteuerte Ereignisse erzeugt werden. In der einfachsten Form muss ein Sendermodul nur ein Ereignis zu einem spezifischen Ziel (anderes Modul) aussenden und diese Ereignis-Ablauf-Steuerung routet dieses zu seinem Ziel. Es existieren ebenfalls andere Optionen zum Senden und zur Verarbeitung von Ereignissen wie beispielsweise „Ereignis erwartet Rückantwort" und „Multicast" (Gruppenruf) eines Ereignisses zu mehreren Zielmodulen, wie in Fig. 4 dargestellt. Ein Ereignis ist eine Struktur mit allen Informationen, die ein Modul benötigt, um ver- schiedne mögliche Situationen zu erkennen. Neben der Standardinformation zur angeforderten Aktion und den zugehörigen Parametern kann die Struktur eine Rückantwort für die Bereitstellung einer Information anfragen oder einen Fehlernachrichtenreceiver aufweisen oder ein Ereignis-Empfänger kann überprüfen, ob es eine Rückantwort ist. Ebenfalls ist erkennbar, wenn ein Ereignis mehr als einmal aufgrund eines Fehlers gesendet wurde.The main feature is the provision of an event-based interaction between the functional modules and the corresponding scheduling of events (see control and flow of events according to Fig. 4). From a practical standpoint, the internal pulses (events) of the component between its functional modules are managed internally by the event scheduler. The event flow control allows synchronous and asynchronous event calls between all modules, which is very important for real-time applications. It also provides several additional methods for implementing more complex operations, such as events generated by other events and timed events. In its simplest form, a transmitter module only needs to send one event to a specific destination (another module), and this event scheduler routes it to its destination. There are also other options for sending and processing events such as "event expected response" and "multicast" of an event to multiple destination modules, as shown in FIG. An event is a structure that contains all the information a module needs to identify different possible situations. In addition to the default information about the requested action and the associated parameters, the structure may request a response for providing information or have an error message receiver, or an event receiver may check if it is a response. It can also be seen when an event has been sent more than once due to an error.
Die Ereignis-Ablauf-Steuerung verwendet Listen als Mittel zur Übertragung und Sortierung von Ereignissen zwischen den Modulen, so dass die Anzahl von Ereignissen, welche auf Verarbeitung warten, nur durch den verfügbaren Speicher begrenzt ist. Die Ereignis-Ablauf-Steuerung verwendet einige Techniken zur Vermeidung der Fragmentierung des Speichers, da die Generierung und Löschung von Daten eine sehr häufig verwendete Funktion in den Modulen ist. In manchen Fällen, wenn die Anzahl der Ereignisse hoch ist, bietet die Ereignis-Ablauf-Steuerung die Möglichkeit, den Ereignissen unterschiedliche Prioritäten zu geben. Ein zu einem bestimmten Modul gesendetes Ereignis wird immer von allen wartenden Ereignissen dieses Moduls durchgelassen, welche eine niedrigere Priorität haben als die Priorität des gesendeten Ereignisses.The event handler uses lists as means for transmitting and sorting events between the modules so that the number of events awaiting processing is limited only by the available memory. The event flow control uses some techniques to avoid memory fragmentation, since data generation and deletion is a very common function in the modules. In some cases, when the number of events is high, the event flow control provides the opportunity to give the events different priorities. An event sent to a particular module will always be passed by all waiting events of that module which have a lower priority than the priority of the sent event.
Das System ist in der Lage, sowohl synchrone als auch asynchrone Operationen auszuführen, wobei asynchrone Operationen durch Threads gemanagt werden. Die synchronen Operationen können für den Empfänger entweder „erstarrt" (frozen) oder „nicht erstarrt" (non frozen) sein. Zum Beispiel kann beim Lesen des Ereignisses die Operation ein „Freeze Modul" sein oder nicht. Im Fall des „Freeze-Modus" erstarrt das Modul, bis ein neues Ereignis für dieses Modul ankommt. Anschließend führt das Modul das normale Verfahren fort, wie in Fig. 5a dargestellt. Dies ist ein Verfahren mit sehr geringer CPU Ressourcenauslastung, was insbesondere für eingebettete Geräte geeignet ist. Jedoch ist es nicht sinnvoll für Echtzeit- Multi-tasking-Module, da diese Art von Modulen nicht „erstarrt" werden soll. Andererseits empfangen die „nicht erstarrten" Ereignisleser immer ein Ereignis. Jedoch kann dies ein ungültiges Ereignis sein. Ein ungültiges Ereignis bedeutet, dass es keine Ereignisse für das Modul gibt, so dass es mit anderen Tasks weiterarbeiten kann. Wenn es ein gültiges Ereignis ist, sollte das Module mit diesen fortfahren. Das ist in Fig. 5b dargestellt.The system is capable of performing both synchronous and asynchronous operations, with asynchronous operations being managed by threads. The synchronous operations may be either "frozen" or "not frozen" for the recipient. For example, when reading the event, the operation may or may not be a "freeze module." In the case of "freeze mode," the module will freeze until a new event arrives for that module. Subsequently, the module continues the normal process, as shown in Fig. 5a. This is a process with very low CPU resource utilization, which is particularly suitable for embedded devices. However, it does not make sense for real-time multi-tasking modules because these types of modules should not be "frozen." On the other hand, the "non-solidified" event readers always receive an event. However, this can be an invalid event. An invalid Event means that there are no events for the module so that it can continue working with other tasks. If it is a valid event, the module should continue with this. This is shown in Fig. 5b.
Asynchrone Ereignis-Triggerung ist ebenfalls möglich. Hierbei werden Rückfragen (call backs) verwendet, um diesen Operationstyp auszuführen, da dieser auftreten muss, wenn dieser aufgerufen wird. Jedoch wird das Ereignis aufgrund von Datenschutz nicht unmittelbar getriggert, und es sollte nur auftreten, wenn das Modul einen MUTEX (Mutual Exclusion = wechselseitiger Ausschluss) aktiviert, um Rückrufe (call backs) zu erlauben, welche möglicherweise die Daten des Moduls ändern. Jedes Modul hat einen MUTEX für diesen Fall.Asynchronous event triggering is also possible. Here, callbacks are used to execute this operation type because it must occur when it is called. However, because of privacy, the event is not immediately triggered, and it should only occur if the module activates a Mutual Exclusion (MUTEX) to allow call backs, which may change the module's data. Each module has a MUTEX for this case.
Die verbleibenden Blöcke gemäß Fig. 4 sind verantwortlich für angrenzende Tasks der Steuerung (Scheduling) und des Ablaufs (Routing) von Ereignissen, insbesondere für das Management des eigenen Moduls und der weiteren Module. Die Hardware / Softwareabstraktion erlaubt eine Funktionstransparenz der Systemarchitektur, auf die durch alle Module zugegriffen werden kann. Da das Ereignis-Ablauf-Steuerungs-Modul und andere Module sich in einer multi-funktionalen und konkurrierenden Umgebung befinden, führt ein spezieller Block TDK des EAS einfache Thread-Manipulation und Datenschutz durch. Der Block wird als Threading- und Daten-Konsistenz-Block TDK bezeichnet.The remaining blocks according to FIG. 4 are responsible for adjacent tasks of the control (scheduling) and the routing of events, in particular for the management of the own module and the further modules. The hardware / software abstraction allows system architecture functional transparency that can be accessed by all modules. Since the event flow control module and other modules are in a multi-functional and concurrent environment, a special EAS block TDK performs simple thread manipulation and data protection. The block is referred to as threading and data consistency block TDK.
Schließlich stellt der Block „Template/Interface für ereignis-basierte Module" T/I eine Basis zur Erzeugung funktionaler Module zur Verfügung und verbindet diese zu der Ereignis-Ablauf-Steuerung. Jedes Modul kann unabhängig programmiert werden. Dies bedeutet, dass es möglich ist, dieses zu entfernen, auszutauschen, zu erweitern oder neue Module hinzuzufügen. Dadurch wird ein Programm, welches EAS nutzt, sehr flexibel. Die Modul-ID ist die Identifikation des Moduls und für jedes Modul eindeutig. Diese Variable müssen die weiteren Module kennen, um ein Ereignis zu einem spezifischen Modul zu senden. Dies ist vergleichbar mit dem Code, den die Nerven tragen, um bestimmte Organe zu erreichen. Jedoch ist es ebenfalls möglich, ein Modul aufgrund seines Typs wie „Controller" oder „User Interface" aufzusuchen, da dieser Weg für einen Entwickler viel praktischer ist, um ein Modul ohne viel Information zu erreichen.Finally, the "Template / Interface for Event-based Modules" block provides T / I with a basis for creating functional modules and links them to the event flow control, each module can be independently programmed, which means that it is possible removing, exchanging, extending or adding new modules makes this very flexible, a program that uses EAS, the module ID, is the identification of the module and unique for each module, which must be known by the other modules sending an event to a specific module, which is similar to the code that the nerves carry to reach certain organs, but it is also possible to do a module based on it of its type such as "controller" or "user interface", since this way is much more convenient for a developer to achieve a module without much information.
Fig. 6 zeigt beispielhaft die service-orientierte Komponente eines mechanischen Arms und dessen Betriebsweise. Die durch das Framework bereitgestellten Funktionen zur Entwicklung und zum Betrieb der Komponente sind dargestellt. Das Framework besteht aus dem EAS und drei Modulen, dem Logik-Controller LC-MOD, Geräte-Interface GI- MOD sowie Kommunikations-Modul KOM-MOD.Fig. 6 shows by way of example the service-oriented component of a mechanical arm and its operation. The functions provided by the framework for developing and operating the component are shown. The framework consists of the EAS and three modules, the logic controller LC-MOD, the device interface GI-MOD and the communication module KOM-MOD.
Durch die Erfindung wird eine Rahmenstruktur bzw. ein Programmiergerüst (Framework) zur Entwicklung service-orientierter Automations Systeme bereitgestellt, insbesondere geeignet für den Mechanismus der Übertragung von Ereignissen zwischen unterschiedlichen funktionalen Modulen, welche die Komponente bilden. Die Adaption dieser „biologisch inspirierten" modularen Struktur macht das Design und die Entwicklung von Modulen mit eindeutigen und unabhängigen Funktionen möglich. Diese sind jedoch komplementär zueinander, um die Bildung komplexer, intelligenter und „sozialer" Komponenten zu ermöglichen. Die resultierende Komponentenstruktur zeichnet sich durch eine verkürzte Entwicklungszeit und einen geringen Aufwand bei der Integration in ein System aus.The invention provides a framework for the development of service-oriented automation systems, particularly suitable for the mechanism of transmission of events between different functional modules forming the component. The adaptation of this "biologically inspired" modular structure allows the design and development of modules with unique and independent functions, but these are complementary to each other to enable the formation of complex, intelligent and "social" components. The resulting component structure is characterized by a shortened development time and low integration effort into a system.
Zusammenfassend ist festzustellen, dass sich Automatisierungs- und Produktionssysteme zu autonomen und kollaborativen Komponenten entwickeln, welche die Idee von Geschäfts-Systemen anwenden. Ein einziges Mitglied dieses Systems ist verantwortlich für unterschiedliche und konkurrierende Aktivitäten und somit ist eine speziell ange- passte Analyse notwendig, welche die unterschiedlichen Anforderungen ausgleicht. Die Erfindung offenbart eine anatomische Struktur für die Entwicklung von funktionalen und wieder verwendbaren Modulen von service-orientierten Automatisierungskomponenten. Die zentrale Aufmerksamkeit liegt auf der internen Struktur und dem Mechanismus, der die Module miteinander verbindet und Event-Router-Scheduler genannt wird. Die resultierenden Softwareautomatisierungskomponenten werden benutzerspezifisch für verschiedene Anwendungen aufgrund des Einschlusses und Management der spezialisierten funktionalen Module ausgeprägt und bieten die Möglichkeit, in einer serviceorientierten Automations- und Produktionsumgebung zu arbeiten. In summary, automation and production systems are evolving into autonomous and collaborative components that apply the idea of business systems. A single member of this system is responsible for different and competing activities, and thus requires a customized analysis that balances the different requirements. The invention discloses an anatomical structure for the development of functional and reusable modules of service-oriented automation components. The central focus is on the internal structure and mechanism that connects the modules together and is called Event Router Scheduler. The resulting software automation components are custom designed for various applications due to the inclusion and management of the specialized functional modules and provide the ability to operate in a service-oriented automation and production environment.

Claims

PatentansprücheVerfahren zur Steuerung einer Interaktion zwischen Modulen einer service-orientierten Komponente sowie Service- orientierte Komponente A method for controlling an interaction between modules of a service-oriented component and a service-oriented component
1. Verfahren zur Steuerung einer Interaktion zwischen Modulen wie Kommunikations-Modul (KOM-MOD), Steuerungs-Modul (LC-MOD), Geräte-Interface- Modul (GI-MOD) einer service-orientierten Komponente (SOK), dadurch gekennzeichnet, dass die Interaktion zwischen den Modulen (KOM-MOD; LC-MOD; GI-MOD) ereignis-basierend erfolgt, wobei die Module (K0M-M0D; LC-MOD; GI-MOD) über ein Ereignis-Ablauf-Steuerungs-Modul (EAS-MOD) zur Bereitstellung einer Ereignis-Ablauf-Steuerung zur ereignis-basierten Verbindung und Synchronisation der Module (K0M-M0D; LC-MOD; GI-MOD) gekoppelt sind.1. Method for controlling an interaction between modules such as communication module (KOM-MOD), control module (LC-MOD), device interface module (GI-MOD) of a service-oriented component (SOK), characterized that the interaction between the modules (KOM-MOD; LC-MOD; GI-MOD) is event-based, the modules (K0M-M0D; LC-MOD; GI-MOD) being controlled by an event flow control module ( EAS-MOD) for providing event flow control to the event-based connection and synchronization of the modules (K0M-M0D; LC-MOD; GI-MOD).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die ereignis-basierte Interaktion unabhängig von einer Synchronisation zwischen den Modulen (K0M-M0D; LC-MOD; GI-MOD) sowie unabhängig von Informationsverlust und Datenüberschreibung erfolgt.2. Method according to claim 1, characterized in that the event-based interaction takes place independently of a synchronization between the modules (K0M-M0D; LC-MOD; GI-MOD) and independently of information loss and data overwriting.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Module (K0M-M0D; LC-MOD; GI-MOD) miteinander gekoppelt und anschließend in die service-orientierte Komponente (SOK) wie Automatisierungsgerät oder Software eingesetzt werden.3. The method according to claim 1 or 2, characterized in that the modules (K0M-M0D; LC-MOD; GI-MOD) are coupled together and then used in the service-oriented component (SOK) as automation device or software.
4. Verfahren nach zumindest einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Ereignis-Nachrichten entsprechend ihrer Priorität in einem Speicher zwischengespeichert werden. 4. The method according to at least one of the preceding claims, characterized in that the event messages are cached according to their priority in a memory.
5. Service-orientierte Hard- und/oder Software-Komponente (SOK) wie Automatisierungsgerät oder Softwareanwendung mit modularer Struktur, umfassend zumindest ein service-orientiertes Kommunikations-Modul (KOM-MOD), ein Steuerungs-Modul (LC-MOD) sowie eine Geräte-Interface-Modul (GI-MOD), dadurch gekennzeichnet, dass die Service-orientierte Komponente (SOK) ein Ereignis-Ablauf-Steuerungs- Modul (EAS-MOD) aufweist, welches einen Framework zur Bereitstellung eines Ereignis-Ablauf-Steuerungsmechanismus zur ereignis-basierten Verbindung und Synchronisation der Module (KOM-MOD; LC-MOD; GI-MOD) aufweist.5. Service-oriented hardware and / or software component (SOK) such as automation device or software application with modular structure, comprising at least one service-oriented communication module (KOM-MOD), a control module (LC-MOD) and a Device Interface Module (GI-MOD), characterized in that the Service Oriented Component (SOK) comprises an Event Flow Control Module (EAS-MOD) which provides a framework for providing an Event Flow Control Mechanism event-based connection and synchronization of the modules (KOM-MOD, LC-MOD, GI-MOD).
6. Service-orientierte Komponente nach Anspruch 5, dadurch gekennzeichnet, dass die service-orientierte Komponente (SOK) Multi-threading-Fähigkeiten aufweist.6. Service-oriented component according to claim 5, characterized in that the service-oriented component (SOK) has multi-threading capabilities.
7. Service-orientierte Komponente nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass die Module (K0M-M0D; LC-MOD; GI-MOD) Softwaremodule desselben Programms sind.Service-oriented component according to claim 5 or 6, characterized in that the modules (K0M-M0D; LC-MOD; GI-MOD) are software modules of the same program.
8. Service-orientierte Komponente nach einem der Ansprüche 5-7, dadurch gekennzeichnet, dass die service-orientierte Komponente (SOK) einen piroritäts-basierten Speicher für mit Priorität versehene Ereignis-Nachrichten aufweist.A service-oriented component according to any one of claims 5-7, characterized in that the service-oriented component (SOK) comprises a piracy-based memory for priority event messages.
9. Softwarekomponente mit einem Computerprogramm, das Softwaremittel zur Durchführung eines Verfahrens nach einem der Ansprüche 1 - 8 aufweist, wenn die Softwarekomponente in einem Automatisierungsgerät ausgeführt wird. A software component having a computer program comprising software means for performing a method according to any of claims 1-8 when the software component is executed in an automation device.
EP09713697A 2008-02-29 2009-02-27 Method for controlling an interaction between modules of a service-oriented component and service-oriented component Withdrawn EP2250557A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008002785A DE102008002785A1 (en) 2008-02-29 2008-02-29 Event router scheduler module for event-based connection and synchronization of functional modules in service-oriented components, devices, and supporting applications
PCT/EP2009/052421 WO2009106638A1 (en) 2008-02-29 2009-02-27 Method for controlling an interaction between modules of a service-oriented component and service-oriented component

Publications (1)

Publication Number Publication Date
EP2250557A1 true EP2250557A1 (en) 2010-11-17

Family

ID=40790894

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09713697A Withdrawn EP2250557A1 (en) 2008-02-29 2009-02-27 Method for controlling an interaction between modules of a service-oriented component and service-oriented component

Country Status (6)

Country Link
US (1) US20110055849A1 (en)
EP (1) EP2250557A1 (en)
JP (1) JP2011513822A (en)
CN (1) CN102265260B (en)
DE (1) DE102008002785A1 (en)
WO (1) WO2009106638A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH705456A1 (en) * 2011-08-31 2013-03-15 Ferag Ag The computerized engine control system.
JP7087402B2 (en) 2018-01-19 2022-06-21 富士フイルムビジネスイノベーション株式会社 Processing equipment, processing systems, and programs

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574661B1 (en) * 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
US6691302B1 (en) * 2000-05-31 2004-02-10 Siemens Information & Communications Networks, Inc. Interfacing a service component to a native API
US7035944B2 (en) * 2001-09-19 2006-04-25 International Business Machines Corporation Programmatic management of software resources in a content framework environment
US20040177335A1 (en) * 2003-03-04 2004-09-09 International Business Machines Corporation Enterprise services application program development model
US7581205B1 (en) * 2003-09-30 2009-08-25 Nextaxiom Technology, Inc. System and method of implementing a customizable software platform
CN102004950A (en) * 2005-04-25 2011-04-06 因文西斯系统公司 Recording and tracing non-trending production data and events in an industrial process control environment
JP4868799B2 (en) * 2005-08-31 2012-02-01 キヤノン株式会社 Server apparatus and event notification method
CN100476649C (en) * 2006-08-16 2009-04-08 中山大学 Vehicle mounted intelligent control device and method
CN1975778A (en) * 2006-11-03 2007-06-06 中山大学 Digital family articles seeking device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EDWARD CURRY ED - ED : QUSAY H MAHMOUD: "CHAPTER 1: Message-Oriented Middleware", 1 January 2004, MIDDLEWARE FOR COMMUNICATIONS, JOHN WILEY & SONS, LTD, PAGE(S) 1 - 28, ISBN: 978-0-470-86206-3, XP007911233 *

Also Published As

Publication number Publication date
JP2011513822A (en) 2011-04-28
CN102265260A (en) 2011-11-30
WO2009106638A1 (en) 2009-09-03
CN102265260B (en) 2015-08-19
US20110055849A1 (en) 2011-03-03
DE102008002785A1 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
DE112016006786T5 (en) Resource Orchestration Brokerage for Internet Der Dinge networks
EP1461697A2 (en) System and method for communicating between software applications, particularly mes (manufacturing execution system) applications
DE10206902A1 (en) Engineering process and engineering system for industrial automation systems
DE102006051189A1 (en) Application e.g. task flow application, developing method for use in medical field, involves selecting modules suitable for operational environments at runtime, and configuring application such that modules are interconnected
EP2342607A1 (en) Method for developing a multi-agent system and multi-agent system
WO2008068333A1 (en) Control system, and method for configuring a control system
EP2111570A1 (en) Automation system comprising an implemented engineering-environment
LU93299B1 (en) Sequence control of program modules
WO2007012499A2 (en) Generic ki-architecture for a multi-agent-system
WO2009101212A1 (en) Method and system for incorporating service-oriented automation components of a manufacturing facility into a flexible it corporate architecture
EP2250557A1 (en) Method for controlling an interaction between modules of a service-oriented component and service-oriented component
EP1442340A1 (en) Provision of information in an automation system
DE102006051188A1 (en) Interconnection system for asynchronously interconnecting communication components of e.g. web application, has communication components interconnected such that application and/or components are adapted to effective operational environment
Grolik et al. Dispositive Supply-Web-Koordination durch Multiagentensysteme
EP2090948B1 (en) Method for operating an automation system
DE102004011201B4 (en) Method for managing and monitoring the operation of multiple distributed in at least one communication network integrated hardware and / or software systems and system for performing the method
DE112007002327T5 (en) Persistent locks on concurrency control resources
EP4332772A1 (en) Data distribution service-capable controller
Mordinyi Managing complex and dynamic software systems with space-based computing
DE102016121542A1 (en) Sequence control of program modules
Kenzler et al. Segment Routing v6 (SRv6) Network Programming
DE60308325T2 (en) INFORMATION WAY LINE
DE102019203874A1 (en) Methods and apparatus for load allocation and monitoring for a resource that is critical to the security of supply in a network
DE3301282A1 (en) METHOD AND DEVICE FOR TRANSMITTING MESSAGES BETWEEN AUTOMATION MEANS
EP2178267B1 (en) Method for providing services in a decentralised data network

Legal Events

Date Code Title Description
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

17P Request for examination filed

Effective date: 20100922

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): 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 SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA RS

RIN1 Information on inventor provided before grant (corrected)

Inventor name: MENDES, JOAO MARCO

Inventor name: COLOMBO, ARMANDO WALTER

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20141201

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20150414