Patent ID: 12223277

DETAILED DESCRIPTION

FIG.1shows a flowchart of a method for generating control commands according to an embodiment of the present disclosure. The method effects the generating of control commands for a platform. Starting from a rule set10having at least one declaration that formulates the rule set10at least partly, the declaration is structured in step20to generate a plurality of syntactical blocks. In step30, terms and symbols are constructed from the syntactical blocks to generate a semantic representation of the rule set10. The semantic representation is validated in step40. This can comprise an instantiation of the rule set10for one or more instances which may themselves be specified in the rule set10or which can result from states of the platform. In step50, at least one control command is generated on the basis of the validated semantic representation. Here, the control commands correspond to the rule set10formulated by the at least one declaration.

In step60, the at least one control command can optionally be converted into a plurality of platform-specific instructions for driving a target platform. The control command can include an instruction derived from the rule set10for controlling the target platform.

The platform is preferably a technical system, a mechanical system, a system in the area of the Internet of Things (IoT), a cloud system, a client system, and/or at least one open-loop and/or closed-loop program carried out on such a platform. The platform can be a technical system of any size. Therefore, the platform can be an industrial installation or an IoT device. The control commands can further configure any target system so as to configure, for example, a campus management system or a control system of a processing plant. Further systems are conceivable and are also comprised by the disclosure.

The method shown inFIG.1has the effect that a readable and comprehensible text (source text) can be used for defining the rule set10, the text being converted automatically into the semantic representation to generate the control commands for a target platform. This enables a particularly intuitive use and definition of the driving of target systems that can at the same time be validated and be fully automatically converted into target-platform-dependent instructions.

Embodiments of the disclosure can thus concern a transformation of a formal text that however looks like a natural language into a semantic representation having logical statements with the aid of a defined formal language definition, from which representation in the technical implementation, for example by a computer program, an open-loop control or closed-loop control of complex production plants or other systems can be realized. An advantage of the open-loop control or closed-loop control of systems on the basis of the uniform semantic representation consists in the validatability of the consistency. The defined rule set10thus ensures both before and also during the open-loop control or closed-loop control that error states are avoided and that the path to a defined target state of the systems always remains deterministic.

In the process, system components can be summarized in a consistent logical model that guarantees the provability of rules of the rule set10. This can enable practical applicability in the implementation that can include one or more of the following properties:Generating control commands, including instructions or actors, while taking into account a target state of the rule set10that can represent a hierarchically logical and temporal overall rule set;Establishing a count of to-be-chosen options of an “OR set”;Layering of levels of meaning;Expected values that are only assigned at an instantiation of the rule set10for a specific application;Integration of logical and temporal statements;Formalizing of cases of fuzziness, for example as a result of value ranges;Nested versioning of rule sets;Backtracing of rules of the rule set10to the source in the source text;Evaluation of mathematical terms related to levels of meaning; and/orUse of a dialectal syntax defined by the user both for unambiguously extracting the semantic representation from the source text and vice versa also for generating a formal-language text from the representation.

An embodiment can also bundle a mapping of a symbolic logic that has the effect of a natural language that permits automatic and unambiguous evaluation of rule sets with an embodiment of the logic conclusions from the rules. The formulation of cases of fuzziness can be admitted in a controlled manner so that clear boundaries are defined and the predictability of the problem remains. The formal language on which the source text is based can connect temporal dependencies and logical connections in a way that deduction, rule conformity, and applicability to individual cases remain controllable. At the same time, the formulation of statements can remain as close as possible to an expert domain and linguistic designations of a user. This permits different users simple and readable formulation of logical rule sets relative to technical target systems and platforms.

In a particularly advantageous manner, embodiments of the present disclosure can control or regulate real production plants or other complex (computer) systems on the basis of the semantic representation that reflects the rule set10.

FIG.2illustrates a schematic illustration of a method for generating control commands according to an embodiment of the present disclosure.FIG.2shows a schematic total sequence of an implementation for generating control commands from a rule set101. The rule set101can be formulated as text, wherein a corresponding textual formulation of the rule set101can be converted via syntactical blocks105into a semantic representation110including their validation118and their instantiated evaluation for generating the control commands119that can be used for driving software- and/or hardware-technical systems. The conversion can include transformation steps of the syntactical structure103, an extraction of a semantic107, a decomposition into symbols108, and resulting therefrom a generating of the target-system-dependent control commands116.

The starting point for generating the semantic representation110can be the textual formulation of the rule set101in a formal text, wherein configured dialectal rules from characters102and grammar104are taken into account. The formal text can include both defined logical and temporal statements for the rule set101and also value assignments from one or more instances for symbolic levels as well as instructions, for example actor instructions, that are required for control. In this case, an instance can be a mapping of a specific situation for the rule set101. As an example, sensor values of a system landscape to be contemplated or values of an entity of a software system can be mapped as system state. Here, the characters102and the grammar104can be converted within the framework of a syntactical structure103that is represented hereafter relative toFIG.3according to a preferred embodiment, for unambiguously interpreting the formal text into syntactical blocks105. Preferably, text passages not relevant for the rule mapping but that may include additional explanations important for people, can likewise be extracted as the logical statements and their hierarchic structure.

