EP1904923A1 - Method and software system for the configuration of a modular system - Google Patents

Method and software system for the configuration of a modular system

Info

Publication number
EP1904923A1
EP1904923A1 EP06764012A EP06764012A EP1904923A1 EP 1904923 A1 EP1904923 A1 EP 1904923A1 EP 06764012 A EP06764012 A EP 06764012A EP 06764012 A EP06764012 A EP 06764012A EP 1904923 A1 EP1904923 A1 EP 1904923A1
Authority
EP
European Patent Office
Prior art keywords
configuration
implementation
file
configuration data
stored
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.)
Ceased
Application number
EP06764012A
Other languages
German (de)
French (fr)
Inventor
Bernhard Weichel
Frank Neukam
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP1904923A1 publication Critical patent/EP1904923A1/en
Ceased 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • microprocessor programs in a so-called high-level language for example C, C ++, Scheme or
  • a special functional unit to the configuration of a microprocessor program, by means of which a configuration of the entire microprocessor program is possible, for example by changing the values of predetermined parameters.
  • the functional unit can be made, for example, from the running microprocess process. and executed to configure the microprocessor program.
  • a functional unit provided for the configuration of the microprocessor program permits only a configuration within predetermined range limits.
  • a configuration of the microprocessor program for example, to adapt the microprocessor program to a new hardware or to adapt the microprocessor program to new user wishes is not possible with such a functional unit.
  • the functional unit used for configuration must be specially designed for the particular microprocessor program and can not be used for other microprocessor programs.
  • a first approach to overcoming these problems is described by the Applicant in the earlier, not pre-published 10 2004 005 730.3.
  • the configuration of a microprocessor program is improved and a resource-optimized implementation is achieved by providing an abstract description of the configuration to be executed between a user (configurator) and the microprocessor program in an implementation-independent configuration file on which the configuration is based.
  • the implementation-independent configuration file automatically creates an implementation-dependent configuration file, which is then used to configure the microprocessor program.
  • multiple check processes are carried out during the creation of the implementation-dependent configuration files.
  • the configuration data container makes it possible to centrally store all data relevant for a configuration.
  • the configuration rules for automatic construction and / or automatic updating of the stored in the configuration data container configuration data and / or in the automatic configuration of the at least one module depending on the stored in the configuration data container Configuration data and / or the automatic generation of an implementation-dependent configuration file depending on the configuration data stored in the configuration data container used can also be provided to use the configuration rules already when creating the implementation-independent configuration files, as described below using the example of a configuration file editor.
  • the integration of the configuration rules is particularly easy to perform. Here, therefore, a particularly favorable cost-benefit factor is achieved.
  • a permissible value range eg minimum / maximum value, increment [eg only values 0, 0.1, 0.2, etc.], minimum / maximum text length for textual parameters, specified text type (eg iso date), sufficient for a specific text pattern Text or one of several predefined texts identical text;
  • dependency information can describe whether changing one configuration parameter affects another configuration parameter. If, for example, a resource is exclusively reserved for a module, it is not available to other functional units during the execution of the module / functional unit. Dependency information can be used to determine which functional units need a specific resource and thus can not run at the same time. Dependency information can therefore also be used for resource management.
  • the dependency information is used to forward (forwarding) configuration information. During forwarding, a configuration processing instance assigned to a particular component derives configurations of other components from configuration requests or fine adjustments made to it by means of a freely selectable algorithm and forwards these settings thus determined to these other components. This advantageous measure can be used in particular for the automatic configuration of subcomponents.
  • the at least one implementation-dependent configuration file is generated as a function of at least one property of a hardware on which an installation of at least part of the configured modular system as a microprocessor program is to be made possible.
  • a hardware property may be, for example, the number of available processors or the type and number of sensors connected to the hardware. If such hardware properties are taken into account in the generation of the implementation-dependent configuration files, a particularly precise configuration of the microprocessor program can take place. This makes it possible, for example, to automatically create a configuration that is optimized with regard to execution speed and resource consumption, in particular with dependency information. In a further preferred embodiment, a documentation is automatically created.
  • the implementation-independent configuration files 1 and the configuration rules files Ib are fed to a script 2.
  • the script 2 is designed, for example, as a so-called Perl script.
  • Perl is an interpreter language whose syntax is based on the C programming language and the used by the respective operating system provided utilities.
  • the XML-based format of the implementation-independent configuration files 1 and the configuration rules files Ib has a hierarchical structure, which is advantageously based on the structure of the functional units 8 themselves, their dependencies and / or their thematic proximity.
  • Script 2 can be used to detect errors in the structure of this hierarchical structure and thus in the structure of the source code itself.
  • step 102 includes a treatment of the errors found. This can be done for example by the output of error information. It is also conceivable that stochastic methods for eliminating errors can be used.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The aim of the invention is to be able to configure a system comprising at least one module in an especially simple and flexible manner. To this end, the inventive method comprises the following steps: at least one configuration file (1) independent of the implementation is created and/or information stored in the at least one configuration file (1) is modified; configuration data stored in a configuration data container (3) is automatically generated and/or automatically updated according to the information stored in the at least one configuration file (1) independent if the implementation; the at least one module is automatically configured according to the configuration data stored in the configuration data container; and configuration rules are used.

Description

