WO2020240482A1 - Procédé et système de génération automatique de documents d'architecture fonctionnelle et de documents de spécification de conception et d'analyse de logiciel à partir de langage naturel - Google Patents

Procédé et système de génération automatique de documents d'architecture fonctionnelle et de documents de spécification de conception et d'analyse de logiciel à partir de langage naturel Download PDF

Info

Publication number
WO2020240482A1
WO2020240482A1 PCT/IB2020/055096 IB2020055096W WO2020240482A1 WO 2020240482 A1 WO2020240482 A1 WO 2020240482A1 IB 2020055096 W IB2020055096 W IB 2020055096W WO 2020240482 A1 WO2020240482 A1 WO 2020240482A1
Authority
WO
WIPO (PCT)
Prior art keywords
case
stage
functional
verb
documents
Prior art date
Application number
PCT/IB2020/055096
Other languages
English (en)
Inventor
Nadia Analía HUEBRA
Original Assignee
Lexica S.A.S.
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
Priority claimed from US16/424,400 external-priority patent/US10831449B2/en
Application filed by Lexica S.A.S. filed Critical Lexica S.A.S.
Priority to BR112021023790A priority Critical patent/BR112021023790A2/pt
Priority to JP2021570418A priority patent/JP2022534506A/ja
Priority to MX2021014491A priority patent/MX2021014491A/es
Priority to CN202080039372.9A priority patent/CN114222971A/zh
Priority to CA3139543A priority patent/CA3139543A1/fr
Priority to EP20737536.1A priority patent/EP3977261A1/fr
Publication of WO2020240482A1 publication Critical patent/WO2020240482A1/fr
Priority to IL288333A priority patent/IL288333A/en
Priority to CONC2021/0015949A priority patent/CO2021015949A2/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Definitions

  • the present invention relates in general to the process of modeling reasoning by means of a formal logic analogous to the abstract thought with which human beings process natural language. It specifically relates to deriving process models from case specifications based on natural language.
  • the prior art discloses devices for automatic generation of software design documents from requirements expressed in phrases that are stored in knowledge bases, based on which they model 'Classes' (in the context of Object-Oriented Programming) that are subsequently visualized as UML diagrams. It also discloses systems and methods for formalizing natural language in such a way that the resulting language can be processed by a computer.
  • U.S. 2013/0097583 discloses a system and method that provides an automation support tool to guide/help software engineers in creating software products.
  • the system includes input/output, storage, processing and communication devices.
  • the system aids software engineers in identifying and graphically representing the use cases derived from the requirements, actors or entities, systems and subsystems by means of one or more phrases that describe the requirements and the actors or entities involved, as well as generating a domain model and a UML class diagram to visualize the domain model.
  • the system also allows for creation of expanded use cases, creation of an object interaction model, creation of sequence diagrams, and creation of a design class diagram. Based on the design class diagram, software engineers can produce high- quality computer programs.
  • the system may include or may connect to a diagram generator in order to automatically generate UML (Unified Modeling Language) class diagrams.
  • UML Unified Modeling Language
  • the inputs of said patent are software requirements written in natural language.
  • Our invention consists of natural language sentences that describe the business "case”.
  • the input of said patent is one of the specific cases that our invention can solve.
  • the parser word recognition technique
  • the parser in our invention is automatic and based on rules that do not employ a dictionary.
  • the present invention increases accuracy in a much shorter processing time.
  • U.S. 2013/0097583 in order to achieve complete software design, requires the involvement of a software engineer to design and develop code, supported by the diagrams generated by the invention of the patent.
  • the resulting design is complete and automatic, comprising 100% of the design stated in the descriptive text.
  • the abstraction of the conceptual domain model in the present invention is formal. That is, the design always responds to the same rules and thus, produces predictable results.
  • the conceptual model is 20% hand-made and case dependent.
  • U.S. 2011/0239183 discloses a method in which one or more process models are derived from natural language use case models. For example, use of a processor and access to a memory-stored use case model, obtained from natural language text information described using a limited list of predefined words with preassigned meaning, can thereby transform the memory-stored model into a process model according to a predetermined modeling notation.
  • the design is carried out at a functional Architecture Document level, based on unlimited natural language, from which the different types of software design diagrams can be obtained.
  • the present invention demonstrates the use of Functional Architecture Documents and their components to construct Software Design applications.
  • the case refers to a reality problem for which we want to build a software application that allows a computer to process its logic.
  • the software industry of "the case” faces the challenge of improving software construction projects, the main error factor thereof being the difference between the requester's description (the problem) and what “the case” solves (the solution).
  • the problem the problem
  • the solution what “the case” solves
  • This design is carried out by creating other diagrams, such as database diagrams (to store the system data), screen diagrams (where data uploads, searches and processing will be performed), functional logic diagrams of "the case” (which represent the logic of the problem to be solved), architecture diagrams (which define the internal organization of "the case” in order to function effectively, reliably and sustainably: client-server, SOA: Services Oriented Architecture, among others).
  • database diagrams to store the system data
  • screen diagrams where data uploads, searches and processing will be performed
  • functional logic diagrams of "the case” which represent the logic of the problem to be solved
  • architecture diagrams which define the internal organization of "the case” in order to function effectively, reliably and sustainably: client-server
  • SOA Services Oriented Architecture
  • FIG. 1 shows a diagram comparing the prior art and the present invention, regarding the language used in each of the stages of "case” understanding and translation from the beginning of its description until software design. In the prior art, the following languages are used:
  • the present invention employs natural language as the only language for the description, analysis and design of the software solution, thereby minimizing a loss of knowledge that would lead to a distortion in the result.
  • the present invention allows for complete description of "the case” using simple sentences in natural language.
  • the present invention does not require the translation of said sentences into diagrams with technical graphical notation in order to understand and transmit the knowledge of the process.
  • said diagrams are generated automatically by the present invention based on natural language, using a single deterministic model that identifies the conceptual components of language, by applying analytical rules that implement the functional logic of said model. Structuring the description in simple sentences, based on a predefined hierarchy of concepts, ensures the completeness of said description and enables high-quality software designs to be inferred automatically.
  • Sentence the smallest possible syntactic formation, capable of conveying a statement or expressing the content of a logical proposition.
  • Natural language Natural language is what we call the spoken or written language used by humans for general communication purposes.
  • Functional requirement As defined in requirements engineering, functional requirements determine the system's behavior. A Global functional requirement groups other more detailed functional requirements related to the behavior of the system itself.
  • Class diagram Diagrams which show the different classes that comprise a system and the relationships between each other. They also show the classes, along with their methods and attributes, as well as their interrelationships.
  • Universe of the case The collection of definitions and concepts surrounding "the case”.
  • Compound nouns Nouns that are made up of more than one word. For example: price list, document number. +: in the present document, it means "to concatenate", to join or add text.
  • Eligible language Since different languages can be used to describe "the case,” it is possible to state each of them with their respective syntactic and grammatical structures.
  • Concatenate Given one or more words, concatenation means joining them into a single phrase, separated by spaces. Example: “the,” “house.” Concatenation of the two words yields: “the house.”
  • a base rule is a behavioral structure defined by a question, the purpose of which is to describe the morphosyntactic sequence of the words that comprise the answer to said question.
  • DO means direct object. In the present invention, it refers to the noun words that appear in What questions and follow a transitive verb.
  • FIG. 1 Shows the process of natural language transformation of the present invention.
  • FIG. 2 Shows the stages of the process of the present invention, in order to obtain Functional Architecture Documents.
  • FIG. 3 Shows the system of the present invention.
  • FIG. 4 Shows the stages of the process of the present invention, in order to obtain Software Design Documents.
  • FIG. 4A Shows stage A.
  • FIG. 4A Shows MAS metamodel.
  • FIG. 4A2. Shows a Morphosyntactic Rule.
  • FIG. 4A Shows a case of MAS Metamodel application.
  • FIG. 4B Shows stage B.
  • FIG. 4C Shows stage C.
  • FIG. 4D Shows stage D.
  • FIG. 4E Shows stage E.
  • FIG. 4E1. Shows the functional logic of the Processor 150, configured as an Automatic Sentence Analyzer 151.
  • FIG. 4F Shows a Functional Architecture diagram.
  • FIG. 4G Shows stage G.
  • FIG. 4G Shows the functional logic of the Processor 150, configured as an Automatic Software Designer 152.
  • FIG. 4G2. Shows stage 4G2
  • FIG. 4G2A Shows the example of the FX step
  • FIG. 4G2B Shows the example of the CC step
  • FIG. 4G3. Shows stage 4G3
  • FIG. 4G3A Shows the example of the QS step
  • FIG. 4H Shows stage H.
  • FIG. 41 Shows stage I.
  • FIG. 411. Shows a software design diagram.
  • FIG. 412. Shows the structure of a business document.
  • FIG. 413 Shows the structure of an analysis document.
  • FIG. 5. Shows the example of class design.
  • FIG. 6 Refers to the graphical notation that is to be used in the Functional Architecture diagrams.
  • FIG. 7 Refers to the graphical notation for software design documents.
  • the present invention provides a solution to the previously cited problems, by means of a method, implemented by a computer and a visual device, for generation of software design specification documents from requirements expressed in natural language phrases that describe a case, which are stored in knowledge bases. These phrases allow for modeling design components that are subsequently transformed and visualized as class diagrams for software design.
  • the device can be adapted to interact with a processor.
  • the process begins with the description of "the case” in natural language.
  • the description in natural language.
  • a system such as the one described in FIG. 3 is used to input the description of "the case” in natural language by means of an Input/Output Devicel20.
  • the input texts are transferred into the main memory for later use by the Processor 150.
  • the processor is configured to analyze, design and generate documents automatically.
  • the results of each processing function are stored in the Database Memory 130.
  • Input/Output device 120 the device through which the natural language texts are captured. It allows a processor to employ display media (screens, projectors, televisions, printers, monitors, mobile devices, among others) to show structures in which the user can enter "the case” description data and display the resulting documents, using the following configurations:
  • Language User Interface 121 a visual structure that allows the user to choose the language and upload its grammatical and syntactical features, which are then stored in the Database Memory 130.
  • Case User Interface 122 a visual structure that allows the user to upload the simple sentences that describe "the case," which are then stored in the Database Memory 130. This structure also allows the user to interact with the functions of the Processor 150 configured as an Automatic Sentence Analyzer 151 and as an Automatic Software Designer 152.
  • Document Display User Interface 124 a structure that allows the user to access the documents generated by the Processor 150 configured as an Automatic Document Generator 153.
  • CPU 110 the processing device of the system 100. This device is designed to carry out all of the natural language processing functions for automatic design generation and contains the main memory that allows for exchange between said functions and the other components of the system.
  • Main Memory 140 volatile storage device used to exchange information between the input/output device, the database memory and the processor. It carries out the following functions according to its configuration: i. Diagrams 141: the configuration of the Main Memory that enables document processing by the Processor 150 configured as an Automatic Document Generator 153, by using the Formats, Graphical Notations and STD Sentences 163 stored in the Static Database Memory 160.
  • Sentence Matrix 142 the configuration of the Main Memory that enables processing of simple sentences by the Processor 150 configured as an Automatic Sentence Analyzer 151, by using the MAS Metamodel 161, the Uanguages, Words and Morphosyntactic Rules 162 stored in the Static Database Memory 160.
  • FC Matrix 143 the configuration of the Main Memory that enables processing of the functional components by the Processor 150 configured as an Automatic Sentence Analyzer 151, by using the MAS Metamodel 161, the Uanguages, Words and Morphosyntactic Rules 162 stored in the Static Database Memory 160.
  • DC Matrix 144 the configuration of the Main Memory that enables processing of the design components by the Processor 150 configured as an Automatic Software Designer 152, by using the MAS Metamodel 161, the Languages, Words and Morphosyntactic Rules 162 stored in the Static Database Memory
  • Processor 150 the device in which processing and exchange tasks are carried out. It carries out the following functions depending on its configuration:
  • Automatic Sentence Analyzer 151 the configuration of the Processor that is mainly tasked with automatically generating the functional components from the simple sentences, and sending them to the Dynamic Database Memory 170 for storage.
  • ii. Automatic Software Designer 152 the configuration of the Processor that is mainly tasked with automatically generating the design components from the simple sentences, and sending them to the Dynamic Database Memory 170 for storage.
  • Document Generator 153 the configuration of the Processor that is mainly tasked with automatically generating the design components from the simple sentences, and sending them to the Dynamic Database Memory 170 for storage.
  • Database Memory 130 a permanent memory that stores the data uploaded by the user and generated by the Processor 150 in its various configurations. This memory possesses two storage configurations: one static configuration and one dynamic configuration.
  • the static configuration stores the necessary fixed data that are uploaded for one-time processing and are not specific to“the case.”
  • the dynamic configuration stores the data specific to "the case" that are uploaded for each case.
  • MAS Metamodel 161 the configuration of the Database Memory 130 that contains the rules of formal logic at a high level of abstraction that give rise to the Morphosyntactic Rules that are stored in the Languages, Words and Morphosyntactic Rules structure 162 of the Database Memory 130.
  • Languages, Words and Morphosyntactic Rules 162 the configuration of the Database Memory 130 that contains the features of the eligible languages, the special words of each eligible language and its Morphosyntactic Rules.
  • Simple Sentences Questions 171 the configuration of the Database Memory 130 that contains the Simple Sentences uploaded by the user and the answers to the questions When, Who, What, How and Where that correspond to each Simple Sentence.
  • Functional Components 172 the configuration of the Database Memory 130 that contains the Functional Components generated automatically by the Processor 150 configured as an Automatic Sentence Analyzer 151.
  • Design Components 173 the configuration of the Database Memory 130 that contains the Design Components generated automatically by the Processor 150 configured as an Automatic Software Designer 152.
  • the present invention carries out the sequence of stages described in FIG. 4 and also below:
  • Stage A Using the Input/Output Device 120 to upload the MAS Metamodel 161 into the logical structure of the MAS metamodel 161 of the Static Database Memory
  • Stage B Using the Language User Interface 121 of the display device 120 to enter the eligible languages, the grammatical and syntactical features of each eligible language and to store those data in the logical structure of Languages, Words and Morphosyntactic Rules 162 of the Static Database Memory 160;
  • Stage C Using the Case User Interface 122 of the display device 120 to enter the description of "the case” as text in one of the natural languages selected from the list of eligible languages from Stage B. Identifying the steps of "the case” and then storing them in the logical structure of Simple Sentences and Questions 171 of the Dynamic Database Memory 170;
  • Stage D Identifying the simple sentences and the mathematical moments of "the case” that correspond to the steps based on Stage C and using the Case User Interface 122 of the display device 120 to upload them and then storing them in the logical structure of Simple Sentences and Questions 171 of the Dynamic Database Memory
  • Stage E Automatically identifying the functional and mathematical components (it should be understood that a functional component corresponds to each word of the sentence extracted and automatically characterized by the Processor 150) of the simple sentences based on Stage D, with a Processor 150 configured as an Automatic Sentence Analyzer 151 that functions according to the logical structure in the MAS Metamodel 161 uploaded in Stage A.
  • the Processor 150 continues to store said functional components temporarily in the logical structure of the FC Matrix 143 of the Main Memory 140. These components are finally stored in the logical structure of Functional Components 172 of the Dynamic Database Memory 170;
  • Stage F Automatically identifying the design components of "the case” based on the functional and mathematical components from Stage E.
  • a design component refers to each software design model that corresponds to a functional and mathematical component generated automatically by the Processor 150.
  • the design components are created using a Processor 150 configured as an Automatic Software Designer 152, which in one embodiment of the invention functions according to the logical structure in the MAS Metamodel 161 uploaded in Stage A.
  • the Processor 150 continues to store said design components temporarily in the logical structure of the DC Matrix 144 of the Main Memory 140. These components are finally stored in the logical structure of Design Components 173 of the Dynamic Database Memory 170; Stage G.
  • Stage H Automatically generating the business documents (a business document is understood to be a step-by-step description, in natural language, of the problem to be solved) from the simple sentences from Stage D, the analysis documents (an analysis document is understood to be a description of the functional requirements of the software to be constructed) based on the functional and mathematical components from Stage E, and the design documents (a design document is understood to be a document that contains the instructions for constructing the software) based on the design components from Stage F, by means of a Processor 150 configured as a Document Generator 163, using the Formats, Graphical Notations and STD Sentences defined in Stage G;
  • Stage I Automatically generating the Functional Architecture documents (a functional architecture document is understood to be a graphical diagram that structures the meaning of the natural language text in summary form by representing the essential concepts of the meaning) based on the functional and mathematical components from Stage E, by means of a Processor 150 configured as a Document Generator 163, using the graphical notation defined specifically for this type of Document.
  • a functional architecture document is understood to be a graphical diagram that structures the meaning of the natural language text in summary form by representing the essential concepts of the meaning
  • FIG. 4A1 shows a class model, according to the Object-Oriented paradigm, that represents the rules that this Metamodel defines in order to model the logic for interpretation of natural language. These rules are used as the base Morphosyntactic Rules that the Processor 150, configured as an Automatic Sentence Analyzer 151, used to generate the functional components in Stage D.
  • the MAS Metamodel is created by the following substages (FIG. 4A): Substage Al. Storing MAS Metamodel
  • the logic of the MAS Metamodel 161 is uploaded to the Static Database Memory 160.
  • Every word contained in a natural language description is a Word 161-1.
  • the word is a transitive verb
  • two new words are automatically defined: a Performer Word 161-2, the name of which is the transitive verb plus the agentive suffix "ER” and a Performable Word 161-3, the name of which is the transitive verb plus the suffix "BLE” .
  • the transitive verb is a Performance Word 161-4 which has a relationship 161-5 with the Performer Word 161-2 and another relationship 161-3 with the Performable Word 161-3.
  • the Words 161-1 are related to each other in such a way that a word that is not a transitive verb can establish an inheritance relationship 161-9 with a Performer Word 161-2 and/or an inheritance relationship 161-8 with a Performable Word 161-3.
  • Each Word 161-1 can define an inheritance relationship 161-0 with another Word 161- 1.
  • Each Word 161-1 can define an association relationship 161-7 with another Word 161-1.
  • the logic of the MAS Metamodel is uploaded to the Static Database Memory 161.
  • Said logic defines a method for characterizing natural language words in order to determine their meaning in different functional application contexts.
  • the structures that deal with the form and syntax of natural language are called morphosyntactic structures.
  • a collection of guidelines for handling natural language is considered a Morphosyntactic rule.
  • Such a rule is composed of the guidelines for handling text that define: a) Question logic: to which question (When, Who, What, How, Where) the word within a simple sentence belongs, b) Step type logic: what type of verb comprises the What question (FX, CC, QS, L, F) and c) Word logic: what type of word it is.
  • the type of a word is determined by its grammatical characterization as verb (VERB), noun (NOUN), preposition (PREP), article (ART), conjunction (CONJ), adverb (ADV).
  • An identifier is defined for each Morphosyntactic rule.
  • the identifier of a Morphosyntactic rule is composed by concatenating the types of the words that make up the sentence, except for types Performer, Performable and Performance. It may be, for example, ART-NOUN-VERB-ART-PREP-NOUN, for a sentence that is made up of a sequence of words with the following types: article, noun, verb, article, preposition, noun. These types of words can be handled in general, or can refer to specific words of its type.
  • the Rule VERB(is)-PREP-NOUN indicates that the sentence that this rule applies to contains a verb, and specifically the word "is" within the word type VERB, followed by any preposition PREP and then any noun NOUN.
  • This rule would apply to the following sentences: is a monkey, is a moon.
  • the Processor 150 configured as an Automatic Sentence Analyzer 151, excludes the special words uploaded in Substage B2, articles conjunctions and prepositions, from the sentence. It then searches the Static Database Memory 160 for the Morphosyntactic rules within the Languages, Words and Morphosyntactic Rules 162 configuration. Once the rule with its corresponding identifier is located, if there is more than one rule with the same corresponding identifier, it searches within this collection for matches for the specific words from the types of words that were excluded during the composition of the rule identifier of the sentence. If there is a match, it assigns the rule that matches the specific excluded word(s). If there is no match, it assigns the general rule.
  • the MAS Metamodel defines the following base rules from which specific rules for different cases are derived.
  • VERB-NOUN Rule 161-12 allows for modeling sentences that have a verb, noun, noun structure.
  • VERB(is)-NOUN Rule 161-10 allows for modeling sentences that have a verb, noun structure, in which the verb is the verb "to be”. This verb is a special verb from the point of view of MAS Metamodel application.
  • VERB-NOUN-PREP-NOUN Rule 161-11 allows for modeling sentences that have a verb, noun, preposition, noun structure.
  • VERB(hold responsible)-NOUN-PREP-NOUN Rule 161- 13 allows for modeling sentences that have a verb, noun structure, in which the verb is the verb "to hold responsible” .
  • This verb is a special verb from the point of view of MAS Metamodel application.
  • VERB(link)-NOUN-PREP-NOUN Rule 161-14 allows for modeling sentences that have a verb, noun structure, in which the verb is the verb "to link”. This verb is a special verb from the point of view of MAS Metamodel application.
  • the types of words that appear in the answer are identified and the necessary rule identifiers are generated.
  • the user can add base rules and Morphosyntactic rules, always dependent on the logic of the MAS Metamodel.
  • the Processor 150 configured as an Automatic Sentence Analyzer 151, generates the functional components by applying the guidelines for handling text defined by said rule: a) Questions logic; b) Step type logic and c) Word logic, as shown in FIG. 4A2.
  • a description is a collection of simple sentences that describe a process. Each step of such process is corresponded with one simple sentence derived from the answer to the questions Who, What, Where, How, When.
  • Step Type Logic Determines the belonging step type of the words to which the rule is applied
  • Step Type is determined in a rule, by the specific word associated with the Verb within the What question. Every Morphosyntactic Rule is based on the MAS Metamodel, and depending on the specific verb linked to the What question, it can be classified under the following types: Check/Confirm; Query/Search; Calculation; Relationship; Functional; Notification/Alert.
  • This step type is assigned a VERB-NOUN Morphosyntactic Rule identifier and it adds the mathematical description of the checking/confirmation logic.
  • Some examples of this type of sentence are: check that the items have a positive inventory (VERB-NOUN; "have positive inventory” is the mathematical logic of confirmation), confirm that the client has a tax ID number (VERB-NOUN; “has a tax ID number” is the mathematical logic of confirmation), restrict the intake of expired merchandise (VERB-NOUN; "expired merchandise” is the mathematical logic of confirmation).
  • This step type is assigned a VERB-NOUN Morphosyntactic Rule identifier, in which the noun describes the object of the search, which means that the verb applies to a collection of instances of the noun.
  • Some examples of this type of sentence are: query the items (VERB-NOUN), show the balances (VERB-NOUN), display the data (VERB-NOUN), show the results (VERB- NOUN), search the items (VERB-NOUN), locate the spare parts (VERB-NOUN), select the clients (VERB-NOUN).
  • Step that includes explicit calculation actions They are steps in which the verb explicitly defines calculation actions, such as: calculate, group, average, add, and the like.
  • the verb is always coupled to a sentence that represents a mathematical logic for the system.
  • This step type is assigned a VERB-NOUN Morphosyntactic Rule identifier, in which the noun describes the logic of the calculation that the verb denotes.
  • Some examples of this type of sentence are: calculate the total sales (VERB-NOUN), group the items by color (VERB-NOUN), average last month's cost (VERB-NOUN).
  • the verb can represent any of the following models:
  • This step type is assigned a VERB(link)-NOUN-PREP-NOUN Morphosyntactic Rule identifier, in which the specific verb can be 'link' or any synonym and the preposition, generally 'with', though it may vary.
  • This step type is assigned a VERB(hold responsible)-NOUN-PREP-NOUN Morphosyntactic Rule identifier, in which the specific verb can be "hold responsible” or any synonym and the preposition, generally "for", though it may vary.
  • Some examples of this type of sentence are: hold the client responsible for the payment (VERB(hold responsible)-NOUN-PREP-NOUN), hold the employee responsible for inventory control (VERB(hold responsible)-NOUN-PREP-NOUN).
  • Model 3 This step type is assigned a VERB-NOUN-PREP(a)-NOUN Morphosyntactic Rule identifier, in which the specific preposition can be a, an, or any other preposition.
  • Some examples of this type of sentence are: measure the item with a unit of measurement (VERB-NOUN-PREP(a)-NOUN), value the item with a list of prices (VERB -N OUN -PREP (a) -N OUN) .
  • the verb can present any of the following models:
  • This step type is assigned a VERB-NOUN Morphosyntactic Rule identifier and is used for all of the verbs that are not listed as a specific word in the CC, QS or FX step types, nor in any of the models of this same type.
  • Transitive verb followed by one or more nouns For example: Buy an item (VERB- NOUN), Sell fruits (VERB-NOUN), Fix the tools (VERB-NOUN), Solve problems (VERB-NOUN).
  • This step type is assigned a VERB(is)-NOUN Morphosyntactic Rule identifier, in which the specific verb is "to be”. This is a very special verb that describes the nature of the noun.
  • Words Logic Determines the belonging word type structure of the analyzed sentence and question
  • the Processor 150 configured as an Automatic Sentence Analyzer 151 (FIG. 4E1), carries out the following actions in order to obtain the associated functional components from the words of each simple sentence:
  • the question is How, it compares the endings of each word in the question to the verb endings VE in order to identify the verbs.
  • the verbs compares the remaining words to the list of special words SW in order to identify prepositions, articles, conjunctions and adverbs.
  • the words that follow the verbs and are not SW are nouns.
  • the words that follow the nouns can be SWs that are members of the grouping words GRW list, in which case the GRW plus the words that immediately precede and follow it constitute a grouped noun.
  • the remaining words that are not SWs are adjectives.
  • the first word is a verb. Once the verbs are identified, it compares the remaining words to the list of special words in order to identify prepositions, articles, conjunctions and adverbs. If the verb is transitive, the word that follows the verb is not a SW; it is a noun that behaves as a direct object (DO).
  • the words that follow the nouns can be SWs that are members of the grouping words GRW list, in which case the GRW plus the words that immediately precede and follow it constitute a grouped noun.
  • the remaining words that are not SWs are adjectives. . if the question is Who, it compares the remaining words to the list of special words in order to identify prepositions, articles and conjunctions.
  • the words that follow the nouns can be SWs that are members of the grouping words GRW list, in which case the GRW plus the words that immediately precede and follow it constitute a grouped noun.
  • the remaining words that are not SWs are adjectives.
  • the MAS Metamodel and the Morphosyntactic Rules structure is applied in Substage E4 to identify the functional components that are useful in creating Functional Architecture documents, in Substage G6 to generate the software design components, and in Substage H4 to define the graphical notation associated with the software design MAS Metamodel.
  • These substages represent preferred embodiments of the invention in which the transitive verbs of the text of "the case" are handled as defined in Substage Al .
  • the order of adjectives refers to the placement of adjectives relative to the noun of a language.
  • the appropriate order of adjectives of the language is defined, from the list of available orders of adjectives: Order 1 : noun + adjective; Order 2: adjective + noun; Order 3: modified adjective + modified noun, Order 4: adjective + modified noun, Order 5: modified adjective + noun.
  • the appropriate order of adjectives is adjective + noun.
  • the special words of the language defined in substage B 1 are uploaded.
  • the special words are used by the Processor 150, configured as an Automatic Sentence Analyzer 151, to determine which words are to be excluded from the sentence analysis.
  • articles (ART), prepositions (PREP), conjunctions (CONJ) and adverbs (ADV) are considered to be the special words of languages.
  • "a” and “the” are examples of articles, “for” and “with” are examples or prepositions, "and” and “or” are examples of conjunctions, and "how” and "where” are examples of adverbs.
  • Substage B3. Uploading the grouping words
  • grouping words of the language defined in substage B1 are uploaded.
  • grouping words are special words from those defined in Substage B2 that can link two other words to make a compound word. Such is the case of the word "list of prices", grouped with the word "of 1 .
  • the appropriate verb endings of the language from Substage B l, that correspond to the final syllable of regular verb endings, are uploaded.
  • the verb ending "-ing" is an example for the English language.
  • the language in which "the case” will be described is selected.
  • the language is chosen from the list of eligible languages uploaded in Stage B.
  • the components that structure the context of "the case” are identified. This stage deals with the Static Vision and the temporal Dynamic Vision of the Universe of "the case”.
  • Static Vision the conceptual structure of "the case” is observed from a global perspective, without taking into account what happens as time passes, dividing the concepts into dimensions or major aspects that compose it: layers and resources.
  • Dynamic Vision it is observed from the perspective of the events that occur as time passes (temporal activities) and in the order that they occur: processes, moments and steps.
  • a layer is understood to be a hierarchy of information that takes part in a process and could be handled independent from the others, which could function in isolation with well differentiated inputs and outputs. For example, these two layers are identified: the data layer (where the input data of a process are structured and accessed) and the calculation layer (where calculations are carried out using said data).
  • Resources are the components that are subject to transformation throughout the process and allow for access to other resources, such as the result of the transformation process.
  • inventory items are resources that are subjected to the sale process.
  • Processes are actions or groups of actions that transform the resources. For example, the process of "marketing inventory items”.
  • Subprocesses are parts of a process that allow for analysis of the process by fragments. For example, “providing a quote” and “sale” can be subprocesses included in the process of "marketing inventory items”. (e) Identifying the Moments of "the case "
  • moments are partitions of a subprocess that announce the occurrence of an event that is relevant to the subprocess. Fr example, "When the client is interested” is a moment that occurs within the subprocess of "providing a quote”.
  • Steps are activities that are carried out at any given moment.
  • the activities at the moment "When the person enters the testing office" might be: Asking for his identification document, Recording the data from said identification document, Performing a search of his family group, Inquiring about his current job.
  • steps are sentences and their verb determines the action to be performed, they can be classified according to the type of action that the verb denotes and by analyzing the nouns that follow the verb (not including the special words defined in Substage B2: articles, conjunctions, propositions, and prepositions).
  • Step Type Logic The guidelines for classifying the sentences by Step Type is called the Step Type Logic, as a part of the Morphosyntactic Rules defined in Substage A2 and described below:
  • the verb defines checking or confirmation actions, such as: Check, Confirm, Restrict, and the like.
  • the verb is always coupled to a sentence that represents a mathematical logic for the system.
  • Some examples of this type of sentence are: Check that the items have a positive inventory, Confirm that the client has a tax ID number, Restrict the intake of expired merchandise.
  • the verb defines query or search actions, such as: Search, Locate, Select, Query, Indicate, Display, Show, and the like.
  • search actions such as: Search, Locate, Select, Query, Indicate, Display, Show, and the like.
  • the verb is always followed by a noun or a direct object.
  • Some examples of this type of sentence are: Query the items, Show the balances, Display the data, Show the results, Search the items, Locate the spare parts, Select the clients.
  • Step that includes explicit calculation actions These are steps in which the verb specifically defines calculation actions, such as: Calculate, Group, Average, Add, and the like.
  • the verb is always coupled to a sentence that represents a mathematical logic for the system.
  • Some examples of this type of sentence are: Calculate total sales, Group the items by color, Average last month's cost.
  • linking actions such as: Relate, Link, Associate, Compose, and the like.
  • the verb is followed by at least two nouns.
  • Some examples of this type of sentence are: Link the items with the prices, Link the equipment with the spare parts, Associate the taxes with the shares, Compose the product with the inputs
  • Model 1 Verb followed by one or more nouns. For example: Buy an item, Sell fruits, Fix the tools, Solve problems.
  • Model 2 A verb that is not followed by a noun. For example: Enter, Exit.
  • Stage D Identifying and storing the simple sentences and the mathematical moments of "the case"
  • the present invention is able to identify the mathematical functionality of the text entered, the present method identifies the sentences for each of the components of the required functionality. That is, each mathematical functionality is broken down into several simple sentences. As shown in FIG. 4G2, simple sentences are identified for a mathematical functionality using the five simple questions sentences. For example: the mathematical functionality that allows the calculation of tax withholding in payments, consists of 5 simple sentences.
  • the Processor 150 For each simple sentence stored in the Simple Sentences and Questions Dynamic Database Memory 171, the Processor 150 displays each sentence in the Case User Interface 122 of the Input/Output Device 120, asking the questions Who, What, Where, How and When. For each sentence shown, the user enters the answer, while ensuring that each answer is a constituent part of the meaning of the sentence. In some cases, it may not be possible to answer one or several of the questions.
  • the guidelines for classifying the sentences by question type is called the Questions Logic, as a part of the Morphosyntactic Rules defined in Substage A2.
  • Substage D2 Concatenating the answers from each step of the kind
  • each answer is concatenated in the following order: When, Who, What, How, Where. In this way, the texts of the answers are joined as one simple sentence and stored in the logical structure of the Simple Sentences and Questions 171 of the Dynamic Database Memory 170.
  • this stage identifies the mathematical components of the phrase used in the case. For example:
  • Step 1 Check payments (type QA)
  • Step 2 Add the paid amounts (type FX)
  • Step 3 Consult aliquot (type QS)
  • Step 4 Calculate tax (FX type)
  • Step 5 Validate results (type CC)
  • FIG. 4G2 and FIG. 4G3 show the structure of each step and how the User Interface Case 122 is presented for each type of step.
  • Substage D4 Answer the questions for each step of “the case” for steps of the kind QS, FX and CC
  • the method of the present invention takes each simple sentence corresponding to a Mathematical Moment of "the case”, and the questions When, Who, What, How and Where should be answered for the cases that refer to these types of steps.
  • Processor 150 For each simple sentence stored in the Simple Sentences and Questions Dynamic Database Memory 171.
  • Processor 150 displays each sentence in the Case User Interface 122 of the Input/Output Device 120, asking the questions Who, What, Where, How and When.
  • the user For each sentence shown, the user enters the answer, while ensuring that each answer is a constituent part of the meaning of the sentence according to the mathematical content of the step. In some cases, it is possible that one or more of the questions cannot be answered.
  • each sentence in the Case User Interface 122 is described, for the type of step QS, according to the representation of FIG. 4G3 and details of FIG. 4G3a.
  • each sentence in the Case User Interface 122 is described, for the type of step FX, according to the representation of FIG. 4G2.
  • each sentence in the Case User Interface 122 is described, for the type of step CC, according to the representation of FIG. 4G2.
  • Substage D5. Concatenate the responses of each step of the type QS, FX and
  • each answer is concatenated in the following order: When, Who, What, How, Where. In this way, the texts of the answers are concatenated in a simple sentence and stored in the Simple Sentences and Questions 171 logic structure in the Dynamic Database Memory 170.
  • each simple sentence adds a series of additional words to the concatenation, in order to provide sense to each sentence.
  • An example of such competition is illustrated in bold as follows:
  • the construction of the Simple Sentence for the step QS type cases is: The system checks payments (date, concept, amount), with the condition in force and non-exempt and stores them in payments that apply (date, concept, amount).
  • the construction of the Simple Sentence for the step FX type cases is:
  • the system calculates the tax, adding the amounts that apply and stores the result in invoice (tax amount).
  • the system validates the result, comparing invoice with total payments and stores the result in attribute RdoValido (checkvalid).
  • Stage E Identifying and storing the functional and mathematical components.
  • a functional component corresponds to each of the words of the sentence that were automatically extracted and classified by the Processor 150, according to the grammatical and syntactic structure of the language in which it was expressed.
  • Substage El Deconstructing the simple sentence into words and identifying them
  • the functional components generated by the Processor 150 are divided into the following types:
  • the Processor 150 configured as an Automatic Sentence Analyzer 151, carries out the following actions for each simple sentence of "the case":
  • Identify verbs by comparing the ending of each word to the list of verb endings defined in Substage B4 or as the first word of the answer to the question What in the simple sentence.
  • &attributes Some nouns behave like &attributes.
  • An &attribute is understood to be the name of a feature of another noun, which is not an adjective.
  • the &attributes are selected manually in one embodiment of the invention.
  • the processor recognizes them automatically when the nouns are listed within parentheses in the text. Example: in the sentence "upload the document number of the client", 'document number' is an &attribute of 'client'.
  • the nouns and verbs are identified as functional components and classified as VERB, DO, NOUN, PERSON accordingly.
  • ADV adverbial functional components
  • the Processor 150 configured as an Automatic Sentence Analyzer 151, carries out the following actions, as shown in FIG. 4E1, in order to obtain the associated functional components from the words of each simple sentence:
  • the question is How, it compares the endings of each word in the question to the verb endings VE in order to identify the verbs.
  • the verbs compares the remaining words to the list of special words SW in order to identify prepositions, articles, conjunctions and adverbs.
  • the words that follow the verbs and are not SW are nouns.
  • the words that follow the nouns can be SWs that are members of the grouping words GRW list, in which case the GRW plus the words that immediately precede and follow it constitute a grouped noun.
  • the remaining words that are not SWs are adjectives.
  • the first word is a verb. Once the verbs are identified, it compares the remaining words to the list of special words in order to identify prepositions, articles, conjunctions and adverbs. If the verb is transitive, the word that follows the verb is not a SW; it is a noun that behaves as a direct object (DO).
  • the words that follow the nouns can be SWs that are members of the grouping words GRW list, in which case the GRW plus the words that immediately precede and follow it constitute a grouped noun.
  • the remaining words that are not SWs are adjectives.
  • the words that follow the nouns can be SWs that are members of the grouping words GRW list, in which case the GRW plus the words that immediately precede and follow it constitute a grouped noun.
  • the remaining words that are not SWs are adjectives.
  • a user adds functional components that are not present in the list of automatically identified functional components. Proceeding with the same example: • The number of the identification document is an &attribute detected automatically from the sentence.
  • the person's age is an &attribute added by the user.
  • the corresponding step and simple sentence are created automatically for each functional component that is added.
  • the Processor 150 configured as an Automatic Sentence Analyzer 151, identifies the complementary functional components corresponding to the types of the steps FX, CC and QS, as follows:
  • a Applies the word logic to the text entered in the Interface Component 122-12, to identify the NOUN (Invoice) and the attributes in parentheses (taxedamount). These attributes constitute an ⁇ enumeration of attributes& ⁇ .
  • Substage E3.c Mathematical components of the sentences corresponding to QS step types a. Applies the word logic to the text entered in the interface component 122-31, to identify the NOUN (payments) and the attributes in parentheses (date, concept, amount). These attributes constitute an ⁇ enumeration of attributes & ⁇ .
  • c Applies the words logic to the text entered in the interface component 122-33, to identify the NOUN (Payments that Apply) and the attributes in parentheses (date, concept, amount). These attributes constitute an ⁇ enumeration of attributes & ⁇ .
  • the user can enable the use of Morphosyntactic rules, so that the Processor 150 complies with the logic defined in Substage A2.
  • each word of a simple sentence is classified as a Word 161-1 according to the MAS Metamodel from FIG. 4A1, and is assigned one of the following Word types: VERB, NOUN, ART, CONJ, ADJ.
  • Performer 161-2 and Performable 161- 3 Words are also created, assigning the Performance 161-4 class to transitive verbs.
  • All of the Words 161-1, classified by type, are the functional components. As shown in FIG. 4D, once each functional component is created, it is linked to the sentence from which it derives, to the question it belongs to, the corresponding word type, and to the Morphosyntactic Rule identifier that represents the sequence of word types that make up the question, as indicated in Substage A2.
  • the Processor 150 creates two new functional components for each transitive verb.
  • the transitive verb is the Performance 161-4 Word.
  • the Processor 150 creates a verb "is” that is associated with the ER of the verb.
  • the processor creates a verb "is” that is associated with the BLE of the verb.
  • the Processor 150 configured as a Document Generator 153, generates the Functional Architecture documents, using the formats and notations stored in the logical structure of Formats, Graphical Notations and STD Sentences 163 of the Static Database Memory 160 and displays them in the Document Display User Interface 124 of the Input/Output Device 120.
  • the processor creates the following for the noun that carries out the verb: a syntactic component, the name of which is the verb plus the agentive suffix "er” (hereinafter called the ER of the verb), and it creates the following for the noun that receives the action of the verb: a syntactic component, the name of which is the verb plus the suffix "ble” (hereinafter called the BLE of the verb).
  • the processor creates a new noun called "Performance of the verb" between the source noun and the ER of the verb. For the source noun, the processor creates a verb "is” that is associated with the BLE of the verb. For the target noun, the processor creates a verb "is” that is associated with the ER of the verb.
  • the graphical notation that is to be used in the Functional Architecture diagrams is defined, indicating the graphical component to be used in the diagram for each functional and mathematical component, according to the corresponding word type. Storing the defined graphical notations in the Database Memory 130. In this way, the user enters the graphical notations in the visual grid that is displayed by the Formats, Graphical Notation, and STD Sentences User Interface 123, as that shown in FIG. 6.
  • the Processor 150 configured as a Document Generator 153, takes the functional and mathematical components stored in the Functional Components logical configuration 172 of the Dynamic Database Memory 170, and constructs a Functional Architecture document, using the notation defined in Substage F2, applying the MAS Metamodel that is in the MAS Metamodel 161 logical structure of the Static Database Memory 160.
  • the processor scans the list of functional components and applies the following rules until it produces a diagram such as that shown in FIG. 4F1 :
  • Rule 2 For each VERB-type functional component, draw a line between the NOUN that precedes and the NOUN that follows the VERB, taking into account: i) if the VERB is "to be or any of its conjugations", draw a FTOBE graphical element from the NOUN that precedes the VERB to the NOUN that immediately follows the VERB; ii) if the VERB is any other transitive verb, draw a FERBLE graphical element from the NOUN that precedes the VERB to the NOUN that immediately follows the VERB; iii) if the VERB is not transitive, draw a FVERB graphical element from the NOUN that precedes the VERB to that same NOUN.
  • Rule 4 For each transitive verb, draw the graphical components that correspond to the words created based on the MAS Metamodel defined in Substage Al: a FERBLE graphical element for the Performer word, a FERBLE for the Perfbrmable word, and a FPERF for the Performance word.
  • the Processor 150 displays the Functional Architecture documents on the Input/Output Device 120.
  • Stage G Identifying and storing the design components.
  • a design document of "the case” is composed of the following diagrams: Conceptual design diagrams, Use case diagrams, Class diagrams, Entity relationship diagrams, Screen design diagrams, and Report design diagrams.
  • Each design document of "the case” displays graphics.
  • Class diagrams are used in the present invention.
  • Each graphical element that is part of the class diagram according to the Object Orientation (OO) paradigm will be called a design component (DC).
  • class, attribute, relationship and method are design components as defined in the Object Orientation (OO) paradigm.
  • the Processor 150 configured as an Automatic Software Designer 152, automatically designs the software by means of the following substages:
  • Substage Gl Group functional and mathematical components, create their classes and inheritance relationships.
  • the Processor 150 configured as an Automatic Software Designer 152, creates the classes and inheritance relationships, based on the similarity of their attributes, carrying out the following actions:
  • the Processor 150 configured as an Automatic Software Designer 152, performs the following actions on the simple sentences of "the case", divided by question type:
  • VERB Based on the functional and mathematical components that belong to FX- and CC-type steps, it creates classes with behavior defined by the VERB. For each VERB, it creates a class and adds a method, called formula, which is responsible for computing the expression indicated by ⁇ fx expression ⁇ , identified in the Substage E3.a and Substage E3.b.
  • the Processor 150 configured as an Automatic Software Designer 152, performs the following actions:
  • VERB Based on the functional components that belong to the QS-type steps, it creates classes with behavior defined by the VERB. For each VERB, it creates a class called VERB+DO, and adds a method called fxdomain, which is responsible for searching for data as defined by ⁇ fx expression ⁇ , identified in the Substage E3.c. It creates a class called "Domain" +VERB+DO with the &attributes indicated in ⁇ list of &attributes ⁇ . If the list of &attributes matches the &attributes of one of the classes created previously, it creates an inheritance relationship between them in the corresponding direction.
  • the fxdomain method calls upon the "Domain"+VERB+DO. Substage G4. Creating domain classes based on L-type Steps
  • the Processor 150 configured as an Automatic Software Designer 152, carries out the following actions:
  • Processor 150 configured as an Automatic Software Designer 152, carries out the following actions:
  • DO "Is Attribute” it does not create a class.
  • the user can enable the use of Morphosyntactic rules, so that the Processor 150 complies with the logic defined in Substage A2.
  • the Processor 150 determines which software design components (DC) are derived from each functional component (FC) stored in the Functional Components logical structure 172 of the Dynamic Database Memory 172.
  • the Processor 150 creates a Word 161-4 associated with the verb and the Performer 161-2 and Perfbrmable 161-3 words.
  • the user can create a Morphosyntactic rule dependent on the Base Rule VERB -NOUN-PREP-NOUN, in which the verb "to link", for example, is treated as a specific word.
  • the step type would be L and the Processor 150 would create a relationship between DO and NOUN called DO + "for" + NOUN.
  • the Processor 150 creates for each mathematical component identified in the Substage E3.a, a word of the type formulafx with the ⁇ fx expression ⁇ entered in the interface 122-13, linked to the attribute (taxedamount) identified in sub-step E3.a, item a.
  • steps type CC the Processor 150 creates for each mathematical component identified in Sub-step E3.b, a word of type formulafx with the ⁇ fx expression ⁇ entered in the interface 122-23, linked to the attribute (validcheck) identified in sub-step E3.b, subparagraph a.
  • the Processor 150 creates for each mathematical component identified in Sub-step E3.c, a word of type fxdomain with the ⁇ fx expression ⁇ entered in the interface 122-32, and a word of the type fxformula linked to the previous fxdomain.
  • This formula fx is linked to ⁇ enumeration of attributes& ⁇ (date, concept, amount) identified in sub-step E3.b, subparagraph c.
  • FIG. 4A3 shows a software design class model with an application example that describes the Morphosyntactic Rules for Software design based on the MAS Metamodel 161. These Morphosyntactic rules give rise to the modeling of the sentences of "the case” . In order to design software from natural language, Morphosyntactic Rules for Software design are defined for each of the questions that describe a simple sentence (When, Who, What, How, Where).
  • Substage HI Defining the output formats for the documents
  • the display or printing formats for the business documents, analysis documents, and design documents are defined. These definitions include defining margins, fonts, and the sequence sort order in which the content of each document will be displayed.
  • the standard sentences for describing requirements are entered, written in the language or languages that will be used to generate the requirements, and they are stored in the logical structure of Uanguages, Words and Morphosyntactic Rules 162 of the Input/Output Device 160.
  • the standard sentences necessary to generate the requirements are described below: These sentences must be translated and stored in each of the languages for which document requirement generation is desired.
  • OracionSTD abm Pers "Create, Read, Update and Delete Entities with role”
  • OracionSTD verbo F "Create transaction record”
  • OracionSTD verbo R "Create rule that” OracionSTD verbo conector R: "with”
  • OracionSTD_Crear "Create a new element"
  • OracionSTD Agregar Atributos OracionSTD Agregar Atributos
  • OracionSTD Agregar Controles "Perform the following controls when an element is created"
  • OracionSTD Edicion "Update a"
  • OracionSTD complemento control “performing the following controls”
  • OracionSTD complemento bfisqueda “performing the following searches”
  • OracionSTD crear atributo “Create the attribute”
  • OracionSTD validacion atributo "Perform the following controls when the datum is completed"
  • OracionSTD Stemmettyarcoma
  • OracionSTD crear Fx "Create a formula for"
  • OracionSTD msj error Fx "If the formula returns an error, display the following message"
  • OracionSTD msj ok Fx "If the formula returns a valid result, display the following message"
  • OracionSTD msj advertencia Fx "If the formula returns a warning, display the following message"
  • OracionSTD crear busqueda "Create a rule for"
  • OracionSTD exponer atributos "displaying the following data"
  • OracionSTD defmir brisqueda "Allow searching for the data of'
  • OracionSTD defmir orden "Allow sorting the data of'
  • OracionSTD defmir agrupamiento "Allow grouping for the data of'
  • OracionSTD crear grating "Create a rule that' OracionSTD condicion: "as long as the following condition is met"
  • OracionSTD complemento control "performing the following controls”
  • OracionSTD des vincular "Unlink"
  • OracionSTD_ complemento relacionat "in a relationship with"
  • OracionSTD_ complemento criteriobusqueda "using the following search criteria"
  • OracionSTD complemento accionpersona "to decide on the action"
  • OracionSTD complemento acargode "to affect"
  • OracionSTD control nuevo: "Perform the following controls when creating a new transaction record of'
  • OracionSTD control eliminar "Perform the following controls when deleting the transaction record of'
  • OracionSTD control modificar "Perform the following controls when updating the transaction record of'
  • OracionSTD_precedencia "based on the following existing records:”
  • OracionSTD nuevo movimiento "Record n movements of'
  • OracionSTD control nuevo movimiento "Perform the following controls when creating a new movement of'
  • OracionSTD control eliminar movimiento "Perform the following controls when deleting the movement of' OracionSTD control modificar movimiento: "Perform the following controls when updating the movement of'
  • OracionSTD_buscar_elemento "Search for the elements of'
  • OracionSTD complemento buscarelemento "to create a movement, performing the following searches"
  • the graphical notation to be used in the software design diagrams is defined, using the Formats, Graphical Notation and STD Sentences User Interface 123 of the Input/Output Device 120.
  • the design diagrams can be displayed in various graphical notations, one of them being UML notation, but it is possible to define graphical elements to represent the design documents.
  • Substage H4 Defining the graphical notation associated with the
  • the user enters the graphical notations in the visual grid that is displayed by the Formats, Graphical Notation, and STD Sentences User Interface 123.
  • the design diagrams can be displayed in various graphical notations, one of them being UMU notation, but it is possible to define graphical elements to represent the design documents, as that shown in FIG. 7.
  • Stage I Automatically generating business, analysis and design documents
  • the Processor 150 configured as a Document Generator 153, generates the business, analysis and design documents, using the formats and notations stored in the Formats, Graphical Notations and STD Sentences 163 of the Static Database Memory 160, and displays them in the Document Display User Interface 124 of the Input/Output Device 120, by means of the following substages:
  • a business document is an analysis document that shows the simple sentences stored in the logical structure of Simple Sentences and Questions 171 of the Dynamic Database Memory 170, by performing the following actions: a). Ordering dimensions, temporal activities and simple sentences
  • Layers 310 contain resources 320
  • Processes 330 contain subprocesses 340
  • Subprocesses 340 contain moments 350
  • Steps 360 contain simple sentences 370 with their corresponding completed questions. b). Consecutively joining the previously ordered components
  • the simple sentence is obtained by joining the answers to each of the questions in the preferred order, thus: When, then Who, then What, then How, and lastly Where, which does not mean the order cannot be changed.
  • a complete and detailed composition of "the case" expressed in natural language is achieved.
  • an Analysis document shows the Requirements obtained from the functional components stored in the logical structure of Simple Sentences and Questions 172 of the Dynamic Database Memory 170, by performing the following actions: a) Assembling global functional requirements
  • the functional global requirements of "the case” are those actions that describe the process in the order in which they must be performed so that they can be interpreted and the action to be performed can be determined, from the point of view of the functional requirements needed to construct a software application.
  • the Processor 150 takes the functional components stored in the Functional Components logical structure 172 of the Dynamic Database Memory 170, and selects only the following: NOUN, PERSON, DO and VERB. For each of the aforementioned functional components, it generates a global requirement that is part of the scope of "the case", defining the global requirements for NOUN components (NOUN, DO, PER) and defining global requirements for VERB components.
  • the Global requirement is assembled for each noun functional component (NOUN, PERSON and DO), as long as it is not an attribute, by creating a tagged and sequentially numbered sentence, such as the sentence shown in Table 1, using the standard sentences defined in Substage F2.
  • the Global requirement is assembled for each VERB functional component by creating a tagged and sequentially numbered sentence
  • the sentence is generated for each step type, based on the VERB, and uses the DO and the NOUN that are coupled to it in the What question, as shown in Table 3, to compose it:
  • a single Global requirement is written from different steps and through a single functional component.
  • the Global requirement is written only once to avoid repetition and it is linked to the corresponding steps as much times as necessary.
  • the sentences shown in quotation marks are the preferred sentences, taken from the logical structure of Languages, Words and Morphosyntactic Rules 162 of the Static Database Memory 160.
  • these sentences can be replaced by sentences that have equivalent meaning and are suitable for the language chosen for the case, in the embodiment presented in Substage F2.
  • the detailed requirements of "the case” are defined using the standard sentences defined in Substage F2.
  • NOUN refers to the functional components of this type defined in Substage D2.
  • PERSON refers to the functional components of this type defined in Substage D2.
  • DO refers to the functional components of this type defined in Substage D2.
  • VERB refers to the functional components of this type defined in Substage D2.
  • ⁇ list of &attributes ⁇ the list of &attributes that describe NOUN, made up of the NOUNs that were marked as &attributes in Substage D2, plus those added in Substage D3.
  • ⁇ list of *attributes ⁇ part of the list of &attributes defined in Substage D2 that is used to search, filter, sort, group or add the results of a search or query.
  • ⁇ list of DO &attributes ⁇ the collection so &attributes from the list of &attributes defined in Substage D2, made up of the elements that are associated with the DO component through the detailed requirements created in Substage G3.
  • ⁇ list of NOUN &attributes ⁇ the collection so &attributes from the list of &attributes defined in Substage D2, made up of the elements that are associated with the NOUN component through the detailed requirements created in Substage G3.
  • ⁇ list of PERSON &attributes the collection so &attributes from the list of &attributes defined in Substage D2, made up of the elements that are associated with the PERSON component through the detailed requirements created in Substage G3.
  • ⁇ list of CC-type global requirements the collection of global requirements, made up of the global requirements that were defined based on the NOUN component or the DO component belonging to CC-type steps identified in Substage E2. This list contains from 0 to n global requirements. If the list contains 0 global requirements, the detailed requirements that refer to CC-type global requirements are not generated.
  • list of QS-type global requirements a list of global requirements generated based on the QS-type steps identified in Substage E3. This list contains from 0 to n global requirements. If the list contains 0 global requirements, the detailed requirements that refer to QS-type global requirements are not generated.
  • list of F-type global requirements a list of global requirements generated based on the F-type steps identified in Substage E5. This list contains from 0 to n global requirements. If the list contains 0 global requirements, the detailed requirements that refer to F-type global requirements are not generated.
  • ⁇ fx expression ⁇ the expression for the formula that takes the listed data as arguments and was identified in Substage D3 for some of the steps of the type FX, CC or QS.
  • ⁇ ok message ⁇ the text of the message that is to be shown in the system if the result of a check or confirmation is correct, which was defined in Substage D3 for any stage of the kind QS.
  • ⁇ warning message ⁇ the text of the message that is to be shown in the system if the result of a check or confirmation is NOT correct, which was defined in Substage D3 for any stage of the kind QS.
  • the Processor 150 configured as a Document Generator 153, generates an XML file in which the name of each design component and its corresponding graphical notation code are stored between tags.
  • the xmi standard is used and the XML that represents the class diagram is generated.
  • the Processor 150 configured as a Document Generator 153, generates the design documents, taking the data stored in the database memory that corresponds to the design, and exporting the content in a specific XML format, according to the definition of the graphical notation chosen in Substage F4.
  • the system Based on a description of a process in natural language, the system automatically produces Business documents, Analysis documents and Design documents of "the case” .
  • the components of the system are those that enable the production of the aforementioned documents (FIG. 3):
  • Input/Output device 120 the device through which the texts in natural language are entered, using the following configurations:
  • CPU 110 the processing device of the system 100, composed of:
  • Main Memory 140 It performs the following functions according to its configuration:
  • Processor 150 It carries out the following functions depending its configuration:
  • This tool is made up of permanent memories that are capable of producing screens on a monitor, with fields in which the user can enter data or perform actions.
  • the Case User Interface allows the user to enter the requested data and perform actions to save them in the database memory.
  • the user In order for the tool to function, the user must enter data in natural language (layers, resources, processes, subprocesses, moments, steps) as established by the method.
  • Sentence Interface is displayed, in which the user must answer the questions in order to create the complete, structured simple sentence structured as defined in the method. The user must also choose one of the following options from the Step Type list:
  • Cancel discard the uploaded data in the Database Memory.
  • the analysis display that is displayed on the monitor consists of screens that display the uploaded data organized in such a way that the user of the tool is able to read and comprehend "the case", guiding the user to perform an accurate analysis for proper generation of Global and Detailed functional requirements. These requirements are generated automatically by the tool, by prompting the user to confirm and select some data.
  • This interface presents the user with the simple sentences, in structured form (Word Analysis Interface). Using this interface, the tool enables the user to execute the Analysis Processor and the Analysis Document Processor.
  • the user is presented with a table with the entirety of the uploaded simple sentences, and the user can execute the Analyze action for each of them. This action engages the Analysis Processor, which returns the list of words contained in the sentence as a result.
  • Each word is characterized by:
  • Component Type the type that the Analysis Processor automatically assigns to each word: NOUN, ADV, VERB, DO, ADJ
  • Is Attribute the column that allows the user of the tool to indicate whether the word in question should behave like an &attribute, if so desired. The user can choose from among the following options: YES / NO
  • Cancel discard the uploaded data in the Database Memory.
  • This interface presents the user with the Global and Detailed requirements generated by the Analysis Document Processor.
  • the user is presented with a table with the totality of the generated Global requirements, and a nested table with the Detailed Requirements that correspond to each Global Requirement.
  • Component Type the type that the Analysis Processor automatically assigns to each word: NOUN, ADV, VERB, DO, ADJ
  • Step Type the value chosen in the upload interface by the user.
  • &Attributes the list of &attributes that describe the Word. They must be chosen by the user from a list produced by:
  • Step Types CC or FX.
  • GlobalReq the list of global requirements that allow the user to reference a GlobalReq from this list and associate it with a detailed requirement. This occurs when the description of the scope does not include the description of some feature of this kind (which prevents the system from generating the relationship automatically), in which case, the user adds it.
  • Cancel discard the uploaded data in the Database Memory.
  • This interface presents the user with the words detected by the Analysis Processor, to enable the design of "the case” based on the results of the analysis.
  • Each word is characterized by the following data derived from the analysis phase:
  • - Word a word that is included in the scope to be designed.
  • Component Type the type that the Analysis Processor assigns to each word: NOEiN, ADV, VERB, DO, ADJ
  • Step Type the value chosen in the upload interface by the user.
  • Class Name of the class designed by the Design Processor.
  • ClassType It can be L or NonL.
  • &Attributes The list of &attributes assigned to the class. They belong to the list of &attributes states in the analysis phase, in all cases.
  • - Methods The list of methods assigned to the class. These methods are generated by the Design Processor.
  • Cancel discard the uploaded data in the Database Memory.
  • the tool provides a processor with three functionalities: analysis processing that executes the analysis action, design processing that executes the design action, and document processing that produces the resulting documents.
  • the Analysis Processor takes the collection of complete simple sentences uploaded to the Database Memory by the user. Based on said sentences, it executes three algorithms:
  • This algorithm executes the described routine for each existing sentence and requires that the following two lists be uploaded into the database:
  • This algorithm executes the described routine for each word identified in the scope and requires that the following list be uploaded into the database:
  • This algorithm executes the described routine for each word identified in the scope and requires that the standard sentences in the language chosen for the description of the case be uploaded into the database:
  • the Design Processor takes the collection of functional components and the complements that were added in the analysis phase:
  • the Design Processor Algorithm (FIG. 4G1), which implements Stage G. and automatically generates the classes and relationships that make up the resulting design diagram of "the case", is executed.
  • the tool is made up of permanent memories that are capable of automatically producing documents that are shown on a monitor, with fields in which the user can view the data that come from the upload memories.
  • the Business Document Generator takes the data uploaded in the Upload interface, which are stored in the Database, and applies the following algorithm to generate the Business document (FIG. 412):
  • the Analysis Document Processor takes all of the Uploaded Data and generated Requirements, global as well as detailed, and applies the following algorithm to generate the Analysis document (FIG. 413):
  • the Document Processor takes the data of the classes identified by the Design Processor and creates an XML file using the xmi standard for reading UML diagrams.
  • the tool is made up of permanent memories that are capable of storing the results produced by the tool:
  • the database in which uploaded, analysis and design data produced by the tool are stored. It is managed by a database engine.
  • Document File The database in which the generated documents are stored. It is a structure set up on a hard disk managed by the fde server of the operating system.