After generating the structured syntactical blocks105, within the framework of the extraction of the semantics107that is shown below in accordance with a preferred embodiment inFIG.4, taking into account a semantic catalog106, the defined (and permissible) logical and temporary statements as well as a version structure of the rule set101can be transferred into a semantic tree111, preferably in referencing terms and versions. See in this respect alsoFIG.5for a preferred embodiment. In addition, independent from a logical rule hierarchy of the terms, the symbols/expressions that are freely definable in the formal texts, can be decomposed108by means of a structure of the symbols109, and mapped as symbolic levels112with recognized symbol notations as a symbolic dictionary113in the symbol structure. In the case of the syntactical recognition of an instantiation114, this additional value information of a symbol can be stored for deriving necessary control sequences of a rule evaluation.

This type of structure permits to transfer back the generated semantic representation110again into a formal text. Since during this back transformation a different dialect can be used, the formal text then generated can correspond to an expected dialect of the respective user, as a result of which the rule set101can be provided or displayed in a specific domain of the user.

After setting up the semantic representation110with the rule set101, the latter can be validated independently of an instantiation118. An advantageous design of the validation118is described below in relation toFIG.7. In step118, logical contradictions in the rule set101can be recognized even before an instantiation. This effectively prevents among others a faulty control of the systems before the rule set101is put into operation. Since the validation118can take place continuously, logical errors can be pointed out to the user even during the formulation of the rule set101.

An instantiation114can set, for any rules, both current states and also a target state to be achieved of the rule set101. The rules that have of necessity to be fulfilled for achieving the target state as well as the rules (or set of the open OR combinations) waiting for a decision can be determined and the actors can be generated that are as a result identified as missing116. In a next step, the actors can be transformed to a linear sequence. For this purpose, temporal sequences as well as the affiliations to versions and a position in a rule hierarchy can be taken into account according to a current configuration of linearization commands115. System independent control commands of actors can in this way be translated into instructions for other complex system119as defined by an output language117. A definition of the output language117can, for example, include HTTP posts that can trigger directly the actors of other software- and/or hardware-technical systems via web services. However, it should be understood that the definition can include other instructions and other syntactical constructs that are suitable for defining the output language117. In the previously mentioned exemplary embodiment, for example, a control of a Smart Home installation can be realized in the same way as an orchestration of cloud services from complex parallel computer systems.

To the extent that instantiations114can be transferred into the semantic representation110on the basis of control commands119(e.g., get actors concerning e.g., sensor values), feedback messages of instance-dependent states120can update the semantic representation110of the instance114. This can take place continuously, i.e., at any time, in selected distances or intervals, or triggered, for example, when changing a state that is queried by the control command119.

FIG.3represents a schematic sequence diagram of a method for syntactical structuring of textual formulations of a rule set that can be applied in embodiments of the present disclosure.

The method illustrated inFIG.3can be built on the methods shown inFIGS.1and2, for example in method step103ofFIG.2. However, in no case is this mandatory.FIG.3illustrates technical steps for translating a formal text by a recursive parser201, for example the formal text for defining the rule set101ofFIG.2or the rule set10ofFIG.1, into syntactically structured blocks that can correspond to the syntactical blocks105ofFIG.2. The components ofFIG.1orFIG.2can correspondingly be referred to, this having to be understood as an example. In this way, the recursive parser201can presume as configuration, among others, the dialectal characters102as well as syntax definitions from the dialectal grammar104of the language to be analyzed and/or of the rule set101.

An analysis and transformation of semantic expressions and mathematical expressions in the recursive parser201can be realized technically as a recursively-designed finite state machine that can be configured. Here, state transitions between all states203to215can represent the syntax definition as a dialectal grammar104of a source language. A state transition can in each case be established by a next, completely recognized character string or its alternatives from the dialectal characters102, for example according to the following table. The area in front of a character that has been found can be processed by an action block, preferably including storage of a text source and of corresponding semantic meanings, and the area behind the last found character in the then following state can be continued in a linear fashion or with recursion. A recursion level can therefore correspond to a nesting depth of terms or mathematical expressions.

Here, the following tokens having the following meaning and coding can be chosen according to an example, the present disclosure not being limited to specific symbols, definitions, and descriptions.