Verfahren und Softwaresystem zur Konfiguration eines modu- laren SystemsMethod and software system for configuring a modular system
Die Erfindung betrifft ein Verfahren sowie ein Softwaresystem zur Konfiguration eines mindestens ein Modul umfassenden Systems (modulares System) .The invention relates to a method and a software system for configuring a system comprising at least one module (modular system).
Stand der TechnikState of the art
Unter mindestens ein Modul umfassenden Systemen (modulare Systeme) sind insbesondere Mikroprozessorprogramme der nachfolgend beschriebenen Art zu verstehen. In diesem Fall kann Modul mit Funktionseinheit gleichgesetzt werden. Das Verfahren ist aber nicht auf Mikroprozessorprogramme beschränkt, sondern kann allgemein zur Konfiguration von mo- dularen Systemen verwendet werden, bei denen einzelne Module konfiguriert und zusammengefügt werden.Under at least one module comprehensive systems (modular systems) are to be understood in particular microprocessor programs of the type described below. In this case, module can be equated with functional unit. The method is not limited to microprocessor programs, but can generally be used to configure modular systems in which individual modules are configured and mated.
Mikroprozessoren kommen in der heutigen Zeit in allen wesentlichen Technologiesparten zum Einsatz . Ihre Verwendung beschränkt sich dabei nicht auf herkömmliche Personal Computer (PCs), sondern erstreckt sich darüber hinaus auf viele unterschiedliche elektronischen Geräte, beispielsweise Mess-, Steuergeräte usw., insbesondere im Automobilbau.Microprocessors are used today in all major technology sectors. Their use is not limited to conventional personal computers (PCs), but also extends to many different electronic devices, such as measuring and control devices, etc., especially in the automotive industry.
Moderne Mikroprozessor- bzw. Computerprogramme werden überwiegend so programmiert, dass sie in einem möglichst brei- ten Anwendungsbereich einsetzbar sind. Der Anwendungsbereich wird einerseits durch die zur Verfügung gestellten Funktionalitäten, die wiederum möglichst viele Benutzerwünsche abdecken sollen, und andererseits durch die zugrunde- liegende Hardware, auf der das Mikroprozessorprogramm ablaufen soll, bestimmt. Die zugrundeliegende Hardware bezeichnet hierbei unterschiedliche (Computer-) Systeme, die in unterschiedlichen Bereichen eingesetzt werden, aus unterschiedlichen Komponenten (beispielsweise Prozessoren o- der Bussystemen) aufgebaut sind und/oder über unterschiedliche Peripheriegeräte verfügen.Modern microprocessor or computer programs are predominantly programmed in such a way that they th field of application can be used. The scope of application is determined on the one hand by the provided functionalities, which in turn should cover as many user wishes as possible, and on the other by the underlying hardware on which the microprocessor program is to run. The underlying hardware designates different (computer) systems which are used in different areas, constructed of different components (for example processors or bus systems) and / or have different peripheral devices.
Unterschiedliche Funktionalitäten können sich aus unterschiedlichen Gegebenheiten der zugrundeliegenden Hardware oder aus unterschiedlichen Benutzerwünschen ergeben. EineDifferent functionalities may result from different circumstances of the underlying hardware or from different user wishes. A
Anpassung und damit eine Spezialisierung eines Mikroprozessorprogramms an eine zugrundeliegende Hardware und an bestimmte Benutzerwünsche umfasst eine sogenannte Konfiguration des Mikroprozessorprogramms.Adaptation, and thus specialization of a microprocessor program to an underlying hardware and to specific user requests, involves a so-called configuration of the microprocessor program.
Eine Konfiguration umfasst beispielsweise das Aktivieren oder Deaktivieren einzelner Funktionen des Mikroprozessorprogramms, das Setzen von Startwerten für bestimmte Variablen oder das Vorgeben und Spezifizieren bestimmter Vari- ablentypen.A configuration includes, for example, activating or deactivating individual functions of the microprocessor program, setting start values for specific variables, or specifying and specifying certain types of variables.
Es ist bekannt, die in einem Mikroprozessorprogramm verwendeten Variablen und Funktionen in einer sogenannten Header- Datei zu deklarieren und eine Konfiguration des Mikropro- zessorprogramms durchzuführen, indem einzelne Variablen o- der Funktionsbezeichner in der Header-Datei verändert werden. Beispielsweise ist es möglich, einem in dem Mikroprozessorprogramm verwendeten und in der Header-Datei dekla- rierten Funktionsbezeichner in Abhängigkeit von einer bestimmten Konfiguration eine spezielle Funktion zuzuweisen.It is known to declare the variables and functions used in a microprocessor program in a so-called header file and to carry out a configuration of the microprocessor program by modifying individual variables or function identifiers in the header file. For example, it is possible to use a variable used in the microprocessor program and declared in the header file. assign a special function depending on a particular configuration.
Üblicherweise werden Mikroprozessorprogramme in einer soge- nannten Hochsprache, beispielsweise C, C++, Scheme oderUsually, microprocessor programs in a so-called high-level language, for example C, C ++, Scheme or
JAVA, erstellt. Üblicherweise wird ein in einer Hochsprache erstelltes Mikroprozessorprogramm als Source-Code bezeichnet. Um ein derartiges Mikroprozessorprogramm auf einem Mikroprozessor ausführen zu können, muss aus dem Source- Code ein sogenannter Maschinencode erzeugt werden, der Anweisungen enthält, die von dem Prozessor ausführbar sind. Maschinencode kann durch sogenanntes Interpretieren oder Kompilieren des Source-Codes erzeugt werden.JAVA, created. Usually, a microprocessor program created in a high-level language is called a source code. In order to be able to execute such a microprocessor program on a microprocessor, a so-called machine code has to be generated from the source code, which contains instructions that can be executed by the processor. Machine code can be generated by so-called interpreting or compiling the source code.
Typischerweise umfasst ein Mikroprozessorprogramm eineTypically, a microprocessor program includes a
Vielzahl von Funktionseinheiten. Der Source-Code einer oder mehrerer Funktionseinheiten ist dabei in einer Datei abgespeichert. Einer oder mehrerer derartiger Dateien ist eine Header-Datei zugeordnet. Somit besteht ein Mikroprozessor- programm typischerweise aus einer Vielzahl von Dateien. Eine Konfiguration eines derartigen Mikroprozessorprogramms, die durch Änderungen innerhalb einzelner Header-Dateien durchgeführt wird, ist deshalb sehr unübersichtlich und kann häufig nur von dem Ersteller des Source-Codes durchge- führt werden. Zudem muss eine Dokumentation aller Header- Dateien erstellt werden, was sehr aufwendig ist, wobei selbst die Dokumentation meist sehr unübersichtlich ist.Variety of functional units. The source code of one or more functional units is stored in a file. One or more such files are associated with a header file. Thus, a microprocessor program typically consists of a variety of files. A configuration of such a microprocessor program, which is carried out by changes within individual header files, is therefore very confusing and can often only be performed by the creator of the source code. In addition, a documentation of all header files must be created, which is very expensive, even the documentation is usually very confusing.
Es ist auch bekannt, zur Konfiguration eines Mikroprozes- sorprogramms diesem eine spezielle Funktionseinheit zuzuordnen, mittels der eine Konfiguration des gesamten Mikroprozessorprogramms beispielsweise durch Änderung der Werte von vorgegebenen Parametern möglich ist. Die Funktionseinheit kann beispielsweise aus dem ablaufenden Mikroprozes- sorprogramm heraus aufgerufen und zur Konfiguration des Mikroprozessorprogramms ausgeführt werden. Eine derartige für die Konfiguration des Mikroprozessorprogramms vorgesehene Funktionseinheit erlaubt jedoch nur eine Konfiguration innerhalb vorgegebener Bereichsgrenzen. Eine Konfiguration des Mikroprozessorprogramms beispielsweise zur Anpassung des Mikroprozessorprogramms auf eine neue Hardware oder zur Anpassung des Mikroprozessorprogramms an neue Benutzerwünsche ist mit einer derartigen Funktionseinheit nicht mög- lieh. Ferner muss die zur Konfiguration verwendete Funktionseinheit speziell für das betreffende Mikroprozessorprogramm entwickelt werden und kann nicht für andere Mikroprozessorprogramme verwendet werden.It is also known to assign a special functional unit to the configuration of a microprocessor program, by means of which a configuration of the entire microprocessor program is possible, for example by changing the values of predetermined parameters. The functional unit can be made, for example, from the running microprocess process. and executed to configure the microprocessor program. However, such a functional unit provided for the configuration of the microprocessor program permits only a configuration within predetermined range limits. A configuration of the microprocessor program, for example, to adapt the microprocessor program to a new hardware or to adapt the microprocessor program to new user wishes is not possible with such a functional unit. Furthermore, the functional unit used for configuration must be specially designed for the particular microprocessor program and can not be used for other microprocessor programs.
Einen ersten Ansatz zur Überwindung dieser Probleme beschreibt die Anmelderin in der prioritätsälteren, nicht vorveröffentlichten 10 2004 005 730.3. Bei dem beschriebenen Verfahren wird die Konfiguration eines Mikroprozessorprogramms verbessert und eine ressourcenoptimierte Imple- mentierung erreicht, indem zwischen einem Benutzer (Konfi- gurator) und dem Mikroprozessorprogramm eine abstrakte Beschreibung der auszuführenden Konfiguration in einer implementierungsunabhängigen Konfigurationsdatei vorgesehen ist, die der Konfiguration zugrundegelegt wird. Anhand der implementierungsunabhängigen Konfigurationsdatei wird automatisch eine implementierungsabhängige Konfigurationsdatei erstellt, die dann zur Konfiguration des Mikroprozessorprogramms herangezogen wird. Um die Fehlerfreiheit des Konfigurationsprozesses und schließlich des Mikroprozessorpro- gramms zu gewährleisten, werden bei der Erstellung der implementierungsabhängigen Konfigurationsdateien vielfache Prüfprozesse durchgeführt. Die Erstellung und Einbindung dieser Prüfprozesse ist schwierig und aufwendig, besonders da diese in Programmcode generiert und programmiert werden. Es stellt sich daher die Aufgabe, die Konfiguration von Mikroprozessorprogrammen weiter zu vereinfachen und möglichst übersichtlich und flexibel zu gestalten. Diese Auf- gäbe wird gelöst durch ein Verfahren gemäß dem Patentanspruch 1 und ein System gemäß dem Patentanspruch 13 sowie ein entsprechendes Softwaresystemprodukt und eine entsprechende Rechnereinheit.A first approach to overcoming these problems is described by the Applicant in the earlier, not pre-published 10 2004 005 730.3. In the method described, the configuration of a microprocessor program is improved and a resource-optimized implementation is achieved by providing an abstract description of the configuration to be executed between a user (configurator) and the microprocessor program in an implementation-independent configuration file on which the configuration is based. The implementation-independent configuration file automatically creates an implementation-dependent configuration file, which is then used to configure the microprocessor program. In order to ensure that the configuration process and, finally, the microprocessor program are error-free, multiple check processes are carried out during the creation of the implementation-dependent configuration files. The creation and integration of these test processes is difficult and expensive, especially since these are generated and programmed in program code. It is therefore the task to further simplify the configuration of microprocessor programs and to make it as clear and flexible as possible. This object is achieved by a method according to patent claim 1 and a system according to patent claim 13 as well as a corresponding software system product and a corresponding computer unit.
Vorteile der ErfindungAdvantages of the invention
Die eine Konfiguration bestimmenden Daten werden unabhängig von einer beabsichtigten konkreten Implementierung in einer oder mehreren implementierungsunabhängigen Konfigurations- dateien abgelegt. Die Implementierungsunabhängigkeit dieser Konfigurationsdatei ermöglicht insbesondere eine abstrakte Beschreibung der abgelegten Informationen. Dies ermöglicht es, die für die Konfiguration des Mikroprozessorprogramms relevanten Informationen besonders gut lesbar abzulegen und damit die Konfiguration deutlich zu vereinfachen. Dadurch, dass diese Konfigurationsdatei implementierungsunabhängig ist, ist es insbesondere möglich, auf einfache Weise eine Konfiguration des Mikroprozessorprogramms zu realisieren, so dass das Mikroprozessorprogramm beispielsweise auf einem neuen Computersystem ablauffähig ist, dessen genaue Parameter bei der Erstellung des Mikroprozessorprogramms noch gar nicht bekannt sind.The configuration-determining data is stored in one or more implementation-independent configuration files independently of an intended concrete implementation. The implementation independence of this configuration file allows in particular an abstract description of the stored information. This makes it possible to store the information relevant to the configuration of the microprocessor program in an especially legible manner and thus to simplify the configuration considerably. In particular, by making this configuration file independent of implementation, it is possible to easily implement a configuration of the microprocessor program so that the microprocessor program can run on a new computer system whose exact parameters are not yet known when the microprocessor program is created.
Der Konfigurationsdatencontainer ermöglicht es, alle für eine Konfiguration relevanten Daten zentral vorzuhalten.The configuration data container makes it possible to centrally store all data relevant for a configuration.
Mittels der in dem Konfigurationsdatencontainer abgelegten Konfigurationsdaten wird automatisch das mindestens eine Modul konfiguriert. Gemäß einer Ausführung des erfindungsgemäßen Verfahrens ist vorgesehen, dass mittels der in dem Konfigurationsdatencontainer abgelegten Konfigurationsdaten automatisch mindes- tens eine implementierungsabhängige Konfigurationsdatei erzeugt wird, wobei die automatische Konfiguration des mindestens einen Moduls in Abhängigkeit von in der mindestens einen implementierungsabhängigen Konfigurationsdatei abgelegten Informationen durchgeführt wird.By means of the configuration data stored in the configuration data container, the at least one module is automatically configured. According to one embodiment of the method according to the invention, it is provided that at least one implementation-dependent configuration file is automatically generated by means of the configuration data stored in the configuration data container, wherein the automatic configuration of the at least one module is performed depending on information stored in the at least one implementation-dependent configuration file.
Bei jeder der Ausführungsformen dieses Schritts findet bezüglich der implementierungsunabhängigen Konfigurationsdatei eine Konkretisierung einzelner oder mehrere Parameterwerte statt. Bei einer derartigen Konkretisierung werden beispielsweise relative Werte durch absolute Werte ersetzt. Ebenso können einzelnen Werten oder Datenbereichen bestimmte Datentypen oder -strukturen zugeordnet werden.In each of the embodiments of this step, there is a concretization of one or more parameter values with respect to the implementation-independent configuration file. With such a specification, for example, relative values are replaced by absolute values. Likewise, individual data types or data areas can be assigned specific data types or structures.
Die implementierungsabhängige Konfigurationsdatei berück- sichtigt implementierungsabhängige Eigenschaften, wie beispielsweise eine oder mehrere bei der Programmierung des Source-Codes verwendete Programmiersprachen oder Eigenschaften der Hardware, auf der das Mikroprozessorprogramm ablaufen soll.The implementation-dependent configuration file takes into account implementation-dependent properties, such as one or more programming languages used in programming the source code, or properties of the hardware on which the microprocessor program is to run.
Der Aufbau beziehungsweise die Aktualisierung des Konfigurationsdatencontainers mittels der in den implementierungsunabhängigen Konfigurationsdateien abgelegten Informationen kann beispielsweise mittels sogenannter Scripte durch- geführt werden. Dabei bezeichnet ein Script eine Sequenz von Befehlen, die von einem speziellen Mikroprozessorprogramm ausgeführt werden können. Derartige spezielle Mikroprozessorprogramme sind beispielsweise AWK oder Perl. Diese speziellen Mikroprozessorprogramme können auch eingesetzt werden, um aus den in dem Konfigurationsdatencontainer abgelegten Konfigurationsdaten implementierungsabhängige Konfigurationsdateien oder die Konfiguration des Moduls zu erzeugen.The configuration or updating of the configuration data container by means of the information stored in the implementation-independent configuration files can be carried out, for example, by means of so-called scripts. A script is a sequence of commands that can be executed by a special microprocessor program. Such special microprocessor programs are for example AWK or Perl. These special microprocessor programs can also be used in order to generate implementation-dependent configuration files or the configuration of the module from the configuration data stored in the configuration data container.
Weiterhin werden bei dem erfindungsgemäßen Verfahren Konfigurationsregeln verwendet. Dabei sind typischerweise jedem Konfigurationsparameter eine oder mehrere Konfigurationsregeln zugehörig. In den Konfigurationsregeln kann beispiels- weise festgelegt werden, welche Datenquellen oder Gruppen von Datenquellen für einen bestimmten Konfigurationsparameter gültig, notwendig oder verboten sind. Bei der Verwendung des Verfahrens für komplexe Softwaresysteme sind unter Datenquellen insbesondere die Komponenten, z.B. Konfigura- tionsdaten, dieses Softwaresystems zu verstehen. Im Kraftfahrzeugbereich sind mögliche Datenquellen für Konfigurationsdaten Softwarekomponenten, z.B. Lambdaregelung, Fahrpedalaufbereitung, Diagnosesystem, usw. Bei der Angabe der gültigen Datenquellen können Mengenspezifikationen wie z.B. "alle Quellen ohne Unterschied" oder "Komponente X zzgl. aller Subkomponenten" vorgesehen sein. In den Konfigurationsregeln wird insbesondere festgeschrieben, wie die einzelnen Konfigurationsparameter formal und inhaltlich zu gestalten sind. Insgesamt ermöglicht diese erfindungsgemäße Maßnahme auf besonders einfache Weise, aufwendige und verteilte Prüfprozesse zu vermeiden und sie statt dessen zentral und einmalig (und damit konsistent) zu implementieren.Furthermore, configuration rules are used in the method according to the invention. Typically, each configuration parameter has one or more configuration rules associated with it. For example, in the configuration rules, you can specify which data sources or groups of data sources are valid, necessary, or prohibited for a particular configuration parameter. When using the method for complex software systems, among data sources, in particular the components, e.g. Configuration data to understand this software system. In the automotive field, possible data sources for configuration data are software components, e.g. Lambda control, accelerator pedal conditioning, diagnostic system, etc. When specifying the valid data sources, quantity specifications such as "all sources without distinction" or "component X plus all subcomponents" be provided. The configuration rules stipulate in particular how the individual configuration parameters are to be designed in terms of form and content. Overall, this measure according to the invention makes it possible in a particularly simple way to avoid complex and distributed test processes and instead to implement them centrally and once (and thus consistently).
Der Vergleich der Konfigurationsparameter mit den Konfigu- rationsregeln kann ebenfalls mittels geeigneter Scripte durchgeführt werden. Die Verwendung von zentralen Konfigurationsregeln bietet umfassende Möglichkeiten zur formalen Definition der Eigenschaften und Einschränkungen von Konfigurationsparametern. Somit werden viele und detaillierte Prüfungen an zentraler Stelle ermöglicht und bezweckt. Im Gegensatz zu bisher beschriebenen Lösungen, bei denen Prüfläufe in den jeweiligen Scripten separat durchgeführt und programmiert werden mussten, kann nun ein Prozessor oder Script eine Regel-, Struktur- und/oder Querbeziehungsprü- fung an zentraler Stelle durchführen. Durch die erfindungsgemäße Maßnahme wird ein Transfer weg von Programmcode hin zu Regeln durchgeführt. Durch Behandlung der Konfigurationsregeln als Teil einer Komponentenschnittstelle (inter- face) werden weitgehende Schnittstellen-Prüfungen sowieThe comparison of the configuration parameters with the configuration rules can also be carried out by means of suitable scripts. The use of centralized configuration rules provides extensive capabilities for formal definition of the properties and constraints of configuration parameters. Thus, many and detailed Tests in a central place possible and intended. In contrast to previously described solutions, in which test runs had to be carried out and programmed separately in the respective scripts, a processor or script can now perform a control, structure and / or cross-reference check at a central location. The inventive measure, a transfer away from program code to rules is performed. By handling the configuration rules as part of a component interface (interface), extensive interface checks are performed as well
Sichtbarkeitseinschränkungen ermöglicht. Damit können Konflikte beim Austausch von Einzelkomponenten früh erkannt und vermieden werden.Visibility restrictions enabled. Conflicts in the exchange of individual components can be detected early and avoided.
Ein wesentlicher Bestandteil der Erfindung ist also die Erkenntnis, dass die Konfiguration eines modularen Systems, insbesondere Mikroprozessorprogramms, entscheidend verbessert werden kann, indem zwischen einem Benutzer (Konfigura- tor) und dem System eine abstrakte Beschreibung der auszu- führenden Konfiguration in der implementierungsunabhängigen Konfigurationsdatei vorgesehen ist, die der Konfiguration zugrundegelegt wird. Durch die Verwendung von Konfigurationsregeln können die Konfigurationsparameter bereits zu einem frühen Verfahrenszeitpunkt überprüft werden, was den dazu notwendige Aufwand vorteilhaft reduziert.An essential component of the invention is thus the recognition that the configuration of a modular system, in particular a microprocessor program, can be decisively improved by providing an abstract description of the configuration to be executed in the implementation-independent configuration file between a user (configurator) and the system is, which is based on the configuration. By using configuration rules, the configuration parameters can already be checked at an early time of the procedure, which advantageously reduces the effort required for this.
Anhand der implementierungsunabhängigen Konfigurationsdatei kann automatisch eine implementierungsabhängige Konfigurationsdatei erstellt werden, die dann zur Konfiguration des Systems herangezogen wird. Das System kann aber ebenso konfiguriert werden, ohne derartige Dateien physikalisch zu erstellen. Da die Konfigurationsparameter vorgegebenen Konfigurationsregeln unterliegen, kann eine einfache und flexible Anpassung an vorgegebene externe Parameter erreicht werden. Das erfindungsgemäße Verfahren ermöglicht es also, die eine Konfiguration beschreibenden Informationen abstrakt und damit besonders gut lesbar anzugeben. Durch die Unabhängigkeit jeglicher Implementierungsdetails wird fer- ner eine besonders hohe Flexibilität erreicht, die durch die Konfigurationsregeln überschaubar und beherrschbar bleibt.The implementation-independent configuration file can be used to automatically create an implementation-dependent configuration file, which is then used to configure the system. The system can also be configured without physically creating such files. Since the configuration parameters are subject to predetermined configuration rules, a simple and flexible adaptation to predetermined external parameters can be achieved become. The method according to the invention thus makes it possible to specify the information describing a configuration abstractly and thus particularly legibly. Due to the independence of any implementation details, a particularly high level of flexibility is achieved, which remains manageable and manageable due to the configuration rules.
Weiterhin bietet sich der Vorteil einer dezentralen Konfi- guration. Z.B. können die Eigenschaften eines mehrkanaligen Messsystems nicht nur zentral in einer diesem Messsystem zugeordneten Konfigurationsdatei, sondern auch kanalspezifisch in mehreren den jeweiligen Sensoren/Kanälen zugeordneten implementierungsunabhängigen Konfigurationsdateien zentral abgelegt werden. Im Container werden diese Informationen dann gesammelt und können von Skripten zentral ausgewertet werden.Furthermore, there is the advantage of a decentralized configuration. For example, For example, the properties of a multichannel measuring system can be centrally stored not only centrally in a configuration file assigned to this measuring system, but also channel-specifically in a plurality of implementation-independent configuration files assigned to the respective sensors / channels. In the container, this information is then collected and can be evaluated centrally by scripts.
Darüber hinaus führen beispielsweise in einem arbeitsteili- gen Prozess die Konfigurationsregeldateien zu einer sicheren Handhabung der implementierungsunabhängigen Konfigurationsdateien. Insbesondere können in einer implementierungsunabhängigen Konfigurationsdatei Konfigurationselemente mit verschiedenen Konfigurationsregeldateien enthalten sein, wodurch die Konfigurationsanforderungen verschiedener Module gebündelt bearbeitet werden können.In addition, for example, in a work-sharing process, the configuration rule files lead to a secure handling of the implementation-independent configuration files. In particular, configuration elements with different configuration rule files can be contained in an implementation-independent configuration file, as a result of which the configuration requirements of various modules can be processed in bundled form.
In einer besonders bevorzugten Ausgestaltung des erfindungsgemäßen Verfahrens werden die Konfigurationsregeln beim automatischen Aufbau und/oder beim automatischen Aktualisieren der in dem Konfigurationsdatencontainer abgelegten Konfigurationsdaten und/oder bei der automatischen Konfiguration des mindestens einen Moduls in Abhängigkeit von den in dem Konfigurationsdatencontainer abgespeicherten Konfigurationsdaten und/oder beim automatischen Erzeugen einer implementierungsabhängigen Konfigurationsdatei in Abhängigkeit von den in dem Konfigurationsdatencontainer abgespeicherten Konfigurationsdaten verwendet. Es kann ebenso vorgesehen sein, die Konfigurationsregeln bereits bei der Erstellung der implementierungsunabhängigen Konfigurationsdateien zu verwenden, wie es weiter unten am Beispiel eines Konfigurationsdateien-Editors beschrieben wird. An den genannten Punkten ist die Einbindung der Konfigurationsregeln besonders einfach durchzuführen. Hier wird demnach ein besonders günstiger Kosten-Nutzen-Faktor erreicht.In a particularly preferred embodiment of the method according to the invention, the configuration rules for automatic construction and / or automatic updating of the stored in the configuration data container configuration data and / or in the automatic configuration of the at least one module depending on the stored in the configuration data container Configuration data and / or the automatic generation of an implementation-dependent configuration file depending on the configuration data stored in the configuration data container used. It can also be provided to use the configuration rules already when creating the implementation-independent configuration files, as described below using the example of a configuration file editor. At the points mentioned, the integration of the configuration rules is particularly easy to perform. Here, therefore, a particularly favorable cost-benefit factor is achieved.
Es ist zweckmäßig, wenn die Konfigurationsregeln in mindestens einer Konfigurationsregeldatei abgelegt sind. Dabei bietet es sich an, mehrere Konfigurationsregeldateien vorzusehen, beispielsweise eine Konfigurationsregeldatei für jede Funktionseinheit oder eine Konfigurationsregeldatei für jede Konfigurationsdatei. In einer derartigen Konfigurationsregeldatei sind Regeln für die Konfigurationsparame- ter der zugeordneten Funktionseinheit abgelegt. Dadurch kann eine hohe Übersichtlichkeit erreicht werden. Die einzelnen Regeldateien werden während des Konfigurationsverfahrens zweckmäßigerweise zu einer zentralen Regeldatei zusammengeführt. Es versteht sich, dass ebenso nur eine Kon- figurationsregeldatei für alle zu behandelnden Konfigurationsparameter vorgesehen sein kann.It is expedient if the configuration rules are stored in at least one configuration rule file. It makes sense to provide several configuration rule files, for example a configuration rule file for each functional unit or a configuration rule file for each configuration file. In such a configuration rule file, rules for the configuration parameters of the assigned functional unit are stored. This allows a high degree of clarity can be achieved. The individual rule files are expediently combined during the configuration process to form a central rule file. It goes without saying that likewise only one configuration rule file can be provided for all configuration parameters to be treated.
In einer bevorzugten Ausgestaltung des Verfahrens ist einem Konfigurationsparameter wenigstens eine Konfigurationsregel zugeordnet, wobei die Konfigurationsregel eine Berechtigung zum Bearbeiten des Konfigurationsparameters, eine formale Eigenschaft, eine existenzbestimmende Eigenschaft oder eine wertbestimmende Eigenschaft des Konfigurationsparameters beschreibt. Wie weiter unten beschrieben wird, ist als wei- tere vorteilhafte Ausgestaltung des erfindungsgemäßen Verfahrens eine Konfiguration durch Abhängigkeitsinformationen vorgesehen. Es ist zweckmäßig, wenn dabei Konfigurationsregeln betreffend eine (Bearbeitungs-) Berechtigung vorgesehen sind. Damit kann auf einfache Weise eine Hierarchie innerhalb der Konfigurationsparameter festgelegt werden, welche eine gegenseitige Veränderbarkeit beschreibt. Insbesondere ist regelbar, welcher Konfigurationsparameter von welchen anderen Konfigurationsparametern beschrieben oder verändert werden kann oder darf. Es bietet sich an, weitere Eigenschaften von Konfigurationsparametern durch Konfigurationsregeln zu beschreiben, wie z.B.In a preferred embodiment of the method, at least one configuration rule is assigned to a configuration parameter, the configuration rule describing an authorization for processing the configuration parameter, a formal property, an existence-determining property or a value-determining property of the configuration parameter. As will be described below, as a further tere advantageous embodiment of the method according to the invention provided a configuration by dependency information. It is useful if this configuration rules are provided for a (processing) authorization. In this way, a hierarchy within the configuration parameters can be defined in a simple manner, which describes a mutual variability. In particular, it is possible to regulate which configuration parameter can or may be described or changed by which other configuration parameters. It makes sense to describe further properties of configuration parameters by configuration rules, such as
- einen Standard-Wert (default) , der als Ersatzwert verwen- det wird, wenn kein Wert für einen Parameter angegeben wurde; damit können sich alle Konfigurationsdaten verarbeitenden nachgeschalteten Prozesse auf die Existenz eines Konfigurationswertes verlassen;- a default value, which is used as a substitute value if no value was specified for a parameter; Thus, all configuration data processing downstream processes can rely on the existence of a configuration value;
- eine Spezifikation gültiger Referenzziele, falls der zugehörige Konfigurationsparameter eine Liste von durch Schlüssel zu unterscheidenden Mengen von Konfigurationseinstellungen darstellt;a specification of valid reference targets if the associated configuration parameter represents a list of key-different sets of configuration settings;
- einen zulässigen Wertebereich (z.B. minimaler/maximaler Wert, Inkrement [z.B. nur Werte 0, 0,1, 0,2 usw.], minimale/maximale Textlänge bei textuellen Parametern, festgelegter Texttyp (z.B. Iso-Datum) , einem bestimmten Textmuster genügender Text oder einem von mehreren vorgegebenen Texten identischer Text) ;- a permissible value range (eg minimum / maximum value, increment [eg only values 0, 0.1, 0.2, etc.], minimum / maximum text length for textual parameters, specified text type (eg iso date), sufficient for a specific text pattern Text or one of several predefined texts identical text);
- eine Vorschrift zur automatischen Umsetzung eines Wertes in eine andere Darstellung; - eine Umrechnungsformel von einer abstrakten/physikalischen Repräsentation eines Wertes in eine interne Darstellung und/oder umgekehrt;- a rule to automatically convert one value into another; a conversion formula from an abstract / physical representation of a value into an internal representation and / or vice versa;
- eine Angabe, wie ein Konfigurationswert bspw. auf einem Display angezeigt werden soll (z.B. Format-String in einem printf-Format) ;an indication of how a configuration value is to be displayed, for example, on a display (e.g., format string in a printf format);
- eine Bindung an eine andere Systemeigenschaft, z.B. eine Variable in einem Softwaresystem bzw. Mikroprozessorprogramm, oder eine Hardwareeigenschaft oder Resource;a binding to another system property, e.g. a variable in a software system or microprocessor program, or a hardware property or resource;
- eine Einheit des Konfigurationswerts;a unit of the configuration value;
- eine Behandlung von Leerzeichen und Seitenumbrüchen bei textuellen Informationen.- a handling of blanks and page breaks in textual information.
Für jeden Konfigurationsparameter können dabei einzelne, mehrere oder alle der genannten Regeln sowie weitere vorge- sehen sein. Durch diese Maßnahmen kann der Automatisierungsgrad besonders gut erhöht werden und eine zuverlässige Konfiguration des Mikroprozessorprogramms erreicht werden. Sieht eine Modul bzw. eine Funktionseinheit beispielsweise eine Erfassung von Messwerten vor, so kann in der zugehöri- gen Regel beschrieben werden, welche Sensoren von der Hardware bereitgestellt werden und welche Messgenauigkeit zur Verfügung steht. Der Parameter kann nur innerhalb dieser Regeln gesetzt werden.For each configuration parameter, individual, several or all of the mentioned rules and others can be provided. By these measures, the degree of automation can be increased particularly well and a reliable configuration of the microprocessor program can be achieved. If a module or a functional unit, for example, provides for the acquisition of measured values, the associated rule can describe which sensors are provided by the hardware and which measuring accuracy is available. The parameter can only be set within these rules.
In einer vorteilhaften Weiterbildung des Verfahrens wird mindestens eine Abhängigkeitsinformation, die eine Abhängigkeit von mindestens zwei in dem Konfigurationsdatencontainer vorliegenden Konfigurationsdaten beschreibt, automatisch erzeugt. Die mindestens eine implementierungsabhängi- ge Konfigurationsdatei wird in Abhängigkeit der mindestens einen Abhängigkeitsinformation erzeugt.In an advantageous development of the method, at least one dependency information which describes a dependency of at least two configuration data present in the configuration data container is automatically generated. The at least one implementation-dependent The configuration file is generated depending on the at least one dependency information.
Abhängigkeitsinformationen können beispielsweise beschreiben, ob sich die Änderung eines Konfigurationsparameters auf einen anderen Konfigurationsparameter auswirkt. Wird zum Beispiel für ein Modul eine Resource ausschließlich reserviert, so steht sie während der Ausführung des Moduls/Funktionseinheit anderen Funktionseinheiten nicht zur Verfügung. Mit Abhängigkeitsinformationen kann ermittelt werden, welche Funktionseinheiten eine bestimmte Resource benötigen und damit nicht gleichzeitig ablaufen können. Abhängigkeitsinformationen können folglich auch zur Resour- cenverwaltung verwendet werden. Die Abhängigkeitsinformationen werden zur Weiterleitung (Forwarding) von Konfigurati- onsinformationen verwendet. Beim Forwarding leitet eine einer bestimmten Komponente zugeordnete Konfigurations- Bearbeitungs-Instanz aus an sie gestellten Konfigurationsanforderungen bzw. -feineinstellungen durch einen frei wählbaren Algorithmus Konfigurationen anderer Komponenten ab und leitet diese so ermittelten Einstellungen an diese anderen Komponenten weiter. Diese vorteilhafte Maßnahme kann insbesondere zur automatischen Konfiguration von Sub- komponenten verwendet werden. Es bietet sich daneben an, die Intention des Forwardings in Konfigurationsregeln abzu- legen, um bereits vor dem Zeitpunkt der eigentlichen Konfiguration prüfbar zu machen, ob durch diese Weiterleitung von Konfigurationsdaten möglicherweise Kreisschlüsse (Parameter A konfiguriert Parameter B, der wiederum Parameter A konfiguriert) entstehen. Durch das Ablegen in Konfigurati- onsregeln werden weiterhin Abhängigkeiten zwischen den einzelnen Komponenten formal beschrieben und stehen daher anderen, weiterverarbeitenden Prozessen zur Verfügung. Das Forwarding kann neben der beschriebenen bringenden Verfahrensweise auch eine holende Verfahrensweise vorsehen. Bei einem holenden Forwarding erfolgt eine Spezifikation einer Einstellung eines bestimmten Konfigurationsparameters nicht nur aus einem konstanten Datum, sondern vorteilhafterweise auch aus einem (möglicherweise komplexen und/oder bedingten) Ausdruck, der Referenzen auf die Einstellungen anderer Parameter enthält. Auch ist es vorteilhaft vorzusehen, eine Spezifikation eines Konfigurationsparameters als ganzes (d.h. die Existenz dieser Spezifikation) wiederum von der Einstellung anderer Konfigurationsparameter - oder möglicherweise beliebig komplexen Ausdrücken bestehend aus solchen Einstellungen - abhängig zu machen. Durch die Verwendung von Konfigurationsregeln kann eine automatische Festlegung der Forwarding-Reihenfolge erfolgen, wodurch eine Erkennung von eventuellen Kreisschlüssen schon zum Zeitpunkt der Schnittstellen-Prüfung ermöglicht wird.For example, dependency information can describe whether changing one configuration parameter affects another configuration parameter. If, for example, a resource is exclusively reserved for a module, it is not available to other functional units during the execution of the module / functional unit. Dependency information can be used to determine which functional units need a specific resource and thus can not run at the same time. Dependency information can therefore also be used for resource management. The dependency information is used to forward (forwarding) configuration information. During forwarding, a configuration processing instance assigned to a particular component derives configurations of other components from configuration requests or fine adjustments made to it by means of a freely selectable algorithm and forwards these settings thus determined to these other components. This advantageous measure can be used in particular for the automatic configuration of subcomponents. It is also a good idea to leave the intention of forwarding in configuration rules in order to be able to test before the time of the actual configuration whether circular routing (parameter A configures parameter B, which in turn configures parameter A) may result from this forwarding of configuration data , By storing them in configuration rules, dependencies between the individual components are formally described and are therefore available to other, further processing processes. In addition to the described procedure, forwarding can also provide a pending procedure. In a forwarding forwarding, a specification of a setting of a particular configuration parameter is made not only from a constant date, but also advantageously from a (possibly complex and / or conditional) expression containing references to the settings of other parameters. It is also advantageous to make a specification of a configuration parameter as a whole (ie the existence of this specification) in turn dependent on the setting of other configuration parameters - or possibly any complex expressions consisting of such settings. By using configuration rules, the forwarding order can be determined automatically, which enables the detection of possible loopholes already at the time of the interface check.
In einer bevorzugten Ausführungsform des Verfahrens werden mehrere implementierungsunabhängige Konfigurationsdateien erstellt und jede der implementierungsunabhängigen Konfigurationsdateien wird mindesten einem Modul bzw. einer Funktionseinheit zugeordnet. Dies ermöglicht eine besonders einfache Konfiguration dadurch, dass die als Informationen in den implementierungsunabhängigen Konfigurationsdateien abgelegten Konfigurationsparameter besonders einfach aufgefunden und verändert werden können. Beispielsweise ist es möglich, die eine Konfiguration bestimmenden Informationen, also die Konfigurationsparameter, nach der von diesen be- einflussten Funktionalität oder Hardware zu ordnen. Ferner wird dadurch eine besonders einfache Anpassung der implementierungsunabhängigen Konfigurationsdateien an neu hinzugekommene Funktionseinheiten ermöglicht. Im einfachsten Fall wird einer neu hinzugekommenen Funktionseinheit eine spezielle implementierungsunabhängige Konfigurationsdatei sowie beispielsweise eine Konfigurationsregeldatei zugeordnet. Vorteilhafterweise werden mehrere implementierungsabhängige Konfigurationsdateien erzeugt und es wird jede der implementierungsabhängigen Konfigurationsdateien mindestens einer Funktionseinheit zugeordnet. Eine derartige Strukturierung der implementierungsabhängigen Konfigurationsdateien erhöht die Übersichtlichkeit der erzeugten implementierungsabhängigen Konfigurationsdateien. Ist der Source-Code derartig strukturiert, dass sich eine oder mehrere Funktionseinheiten in unterschiedlichen Dateien befinden, so kann erreicht werden, dass jeder der Dateien des Source-Codes eine implementierungsabhängige Konfigurationsdatei zugeordnet ist. Eine besonders übersichtliche Strukturierung kann auch dadurch erreicht werden, dass jeder implementierungsunabhängigen Konfigurationsdatei je eine implementierungsabhängige Konfigurationsdatei zugeordnet ist.In a preferred embodiment of the method, a plurality of implementation-independent configuration files are created and each of the implementation-independent configuration files is assigned to at least one module or functional unit. This allows a particularly simple configuration in that the configuration parameters stored as information in the implementation-independent configuration files can be found and changed particularly easily. For example, it is possible to arrange the configuration-determining information, that is to say the configuration parameters, according to the functionality or hardware influenced by them. Furthermore, this allows a particularly simple adaptation of the implementation-independent configuration files to newly added functional units. In the simplest case, a newly added functional unit becomes a special implementation-independent configuration file and, for example, associated with a configuration rule file. Advantageously, several implementation-dependent configuration files are generated and each of the implementation-dependent configuration files is assigned to at least one functional unit. Such a structuring of the implementation-dependent configuration files increases the clarity of the generated implementation-dependent configuration files. If the source code is structured in such a way that one or more functional units are located in different files, then it can be achieved that each of the files of the source code is assigned an implementation-dependent configuration file. A particularly clear structuring can also be achieved by assigning an implementation-dependent configuration file to each implementation-independent configuration file.
Vorzugsweise wird die mindestens eine implementierungsab- hängige Konfigurationsdatei in Abhängigkeit von mindestens einer Eigenschaft einer Hardware, auf der eine Installation zumindest eines Teils des konfigurierten modularen Systems als Mikroprozessorprogramm ermöglicht werden soll, erzeugt. Eine derartige Hardwareeigenschaft kann beispielsweise die Anzahl von zur Verfügung stehenden Prozessoren oder Art und Anzahl von an die Hardware angeschlossenen Sensoren sein. Werden derartige Hardwareeigenschaften bei der Erzeugung der implementierungsabhängigen Konfigurationsdateien berücksichtigt, so kann eine besonders präzise Konfiguration des Mikroprozessorprogramms erfolgen. Damit ist es beispielsweise möglich, insbesondere mit Abhängigkeitsinformationen eine hinsichtlich der Ausführungsgeschwindigkeit und Ressourcenverbrauch optimierte Konfiguration automatisch zu erstellen. In einer weiteren bevorzugten Ausführungsform wird automatisch eine Dokumentation erstellt. Die Dokumentation beschreibt die innerhalb der mindestens einen implementie- rungsunabhängigen Konfigurationsdatei und/oder der mindestens einen implementierungsabhängigen Konfigurationsdatei und/oder der Konfigurationsregeln und/oder der mindestens einen Konfigurationsregeldatei abgelegten Informationen. Derartig automatisch erzeugte Dokumentationen erhöhen die Wartbarkeit des Mikroprozessorprogramms einerseits und ermöglichen es andererseits besonders einfach, eine Konfiguration auf einfache Weise zu planen und vorzubereiten und eine durchgeführte Konfiguration nachzuvollziehen. Durch die automatische Erzeugung der Dokumentation ist sicherge- stellt, dass diese mit der tatsächlichen Konfiguration bzw. den Konfigurationsregeln übereinstimmt. Soll eine neue Konfiguration des modularen Systems durchgeführt werden, so kann anhand einer derartigen Dokumentation besonders einfach festgestellt werden, welche Parameterwerte geändert werden müssen oder dürfen und welchen Regeln diese unterliegen.Preferably, the at least one implementation-dependent configuration file is generated as a function of at least one property of a hardware on which an installation of at least part of the configured modular system as a microprocessor program is to be made possible. Such a hardware property may be, for example, the number of available processors or the type and number of sensors connected to the hardware. If such hardware properties are taken into account in the generation of the implementation-dependent configuration files, a particularly precise configuration of the microprocessor program can take place. This makes it possible, for example, to automatically create a configuration that is optimized with regard to execution speed and resource consumption, in particular with dependency information. In a further preferred embodiment, a documentation is automatically created. The documentation describes the information stored within the at least one implementation-independent configuration file and / or the at least one implementation-dependent configuration file and / or the configuration rules and / or the at least one configuration rule file. Such automatically generated documentation increases the maintainability of the microprocessor program on the one hand, and on the other hand, it makes it particularly easy to easily plan and prepare a configuration and to understand an executed configuration. The automatic generation of the documentation ensures that it matches the actual configuration or configuration rules. If a new configuration of the modular system is to be carried out, such documentation can be used to determine particularly simply which parameter values must or must be changed and which rules are subject to these.
Es ist zweckmäßig, wenn bei dem erfindungsgemäßen Verfahren zum Erstellen und/oder Ändern der mindestens einen imple- mentierungsunabhängigen Konfigurationsdatei ein Mikroprozessorprogramm verwendet wird, dass die Konfigurationsregeln berücksichtigt. Ein solches Computer- oder Mikroprozessorprogramm kann beispielsweise als Konfigurationsdateien-Editor bezeichnet werden, was für den Fachmann die Funk- tionalität ausreichend beschreibt. Durch die Verwendung der Konfigurationsregeln bereits bei der Erstellung der Konfigurationsdateien kann von Anfang an die Übereinstimmung der Konfigurationsparameter mit den Konfigurationsregeln si- chergestellt werden. Eine nachträgliche Überarbeitung kann vermieden werden.It is expedient if in the method according to the invention for creating and / or changing the at least one implementation-independent configuration file a microprocessor program is used that takes into account the configuration rules. Such a computer or microprocessor program can be designated, for example, as a configuration file editor, which adequately describes the functionality for the person skilled in the art. By using the configuration rules already during the creation of the configuration files, the conformity of the configuration parameters with the configuration rules can be ensured right from the start. be ensured. Subsequent revision can be avoided.
Vorzugsweise wird die mindestens eine implementierungsunab- hängige Konfigurationsdatei und/oder die mindestens eine Konfigurationsregeldatei in einem XML-basierten Format erstellt. XML (Extensible Markup Language) ist eine standardisierte Metasprache, die es ermöglicht, strukturierte Sprachen zu erzeugen. Ist die mindestens eine implementie- rungsunabhängige Konfigurationsdatei und/oder die mindestens eine Konfigurationsregeldatei in einer XML-konformen, strukturierten Sprache erstellt, so wird eine Konfiguration dadurch erleichtert, dass eine derartige Datei besonders gut lesbar ist. Ferner ist eine derartige Datei auch beson- ders gut maschinenlesbar. Insbesondere existiert eine Vielzahl von teilweise ebenfalls standardisierten Software- Werkzeugen (Tools), mittels derer eine Bearbeitung und Verarbeitung von in einem XML-basierten Format erstellten Dateien möglich ist.Preferably, the at least one implementation-independent configuration file and / or the at least one configuration rule file is created in an XML-based format. XML (Extensible Markup Language) is a standardized metalanguage that allows you to create structured languages. If the at least one implementation-independent configuration file and / or the at least one configuration rule file are created in an XML-compliant, structured language, a configuration is facilitated by the fact that such a file is particularly easy to read. Furthermore, such a file is also particularly machine-readable. In particular, there are a large number of software tools (tools), some of which are also standardized, by means of which it is possible to process and process files created in an XML-based format.
In einer bevorzugten Ausführungsform des Verfahrens wird in Abhängigkeit von den Konfigurationsdaten automatisch ermittelt, ob ein von dem modularen System umfasstes Modul von dem modularen System benötigt wird und eine Konfiguration dieses Moduls nur durchgeführt, falls das Modul von dem modularen System benötigt wird. Dies ermöglicht es, eine Konfiguration besonders schnell durchzuführen dadurch, dass nur derartige Module/Funktionseinheiten tatsächlich konfiguriert werden, die bei einer Ausführung des konfigurierten Systems tatsächlich benötigt werden. Des weiteren wird dadurch erreicht, dass das konfigurierte System, wenn es sich um eine Mikroprozessorprogramm handelt, möglichst wenig Speicherplatz in Anspruch nimmt, da beispielsweise eine Ü- bersetzung von Source-Code in Maschinencode nur für derar- tige Funktionseinheiten veranlasst wird, die tatsächlich angewendet werden sollen.In a preferred embodiment of the method, depending on the configuration data, it is automatically determined whether a module included in the modular system is needed by the modular system and configuration of that module is performed only if the module is needed by the modular system. This makes it possible to perform a configuration particularly quickly by actually configuring only such modules / functional units as are actually needed in an execution of the configured system. Furthermore, this ensures that the configured system takes up as little space as possible in the case of a microprocessor program, since, for example, a translation of source code into machine code is only possible for such a case. which functional units are to be actually used.
Vorteilhafterweise wird das erfindungsgemäße Verfahren zur Konfiguration eines Mikroprozessorprogramms verwendet. Es kann aber prinzipiell zur Konfiguration jeglicher Systeme, die aus Modulen (z.B. Texte, Informationen, mechanische Bauteile usw.) bestehen, verwendet werden.Advantageously, the method according to the invention is used to configure a microprocessor program. However, it may in principle be used to configure any systems consisting of modules (e.g., text, information, mechanical components, etc.).
Die Aufgabe wird auch durch ein Softwaresystem der eingangs genannten Art gelöst. Dabei weist das Softwaresystem, insbesondere ein Computer- oder Mikroprozessorprogramm, auf:The object is also achieved by a software system of the type mentioned. In this case, the software system, in particular a computer or microprocessor program, has:
- mindestens eine Konfigurationsregeldatei;- at least one configuration rule file;
- mindestens eine implementierungsunabhängige Konfigurati- onsdatei;- at least one implementation-independent configuration file;
- einen Konfigurationsdaten aufweisenden Konfigurationsdatencontainer und/oder Mittel zum Erstellen eines Konfigurationsdatencontainers in Abhängigkeit von in der mindestens einen implementierungsunabhängigen Konfigurationsdatei ab- gelegten Informationen;a configuration data container having configuration data and / or means for creating a configuration data container as a function of information stored in the at least one implementation-independent configuration file;
- Mittel zum Ändern und/oder Auslesen von Konfigurationsdaten aus dem Konfigurationsdatencontainer;- means for changing and / or reading configuration data from the configuration data container;
- Mittel zum automatischen Konfigurieren des mindestens einen Moduls in Abhängigkeit von in dem Konfigurationsdaten- Container abgespeicherten Konfigurationsdaten.- Means for automatically configuring the at least one module in response to stored in the configuration data container configuration data.
In einer bevorzugten Ausgestaltung weisen die Mittel zum automatischen Konfigurieren des mindestens einen Moduls in Abhängigkeit von in dem Konfigurationsdatencontainer abge- speicherten Konfigurationsdaten auf:In a preferred embodiment, the means for automatically configuring the at least one module depend on configuration data stored in the configuration data container:
- Mittel zum automatischen Erzeugen mindestens einer implementierungsabhängigen Konfigurationsdatei in Abhängigkeit von in dem Konfigurationsdatencontainer abgespeicherten Konfigurationsdaten; und - Mittel zum automatischen Konfigurieren der mindestens einen Funktionseinheit in Abhängigkeit von in der implementierungsabhängigen Konfigurationsdatei abgelegten Informationen.Means for automatically generating at least one implementation-dependent configuration file as a function of configuration data stored in the configuration data container; and Means for automatically configuring the at least one functional unit in dependence on information stored in the implementation-dependent configuration file.
Vorzugsweise weist das Softwaresystem Mittel zur Durchführung des erfindungsgemäßen Verfahrens auf, insbesondere wenn das Softwaresystem auf einem Computer, einem Mikroprozessor oder einer entsprechenden Rechnereinheit, insbeson- dere der erfindungsgemäßen Rechnereinheit, ausgeführt wird.The software system preferably has means for carrying out the method according to the invention, in particular if the software system is executed on a computer, a microprocessor or a corresponding computer unit, in particular the computer unit according to the invention.
Die Realisierung der Erfindung in Form eines Softwaresystems ist hierbei von besonderer Bedeutung. Dabei ist das Softwaresystem auf einem Rechengerät, insbesondere auf ei- nem Mikroprozessor ablauffähig und zur Ausführung des erfindungsgemäßen Verfahrens geeignet. In diesem Fall wird also die Erfindung durch das Softwaresystem realisiert, so dass das Softwaresystem in gleicher Weise die Erfindung darstellt wie das Verfahren, zu dessen Ausführung das Soft- waresystem geeignet ist.The realization of the invention in the form of a software system is of particular importance here. In this case, the software system can run on a computing device, in particular on a microprocessor, and is suitable for carrying out the method according to the invention. In this case, therefore, the invention is realized by the software system, so that the software system represents the invention in the same way as the method for the execution of which the software system is suitable.
Ein weiteres erfindungsgemäßes Softwaresystem bzw. Computerprogramm weist Programmcodemittel auf, um unter Berücksichtungen von Konfigurationsregeln implementierungsunab- hängige Konfigurationsdateien zu erstellen oder zu verändern (Konfigurationsdateien-Editor) .Another software system or computer program according to the invention has program code means in order to create or modify configuration-independent configuration files taking account of configuration rules (configuration file editor).
Das Softwaresystem ist vorzugsweise auf einem Speicherelement (Speichermedium, Datenträger) abspeicherbar. Das Spei- cherelement kann als Random-Access-Memory, Read-Only-Memory oder Flash-Memory ausgebildet sein. Das Speicherelement kann auch als Digital Versatile Disc (DVD) , Compact Disc (CD) oder als Festplatte (Hard Disc) ausgebildet sein. Ein erfindungsgemäßes Softwaresystemprodukt, insbesondere eine Computer- bzw. Mikroprozessorprogrammprodukt, beinhaltet Programmcodemittel, die auf einem Speicherelement, insbesondere einem maschinen- bzw. computerlesbaren Datenträ- ger, gespeichert sind. Geeignete Datenträger sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD- ROMs, DVDs, RAM, ROM u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich .The software system is preferably stored on a storage element (storage medium, data carrier). The storage element can be designed as random access memory, read-only memory or flash memory. The memory element can also be designed as a digital versatile disc (DVD), a compact disc (CD) or a hard disk (hard disc). A software system product according to the invention, in particular a computer or microprocessor program product, contains program code means which are stored on a memory element, in particular a machine-readable or computer-readable data carrier. Suitable data carriers are, in particular, floppy disks, hard disks, flash memories, EEPROMs, CD-ROMs, DVDs, RAM, ROM, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
Eine erfindungsgemäße Rechnereinheit, insbesondere Steuergerät, weist einen Mikroprozessor auf und ist zur Durchführung eines erfindungsgemäßen Verfahrens programmiert.A computer unit according to the invention, in particular a control unit, has a microprocessor and is programmed to carry out a method according to the invention.
Es ist zweckmäßig, ein erfindungsgemäßes Verfahren, ein erfindungsgemäßes Softwaresystem, ein erfindungsgemäßes Softwaresystemprodukt oder eine erfindungsgemäße Rechnereinheit im Bereich des Kraftfahrzeugbaus zu verwenden. Es versteht sich, dass die Verwendung nicht hierauf beschränkt ist.It is expedient to use a method according to the invention, a software system according to the invention, a software system product according to the invention or a computer unit according to the invention in the field of motor vehicle construction. It is understood that the use is not limited thereto.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination given, but also in other combinations or in isolation, without departing from the scope of the present invention.
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.The invention is illustrated schematically with reference to an embodiment in the drawing and will be described below in detail with reference to the drawings.
Figurenbeschreibung Figur 1 zeigt eine Ausführungsform eines Softwaresystems zur Durchführung des erfindungsgemäßen Verfahrens; undfigure description FIG. 1 shows an embodiment of a software system for carrying out the method according to the invention; and
Figur 2 ein schematisiertes Ablaufdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens.Figure 2 is a schematic flow diagram of an embodiment of the method according to the invention.
In Figur 1 ist ein Softwaresystem zur Durchführung des er- findungsgemäßen Verfahrens dargestellt. Das Softwaresystem weist mehrere implementierungsunabhängige Konfigurationsdateien 1 auf. Jeder Konfigurationsdatei 1 ist ein Dateiname zugeordnet. Die in Figur 1 dargestellten implementierungsunabhängigen Konfigurationsdateien tragen beispielsweise die Dateinamen conf l.xml, conf 2. xml, conf 3.xml bis conf n . xml . Das Softwaresystem weist ebenfalls mehrere Konfigurationsregeldateien Ib auf. Jeder Konfigurationsregeldatei Ib ist ein Dateiname zugeordnet. Die in Figur 1 dargestellten Konfigurationsregeldateien tragen beispielsweise die Dateinamen rule l.xml, rule 2. xml, rule 3. xml bis ru- Ie x . xml . Die Dateiendung xml weist darauf hin, dass die implementierungsunabhängigen Konfigurationsdateien 1 und die Konfigurationsregeldateien Ib in einem XML-basierten Format vorliegen. Eine in einem XML-basierten Format vor- liegende Text-Datei ermöglicht es, die Text-Datei nach vorgebbaren Regeln zu strukturieren. Eine derartig strukturierte Text-Datei kann besonders gut manuell und maschinell gelesen und verarbeitet werden.FIG. 1 shows a software system for carrying out the method according to the invention. The software system has several implementation-independent configuration files 1. Each configuration file 1 is assigned a file name. The implementation-independent configuration files illustrated in FIG. 1 carry, for example, the file names conf.sub.xml, conf.sup.2.xml, conf 3.xml to conf.sub.n. xml. The software system also has several configuration rules files Ib. Each configuration rule file Ib is assigned a file name. The configuration rule files shown in FIG. 1 bear, for example, the file names rule 1.xml, rule 2.xml, rule 3.xml to rule x. xml. The file extension xml indicates that the implementation-independent configuration files 1 and the configuration rules files Ib are present in an XML-based format. A text file in an XML-based format makes it possible to structure the text file according to specifiable rules. Such a structured text file can be read and processed particularly well manually and by machine.
Die implementierungsunabhängigen Konfigurationsdateien 1 und die Konfigurationsregeldateien Ib werden einem Script 2 zugeführt. Das Script 2 ist beispielsweise als sogenanntes Perl-Script ausgebildet. Perl ist eine Interpretersprache, deren Syntax auf der Programmiersprache C basiert und die von dem jeweiligen Betriebssystem zur Verfügung gestellte Dienstprogramme verwendet.The implementation-independent configuration files 1 and the configuration rules files Ib are fed to a script 2. The script 2 is designed, for example, as a so-called Perl script. Perl is an interpreter language whose syntax is based on the C programming language and the used by the respective operating system provided utilities.
Mittels des Scripts 2 werden die implementierungsunabhängi- gen Konfigurationsdateien 1 gelesen und die darin abgelegten Informationen extrahiert und in einem Konfigurationsdatencontainer 3 abgelegt. Die Extrahierung der Konfigurationsinformationen bzw. -parameter erfolgt unter Berücksichtigung der Konfigurationsregeln aus den Konfigurationsre- geldateien Ib. Wenn Konfigurationsparameter den Konfigurationsregeln widersprechen, kann dies somit bereits zu einem frühen Stadium der Konfiguration erkannt und bemängelt werden. Dazu können beispielsweise in den Konfigurationsregeldateien oder in Script 2 entsprechende Hinweis- oder Feh- lertexte enthalten sein, die bei der Verletzung einer entsprechenden Regel oder eines Regeltyps ausgegeben werden. Gleichzeitig werden auch eventuell vorhandene Abhängigkeiten zu weiteren Konfigurationsscripten 4 bestimmt und abgelegt (Forwarding) . Die Anordnung der Konfigurationsregelda- teien Ib innerhalb des Softwaresystems ist beispielhaft zu sehen. Die Konfigurationsregeldateien Ib können in einer anderen Ausführungsform des Softwaresystems beispielsweise den Scripten 4 zugeordnet sein.By means of the script 2, the implementation-independent configuration files 1 are read and the information stored therein is extracted and stored in a configuration data container 3. The extraction of the configuration information or parameters takes place taking into account the configuration rules from the configuration backup files Ib. If configuration parameters contradict the configuration rules, this can already be detected and criticized at an early stage of the configuration. For this purpose, for example, the configuration rule files or Script 2 may contain corresponding notes or error texts which are output when a corresponding rule or a rule type is violated. At the same time, any existing dependencies on further configuration scripts 4 are determined and stored (forwarding). The arrangement of the configuration rule files Ib within the software system can be seen as an example. The configuration rules files Ib can be assigned to the scripts 4 in another embodiment of the software system, for example.
Bei den weiteren Konfigurationsscripten 4 handelt es sich ebenfalls bspw. um Perl-Scripte . Es ist ebenso vorstellbar, dass eines oder mehrere der weiteren Konfigurationsscripte 4 ein ausführbares Mikroprozessorprogramm (Maschinencode) ist oder in einer anderen Scriptsprache, beispielsweise AWK, vorliegt.The further configuration scripts 4 are also, for example, Perl scripts. It is also conceivable that one or more of the further configuration scripts 4 is an executable microprocessor program (machine code) or is present in another scripting language, for example AWK.
Mit dem Bezugszeichen 5 sind implementierungsabhängige Konfigurationsdateien bezeichnet. Die implementierungsabhängigen Konfigurationsdateien 5 sind beispielsweise in der Pro- grammiersprache codiert, in der auch der zu konfigurierende Source-Code programmiert ist. Derartige implementierungsabhängige Konfigurationsdateien können von einem Compiler 6 verarbeitet werden.The reference numeral 5 denotes implementation-dependent configuration files. The implementation-dependent configuration files 5 are, for example, in the Pro coded in which also the source code to be configured is programmed. Such implementation-dependent configuration files can be processed by a compiler 6.
Mit dem Bezugszeichen 7 ist ein Mikroprozessorprogramm dargestellt, das mehrere Funktionseinheiten 8 aufweist. Die Funktionsweise des erfindungsgemäßen Softwaresystems wird anhand des in Figur 2 dargestellten Ablaufdiagramms be- schrieben.The reference numeral 7, a microprocessor program is shown, which has a plurality of functional units 8. The operation of the software system according to the invention will be described with reference to the flowchart shown in FIG.
Das in Figur 2 dargestellte Ablaufdiagramm eines erfindungsgemäßen Verfahrens zur Konfiguration eines Mikroprozessorprogramms startet in einem Schritt 100. In einem Schritt 101 werden implementierungsunabhängige Konfigurationsdateien 1 erstellt beziehungsweise geändert. Die implementierungsunabhängigen Konfigurationsdateien 1 zeichnen sich insbesondere dadurch aus, dass es möglich ist, mittels der dort abgelegten Informationen konkrete Konfigurations- werte beziehungsweise Konfigurationsparameter abstrakt zu beschreiben. Konkrete Konfigurationswerte können beispielsweise den Messbereich eines Sensormoduls zur Messung einer elektrischen Spannung bestimmen. Beispielsweise ist es möglich, einen Messbereich abstrakt mit den Werten 3 - 5 Volt anzugeben. Die daraus zu erzeugenden, implementierungsabhängigen Werte des Messbereichs, so wie es die zu konfigurierende Funktionseinheit 8 erwartet, können jedoch beispielsweise zwischen 10.000 und 20.000 liegen. Eine das Sensormodul steuernde Funktionseinheit 8 des Mikroprozes- sorprogramms müsste in diesem Fall beispielsweise mittels der konkreten Konfigurationswerte 10.000 und 20.000 konfiguriert werden, um eine Messung in einem Messbereich von 3 - 5 Volt zu ermöglichen. Dem Verfahren stehen zusätzlich auch die Konfigurationsregeldateien Ib (rule l.xml bis rule x.xml in Figur 1) zur Verfügung. Herkömmlicherweise werden die Konfigurationsregeldateien Ib nicht bei jeder Durchführung des Verfahrens erstellt oder geändert. Die Konfigurationsregeldateien Ib beschreiben die formalen und inhaltlichen Eigenschaften der Konfigurationsparameter .The flow chart of a method according to the invention for configuring a microprocessor program shown in FIG. 2 starts in a step 100. In a step 101, implementation-independent configuration files 1 are created or changed. The implementation-independent configuration files 1 are characterized in particular by the fact that it is possible to abstractly describe concrete configuration values or configuration parameters by means of the information stored there. Concrete configuration values can for example determine the measuring range of a sensor module for measuring an electrical voltage. For example, it is possible to specify a measuring range abstractly with the values 3 - 5 volts. However, the implementation-dependent values of the measuring range to be generated therefrom, as expected by the functional unit 8 to be configured, can be, for example, between 10,000 and 20,000. In this case, a functional unit 8 of the microprocessor program controlling the sensor module would have to be configured, for example, by means of the concrete configuration values 10,000 and 20,000 in order to enable a measurement in a measuring range of 3-5 volts. In addition, the configuration rule files Ib (rule l.xml to rule x.xml in FIG. 1) are also available to the method. Conventionally, the configuration rule files Ib are not created or changed each time the method is performed. The configuration rules files Ib describe the formal and content-related properties of the configuration parameters.
Die in dem Schritt 101 erstellten beziehungsweise geänder- ten implementierungsunabhängigen Konfigurationsdateien 1 und die Konfigurationsregeldateien Ib sind beispielsweise in einem XML-basierten Format erstellt. Ein derartiges Format ermöglicht es besonders gut, eine übersichtliche Strukturierung der implementierungsunabhängigen Konfigurations- dateien 1 und der Konfigurationsregeldateien Ib zu erreichen. Dies erhöht die Lesbarkeit der implementierungsunabhängigen Konfigurationsdateien 1 und der Konfigurationsregeldateien Ib und vereinfacht die Änderung der implementierungsunabhängigen Konfigurationsdateien 1 beispielsweise dadurch, dass zu ändernde Konfigurationsdaten schnell aufgefunden werden können. Es ist möglich, auch für ein besonders großes Mikroprozessorprogramm, für dessen Konfiguration eine Vielzahl von Konfigurationsdaten notwendig ist, nur eine einzige implementierungsunabhängige Konfigurationsda- tei oder Konfigurationsregeldatei vorzusehen. Eine Strukturierung der in der implementierungsunabhängigen Konfigurationsdatei 1 abgelegten Informationen und der in der Konfigurationsregeldatei Ib abgelegten Konfigurationsregeln kann dabei durch geeignete XML-Strukturen erreicht werden. Be- sonders vorteilhaft jedoch ist es, mehrere implementierungsunabhängige Konfigurationsdateien und Konfigurationsregeldateien vorzusehen. Jede dieser implementierungsunabhängigen Konfigurationsdateien 1 und Konfigurationsregeldateien Ib kann beispielsweise einer oder mehreren Funktionseinhei- ten 8 zugeordnet sein. Dadurch ist es möglich, das Erstellen beziehungsweise Ändern der implementierungsunabhängigen Konfigurationsdateien und Konfigurationsregeldateien besonders übersichtlich durchzuführen. Des weiteren wird dadurch eine Wiederverwendbarkeit einzelner implementierungsunabhängiger Konfigurationsdateien und Konfigurationsregeldateien erhöht. Dies ist insbesondere für Projekte vorteilhaft, bei denen auch einzelne Funktionseinheiten 8 des Source-Codes wiederverwendet werden sollen.The implementation-independent configuration files 1 created or modified in step 101 and the configuration rules files 1b are created, for example, in an XML-based format. Such a format makes it particularly well possible to achieve a clear structuring of the implementation-independent configuration files 1 and of the configuration rules files 1b. This increases the readability of the implementation-independent configuration files 1 and the configuration rule files Ib and simplifies the change of the implementation-independent configuration files 1, for example, by allowing configuration data to be changed to be found quickly. It is possible to provide only a single implementation-independent configuration file or configuration rule file, even for a particularly large microprocessor program whose configuration requires a large number of configuration data. A structuring of the information stored in the implementation-independent configuration file 1 and the configuration rules stored in the configuration rule file Ib can be achieved by means of suitable XML structures. However, it is particularly advantageous to provide a plurality of implementation-independent configuration files and configuration rule files. Each of these implementation-independent configuration files 1 and configuration rules files 1 b can, for example, be assigned to one or more functional units. 8 be assigned. This makes it possible to carry out the creation or modification of the implementation-independent configuration files and configuration rule files particularly clearly. Furthermore, this increases the reusability of individual implementation-independent configuration files and configuration rule files. This is particularly advantageous for projects in which individual functional units 8 of the source code are to be reused.
In einem Schritt 102 werden die in dem Script 2 aufgelisteten Anweisungen abgearbeitet. Das Script 2 veranlasst, dass die unabhängigen Konfigurationsdateien 1 und die Konfigurationsregeldateien Ib eingelesen werden. Liegt den implemen- tierungsunabhängigen Konfigurationsdateien 1 und/oder den Konfigurationsregeldateien Ib ein strukturiertes Format, beispielsweise ein XML-basiertes Format zugrunde, so kann mittels des Scripts 2 besonders gut eine syntaktische und/oder semantische Analyse des Inhalts der implementie- rungsunabhängigen Konfigurationsdateien 1 und/oder der Konfigurationsregeldateien Ib durchgeführt werden. Damit können beispielsweise (Datei-) Fehler bei der Angabe von Konfigurationsdaten erkannt werden (Fehlende Zeichen, zu viele Zeichen, falsche Zeichen usw.). Vorzugsweise weist das XML- basierte Format der implementierungsunabhängigen Konfigurationsdateien 1 und der Konfigurationsregeldateien Ib eine hierarchische Struktur auf, die sich vorteilhafterweise an der Struktur der Funktionseinheiten 8 selbst, deren Abhängigkeiten und/oder deren thematischer Nähe orientiert. Mit- tels des Scripts 2 können Fehler beim Aufbau dieser hierarchischen Struktur und damit auch beim Aufbau des Source- Codes selbst erkannt werden. Vorteilhafterweise weist der Schritt 102 eine Behandlung der aufgefundenen Fehler auf. Dies kann beispielsweise durch die Ausgabe von Fehlerinformationen geschehen. Es ist ebenso vorstellbar, dass stochastische Verfahren zur Besei- tigung von Fehlern eingesetzt werden.In a step 102, the instructions listed in Script 2 are executed. Script 2 causes the independent configuration files 1 and configuration rules files Ib to be read. If the implementation-independent configuration files 1 and / or the configuration rules files 1 b are based on a structured format, for example an XML-based format, the syntax of the script 2 can be used to syntactically and / or semantically analyze the contents of the implementation-independent configuration files 1 and / or the configuration rule files Ib are performed. This can be used to detect (file) errors when specifying configuration data (missing characters, too many characters, wrong characters, etc.). Preferably, the XML-based format of the implementation-independent configuration files 1 and the configuration rules files Ib has a hierarchical structure, which is advantageously based on the structure of the functional units 8 themselves, their dependencies and / or their thematic proximity. Script 2 can be used to detect errors in the structure of this hierarchical structure and thus in the structure of the source code itself. Advantageously, step 102 includes a treatment of the errors found. This can be done for example by the output of error information. It is also conceivable that stochastic methods for eliminating errors can be used.
In dem Schritt 102 werden auch die Konfigurationsparameter anhand der Konfigurationsregeln überprüft. Dabei wird insbesondere überprüft, ob die Konfigurationsparameter formal und inhaltlich den zugehörigen Konfigurationsregeln entsprechen. Ist dies nicht der Fall, so wird in den Schritt 101 zurückverzweigt, in welchem eine Änderung der implementierungsunabhängigen Konfigurationsdateien 1 mit dem Zwecke einer Fehlerbeseitigung durchgeführt wird. Werden in dem Schritt 102 keine Fehler erkannt, so wird zu einem Schritt 103 verzweigt, in dem der Konfigurationsdatencontainer 3 aufgebaut beziehungsweise aktualisiert wird.In step 102, the configuration parameters are also checked based on the configuration rules. In particular, it is checked whether the configuration parameters correspond in form and content to the associated configuration rules. If this is not the case, the method branches back to step 101, in which a change of the implementation-independent configuration files 1 is carried out with the purpose of a fault elimination. If no errors are detected in step 102, a branch is made to step 103 in which the configuration data container 3 is set up or updated.
Das Script 2 extrahiert in dem Schritt 103 die in den im- plementierungsunabhängigen Konfigurationsdateien 1 vorhandenen Konfigurationsdaten und speichert diese in dem Konfigurationsdatencontainer 3 ab. Der Konfigurationsdatencontainer 3 kann dabei beispielsweise als Datenbank ausgebildet sein. Es ist ebenso vorstellbar, dass der Konfigurati- onsdatencontainer 3 als in einem Speicherbereich vorgehaltene Datenstruktur innerhalb des erfindungsgemäßen Softwaresystems realisiert ist, wobei gewährleistet ist, dass das Script 2 schreibenden und lesenden Zugriff auf die in dem Konfigurationsdatencontainer 3 abgelegten Konfigurati- onsdaten hat.In step 103, the script 2 extracts the configuration data present in the implementation-independent configuration files 1 and stores these in the configuration data container 3. The configuration data container 3 can be designed, for example, as a database. It is also conceivable that the configuration data container 3 is realized as a data structure held within a memory area within the software system according to the invention, it being ensured that the script 2 has write and read access to the configuration data stored in the configuration data container 3.
In einem Schritt 104 werden Abhängigkeiten ermittelt. Eine derartige Abhängigkeit kann beispielsweise beschreiben, welche Funktionseinheiten 8 des Mikroprozessorprogramms bei der vorliegenden Konfiguration tatsächlich abgearbeitet werden müssen. Mittels dieser Abhängigkeiten kann entschieden werden, ob in einem der folgenden Schritte für eine bestimmte Funktionseinheit 8 überhaupt eine implementierungs- abhängige Konfigurationsdatei erzeugt werden muss. Abhängigkeiten können ferner beschreiben, welche konkreten Konfigurationsdaten von welchen abstrakten Konfigurationsdaten abhängen. So ist es vorstellbar, dass die Änderung eines abstrakten Konfigurationsdatums in einer implementierungsu- nabhängigen Konfigurationsdatei eine Änderung einer Mehrzahl von konkreten Konfigurationsdaten bewirkt.Dependencies are determined in a step 104. Such a dependency can for example describe which functional units 8 of the microprocessor program are involved actually have to be processed in the present configuration. By means of these dependencies it can be decided whether an implementation-dependent configuration file has to be generated in any of the following steps for a specific functional unit 8. Dependencies may also describe which specific configuration data depends on which abstract configuration data. Thus, it is conceivable that changing an abstract configuration data in an implementation-independent configuration file causes a change of a plurality of concrete configuration data.
Abhängigkeiten können sich auch ergeben, wenn die weiteren Scripte 4 ihrerseits den Konfigurationscontainer 3 verän- dern. Somit muss die richtige Aufrufreihenfolge (Aktivierungssequenz) der Scripte 4 ermittelt und abgelegt werden. Abhängigkeiten können auch Beziehungen zwischen einer oder mehrerer Hardwarekomponenten und einzelner Konfigurationsdaten beschreiben. Dies ermöglicht es beispielsweise zu er- kennen, ob eine vorgesehene Konfiguration auf einer bestimmten Hardware tatsächlich ablauffähig ist.Dependencies can also arise if the further scripts 4 in turn change the configuration container 3. Thus, the correct call sequence (activation sequence) of the scripts 4 must be determined and stored. Dependencies can also describe relationships between one or more hardware components and individual configuration data. This makes it possible, for example, to detect whether an intended configuration is actually executable on a specific hardware.
In einem Schritt 105 werden die implementierungsabhängigen Konfigurationsdateien 5 erzeugt. Dazu werden mittels eines Scripts 4 oder einer Mehrzahl von Scripten 4 zunächst die in dem Konfigurationsdatencontainer 3 abgelegten Konfigurationsdaten abgerufen. In dem vorliegenden Ausführungsbeispiel sind die Scripte 4 als Perl-Scripte ausgebildet. Mittels der Scripte 4 werden insbesondere in dem Konfigurati- onsdatencontainer 3 abgelegte abstrakte Konfigurationsdaten in konkrete Konfigurationsdaten umgewandelt, die dann in den implementierungsabhängigen Konfigurationsdateien 5 abgelegt werden. Vorzugsweise werden dabei auch die in dem Schritt 104 ermittelten Abhängigkeiten verwendet. Die in dem Schritt 105 erzeugten implementierungsabhängigen Konfigurationsdateien 5 können beispielsweise Header- Dateien (file l.h, file 2.h, file 3.h in Figur 1) sein. E- benso können die erzeugten implementierungsabhängigen Konfigurationsdateien 5 auch Source-Code enthalten (file_2.c, file k.c in Figur 1) . Typischerweise sind die von den Scripten 4 aus den abstrakten Konfigurationsdaten erzeugten konkreten Konfigurationsdaten durch Wertzuweisungen für Va- riablen und/oder Funktionsparameter sowie als Anweisungen in einer Programmiersprache realisiert. Dabei entspricht die Programmiersprache der Programmiersprache, in der die Funktionseinheiten 8 des Mikroprozessorprogramms 7 codiert sind. Sind die Funktionseinheiten 8 des Mikroprozessorpro- gramm 7 beispielsweise in der Programmiersprache C++ codiert, so können die konkreten Konfigurationsdaten beispielsweise durch so genannte Define-Anweisungen oder durch die Definition konstanter Variablen realisiert werden. Mittels der Scripte 4 ist es auch möglich, in Abhängigkeit der in dem Konfigurationsdatencontainer 3 abgespeicherten Konfigurationsdaten Funktionen zu erzeugen, die komplexe Aufgaben - wie beispielsweise die Initialisierung von Hardwarekomponenten oder die Prüfung auf das Vorhandensein einzelner Softwarekomponenten oder Hardwarekomponenten - über- nehmen und selbst als Source-Code in einer höheren Programmiersprache realisiert sind. Dieser Source-Code kann dann in einer oder mehreren implementierungsabhängigen Konfigurationsdateien (file 2. c, file k.c in Figur 1) abgelegt werden. Dazu kann ein Script 4 beispielsweise ein sogenann- tes Template enthalten, das beispielsweise aus Anweisungen in C++ besteht, die in Abhängigkeit der in dem Konfigurationsdatencontainer 3 abgespeicherten Konfigurationsdaten aktualisiert werden und in einer implementierungsabhängigen Konfigurationsdatei 5 abgelegt werden. In einem Schritt 106 werden die Funktionseinheiten 8 des Mikroprozessorprogramms 7 aktualisiert. Dies kann beispielsweise durch den automatischen Aufruf eines Compilers 6 geschehen, der die in einem Source-Code vorliegendenIn a step 105, the implementation-dependent configuration files 5 are generated. For this purpose, the configuration data stored in the configuration data container 3 are first retrieved by means of a script 4 or a plurality of scripts 4. In the present embodiment, the scripts 4 are formed as Perl scripts. By means of the scripts 4, abstract configuration data stored in particular in the configuration data container 3 are converted into concrete configuration data, which are then stored in the implementation-dependent configuration files 5. Preferably, the dependencies determined in step 104 are also used. The implementation-dependent configuration files 5 generated in step 105 can be, for example, header files (file lh, file 2.h, file 3.h in FIG. 1). Likewise, the generated implementation-dependent configuration files 5 may also contain source code (file_2.c, file kc in FIG. 1). Typically, the specific configuration data generated by the scripts 4 from the abstract configuration data are realized by value assignments for variables and / or function parameters and as instructions in a programming language. The programming language corresponds to the programming language in which the functional units 8 of the microprocessor program 7 are coded. If the functional units 8 of the microprocessor program 7 are coded, for example, in the programming language C ++, then the specific configuration data can be realized for example by so-called define instructions or by the definition of constant variables. By means of the scripts 4, it is also possible, depending on the configuration data stored in the configuration data container 3, to generate functions which take over complex tasks, such as the initialization of hardware components or the test for the presence of individual software components or hardware components, and even as a source Code are realized in a higher programming language. This source code can then be stored in one or more implementation-dependent configuration files (file 2.c, file kc in FIG. 1). For this purpose, a script 4 may, for example, contain a so-called template, which consists for example of instructions in C ++, which are updated as a function of the configuration data stored in the configuration data container 3 and stored in an implementation-dependent configuration file 5. In a step 106, the functional units 8 of the microprocessor program 7 are updated. This can be done for example by the automatic call of a compiler 6, the present in a source code
Funktionseinheiten 8 in einen Maschinencode übersetzt. Dazu liest der Compiler 6 die implementierungsabhängigen Konfigurationsdateien 5 ein und steuert die Erzeugung des Maschinencodes in Abhängigkeit der in den implementierungsab- hängigen Konfigurationsdateien 5 abgelegten konkreten Konfigurationsdaten. Es ist auch vorstellbar, dass eine oder mehrere Funktionseinheiten 8 bereits in Maschinencode vorliegen. In diesem Fall kann der Compiler beispielsweise den von den Scripten 4 erzeugten Source-Code (file 2.c, fi- Ie k.c in Figur 1) unter Berücksichtigung der Header- Dateien (file l.h, file 2.h, file 3.h) in Maschinencode ü- bersetzen und den so übersetzten Maschinencode mittels eines dem Compiler 6 zugeordneten sogenannten Linkers mit dem die Funktionseinheiten 8 repräsentierenden Maschinencode verbinden.Function units 8 translated into a machine code. For this purpose, the compiler 6 reads in the implementation-dependent configuration files 5 and controls the generation of the machine code as a function of the specific configuration data stored in the implementation-dependent configuration files 5. It is also conceivable that one or more functional units 8 are already present in machine code. In this case, the compiler can, for example, copy the source code generated by the scripts 4 (file 2.c, file kc in FIG. 1), taking into account the header files (file lh, file 2.h, file 3.h). translate into machine code and connect the machine code thus translated by means of a so-called linker assigned to the compiler 6 with the machine code representing the functional units 8.
In einem Schritt 107 endet das Verfahren. In diesem Schritt ist das Mikroprozessorprogramm 7 derart konfiguriert, dass die in den implementierungsunabhängigen Konfigurationsda- teien abgelegten konkreten Konfigurationsdaten in dem erzeugten Maschinencode berücksichtigt werden.In a step 107, the method ends. In this step, the microprocessor program 7 is configured such that the concrete configuration data stored in the implementation-independent configuration files are taken into account in the generated machine code.
Es ist möglich, dass das Script 2 und/oder die Scripte 4 in einer anderen Scriptsprache geschrieben sind oder als aus- führbare Programme ausgestaltet sind. Ebenso ist es möglich, die Konfigurationsregeln erst im Zusammenhang mit den Scripten 4 zu verwenden. Es versteht sich, dass die in Figur 2 dargestellten Ausführungsschritte variieren können und die Reihenfolge der Abarbeitung teilweise verändert werden kann. Das Verfahren kann insbesondere auch von einer oder mehreren implementie- rungsunabhängigen Konfigurationsdateien ausgehen, ein oder mehrere Scripte 2 aufweisen, die beispielsweise hintereinander ausgeführt werden, ein oder mehrere Scripte 4 aufweisen, die jeweils ein oder mehrere implementierungsabhängige Konfigurationsdateien 5 erzeugen und ebenso kann das Mikro- prozessorprogramm 7 ein oder mehrere Funktionseinheiten 8 aufweisen. Mit dem erfindungsgemäßen Verfahren ist es insbesondere möglich zu erkennen, ob eine oder mehrere der Funktionseinheiten 8 bei der durch die implementierungsunabhängigen Konfigurationsdateien vorgegebenen Konfigurati- on tatsächlich zur Anwendung kommen. Ist dies nicht derIt is possible that the script 2 and / or the scripts 4 are written in a different scripting language or are designed as executable programs. It is also possible to use the configuration rules only in connection with the scripts 4. It is understood that the execution steps shown in FIG. 2 can vary and the order of execution can be partially changed. In particular, the method can also start from one or more implementation-independent configuration files, have one or more scripts 2 that are executed, for example, one behind the other, have one or more scripts 4, each generating one or more implementation-dependent configuration files 5; processor program 7 have one or more functional units 8. With the method according to the invention, it is in particular possible to detect whether one or more of the functional units 8 are actually used in the configuration prescribed by the implementation-independent configuration files. Is not this the
Fall, kann dies durch ein dem Konfigurationsdatencontainer 3 zugeordnetes, nicht dargestelltes Softwaretool erkannt werden. Dies ermöglicht es, dass eine derartige Funktionseinheit 8 nicht konfiguriert wird und mittels der implemen- tierungsabhängigen Konfigurationsdateien 5 der Compiler 6 veranlasst wird, die Funktionseinheit 8 nicht mit in den zu erzeugenden Maschinencode zu übernehmen. Dadurch kann das erfindungsgemäße Verfahren besonders schnell durchgeführt werden. Der von einem Mikroprozessorprogramm, das mittels des erfindungsgemäßen Verfahrens konfiguriert wurde, erzeugte Maschinencode kann dabei besonders kompakt sein und somit Speicherplatz einsparen.Case, this can be detected by the configuration data container 3 associated, not shown software tool. This makes it possible that such a functional unit 8 is not configured and that the compiler 6 is caused by means of the implementation-dependent configuration files 5 not to take the functional unit 8 into the machine code to be generated. As a result, the method according to the invention can be carried out particularly quickly. The machine code generated by a microprocessor program which has been configured by means of the method according to the invention can be particularly compact and thus save storage space.
Es ist möglich, dass das Script 2 selbst bereits die Erzeu- gung einer oder mehrerer implementierungsabhängiger Konfigurationsdateien 5 veranlasst. Dadurch kann das erfindungsgemäße Verfahren besonders schnell durchgeführt werden. Dies kann beispielsweise vorteilhaft für abstrakte Konfigu- rationsdaten sein, die keine Abhängigkeiten aufweisen und sich von den konkreten Konfigurationsdaten unterscheiden. It is possible that the script 2 itself already causes the creation of one or more implementation-dependent configuration files 5. As a result, the method according to the invention can be carried out particularly quickly. This can be advantageous, for example, for abstract configurations. be ration data, which have no dependencies and differ from the concrete configuration data.