Landscapes

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

Abstract

La présente invention concerne un système et un procédé mis en œuvre par ordinateur pour la génération automatique de documents d'architecture fonctionnelle, d'entreprise, d'analyse et de conception de logiciel sur la base de phrases exprimées en langage naturel. Plus particulièrement, la présente invention reçoit la description du cas en langage naturel, par l'intermédiaire d'un dispositif d'entrée/sortie. Le processeur analyse automatiquement la description, extrait automatiquement les éléments fonctionnels et mathématiques de sa structure morphologique et génère automatiquement des documents d'architecture fonctionnelle destinés à être utilisés dans l'industrie. Sur la base des éléments mathématiques du texte, le processeur génère automatiquement des éléments de conception afin de produire des documents de spécification d'entreprise, d'analyse et de conception de logiciel.
PCT/IB2020/055096 2019-05-28 2020-05-28 Procédé et système de génération automatique de documents d'architecture fonctionnelle et de documents de spécification de conception et d'analyse de logiciel à partir de langage naturel WO2020240482A1 (fr)

Priority Applications (8)

Application Number Priority Date Filing Date Title
BR112021023790A BR112021023790A2 (pt) 2019-05-28 2020-05-28 Processo e sistema para geração automática de documentos de arquitetura funcional e documentos de especificação de desenho e análise de software a partir de linguagem natural
JP2021570418A JP2022534506A (ja) 2019-05-28 2020-05-28 自然言語からの機能アーキテクチャドキュメントならびにソフトウェア設計および分析仕様ドキュメントの自動生成のためのプロセスおよびシステム
MX2021014491A MX2021014491A (es) 2019-05-28 2020-05-28 Proceso y sistema de generación automática de documentos de arquitectura funcional y documentos de especificación de diseño y análisis de software a partir de lenguaje natural.
CN202080039372.9A CN114222971A (zh) 2019-05-28 2020-05-28 从自然语言自动生成功能架构文档和软件设计与分析规范文档的过程和系统
CA3139543A CA3139543A1 (fr) 2019-05-28 2020-05-28 Procede et systeme de generation automatique de documents d'architecture fonctionnelle et de documents de specification de conception et d'analyse de logiciel a partir de langage ature
EP20737536.1A EP3977261A1 (fr) 2019-05-28 2020-05-28 Procédé et système de génération automatique de documents d'architecture fonctionnelle et de documents de spécification de conception et d'analyse de logiciel à partir de langage naturel
IL288333A IL288333A (en) 2019-05-28 2021-11-23 A process and method for automatically generating functional architecture documents and specification documents for natural language software design and analysis
CONC2021/0015949A CO2021015949A2 (es) 2019-05-28 2021-11-25 Proceso y sistema de generación automática de documentos de arquitectura funcional y documentos de especificación de diseño y análisis de software a partir de lenguaje natural

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/424,400 US10831449B2 (en) 2015-04-28 2019-05-28 Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
US16/424,400 2019-05-28