Char-acterof thefirstalter-nativein thede-faultdi-Name of the tokenalectDescriptionSymTokenEqual:=Assignment or definitionSymTokenAndOpen[Opening the members of a set ofstatements connected by a logical“AND”SymTokenAndClose]Closing the members of a set ofstatements connected by a logical“AND”SymTokenOrOpen{Beginning of the list of members of aset of statements connected by alogicalSymTokenOrClose}End of the list of members of a set ofstatements connected by a logical “OR”SymTokenVersion#Delimiting of a version definition priorto the character from the following rulestatementSymTokenTimeBefore«Separation character between a symbolthat should be temporally before anothersymbol or end of the symbolenumeration after temporal statements.SymTokenTimeAfter»Separation character between a symbolthat should be temporally after anothersymbol or end of the symbolenumeration after temporal statements.SymTokenAdvice!Beginning of a recommendation thatstarts after this characterSymTokenCheck?Beginning of a validation statement thatstarts after this characterSymTokenGroup~Beginning or end of the list of membersof a set of statements that are notconnected logically, but are onlypossibly grouped under a new symbolicnameSymTokenFunctionOpen(Beginning of a sequence of argumentvalues for a function. The function nameis expected in front of the bracket.SymTokenFunctionClose)Close of a sequence of argument valuesfor a function.SymTokenOpPlus+Infix operator for the additionSymTokenOpMinus−Infix operator for the subtractionSymTokenOpMultiply*Infix operator for the multiplicationSymTokenOpDivide/Infix operator for the divisionSymTokenCompEqual==Comparison operator for identicalvaluesSymTokenCompLess<Comparison operator for a smaller valueSymTokenCompLess-<=Comparison operator for a smaller orEqualequal valueSymTokenCompGreater>Comparison operator for a larger valueSymTokenCompGreater->=Comparison operator for a larger orEqualequal valueSymTokenGlobalMax+∞Symbolic replacement for the largestvalue to be assumed in intervalsSymTokenGlobalMin−∞Symbolic replacement for the smallestvalue to be assumed in intervalsSymTokenAnnounced%Substitution character for announcedvalues that are only provided during thecourse of an instantiationSymTokenLimitŁSuffix character for the delimitation ofthe value from an intervalSymTokenElement,Separation character between argumentsof functions or value supplies (ranges)of symbolsSymTokenIDDevider.Separation character between hierarchylevels of symbols for the cascading ofmeaningsSymTokenInstanz@Separation character between symboland the designation of a specificinstanceSymTokenInterval|Separation character between thesmaller and larger value of an intervalSymTokenEoS;Character for the closure of rules.Following text passages are implicitcomments as long as no statements inconformity with rules are made.SymTokenLineComment//Character for the start of a commentinside of rule statements. The othercharacters up to the line end are notinterpreted as a rule or mathematicalterm.SymTokenCommentStart/*Character for the start of a multi-linecomment that may include any numberof characters and has to be markedexplicitly with the comment end.SymTokenCommentEnd*/Character for the end of a multi-linecomment that may include anycharacters and has been openedexplicitly with the comment start.SymTokenSpace“ “Characters that are ignored and are notregarded as content of symbolsSymTokenEOL\nCharacter that marks the end of the lineand thus delimits the single-linecomment.

With this, arrows inFIG.3can correspond to a recursion transition between the states203to215. The respective names of these transitions can correspond to the semantic constructs of the formal language. Exceptions are, for example, the state transitions that are needed for cascading mathematical terms (ignore function) and further transitions that can be summarized in the state203since these may concern, for example only, a discrimination of comments or error states when parsing as non-functional blocks. Within rules, line ends and blanks (or similar) can be ignored. In addition, after each line end in each case a potential version declaration can start that could be followed by a rule. When no rule follows, the interpretation stays with an implicit comment203.

The recursive parser201can return into a previous state when a part text to be analyzed was finished and no further character was recognized for a state transition. In the case of bracket hierarchies or interspersed comments, this can lead to a multiple consideration of the same text section under the respective different interpretation of the current state.

The starting point of the recursive parser201for semantic expressions can be the implicit comment203since actual rules can be surrounded by any text. Inside the semantic expressions, AND terms204, OR terms205, temporal statements206and groups207can be nested in almost any way. An exception can be a nesting of temporal statements since these may preferably not be contained in neutral groups. Remaining text sections within the semantic expressions are always symbols which are stored as such still without decomposition108in the syntactical blocks105. Semantic-rule statements themselves can potentially be encapsulated (with the exception of the pure group statement) as recommendations or as validation statements once via the assertion statement208.

In the same manner, validation statements and recommendations can be a definition209as starting point of mathematical expressions202from a regulating context in the in each case other semantic context. Gradations of binding forces of mathematical operators in terms (the so-called operator sequence or precedence) can be designed in several state steps from a list of values210via the mathematical addition including subtraction211and multiplication including division212up to function brackets214. On this level, function names cannot yet be distinguished from symbols215since here only a later analysis step can be in charge. Ignoring further function hierarchies in step213can enable grouping of interconnected clause structures when these are interrupted by insertions similar to a subclause.

During the course of the analysis in the recursive parser201when transiting the state transitions of the states203to215, the syntactical blocks105can be generated as an annotation of the formal text of the rule set101. These document preferably the original source of the text section that has been read and combine the respective text section with the meaning extracted by the dialectal character102and syntax. On this level, an assignment can therefore be carried out of individual characters of the respective configured dialect to the semantic meaning in the sense of the formal language.

According to an example, a configuration of the recursive parser201for individual state transitions can be provided as follows:

State transitionState transitionActionin the caseTransitionAction forin the case of afor textof a recursionAssignedCurrentstate whentext beforerecursion in theafter thein theterm type forstartingfinding theSet ofthe foundactions beforefoundactions aftergeneratedstatesymbolsymbolssymbolthe symbolsymbolthe symbolsyntax blockSection-Section-Sym-ActionCont,Section-{ }{ }Term-Implicit-DefinitionTokenEqualAction-DefinitionDefineCommentRecurseSection-Section-SymToken-ActionCont,Section-{ }{ }Term-Implicit-GroupGroupAction-GroupGroupCommentRecurseSection-Section-SymTokenAction-Section-{ }{ }Term-MathMulSkipFunc-Function-UpdCurr-SkipFunc-Type-DefOpenPos, Action-DefUndefRecurseSection-Section-SymTokenE-Action-SectionValueAction-Section-Term-DefinitionDefinitionoSReparseCont,SuccessValueAction-ReturnSection-Section-Sym-Action-SectionMath-Action-Section-TermArg-ValueValueToken-ReparseAddContValueElementElementSection-Section-Sym-Action-Section-Action-SectionFunc-Term-SymbolFuncDefToken-Reparse,SymbolRecurseDefType-Function-Action-UndefOpenUpdCurrPos