Claims

Ansprüche claims
1. Verfahren zur Konfiguration eines mindestens ein Modul umfassenden Systems (modulares System) , insbesondere eines Mikroprozessorprogramms, g e k e n n z e i c h n e t d u r c h folgende Schritte :1. A method for configuring a system comprising at least one module (modular system), in particular a microprocessor program, the following steps are included in the following:
Erstellen mindestens einer implementierungsunabhängigen Konfigurationsdatei (1) und/oder Ändern von in der mindestens einen implementierungsunabhängigen Konfigu- rationsdatei (1) abgelegten Informationen;Creating at least one implementation-independent configuration file (1) and / or changing information stored in the at least one implementation-independent configuration file (1);
Automatischer Aufbau und/oder automatische Aktualisierung von in einem Konfigurationsdatencontainer (3) abgelegten Konfigurationsdaten in Abhängigkeit von den in der mindestens einen implementierungsunabhängigen Konfigurationsdatei (1) abgelegten Informationen;Automatic construction and / or automatic updating of configuration data stored in a configuration data container (3) as a function of the information stored in the at least one implementation-independent configuration file (1);
Automatische Konfiguration des mindestens einen Moduls in Abhängigkeit von den in dem Konfigurationsdatencontainer (3) abgespeicherten Konfigurationsdaten; Verwenden von Konfigurationsregeln.Automatic configuration of the at least one module as a function of the configuration data stored in the configuration data container (3); Using configuration rules.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt:2. The method according to claim 1, characterized in that the step:
Automatische Konfiguration des mindestens einen Moduls in Abhängigkeit von den in dem Konfigurationsdatencon- tainer (3) abgespeicherten Konfigurationsdaten; die folgenden Schritte umfasst:Automatic configuration of the at least one module as a function of the configuration data stored in the configuration data container (3); the following steps include:
Automatisches Erzeugen mindestens einer implementierungsabhängigen Konfigurationsdatei (5) in Abhängig- keit von den in dem Konfigurationsdatencontainer (3) abgespeicherten Konfigurationsdaten;Automatic generation of at least one implementation-dependent configuration file (5) depending on speed of the configuration data stored in the configuration data container (3);
Automatische Konfiguration des mindestens einen Moduls in Abhängigkeit von in der mindestens einen implemen- tierungsabhängigen Konfigurationsdatei abgelegten Informationen;Automatic configuration of the at least one module as a function of information stored in the at least one implementation-dependent configuration file;
3. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Konfigurationsregeln beim automatischen Aufbau und/oder beim automatischen Aktualisieren der in einem Konfigurationsdatencontainer (3) abgelegten Konfigurationsdaten und/oder bei der automatischen Konfiguration des mindestens einen Moduls in Abhängigkeit von den in dem Konfigurations- datencontainer (3) abgespeicherten Konfigurationsdaten und/oder beim automatischen Erzeugen mindestens einer implementierungsabhängigen Konfigurationsdatei (5) in Abhängigkeit von den in dem Konfigurationsdatencontainer (3) abgespeicherten Konfigurationsdaten verwendet werden.3. The method according to any one of the preceding claims, characterized in that the configuration rules in the automatic construction and / or automatic updating of the stored in a configuration data container (3) configuration data and / or in the automatic configuration of the at least one module depending on in the Configuration data container (3) stored configuration data and / or the automatic generation of at least one implementation-dependent configuration file (5) depending on the configuration data in the container (3) stored configuration data can be used.
4. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Konfigurationsregeln in mindestens einer Konfigurationsregeldatei (Ib) abge- legt sind.4. The method according to any one of the preceding claims, characterized in that the configuration rules are stored in at least one configuration rule file (Ib).
5. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass einem Konfigurationsparameter wenigstens eine Konfigurationsregel zugeordnet ist, wobei die Konfigurationsregel eine Berechtigung zum Bearbeiten des Konfigurationsparameters, eine formale Eigenschaft, eine existenzbestimmende Eigenschaft oder eine wertbestimmende Eigenschaft des Konfigurationsparameters beschreibt. 5. The method according to any one of the preceding claims, characterized in that a configuration parameter is associated with at least one configuration rule, wherein the configuration rule describes an authorization for editing the configuration parameter, a formal property, an existence-determining property or a value-determining property of the configuration parameter.
6. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass mindestens eine Abhängigkeitsinformation automatisch erzeugt wird, die eine Abhängigkeit von mindestens zwei in dem Konfigurationsdatencontainer vorliegenden Konfigurationsdaten beschreibt, und dass die mindestens eine implementierungsabhängige Konfigurationsdatei in Abhängigkeit der mindestens einen Abhängigkeitsinformation erzeugt wird.6. The method according to any one of the preceding claims, characterized in that at least one dependency information is automatically generated, which describes a dependency of at least two present in the configuration data container configuration data, and that the at least one implementation-dependent configuration file is generated in dependence of at least one dependency information.
7. Verfahren nach einem der vorstehenden Ansprüche, wobei das modulare System mehrere Module aufweist, dadurch gekennzeichnet, dass mehrere implementierungsunabhän- gige Konfigurationsdateien erstellt werden und jede der implementierungsunabhängigen Konfigurationsdateien mindestens einem Modul zugeordnet wird.7. The method according to claim 1, wherein the modular system has a plurality of modules, characterized in that a plurality of implementation-independent configuration files are created and each of the implementation-independent configuration files is assigned to at least one module.
8. Verfahren nach einem der vorstehenden Ansprüche, da- durch gekennzeichnet, dass die mindestens eine implementierungsabhängige Konfigurationsdatei in Abhängigkeit von mindestens einer Eigenschaft einer Hardware, auf der eine Installation zumindest eines Teils des konfigurierten modularen Systems als Mikroprozessor- programm ermöglicht werden soll, erzeugt wird.8. The method according to claim 1, wherein the at least one implementation-dependent configuration file is generated as a function of at least one property of a hardware on which an installation of at least part of the configured modular system is to be made possible as a microprocessor program ,
9. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass automatisch eine Dokumentation erstellt wird und die Dokumentation die innerhalb der mindestens einen implementierungsunabhängigen Konfigurationsdatei und/oder der mindestens einen implementierungsabhängigen Konfigurationsdatei und/oder der Konfigurationsregeln und/oder der mindestens einen Konfigurationsregeldatei abgelegten Informationen beschreibt .9. The method according to any one of the preceding claims, characterized in that automatically a documentation is created and the documentation within the at least one implementation-independent configuration file and / or the at least one implementation-dependent configuration file and / or the configuration rules and / or the at least one The configuration rule file describes stored information.
10. Verfahren nach einem der vorstehenden Ansprüche, da- durch gekennzeichnet, dass zum Erstellen und/oder Ändern der mindestens einen implementierungsunabhängigen Konfigurationsdatei ein Mikroprozessorprogramm verwendet wird, dass die Konfigurationsregeln berücksichtigt.10. The method according to any one of the preceding claims, character- ized in that for creating and / or changing the at least one implementation-independent configuration file, a microprocessor program is used that takes into account the configuration rules.
11. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die mindestens eine implementierungsunabhängige Konfigurationsdatei und/oder die mindestens eine Konfigurationsregeldatei in einem XML-basierten Format erstellt wird.11. The method according to any one of the preceding claims, characterized in that the at least one implementation-independent configuration file and / or the at least one configuration rule file is created in an XML-based format.
12. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in Abhängigkeit von den Konfigurationsdaten automatisch ermittelt wird, ob ein von dem modularen System umfasstes Modul von dem modu- laren System benötigt wird und eine Konfiguration dieses Moduls nur durchgeführt wird, falls das Modul von dem modularen System benötigt wird.12. The method according to any one of the preceding claims, characterized in that it is automatically determined depending on the configuration data, whether a module of the modular system module is required by the modular system and a configuration of this module is performed only if the module needed by the modular system.
13. Verwendung eines Verfahrens nach einem der vorstehenden Ansprüche zur Konfiguration eines Mikroprozessorprogramms .13. Use of a method according to any one of the preceding claims for the configuration of a microprocessor program.
14. Softwaresystem zur Konfiguration eines mindestens ein Modul umfassenden Systems (modulares System) , dadurch gekennzeichnet, dass das Softwaresystem aufweist:14. Software system for configuring a system comprising at least one module (modular system), characterized in that the software system comprises:
mindestens eine Konfigurationsregeldatei; mindestens eine implementierungsunabhängige Konfigurationsdatei; einen Konfigurationsdaten aufweisenden Konfigurationsdatencontainer und/oder Mittel zum Erstellen eines Konfigurationsdatencontainers in Abhängigkeit von in der mindestens einen implementierunsunabhängigen Konfigurationsdatei abgelegten Informationen; Mittel zum Ändern und/oder Auslesen von Konfigurationsdaten aus dem Konfigurationsdatencontainer; und - Mittel zum automatischen Konfigurieren des mindestens einen Moduls in Abhängigkeit von in dem Konfigurationsdatencontainer abgespeicherten Konfigurationsdaten; Softwaresystem nach Anspruch 13, wobei die Mittel zum automatischen Konfigurieren der mindestens einen Funk- tionseinheit in Abhängigkeit von in dem Konfigurationsdatencontainer abgespeicherten Konfigurationsdaten aufweisen:at least one configuration rule file; at least one implementation-independent configuration file; a configuration data container having configuration data and / or means for creating a configuration data container as a function of information stored in the at least one implementation-independent configuration file; Means for changing and / or reading configuration data from the configuration data container; and - means for automatically configuring the at least one module in dependence on configuration data stored in the configuration data container; The software system according to claim 13, wherein the means for automatically configuring the at least one functional unit depend on configuration data stored in the configuration data container:
Mittel zum automatischen Erzeugen mindestens einer implementierungsabhängigen Konfigurationsdatei in Ab- hängigkeit von in dem Konfigurationsdatencontainer abgespeicherten Konfigurationsdaten; undMeans for automatically generating at least one implementation-dependent configuration file as a function of configuration data stored in the configuration data container; and
Mittel zum automatischen Konfigurieren des mindestens einen Moduls in Abhängigkeit von in der implementierungsabhängigen Konfigurationsdatei abgelegten Infor- mationen.Means for automatically configuring the at least one module in response to information stored in the implementation-dependent configuration file.
15. Softwaresystem nach Anspruch 13 oder -, dadurch gekennzeichnet, dass das Softwaresystem Mittel zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 12 aufweist.15. Software system according to claim 13 or -, characterized in that the software system comprises means for performing a method according to one of claims 1 to 12.
16. Softwaresystem mit Programmcodemitteln, um unter Berücksichtungen von Konfigurationsregeln implementie- rungsunabhängige Konfigurationsdateien zu erstellen oder zu verändern.16. Software system with program code means to implement in consideration of configuration rules create or modify configuration-independent configuration files.
17. Softwaresystemprodukt, dadurch gekennzeichnet, dass ein Softwaresystem nach einem der Ansprüche 13 bis 15 auf einem Speicherelement gespeichert ist.17. Software system product, characterized in that a software system according to one of claims 13 to 15 is stored on a memory element.
18. Rechnereinheit, insbesondere Steuergerät, das einen Mikroprozessor aufweist, dadurch gekennzeichnet, dass die Rechnereinheit zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 12 programmiert ist.18. Computer unit, in particular control unit, which has a microprocessor, characterized in that the computer unit for performing a method according to one of claims 1 to 12 is programmed.
19. Verwendung eines Verfahrens, eines Softwaresystems, eines Softwaresystemprodukts oder einer Rechnereinheit nach einem der vorstehenden Ansprüche im Bereich des Kraftfahrzeugbaus . 19. Use of a method, a software system, a software system product or a computer unit according to one of the preceding claims in the field of motor vehicle construction.
EP06764012A 2005-07-14 2006-06-30 Method and software system for the configuration of a modular system Ceased EP1904923A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005032944A DE102005032944A1 (en) 2005-07-14 2005-07-14 Method and software system for configuring a modular system
PCT/EP2006/063765 WO2007006671A1 (en) 2005-07-14 2006-06-30 Method and software system for the configuration of a modular system

