DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant's arguments filed 20 March 2026 have been fully considered but they are not persuasive.
Applicant's arguments fail to comply with 37 CFR 1.111(b) because they amount to a general allegation that the claims define a patentable invention without specifically pointing out how the language of the claims patentably distinguishes them from the references.
Applicant argues that Rauf does not disclose ID based exact matching. Figure 3, Line 4 of Rauf defines a pattern to which an ID is matched. Applicant argues that Rauf teaches “selection mapping”, a term not used by the reference, without explaining how the cited portion of Rauf differs from the claim limitation. Siddaramappa is used to teach the other matching techniques, which is not addressed by the applicant’s arguments.
Applicant argues that Siddaramappa and Rauf do not disclose “wherein if no processes, subprocess, activity element, parameter element and ruleset are identified, the rule pattern is searched…”. However, both the claim language and the applicant’s disclosure illustrate that the rule pattern search is not dependent on whether the prior elements are identified, it merely affects the order of control flow (step 418, Figure 4 of the present disclosure is illustrative of this). Thus, this doesn’t change the reading of concept extraction cited in the prior rejection, such as paragraphs [0039]-[0041] of Siddaramappa; (like the other concept types, rulesets are a concept type).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-2, 4-6, 9-11, 13-15, 18-19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Siddaramappa (US 20070130561 A1) in view of Rauf ("Logical structure extraction from software requirements documents").
Regarding claim 1, Siddaramappa discloses a processor implemented method, the method comprising:
receiving, by one or more hardware processors, a plurality of requirement specification documents, a plurality of extraction patterns, and a domain dictionary; ([0006], [0009], [0042]-[0046]: processing a requirements specification, use of domain ontologies, various extraction strategies)
generating, by the one or more hardware processors, a product feature model based on the plurality of requirement specification documents, the plurality of extraction patterns, and the domain dictionary, wherein the product feature model is constructed using a Natural Language Processing based pattern matching technique using a feature model generation technique ([0042]: pattern matching technique), wherein the product feature model comprises a plurality of features elements arranged hierarchically, wherein the plurality of product feature elements comprises a feature area, a major feature, and a plurality of features; (Figure 1, [0032]: hierarchical class relationships between software artifacts and concepts) and wherein the plurality of product feature elements are identified using a plurality of corresponding patterns using NLP based pattern matching techniques; ([0042]: pattern matching)
generating, by the one or more hardware processors, a specification model for each of the plurality of features associated with the product feature model using a specification extraction technique, wherein the specification model comprises a plurality of specification elements and a plurality of corresponding associations, wherein the plurality of specification elements comprises a plurality of processes, a plurality of activities, a plurality of rulesets, a plurality of rules and a plurality of parameters; (Figure 3: Quantified Relationship Matrix/Relationship Summary; Software Design Artifacts)
identifying the plurality of dependencies associated with each of the plurality of specification elements based on a plurality of split sentences using a plurality of matching techniques, wherein the plurality of matching techniques comprises the ID based exact matching, a name based exact matching, name based inexact matching and an indirect feature reference matching; ([0046]-[0059]: matching key terms to other concepts based on various similarity measures)
wherein each of the plurality of specification elements of the specification model comprises a plurality of properties, wherein the plurality of properties comprises a name pertaining to Create, Capture and Validate, and a description associated with each of the name; (Fig 8, 10, [0032]: entity name/identifier/description which correspond to concepts and features)
updating the plurality of dependencies corresponding to each of the plurality of specification elements in the specification model by traversing the specification model to obtain an updated specification model ([0011]: updating the data structure)
wherein the ID based exact matching technique compares the ID associated with each of the plurality of specification elements with the plurality of split sentences corresponding to each of the plurality of specification elements, ([0050]-[0072]: matching key terms based on entity data)
wherein the indirect feature reference matching technique compares preprocessed description with a plurality of referential words, wherein each of the plurality of referential words comprises a plurality of feature reference patterns and, wherein each of the plurality of feature reference patterns comprises a corresponding plurality of referencing styles, wherein the indirect feature reference matching techniques compares the plurality of split sentences corresponding to each of the plurality of specification elements with a plurality of feature referential words ([0049]: phrase patterns to further disambiguate terms and compare concepts)
wherein the name based exact matching technique compares the name associated with each of the plurality of specification elements with the plurality of split sentences corresponding to each of the plurality of specification elements by considering the ordering of words and, ([0050]-[0072]: matching key terms with syntactic similarity techniques such as through whole phrases [exact])
wherein the name based inexact matching technique compares the name associated with each of the plurality of specification elements with the plurality of split sentences corresponding to each of the plurality of specification elements without considering the ordering of words. ([0050]-[0072]: matching key terms with syntactic similarity techniques as through individual words [inexact])
generating, by the one or more hardware processors, a plurality of dependency associations for each of the plurality of specification elements based on the corresponding specification model using a dependency extraction technique; ([0032]: hierarchical relationships; ([0042]-[0049]: methods for deriving relationships, such as referencing a domain ontology)
obtaining a plurality of query parameters from the updated specification model using the plurality of matching techniques, wherein the query parameters comprises an intent and a feature hierarchy, wherein intent is at least one of a traceability and an impact analysis; ([0032], Figure 15-16: unified relationship representation)
generating the output report to the user based on the plurality of query parameters, wherein the output report comprises at least one of the traceability report and the impact analysis report. (Figure 14, [0038], [0077]: impact reports and traceability analyses output to end user)
wherein the method of generating the specification model for each of the plurality of features using the specification extraction technique comprises:
receiving the plurality features and the plurality of requirement specification documents; ([0006]: requirements specifications, classes, features)
extracting a plurality of text content from the plurality of requirement specification documents by parsing the plurality of requirement specification documents using a document engine parsing technique; ([0039]: parsing text to extract concepts)
generating a feature element corresponding to each of the plurality of features; ([0039]-[0041], Fig 10: extracting concept elements from the text, different software design artifacts are classified into different concept types, including features)
extracting a plurality of processes corresponding to each of the plurality of features based on a comparison between the plurality of text content and the plurality of process patterns wherein if no processes are identified, the rule pattern is searched by checking whether the text content includes the plurality of rulesets based on a comparison between the plurality of text content and a plurality of ruleset patterns ([0036]-[0037], [0039]-[0041], [0050]-[0072], Fig 10: in an embodiment, different templates correspond to different types of concepts. There are different heuristics, rulesets, and patterns to extract the different types of concepts; processes being a concept type as are rulesets)
generating a process element corresponding to each of the plurality of processes; ([0039]-[0041], Fig 10: extracted concept elements are represented in the data structure)
generating an association between each of a plurality of feature elements and each of a plurality of corresponding process elements; (Fig 3, 7, 8, 13, 16, [0032], [0050]-[0072]: computing relationships between the concept elements, including hierarchical relationships, entity relationships, class dependencies)
extracting a plurality of subprocesses corresponding to each of the plurality of processes based on a comparison between the plurality of text content and the plurality of process patterns wherein if no subprocesses are identified, the rule pattern is searched by checking whether the text content includes the plurality of rulesets based on a comparison between the plurality of text content and a plurality of ruleset patterns ([0036]-[0037], [0039]-[0041], [0050]-[0072], Fig 10: extracting concept elements, matching patterns/heuristics, subprocesses and rulesets are a concept type)
generating a subprocess element corresponding to each of the plurality of subprocesses; ([0039]-[0041], Fig 10: different concept types, such as subprocess elements, generated for the data structure)
generating an association between each of a plurality of process elements and each of a plurality of corresponding subprocess elements; (Fig 3, 7, 8, 13, 16, [0032], [0050]-[0072]: computing relationships between the concept elements, including hierarchical and class associations between concept types)
extracting a plurality of activities corresponding to each of the plurality of subprocesses based on a comparison between the plurality of text content and a plurality of activity patterns wherein if no activities are identified, the rule pattern is searched by checking whether the text content includes the plurality of rulesets based on a comparison between the plurality of text content and a plurality of ruleset patterns ([0032], [0036]-[0037], [0039]-[0041], [0050]-[0072], Fig 10: extracting concept elements, matching patterns/heuristics to capture different concept types; an activity/ruleset is a concept type, concepts may have class associations between types)
generating an activity element corresponding to each of the plurality of activities; ([0039]-[0041], Fig 10: extracted concepts, with their type and association data, are generated in the data structure)
generating an association between each of a plurality of subprocess elements and each of a plurality of corresponding activity elements; (Fig 3, 7, 8, 13, 16, [0032], [0050]-[0072]: computing relationships between the concept elements including class relationships, hierarchical relationships, associations among different concept types)
extracting a plurality of parameters corresponding to each of the plurality of activities based on a comparison between plurality of text content and a plurality of parameter patterns wherein if no parameters are identified, the rule pattern is searched by checking whether the text content includes the plurality of rulesets based on a comparison between the plurality of text content and a plurality of ruleset patterns ([0032], [0036]-[0037], [0039]-[0041], [0050]-[0072], Fig 10: extracting concept elements, matching patterns/heuristics to capture different concept types; a parameter/ruleset is a concept type)
generating a parameter element corresponding to each of a plurality of parameters; ([0039]-[0041], Fig 10: extracted concepts are generated into the data structure)
generating an association between each of a plurality of activity elements and each of the plurality of corresponding parameter elements; (Fig 3, 7, 8, 13, 16, [0032], [0050]-[0072]: computing relationships between the concept elements, including class associations between concept types)
extracting a plurality of rulesets corresponding to each of the plurality of features based on a comparison between plurality of text content and a plurality of ruleset patterns wherein if no rulesets are identified, the rule pattern is searched by checking whether the text content includes the plurality of rulesets based on a comparison between the plurality of text content and a plurality of ruleset patterns ([0032], [0036]-[0037], [0039]-[0041], [0050]-[0072], Fig 10: extracting concept elements, matching patterns/heuristics to capture different concept types; a ruleset is a concept type)
generating a plurality of ruleset elements corresponding to each of the plurality of rules sets; ([0039]-[0041], Fig 10: extracted concepts are generated into the data structure)
generating an association between each of a plurality of process elements and each of the plurality of corresponding ruleset elements; (Fig 3, 7, 8, 13, 16, [0032], [0050]-[0072]: computing relationships between the concept elements, including class association and hierarchical dependency among the different concept types)
extracting a plurality of rules corresponding to each of the plurality of ruleset based on a comparison between the plurality of text content and a plurality of rule patterns wherein if no rules are identified, the rule pattern is searched by checking whether the text content includes the plurality of rulesets based on a comparison between the plurality of text content and a plurality of ruleset patterns ([0032], [0036]-[0037], [0039]-[0041], [0050]-[0072], Fig 10: extracting concept elements, matching patterns/heuristics to capture different concept types; a rule is a concept type)
generating a rule element for the plurality of rules; ([0039]-[0041], Fig 10: extracted concepts are generated into the data structure)
and generating an association between the rule element and the corresponding ruleset element. (Figure 1, Figure 2, Figure 4, [0032], [0036]-[0037], [0039]-[0041], [0050]-[0072]: extract concepts using text-parsing and pattern matching techniques, then derive the associations between the concept types according to the patterns/heuristics, the associations include hierarchical relationships, entity relationships, class associations)
wherein the method of generating the plurality of dependency associations for each of the plurality of specification elements based on the corresponding specification model using the dependency extraction technique comprises:
receiving the specification model corresponding to each of the plurality of features; ([0006]: requirements specifications, classes, features)
identifying a plurality of dependencies associated with each of the plurality of specification elements based on the corresponding plurality of properties using a dependency searching technique by: preprocessing the description corresponding to each of the plurality of specification elements; ([0032]: concepts include their relationships to other concepts, including hierarchical relationships such as class dependency, [0042]-[0049]: processing concept descriptions to identify relationships)
obtaining a plurality of split sentences corresponding to the specification model by splitting the description of each of the plurality of specification elements; ([0042]: decomposing descriptions into words and phrases)
wherein the method of preprocessing comprises:
receiving the input data, wherein the input data is one of, the description corresponding to each of the plurality of specification elements and a plain text input from a user; ([0039]: extracting concepts and descriptions from input text)
obtaining a parsed data by removing a plurality of stop words associated with the input data using a parsing technique; ([0042]: removing stop words)
obtaining a root form for each of a plurality of words associated with the parsed data using a Natural Language Processing (NLP) technique; ([0043]: stemming)
simultaneously identifying a plurality of dictionary terms from the parsed data and swapping each of the plurality of dictionary terms associated with the parsed data with a corresponding common name using the domain dictionary. ([0046]-[0048]: find related/equivalent terms using the domain ontology/thesaurus)
wherein generating an output report to the user further comprises:
receiving the plain text input from the user, wherein the plain text comprises a plurality natural language words; ([0006], [0039]: receiving input text)
preprocessing the plain text using the preprocessing technique; ([0039]-[0049]: processing descriptions)
Siddaramappa does not teach wherein the plurality of extraction patterns comprises a process pattern including heading, an activity pattern including a plurality of number styled text available after process, a parameter pattern including tabular data available after activity, a ruleset pattern including bold and underlined text inside heading with name and a rule pattern including bullet styled text available after ruleset;
wherein the plurality of properties comprises an ID,
wherein the ID based exact matching technique compares the ID associated with each of the plurality of specification elements with the plurality of split sentences corresponding to each of the plurality of specification elements;
Rauf does teach wherein the plurality of extraction patterns comprises a process pattern including heading, an activity pattern including a plurality of number styled text available after process, a parameter pattern including tabular data available after activity, a ruleset pattern including bold and underlined text inside heading with name and a rule pattern including bullet styled text available after ruleset; (Section III; Figure 3: Identifying and mapping logical structures to portions of the document through extraction patterns based on the structure and formatting of the document)
wherein the plurality of properties comprises an ID, (Figure 3, Line 4)
wherein the ID based exact matching technique compares the ID associated with each of the plurality of specification elements with the plurality of split sentences corresponding to each of the plurality of specification elements; (Figure 3, Line 6 expression)
While Siddaramappa discloses the potential use of templates, Rauf teaches the use of structural extraction patterns such as written in the claim. It would have been obvious to one with ordinary skill in the art before the effective filing date to use the logical structure extraction of Rauf in Siddaramappa’s method because it allows for structural information to be leveraged from documents that don’t follow templates or conventions uniformly (see Rauf Section 1).
Regarding claim 2, Siddaramappa further discloses the method wherein the plurality of extraction patterns wherein each of the plurality of extraction patterns comprises a corresponding plurality of document formatting styles and, wherein the domain dictionary comprises a plurality of taxonomical variations of domain terms. ([0042]-[0049]: extracting key terms through ontology; [0039]-[0041]: extracting concept through text templates/formatting)
Regarding claims 10-11, 18-19, they are analogous to claims 1-2 and are thus rejected in a similar fashion. Siddaramappa further discloses additionally claimed computing elements in Figure 17.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALVIN ISKENDER whose telephone number is (703)756-4565. The examiner can normally be reached M-F.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, HAI PHAN can be reached at (571) 272-6338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ALVIN ISKENDER/Examiner, Art Unit 2654
/HAI PHAN/Supervisory Patent Examiner, Art Unit 2654