FIG.4is a schematic sequence diagram of a method for transferring syntactical blocks into a semantic representation that can be used in embodiments of the present disclosure.

The method illustrated inFIG.4can be built on the method shown inFIG.2, for example on the method steps107and/or108. Other variants are also conceivable. In the method according toFIG.4, reference can be made to the components ofFIG.2, this having to be understood as being exemplary. So, the processing can concern the syntactical blocks105generated from the formal text. Processing can take place using a parser.

The method can begin in step301with a linear method (dashed arrows) for all syntactical blocks105uniformly with a consolidation of the information contained.

Since recursion levels, in particular when parsing mathematical terms, can include gaps, these gaps can be reduced in that logically neighboring blocks are allowed to lie a maximum of one level under the direct neighbor. A corresponding consolidation takes place in step302. At the start of groups, the parser does not discriminate whether the following symbolic values were used as dynamic groups as a result of interval designations. Therefore, this information can subsequently be determined on the basis of the existing total view of the syntax blocks, and the group type can possibly be changed to a dynamic group, which are identified in step303.

Furthermore, use can be made of a discrimination of individual values and value sets so that an assignment of a value set to a symbol is interpreted as a declaration of all valid values (range). An identification of value sets takes place in step304. In all other places in the rule set101, a restriction of the actual values (in definitions and instantiations) can take place for a corresponding symbol in the respective hierarchical level so that implausible values can be reliably detected as soon as during the definition of the rule set101or during a handover of an instance.

Since comments may be embedded in the rule set101at any places (also inside of symbols), the corresponding syntactical blocks are summarized in step305such that the comments relative to a symbol can be processed separately from the actual symbol name. Corresponding to specific parent/child relations of the level hierarchy of the syntactical blocks105, embedded comments are recognized and corresponding clusters of the syntactical blocks105and comments are formed anew.

Thereafter, the content of the syntactical blocks105can be discriminated unambiguously as to contents and/or comments without these overlapping further. The contents can be extracted in step306. The comments can be extracted in step307. The intermediate form of summarized sections of the formal text can then serve as the starting base for terms or a symbolic extraction or an identification of function names that are processed in the transformation step308. Inside the transformation step308, using the types annotated in the syntactical blocks105during parsing in the parser201that can also be designated as term types, formation of the terms, symbols, and functions, can be carried out in a recursive method (solid arrows).

For the term types from the area of the symbolic and mathematical expressions, terms (or sub-terms) are formed107and stored. Here, step107ofFIG.4can correspond to step107ofFIG.2. Prior to the formation of a term, at first in step311a version declaration can be extracted as interval value if the term includes such a declaration. For OR terms, a further interval declaration may exist that can be read in step312and stored at the term. Finally, all data can be summarized in a new term object and the corresponding term type can be set according to the parsed information of the syntactical blocks105in step313, as is shown below referring toFIG.5and a particularly preferred embodiment.

From predefined mathematical functions that may include any mathematical functions, for example one or more of min, max, count and further, and that can be identified in step314, it is likewise possible to form sub-terms. The term object is generated in step313. The term objects that have emerged can be inserted into a possibly already existing term tree after the recursion310.

From syntactical blocks105that are not assigned to any term type (undefined), in step108symbolic identifiers can be derived and stored. Step108ofFIG.4can here correspond to step108ofFIG.2. At first in step315, different components can be separated from each other. In step316, a determined symbolic name without spaces can be stored as a representation without upper-case/lower-case as “compressed” and according to levels. References can be extracted in step317and a corresponding reference type can be separated from the levels and likewise added to the symbol. In the case of values that are assigned to instances, these can be deposited in step318in a memory structure assigned to a corresponding instance name so that all values of the instance are present in direct access. For a definition of an output language, for example the definition of the output language117fromFIG.2, these values can be stored in like manner as instances. The declaration, for which value a driving of an actor has to take place, can be deposited as an interval so that for a defined value range the output can likewise take place319.

It should be comprehensible that individual steps and sections of the method illustrated inFIG.4need not be provided in embodiments and/or can be carried out in any combination in a sequence different from that shown and at least partly in parallel.

The result of the processing according toFIG.4can be updated into a semantic representation, for example the semantic representation110ofFIG.2.

FIG.5shows a schematic illustration of a data structure for implementing a semantic representation that is applicable in embodiments of the present disclosure.FIG.5shows a technical setup for storing a semantic representation, for example the semantic representation ofFIG.1or the semantic representation110ofFIG.2. In the structure according toFIG.5, reference can be made to the components ofFIG.1orFIG.2, this having to be understood as an example.