Publications (1)

Publication Number Publication Date
WO2020240482A1 true WO2020240482A1 (fr) 2020-12-03

Family

ID=71527828

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2020/055096 WO2020240482A1 (fr) 2019-05-28 2020-05-28 Procédé et système de génération automatique de documents d'architecture fonctionnelle et de documents de spécification de conception et d'analyse de logiciel à partir de langage naturel

Country Status (9)

Country Link
EP (1) EP3977261A1 (fr)
JP (1) JP2022534506A (fr)
CN (1) CN114222971A (fr)
BR (1) BR112021023790A2 (fr)
CA (1) CA3139543A1 (fr)
CO (1) CO2021015949A2 (fr)
IL (1) IL288333A (fr)
MX (1) MX2021014491A (fr)
WO (1) WO2020240482A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590453A (zh) * 2021-01-28 2021-11-02 腾讯科技(深圳)有限公司 测试用例的生成方法、装置与存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7503700B1 (ja) 2023-12-08 2024-06-20 ジテラ プライベート リミテッド ソフトウェアの技術文書を作成するための装置、方法及びそのためのプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110239183A1 (en) 2010-03-25 2011-09-29 International Business Machines Corporation Deriving process models from natural language use case models
US20130097583A1 (en) 2011-09-27 2013-04-18 The University Of Texas System Systems and Methods For Automating the Application of a Software Methodology
US20170003937A1 (en) * 2015-04-28 2017-01-05 Nadia Analia Huebra Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110239183A1 (en) 2010-03-25 2011-09-29 International Business Machines Corporation Deriving process models from natural language use case models
US20130097583A1 (en) 2011-09-27 2013-04-18 The University Of Texas System Systems and Methods For Automating the Application of a Software Methodology
US20170003937A1 (en) * 2015-04-28 2017-01-05 Nadia Analia Huebra Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590453A (zh) * 2021-01-28 2021-11-02 腾讯科技(深圳)有限公司 测试用例的生成方法、装置与存储介质