Publications (1)

Publication Number Publication Date
EP1904923A1 true EP1904923A1 (en) 2008-04-02

Family

ID=36999907

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06764012A Ceased EP1904923A1 (en) 2005-07-14 2006-06-30 Method and software system for the configuration of a modular system

Country Status (5)

Country Link
US (1) US20090106546A1 (en)
EP (1) EP1904923A1 (en)
CN (1) CN101223506A (en)
DE (1) DE102005032944A1 (en)
WO (1) WO2007006671A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007004423A1 (en) * 2007-01-23 2008-07-31 Carl Zeiss Industrielle Messtechnik Gmbh Control of an operation of a coordinate measuring machine
US9009358B1 (en) 2008-09-23 2015-04-14 Western Digital Technologies, Inc. Configuring a data storage device with a parameter file interlocked with configuration code
US7984200B1 (en) 2008-09-23 2011-07-19 Western Digital Technologies, Inc. Configuring a data storage device with a configuration data record set in response to a configuration code
US8489841B1 (en) * 2009-12-10 2013-07-16 Western Digital Technologies, Inc. Manufacturing station dynamically configuring a data storage device with a validated configuration data record
FR2960668A1 (en) * 2010-05-27 2011-12-02 Airbus Operations Sas METHOD AND DEVICE FOR INCREMENTAL CONFIGURATION OF IMA TYPE MODULES
DE102010026494A1 (en) * 2010-07-07 2012-01-12 Abb Ag Method for configuring a control device
DE102011052511A1 (en) * 2011-08-09 2013-02-14 Dspace Digital Signal Processing And Control Engineering Gmbh Method for processing data in an influencing device
US20140330691A1 (en) * 2013-05-01 2014-11-06 Life Dreams, Inc. Devices, methods and systems related to automation that provides financial planning advice
US10185577B2 (en) 2014-12-08 2019-01-22 Oracle International Corporation Run-time adaption of external properties controlling operation of applications
US11954071B1 (en) * 2017-06-11 2024-04-09 Jennifer Shin File naming and management system
WO2019023973A1 (en) * 2017-08-02 2019-02-07 福建联迪商用设备有限公司 Configuration file grading method and terminal
CN109597661B (en) * 2018-10-26 2021-10-22 创新先进技术有限公司 Service function configuration method and device
CN111552508B (en) * 2020-04-29 2023-03-14 杭州数梦工场科技有限公司 Application program version construction method and device and electronic equipment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4562535A (en) * 1982-04-05 1985-12-31 Texas Instruments Incorporated Self-configuring digital processor system with global system
US4633392A (en) * 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
US5872977A (en) * 1997-08-08 1999-02-16 International Business Machines Corporation Object-oriented method and apparatus for creating a makefile
US6636961B1 (en) * 1999-07-09 2003-10-21 International Business Machines Corporation System and method for configuring personal systems
DE10121790B4 (en) * 2000-06-03 2006-11-23 International Business Machines Corp. Software configuration method for use in a computer system
US20030033588A1 (en) * 2001-01-29 2003-02-13 John Alexander System, method and article of manufacture for using a library map to create and maintain IP cores effectively
US6789254B2 (en) * 2001-06-21 2004-09-07 International Business Machines Corp. Java classes comprising an application program interface for platform integration derived from a common codebase
US6865733B2 (en) * 2001-06-21 2005-03-08 International Business Machines Corp. Standardized interface between Java virtual machine classes and a host operating environment
DE102004005730A1 (en) * 2004-02-05 2005-08-25 Robert Bosch Gmbh Method for configuring a computer program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007006671A1 *