Logical statements can be mapped by means of three structures, including a version401, a symbol406, and a term407. Their source in terms of a referencing to the place in the rule set101or10can be mapped by a source structure404. Logical statements can also be viewed as assertion statements. Here, each assertion statement can represent a graph without closed paths, for example as an out tree or a tree, wherein a term407can represent a root of the assertion statement. The version401specified in an assertion statement can refer to a version interval402that can include one or two values403. The version401or a version object can additionally refer to all terms407and graphs or trees formed thereby having logical statements that correspond to the version interval402. The term407or a corresponding term object can represent an assertion statement in an abstract manner that can include symbolic identifiers405and both further implicit statements409and also values and can also reference these. Since their sequence can be essential for the processing, the references can be stored subdivided into defined (List of Def References) and used references (List of Used References)408. Preferably, all values (e.g., for mathematical functions) used in the terms can be stored in the form of intervals402with their value or values of any type.

Here, a validation for consistency to a value range defined elsewhere can be made possible. See, in this regard,FIG.7. An additional reference to the source on which the objects are in each case based can enable a direct backtracing between error or later control instruction and the causative rule leading to a marked increase in the transparency. Implicit comments that have been recognized can likewise be stored at the respective assertion statement or directly at the symbolic identifier. The data structures used in the implementation are shown in the following table that by way of example shows an overview of elementary structure contents.

Main structureFields/StructureDescriptionTermUIDUnambiguous ID of the term for referencingMyTypeSemantic type (AND, OR etc.)Value[ ]List of intervalsListofTermRefs[ ]List of references to hierarchically dependent termsListofSymbolRefs[ ]List of references of the defining and used symbolsMySource[ ]Reference list to the source information of the termMyRootTermReference to the term root of the entire assertionstatementMyVersionReference to the mentioned version of the entireassertion statementListofDefRefs[ ]Sorted reference list to Value, TermRef, SymbolRefof the defining referencesListofUsedRefs[ ]Sorted reference list to Value, TermRef, SymbolRefof the used referencesSymbolNameUnambiguous semantic name of the symbol level(adjusted by upper-case/lower-case variants,distinction of cases etc.)ListOfOtherNames[ ]List of used alternative notationsListOfDefTerms[ ]List of references to terms in which the symbol isincluded as defining symbolMySources[ ]Reference list to the source information in whichthe symbol is usedVersionNameIdentifier of a versionRangeInterval of validity of the dependent termsListOfTerms[ ]List of references to all terms having the sameversion rangeOverlapIdentification label, whether the version rangeoverlaps with another versionMySource[ ]Reference list to the source information of theversion

A realization of specific instances can use the same methods for parsing and extracting and also decomposing the symbolic identifiers405into individual symbols406as well as instance and reference information. Corresponding instance rules having assigned instance values can be managed under a symbolic name in a hash table. Additional information (for example the point in time of the transfer of the instance value) can be recorded since, by taking into account commands for linearizing, possibly a state update of the instance should be triggered. See also block116inFIG.2and step501inFIG.6.

A special feature of the data modeling according toFIG.5is in the redundant form of the management of the semantic representation. On the basis of term structures that include direct references to the symbols, (sub-) terms and intervals, all main structures can mutually reference via hashed lists. In addition, over the entire mutually referencing graph and/or tree structure, superordinate access indices can lie that permit direct hash table accesses despite variable version intervals and term tree structures. In an embodiment of the present disclosure, the knowledge is therefore managed hierarchically along the meaning of the rules of the rule set101and also in a direct linear database-like form, so that effective parallel and efficient evaluation and storage can take place.

The illustrated data structure forms an efficient base for rule validations, validations of instantiations, and a derivation of the control commands resulting therefrom, as is, for example, illustrated inFIG.2.

FIG.6shows a schematic sequence diagram of a method for generating target-system-dependent control commands that is applicable in embodiments of the present disclosure.

The method illustrated inFIG.6can be built as an example on the method shown inFIG.1orFIG.2, for example in method step50ofFIG.1or method step116ofFIG.2. Reference can accordingly be made to the components ofFIG.1orFIG.2, this too having to be understood as an example.FIG.6illustrates how target-system-dependent control commands, for example the control commands119ofFIG.2, can be formed. The rule set10or101definable by the semantic representation110can include a markedly larger function range than other often used description means of control algorithms (e.g., truth tables, logic plans, relay circuits). The extent of logical statements while taking into account versions, enlarged OR sets and temporal statements can enable a formulation of complex and at the same time manageable rule sets. As illustrated inFIG.6, one or more target states can be defined from an overall rule set in the form of the semantic representation110by instantiation to finally derive control commands therefrom.

A hierarchical rule set validation of the respective instantiation can form a basis for generating control commands in step502that takes into account achieving target states. The validation results resulting therefrom are structured in step503, after which validation results are assigned to one of the different actors on the base of an action to be taken or can be added to a linearization in the case of dependence statements. When symbolic identifiers have to assume exactly one value in order to reach the target state, the states can be brought about by executing set actors505. In case options from extended OR conditions cannot be completely resolved for reaching the target, an embodiment of the present disclosure requires further decisions before the target state can be reached. In this case, they are NeedDecision actors506. In addition, temporal dependencies of the rule set and system-specific commands of the linearization can be taken into account for forming serial and/or parallel actor sequences. This can take place in accordance with the linearization instructions115fromFIG.2. When a state is reached explicitly or by means of a semantic necessity, a state actor510can generate the corresponding control commands.