Also Published As

Publication number Publication date
EP3977261A1 (fr) 2022-04-06
MX2021014491A (es) 2022-01-06
CO2021015949A2 (es) 2021-11-30
CN114222971A (zh) 2022-03-22
JP2022534506A (ja) 2022-08-01
BR112021023790A2 (pt) 2022-02-08
CA3139543A1 (fr) 2020-12-03
IL288333A (en) 2022-01-01

Similar Documents

Publication Publication Date Title
US10831449B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
US10303441B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
da Silva et al. Linguistic patterns and linguistic styles for requirements specification: Focus on data entities
Krogstie Capturing enterprise data integration challenges using a semiotic data quality framework
Klievtsova et al. Conversational process modelling: state of the art, applications, and implications in practice
EP3977261A1 (fr) Procédé et système de génération automatique de documents d'architecture fonctionnelle et de documents de spécification de conception et d'analyse de logiciel à partir de langage naturel
Gurbuz et al. Process ontology development using natural language processing: a multiple case study
Nistala et al. Towards digitalization of requirements: generating context-sensitive user stories from diverse specifications
Abrams et al. Architectural thinking and modeling with the Architects' Workbench
Wojszczyk et al. The process of verifying the implementation of design patterns—used data models
Daoust et al. JSREAL: A text realizer for web programming
Baïna et al. Business process modelling augmented: model driven transformation of user stories to processes
Aveiro et al. Universal Enterprise Adaptive Object Model: A Semantic Web‐Based Implementation of Organizational Self‐Awareness
Warkotsch Developing a graphical user interface for generating Wikipedia lists with Wikidata
Couto Pattern based software development
Kostis Web-based Decision Policy Definition and Simulation Application for the Gorgias Argumentation Framework
Nadeesha Natural language based report generator: software tool providing easy report generating for web-based applications
Manrique-Losada et al. NLP in Requirements Processing: A Content Analysis Based Systematic Literature Mapping
Nirfarake et al. Conversion of Natural Language to SQL Query
NISTALA Towards an Intelligent Systems/Software Process infrastructure for early SDLC
Manto Conversational access to structured knowledge exploiting large models
Froger et al. Generating Personalized and Certifiable Workflow Designs: A Prototype
BR112017023287B1 (pt) Método e sistema para geração automática de documentos de arquitetura funcional e projeto de software e documentos de especificação de análise a partir da língua natural
Abderrahmen et al. SoLDES: Service-oriented Lexical Database Exploitation System.
Liu et al. A method for requirements analysis and knowledge elicitation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20737536

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021570418

Country of ref document: JP

Kind code of ref document: A

Ref document number: 3139543

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021023790

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2020737536

Country of ref document: EP

Effective date: 20220103

ENP Entry into the national phase

Ref document number: 112021023790

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20211125