EP4272106A1 - Apparatus and method for generating requirement specifications - Google Patents
Apparatus and method for generating requirement specificationsInfo
- Publication number
- EP4272106A1 EP4272106A1 EP21720224.1A EP21720224A EP4272106A1 EP 4272106 A1 EP4272106 A1 EP 4272106A1 EP 21720224 A EP21720224 A EP 21720224A EP 4272106 A1 EP4272106 A1 EP 4272106A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- term
- formula
- name
- expressed
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
Definitions
- the present disclosure relates to information processing technology. More specifically, the present disclosure relates to a data processing apparatus and method for generating real time system requirement specifications.
- a first known approach puts requirements engineering at the level of automata or event systems, that are translated to code for simulation with computer assistance.
- the second known approach one supports the user in defining and refining a graphical form of precondition- postcondition constraints and produces elements for formal verification or testing. Both of those systems are a clear progress by comparison with classical natural-language management of requirements, because they reduce many sources of errors. But they do so at the expense of productivity and perfect intelligibility for lack of a purely natural- language interface.
- a data processing apparatus comprising a processing entity, for instance, one or more processors, configured to parse one or more real-time system requirement specifications expressed in a pseudo-natural language.
- the processing entity is further configured to transform, based on a set of transformation rules defined by a formal grammar, the one or more real time system requirement specifications expressed in the pseudo-natural language into one or more real-time system requirement specifications expressed using a temporal logic.
- the processing entity is configured to perform a consistency check of the one or more real-time system requirement specifications expressed using the temporal logic based on one or more formal models and generate a result of the consistency check expressed using the temporal logic.
- the processing entity is further configured to translate the result of the consistency check expressed using the temporal logic back into a result of the consistency check expressed in the pseudo-natural language.
- the formal grammar comprises for at least one of the one or more real-time system requirement statements expressed using the temporal logic at least two real-time system requirement statements expressed in the pseudo-natural language. In other words, redundant mapping is provided.
- the one or more real-time system requirement specifications comply with Montague semantics (also referred to as Montague grammar).
- Montague grammar is an approach to natural language semantics based on mathematical logic, especially higher-order predicate logic and lambda calculus, and makes use of the notions of intentional logic.
- the data processing apparatus further comprises a user interface and/or a communication interface configured to receive the one or more real-time system requirement specifications expressed in the pseudo-natural language and/or to output the result of the consistency check expressed in the pseudo-natural language.
- the temporal logic is a linear temporal logic, LTL.
- a computer-implemented data processing method comprises the steps of: parsing one or more real-time system requirement specifications expressed in a pseudo natural language; transforming, based on a set of transformation rules defined by a formal grammar, the one or more real-time system requirement specifications expressed in the pseudo-natural language into one or more real-time system requirement specifications expressed using a temporal logic; performing a consistency check of the one or more real-time system requirement specifications expressed using the temporal logic based on one or more formal models; generating a result of the consistency check expressed using the temporal logic; and translating the result of the consistency check expressed using the temporal logic back into a result of the consistency check expressed in the pseudo-natural language.
- the formal grammar comprises for at least one of the one or more real-time system requirement statements expressed using the temporal logic at least two real-time system requirement statements expressed in the pseudo-natural language.
- the one or more real-time system requirement specifications comply with Montague semantics.
- the computer- implemented data processing method further comprises the steps of receiving the one or more real-time system requirement specifications expressed in the pseudo-natural language, for instance, from a user and/or outputting the result of the consistency check expressed in the pseudo-natural language, for instance, to a user.
- the temporal logic is a linear temporal logic, LTL.
- a computer program product comprising a computer-readable storage medium for storing program code which causes a computer or a processor to perform the type matching method according to the second aspect, when the program code is executed by the computer or the processor.
- Fig. 1 shows a schematic diagram of a data processing apparatus according to an embodiment
- Fig. 2 is a flow diagram illustrating a data processing method according to an embodiment
- Fig. 3 is a table illustrating the differences between natural language requirements and temporal logic requirements.
- Figs. 4a and 4b show examples for the compliance of the grammar implemented by a data processing apparatus according to an embodiment with Montague semantics.
- a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa.
- a corresponding device may include one or a plurality of units, e.g. functional units, to perform the described one or plurality of method steps (e.g. one unit performing the one or plurality of steps, or a plurality of units each performing one or more of the plurality of steps), even if such one or more units are not explicitly described or illustrated in the figures.
- a specific apparatus is described based on one or a plurality of units, e.g.
- a corresponding method may include one step to perform the functionality of the one or plurality of units (e.g. one step performing the functionality of the one or plurality of units, or a plurality of steps each performing the functionality of one or more of the plurality of units), even if such one or plurality of steps are not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary embodiments and/or aspects described herein may be combined with each other, unless specifically noted otherwise.
- Figure 1 shows a schematic diagram of a data processing apparatus 100 for generating real-time system requirement specifications.
- the data processing apparatus 100 may comprise a desktop PC or workstation 100 operated by a user 110.
- the data processing apparatus 100 comprises a processing entity 101, for instance, in form of processing circuitry 101.
- the processing entity 101 of the data processing apparatus 100 may be implemented in hardware and/or software.
- the hardware may comprise digital circuitry, or both analog and digital circuitry.
- Digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field- programmable arrays (FPGAs), digital signal processors (DSPs), or general-purpose processors.
- ASICs application-specific integrated circuits
- FPGAs field- programmable arrays
- DSPs digital signal processors
- the data processing apparatus 100 may further comprise a user interface and/or a communication interface 103 for interacting with the user 110 or other electronic systems, such as, by way of example, an automation control system 130, and a memory 105 configured to store data and executable program code which, when executed by the processing entity 101 causes data processing apparatus 100 to perform the functions, operations and methods described herein.
- a user interface and/or a communication interface 103 for interacting with the user 110 or other electronic systems, such as, by way of example, an automation control system 130, and a memory 105 configured to store data and executable program code which, when executed by the processing entity 101 causes data processing apparatus 100 to perform the functions, operations and methods described herein.
- the processing entity 101 of the data processing apparatus 100 is configured to parse one or more real-time system requirement specifications 111 expressed in a pseudo-natural language (see block 101a of figure 1 and step 201 of figure 2).
- Two exemplary real-time system requirement specifications 111 expressed in pseudo-English are illustrated in figure 1, namely (a) "if ERROR is false then ultimately SPEED is SYCHRONOUS" and (b) "The drift between MASTER_CLOCK and SLAVE_CLOCK is always bounded by threshold D".
- these real-time system requirement specifications 111 may be generated by the user 110 using a user interface, such as a keyboard or a mouse, an a text editor of the data processing apparatus 100.
- the processing entity 101 of the data processing apparatus 100 is further configured to transform, based on a set of transformation rules (also referred to as translation rules) defined by a formal grammar, the one or more real time system requirement specifications 111 expressed in the pseudo-natural language into one or more real-time system requirement specifications 121 expressed using a temporal logic.
- the temporal logic may be a linear temporal logic, LTL.
- the processing entity 101 of the data processing apparatus 100 is further configured to perform a consistency check of the one or more real-time system requirement specifications 121 expressed using the temporal logic based on one or more formal models 120 and to generate a result of the consistency check expressed using the temporal logic.
- the one or more formal models 120 may be provided by an external entity via the communication interface 103 to the data processing apparatus.
- the data processing apparatus 100 may implement a model checking tool for performing the consistency check of the one or more real-time system requirement specifications 121 expressed using the temporal logic based on one or more formal models 120.
- any of the formal models describes the intended real time system in its components and internal or external behaviour.
- the user 110 may request more and more requirement specifications to be checked to increase confidence in the intended real-time system. If a consistency error is found, the user 110 may modify the requirement specifications, if they are assumed to be imperfect, or modify the model if confidence in the requirement specifications is high.
- the processing entity 101 of the data processing apparatus 100 is further configured to translate the result of the consistency check expressed using the temporal logic back into the pseudo-natural language, i.e. a result of the consistency check expressed in the pseudo-natural language.
- the result may be that the two exemplary real-time system requirement specifications 111 expressed pseudo-English, namely (a) "if ERROR is false then ultimately SPEED is SYCHRONOUS" and (b) "The drift between MASTER_CLOCK and SLAVE_CLOCK is always bounded by threshold D", are consistent and valid.
- the data processing apparatus 100 may display this result to the user 110.
- the result of the consistency check is that one of the two exemplary real-time system requirement specifications 111 expressed in pseudo-English, for example the second one (b) "The drift between MASTER_CLOCK and SLAVE_CLOCK is always bounded by threshold D" is not valid for the given model, and a sufficient cause of invalidity is a counter-example such as F ⁇ 10 ⁇ (abs(MASTER_CLOCK-SLAVE_CLOCK) > D) when expressed in temporal logic, then the data processing apparatus 100 may translate this cause back to pseudo-English such as to make it readily understandable to the user 110 in the following form: “eventually the drift between MASTER_CLOCK and SLAVE_CLOCK shall not be bounded by D within 10 milliseconds.”
- Figure 3 is a table illustrating the differences between pseudo-natural language requirements and temporal logic requirements as implemented by a data processing apparatus according to an embodiment. The differences illustrate the tension between logical precision and non-ambiguity on one side, and simplicity and clarity on the other side, for which embodiments disclosed herein find a good balance.
- the formal grammar described above comprises for several of the real-time system requirement statements expressed using the temporal logic at least two real-time system requirement statements expressed in the pseudo-natural language.
- the data processing apparatus 100 may be configured to translate, i.e. map a given requirement statement expressed using the temporal logic into at least two (equivalent) pseudo-language requirement statements.
- Figures 4a and 4b show examples for the compliance of how the translation rules defined by the grammar described above and implemented by the data processing apparatus 100 according to an embodiment comply with Montague semantics (also referred to as Montague grammar).
- Montague grammar is an approach to natural language semantics based on mathematical logic, especially higher-order predicate logic and lambda calculus, and makes use of the notions of intentional logic.
- Figures 4a and 4b summarize a verification that provides additional confidence in the translation rules in the direction of English to LTL implemented by embodiments disclosed herein. As English is not a formal language, there is no unanimous and standard mathematical definition of sentence meanings as it exists for a programming language for example.
- Montague semantics does provide such a definition for a subset of the English language and a subset of Montague semantics has been used to validate some of the translation rules of pseudo-English to LTL implemented by embodiments disclosed herein.
- the verification is done in 3 steps that correspond to the 3 levels in syntax of the LTL target logic: the lower level is that of atomic statements that are either the name of a variable, the name of a formula or a comparison expression between two variables.
- the middle level is a boolean combination (and, or, implies etc.) of two such atomic statements.
- the upper level is the application of a temporal operation (within, until, ultimately etc.) to formulas of the lower levels.
- the translation rules implemented by embodiments disclosed herein confirm that what Montague semantics would conclude about their mathematical meaning.
- embodiments disclosed herein allow translating a subset of English-language for describing requirements directly to temporal logic suitable for automated formal verification of system models.
- embodiments disclosed herein combine the flexible, intuitive and productive use of English sentences with non- ambiguous translation to temporal logic.
- embodiments disclosed herein allow the reverse translation to make the output messages of formal verification clearly intelligible, thus reducing a common problem with error messages: either they are clear but ad-hoc (not formally linked to the verification formulas) or they are precise but cryptic (using explicit logical formulas).
- the reverse translation implemented by embodiments disclosed herein guarantees messages that are bot precise and intelligible because they are the English-translation of temporal logic formulas using the same correspondence as the forward translation.
- embodiments disclosed herein provide multiple input-English forms for the same temporal logic output, allowing multiple synonyms for the same requirement sentence. This frees the user of the memorization effort needed when learning a formal- or computer language.
- the disclosed system, apparatus, and method may be implemented in other manners.
- the described embodiment of an apparatus is merely exemplary.
- the unit division is merely logical function division and may be another division in an actual implementation.
- a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed.
- the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces.
- the indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
- the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- functional units in the embodiments of the invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2021/059959 WO2022218549A1 (en) | 2021-04-16 | 2021-04-16 | Apparatus and method for generating requirement specifications |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4272106A1 true EP4272106A1 (en) | 2023-11-08 |
Family
ID=75588216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21720224.1A Pending EP4272106A1 (en) | 2021-04-16 | 2021-04-16 | Apparatus and method for generating requirement specifications |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP4272106A1 (en) |
WO (1) | WO2022218549A1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681383B1 (en) * | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
-
2021
- 2021-04-16 EP EP21720224.1A patent/EP4272106A1/en active Pending
- 2021-04-16 WO PCT/EP2021/059959 patent/WO2022218549A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2022218549A1 (en) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250842B2 (en) | Multi-dimensional parsing method and system for natural language processing | |
Forcada et al. | Apertium: a free/open-source platform for rule-based machine translation | |
Fabbrini et al. | An automatic quality evaluation for natural language requirements | |
US6463404B1 (en) | Translation | |
Sturt et al. | Processing coordinated structures: Incrementality and connectedness | |
US8117022B2 (en) | Method and system for machine understanding, knowledge, and conversation | |
Burden et al. | Natural language generation from class diagrams | |
EP0473864A1 (en) | Method and apparatus for paraphrasing information contained in logical forms | |
Burke et al. | Translating formal software specifications to natural language: a grammar-based approach | |
Bojar et al. | Scratching the surface of possible translations | |
Tommila et al. | Controlled natural language requirements in the design and analysis of safety critical I&C systems | |
Sharp | CAT2–implementing a formalism for multi-lingual MT | |
Nagi et al. | Informed Prompts and Improving ChatGPT English to Arabic Translation. | |
Alegria et al. | Transfer-based MT from Spanish into Basque: reusability, standardization and open source | |
Mengyuan et al. | Automatic generation method of airborne display and control system requirement domain model based on NLP | |
WO2022218549A1 (en) | Apparatus and method for generating requirement specifications | |
Kaljurand et al. | Collaborative multilingual knowledge management based on controlled natural language | |
Dobrovoljc et al. | Extending the SSJ Universal Dependencies Treebank for Slovenian: Was it Worth it? | |
US20180011833A1 (en) | Syntax analyzing device, learning device, machine translation device and storage medium | |
Lapalme | Verbalizing AMR structures | |
Paige et al. | Towards model transformation with TXL | |
Mishchenko et al. | New functionalities of the system for processing natural language specifications and its operating environment | |
Arman | Using MADA+ TOKAN to Generate Use Case Models from Arabic User Requirements in a Semi-Automated Approach | |
Alluhaibi | Simple interval temporal logic for natural language assertion descriptions | |
Zafar et al. | From Natural Language to Domain-Specific Languages in Model Driven Engineering–a Use Case of Xtext Platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20230801 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20240926 |