Provided a system requirement must generate an instance update501, get actors504can be generated for all states that can be queried, in order to have system states be newly determined in the target systems and to have them enter newly as instance-dependent back information of the target system into the instance states, to update the further steps and corresponding control commands for reaching the target state.

Finally, the generated actor instructions504,505,506,510according to the linearization commands in step507can be brought into an unambiguous sequence. This can correspond to an instruction chain for a controlled system. The formed sequence of the actor instructions504,505,506,510for symbol levels can be converted in step508into target-system-specific directives that can be understood as definition of an output language. See block117inFIG.2, at which symbols for triggering the actors can be deposited. In step509, a control can take place with the aid of the corresponding converted actor instructions in the target systems.

FIG.7is a schematic illustration of a recursive semantic tree analysis that is applicable in embodiments of the present disclosure.FIG.7shows how an embodiment of the present disclosure can perform the analysis to find inconsistencies, contradictions, and potential optimizations in a rule set, for example the rule set101fromFIG.2. The same sequence structure can be used on top of this to carry out calculations that were defined by the rule set. In doing so, at the same time the decisions that have already been taken implicitly, can be extracted to rules or the open options for a future manifestation of a specific instance can be derived.

The method illustrated inFIG.7can be built in an exemplary manner on the method shown inFIG.2, for example in method step118. However, in no case is this mandatory.FIG.7can refer in an exemplary manner to components ofFIG.2.

An embodiment of the present disclosure evaluates the semantic representation in several phases built on each other and considers in particular semantic trees that have been mapped in the semantic representation, resp. the semantic tree111ofFIG.2. Here, the evaluation follows the same schematic of the semantic recursive tree analysis118that in the literature is also called backtracking. The general sequence for recognizing first order errors601, second order errors607, and the calculation of results615can thus be identical. Functions that are equally applied in all areas are therefore drawn inFIG.7across the entire width of the diagram, for example steps605and606. In some sequence steps, for example step603, these basic functionalities can be supplemented with or replaced by specific additional validations or sequences, for example in step610.

A semantic representation, for example the semantic representation110ofFIG.2, can include errors of different orders that can be summarized into two classes solely on account of their similarity in the treatment. Errors can arise at all only since logical expressions may satisfy the grammar (syntax and punctuation marks), but can otherwise be meaningless or contradictory.

The recognition of errors of the first order601can include one or more of the following cases in any sequence and combination:Self-references of symbolic statements or mathematical terms. In the meaning of terms, it is forbidden to require or to verify a statement by means of itself. Expressed more simply, symbols may not be defined by using themselves. Statements will not turn verifiable or cannot be derived as a result of cyclical references of this kind in any part statements. However, the definition of recursive formulae is allowed since the new definition of a variable of a subsequent generation is based on the known generation (step n+1 is based on step n).Identical symbols at different places have to refer to identical units. For example, the assignment of a school grade in the number range 1 to 6 cannot be referenced without “translation” to the verbal form “very good” to “unsatisfactory”.Symbols have to be within the possibly defined value range. In the case of school grades, for example in the elementary school, often integers in the range 1 to 6 are used, whereas in the upper school the score 0 to 15 is used. Therefore, an assignment of a grade as a computational basis of a grade average has to be in the correct (therefore agreed-on) value range.

The analysis of these types of errors can establish the faultiness of a term directly (without further analysis of the remaining rule set) using the stored data. In an embodiment of the present disclosure, it is therefore called “first-order error”.

For the complete investigation of the rule set in terms of these errors, all genuine root terms can be subjected to a recursively designed part analysis in step601. Genuine roots are those rule statements that define a symbol that is not used in any other term as a symbol for the definition of other terms. The recognition of loops in a recursive processing can at first require a comparison of the specific investigated term with all the terms already considered from the root602. The following steps can be reduced with the use of the version interval used in the term603. To the extent that no explicit version is used, the general version (−∞ to +∞→always corresponds) can be the basic assumption. In terms of their effect, versions can be nested by interval declarations and restrict this general basic assumption further and further. In the extreme case, the restriction to a specific version name as interval of a value is the most specific form of a version.

A selection of the relevant symbols604resolves the group formation provided in the semantic representation. Logical statements (AND, OR and temporal relation) do not refer to a defined group symbol but equally to all members of the group. An OR selection of the group A of symbols B, C, D shall likewise be equivalent to the selection from B, C, D and not comprise the group A as symbol. The latter would correspond to an AND combination of the mentioned symbols under the name A which is just what a group does not do. Since groups (and also dynamic groups) can again directly include groups, the determination of relevant symbols is to be carried out recursively.

A recursion from the roots to the leaves in a semantic tree is to be carried out when sub-terms are present or rules specify the used symbols further. So that an evaluation can be carried out in a structured manner after the recursions, at first the recursion options are determined605. Corresponding recursions can, according to a versioning of rules, possibly be provided a plurality of times for different version intervals and carried out606. In the case of the first order errors, the determined errors are collected in a structured manner but no further calculation using the terms is carried out. This changes in the other embodiments of the recursive semantic tree analysis118.