Also Published As

Publication number Publication date
DE102005032944A1 (en) 2007-01-18
US20090106546A1 (en) 2009-04-23
CN101223506A (en) 2008-07-16
WO2007006671A1 (en) 2007-01-18

Similar Documents

Publication Publication Date Title
EP1723513B1 (en) Method for configuring a computer program
EP1904923A1 (en) Method and software system for the configuration of a modular system
EP1401171B1 (en) Electronic apparatus for a bussystem
DE102018003142A1 (en) Automatic setting of multitasking configurations for a code checking system
EP2009525B1 (en) Test device and method for testing at least one electronic control system
WO2013004389A1 (en) Method and device for the programming and configuration of a programmable logic controller
WO2004077305A1 (en) System and method for managing and exchanging the data of a technical project, technical installation and individual installation components
EP2799983A1 (en) Flexible distribution of I/O channels of a hardware component
WO2015074871A1 (en) System for the computer-assisted creation of rules for monitoring and/or diagnosing a technical plant
EP2869145A1 (en) Method for influencing a control program of a control unit
DE102019008598A1 (en) Identification and visualization of associations between code generated by a model and sources that influence code generation
WO2009010338A1 (en) Method for the computer-assisted obfuscation of a software program and computer program product
DE102020119853B3 (en) Method for controlling an automation system with visualization of program objects of a control program of the automation system and automation system
WO2021156483A1 (en) Method and system for validating a control program
DE102010047954A1 (en) Formal offline verification of executable models
DE102010047957A1 (en) Formal online verification of executable models
EP3001318A1 (en) Determining signals for readback from FPGA
DE102017208143A1 (en) Method for computer-assisted user assistance in the creation of a program for analyzing data of at least one technical system
DE102010014720A1 (en) Method for verifying code of target program used for software for automotive electronics for engine, involves comparing output test variables corresponding to each program section of target program and program code
DE10055679A1 (en) Model-based generation of test scenarios by forming classification tree and extracting information from simulation model
EP1621945B1 (en) Ensuring data consistency in an automation system
EP2175331A1 (en) Controllable device with a control program and method for controlling the device
DE10300541A1 (en) Workable data file generation method, involves dividing target name into parts at given points
EP0560342B1 (en) Method for debugging HDL-programs
DE202020105648U1 (en) Machine learning system to support engineering work

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: 20080214

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 HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

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

Effective date: 20080527

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20090228