The recognition of second order errors607can analyze one or more of the following cases in any sequence and combination:Logical contradictions between required AND conditions and exclusive OR conditions. The necessary choice of precisely only one option of A or B for example contradicts the demand that A and B are satisfied at the same time. This error type has many varieties since in one embodiment of the present disclosure the OR sets are definable by “n to m from k options”.Equivalent to the AND/OR conflict, there are potential contradictions in mathematical terms in the case of contrary greater-smaller relations and other equal/unequal constellations.As a result of temporal sequences, such contradictions are likewise imaginable, but on the logical level they lead identically to first order errors since the participating symbols even here lead to a circular argument.

The analysis of this error type can determine the error only in a logical evaluation608of the actual terms through combinatorics or symbolic reshaping. An embodiment of the present disclosure realizes the validation on the basis of the combinatorics of critical symbols that participate a multiple of times in the definition of statements in a version interval—i.e., in different terms. For all identified potential sources of logical errors, solution hypotheses are generated616and tested likewise recursively for corresponding part trees609. A restriction of the combinatorics to the necessary cases of subversions610and subsets of critical symbols611poses an advantage over the otherwise theoretical brute-force methods in which the rule set is to be tested for all mathematically constructible combinations of the symbols and their values.

The mathematical satisfiability of the part terms612can be carried out such that terms are evaluated without any assumptions on the state of the “uncritical” symbols. When a state of a tested hypothesis cannot be satisfied, even though no assumption is made as to the other symbols, the corresponding sub-term is regarded as impossible. In the summative merger of the existing solution options613, impossible and possible options can be offset according to the logical rules and aggregated via the semantic tree up to the root (or part evaluation).

The recursive evaluation of the semantic tree for instances in step614uses the same sequence structures but can calculate the values of the sub-terms615with the aid of the mathematical formulae and instantiated values instead of the pure satisfiability of statements. Sub-terms to which is necessarily assigned a specific value of an instance on the basis of the rules in the calculation recursion are included in a list of the necessary sequences for this instance in order to derive therefrom corresponding control commands and corresponding instructions. See likewise step502inFIG.6. Open options for a future manifestation of a specific instance remain as a restriction of the options originally defined in the rules and thereby permit an effective further processing of the instance (reduction of the combinatorics) and corresponding communication of the remaining decision options to the user or to another system. See, in this regard, step506inFIG.6.

The following aspects and/or advantages may be of particular relevance in one or more preferred embodiments of the present disclosure:

An embodiment can concern an implementation of a logic-based control of other production plants and systems (including other computer systems) using entangled versions that enable a definition of target states and full transparency between generated system logic and the source information of all logical statements and instance values.

A count of base terms from AND and/or OR statements can be strongly reduced by means of the concept of then out of m of k options of a flexible OR operator and thus be made accessible to the closed-loop control. A statement from one line may require potentially thousands of statements in a base logic that can practically be no longer processed as combinatorics. Thus by means of the concept of the n out of m of the k options of a flexible OR operator an open-loop control can be made accessible in that only those symbols of the semantic representations are used for the specific validation of a closed-loop control that are dependent on the currently considered logical rules and all other symbols are simply considered in terms of quantity.

Furthermore, a combination of all language elements into a consistent control logic can be a) determined without execution of error states, b) determined for options remaining for any instance hypotheses, and/or c) effectively reduce the technically non-processable (storage place) or generatable (temporal length) full combination tree to relevant part statements.

The use of dialectal language flexibility can take place both on the level of punctuation marks, the syntax of rules, and also in the output of control commands and corresponding instructions which permits a text having a natural effect to be understood equally and unambiguously as a rule set by humans and machines.

There can further be envisaged an implementation of a logic-based open-loop control of other production plants and systems (including other computer systems) with entangled versions, with the possibility of the definition of target states and full transparency between generated symbol logic and the source information of all logic statements and instance values.

An implementation can preferably use all language elements in a consistently technically usable control logic a) to thereby determine logic error states before a rule set is used for driving production plants or systems, b) for any instance hypotheses which from a concrete compilation of selected states can correspond to plants and systems relevant in the rule set, to determine the remaining options, and/or c) to be able to generate a technically processable combination tree reduced to the relevant part statements and to enable a time-based system control.

An implementation can preferably enable users to establish a logical rule set without having to carry out a specific implementation of a procedural, object-oriented, or logical programming language since the use of the dialects enables a naturally appearing text both on the level of punctuation marks and the syntax of rules.

The present disclosure further refers to the following exemplary embodiments that can be combined with embodiments and examples of the present disclosure in any manner.

An exemplary embodiment specifies a method for generating control commands that comprise the following method steps in any combination: Parsing declarations in a rule set as a syntactic structure that converts a textual formulation of a rule set into syntactical blocks, in that relevant passages characterized by an agreement with a language defined by keywords and sequences and thus restricted, are parsed unambiguously from the rule set with the aid of a recursive parser, controlled by different states, context-dependent in a hierarchized sequence of character strings, for example syntactical blocks; constructing terms and symbols consisting of an extraction of a semantic and decomposition of the symbols for generating a logic-based tree-like relation between freely definable symbols parsed by levels, for example a semantic representation of the overall rule set, in that after a consolidation of the syntactical blocks. a recursive division into functions, symbols, and terms takes place that either identifies semantic structures or decomposes remaining character strings as symbolic expressions and finally stores together as version, source, symbol, and/or term as well as their mutual references and value ranges as interval; automatically validating the semantic representation for contradictions in view of completeness, consistency of the rule set, or its application to an individual case, in that as a result of a recursive semantic tree analysis of all simultaneously valid rules (i) first order errors are identified without symbolic context, (ii) second order errors with symbolic context are identified by evaluation of generated solution hypotheses that are tested exclusively on the basis of critical, multiply-occurring symbols for satisfiability, and also (iii) a calculation of instance values is carried out; generating system-independent control commands and conversion of the control commands into system-specific instructions for controlling other complex systems in that the continuous instance updating and the hierarchical validation of the instances in the rule set at first reflect, in a system-independent manner, the status as a tree illustration, then are linearized and translated into an output language, to trigger control actions; repetition of the previously mentioned method steps for continually updating the control commands for other complex systems while taking into account the feedback of instance-dependent actual states in that event-based new states in the form of instance values or updating of rule specifications update a control base and thereby keep other complex systems within the desired state specified by the rule set.

According to a further exemplary embodiment of the method, a specification by a user of domain-specific dialectal characters changes all keywords for detecting boundaries between the meaningful passages when parsing the syntactical structure into the syntactical blocks.

According to a further exemplary embodiment of the method, the specification by the user of a domain-specific dialectal grammar changes the expected sequence of meaningful passages when parsing the syntactical structure into the syntactical blocks.

In an exemplary embodiment of the method, the specification by the user from a domain-specific semantic catalog changes the assignment of logical operators and functions and the identification of functions in the extraction of the semantics.

In a further exemplary embodiment of the method, the specification by the user from a domain-specific structure of symbols changes the separation into meaning levels and the identification of polyvalent symbol variants as compression of the symbols into unambiguous representations during the decomposition of the symbols.

Moreover, in an exemplary embodiment of the method, symbolically represented rules, instances, and symbolic levels of the semantic representation from the textual formulation of the rule set are defined from each other by extraction of at least one declaration of a symbolic version designation and thereby the formulation of rule sets as well as control of systems in their specific instantiation reduced and thereby simplified and formulated to be comprehensible by humans.

According to a further exemplary embodiment of the method, as a result of the specification by the user from a domain-specific formulation of commands to a linearization, the generation of system-independent control commands for other complex systems is altered.

In an exemplary embodiment of the method, the specification by the user from a domain-specific definition of the source language, the generation of system-independent control commands for other complex systems is altered.

In a further exemplary embodiment of the method, a relation, for example source, is established between the textual formulations of the rule set and the semantic representation to enable a higher error transparency and a targeted error analysis for the results produced during the validation of contradictions.

In an exemplary embodiment of the method, at least one of the following conditions applies to the processing of the user specifications in the form of the textual formulation of the rule set:At least one textual formulation of the rule set includes at least one declaration corresponding to the grammatical requirements, that can be converted into a semantic representation according to the previous exemplary descriptions;At least one textual formulation of the rule set defines a plurality of system-independent actors, wherein:i. from the plurality of actors, one or more actors serve to read out at least one parameter of a current system state of the target platform;ii. from the plurality of actors, one or more actors permit setting at least one parameter of the target platform;iii. from the plurality of actors, one or more actors permit querying an option for at least one parameter of the target platform; and/oriv. from the plurality of actors, one or more actors serve to set a logic state in the rule set;the conversion of the actors generates an unambiguous control sequence according to at least one linearization command when sequencing the plurality of platform-specific instructions;a conversion of at least one control command into a plurality of platform-specific instructions serves for driving a target platform; and/orat least one control command permits a target-system-dependent control command for other complex systems and thus permits the triggering of events.

In an exemplary embodiment of the method, the semantic representation includes at least one instantiation, wherein the latter includes one or more values for symbols of the semantic representation that correspond to one or more measurable ACTUAL states of an external complex system and through a non-procedural and non-functional control are held in a regulated DESIRED state resp. are changed in the direction of a TARGET state in that, by a linearization of the logically required steps, a continuous change of the domain- or application-specific actors is carried out.

A further exemplary embodiment of the method further comprises transferring the semantic representation into a formal text taking into account the formulated domain-specific specifications of the user, however, the output specifications can deviate from the original input specifications and thus the transfer of problem descriptions and the corresponding solutions between use domains and languages are made possible while maintaining the logical statement content of the formulated rules.

According to an exemplary embodiment of the method, values for symbols of the semantic representation in the instances, the versioning, and the count of the options from an OR-combined set of statements are specified by intervals whose values of the boundaries can assume both floating-comma representations, integer, and also symbolic values inclusive of the respective marginal approximation and also any large or small numbers and thus formulate validity ranges, that a validation of the rule set, seeFIG.7, in the form of the semantic representation for completeness, consistency of the rule set, or its application to an individual case is reduced by reduction of the necessary permutations in the solution space to the critical symbols at the boundaries of the intervals.

It should be obvious that the present disclosure is not limited to a specific design of the methods, devices and systems shown inFIGS.1to7. For example, other schematics can be used for textual rule sets and other control commands or instructions. The rule sets can further be transformed according to modifications of the illustrated implementation methods into the respective control commands. The present disclosure is not restricted to a specific illustrated syntax or semantic of the rule sets, the semantic representation, or the target-system-dependent control commands. Over and above this, the features disclosed in the description above, the claims and the figures may be of importance both individually and also in any combination for the realization of the disclosure in its different embodiments.

In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled.