PATENT CLAIM ANALYSIS

Application Number: 15767252
Application Type: Utility
Filing Date: 2018-04
Publication Date: 2019-03
Patent Classification: ["717", "104000"]

Abstract:
Unified Modeling Language is a general purpose modelling language used in the field of software development to easily visualize the systems by specifying the static and dynamic aspects of the system. The conventional way of implementing design models is by writing programs in high level languages like java by a programmer. Our method automatically generates platform independent executable code in the form of bytecode without a programmer and it can be executed on any platform. The design models comprising of class and activity diagrams after parsing and syntax verification are converted to an autobytecode model. The autobytecode model is further processed to determine the execution sequence comprising of loops, sequential and conditional statements. The execution sequence, the actions and attributes associated with the nodes in the execution sequence are analyzed to automatically generate complete bytecode directly from the autobytecode model created from design models.

Claim (Index 1):
The embodiment of the invention is implemented as a computer program that can be executed on any computer. The generated executable bytecode is not specific to any platform and can run on any platform that has a java virtual machine. The conventional method requires the translation of design models to high level language program by a programmer and later compiling and executing the corresponding program. The disclosure involves automation of executable bytecode generation from UML models without the help of a programmer. The disclosure performs the following functions:\n 1. A method of generating executable bytecode from the autobytecode model comprising\n a. A method of automation of the process of bytecode generation which helps to bypass the role of the programmer as well as the process of high level language code generation. \n b. A method of parsing the diagram to identify components of the diagram \n c. A method of verification of the syntactic correctness of each of the components of the diagram and creating an autobytecode model \n d. An method of identifying the sequential flow of execution \n e. A method of identifying loops and conditional constructs such as If-Then-Else. \n f. A method of generating executable from UML models \n g. A method of maintaining the consistency between the models and code generated. \n h. A method of executing the design models directly on any platform. \n 2. The method of  claim 1  wherein step a comprises of automating the process of bytecode generation from an autobytecode model by examining the execution sequence, identifying the activities represented by nodes in the execution sequence, identifying the attributes involved in the activities and mapping the nodes to equivalent executable bytecode according to the activities specified in the action nodes and decision nodes without the help of a programmer and without writing a high level language program. 3. The method of  claim 1  wherein step b comprises of a diagram parser that parses the class and activity diagrams to identify the diagram components thereby producing a specification of the diagram. 4. The method of step 1 wherein step c comprises of a syntax verifier that analyzes each component of the diagram against their syntactic specification to produce an autobytecode model and determining:\n a. whether each node has the desired number of incoming and outgoing edges and does not lead to break in control flow \n b. whether all the branches from the decision node have guard conditions and do not lead to\n i) missing guard conditions thereby causing inconsistency \n ii) whether the guard conditions are mutually exclusive and do not lead to identical guard conditions error thereby causing ambiguity and inconsistency. \n \n 5. The method of  claim 1  wherein step d comprises of identifying the sequential flow of execution in the autobytecode model by a process that starts with the initial node, identifying the next node in the sequence and determining whether the node is an action node that forms part of the sequential execution and if so adding it to the list of nodes in sequential execution. 6. The method of  claim 1  wherein step e comprises of identifying loops and conditional constructs such as If-Then-Else by examining the decision nodes and if so determining\n a. whether one of the outgoing edges from the decision node merges at a previously visited node and if so identifying the loop construct \n b. whether there is a common node where the Then and Else branches merge and if so determining the conditional If-Then-Else construct \n 7. The method of  claim 1  wherein step f further comprises of generating executable bytecode from UML models based on the execution sequence identified from the autobytecode model. 8. The method of  claim 1  wherein in step g comprises of maintaining consistency between the models and code generated by automatically determining whether the models are syntactically correct and if so converting the models to an autobytecode model and further determining the execution sequence and automating the process of bytecode generation directly from the autobytecode model. 9. The method of  claim 1  wherein step h comprises of executing the models directly on any platform by generating platform independent bytecode that can be executed by a java virtual machine running on either windows or Linux platform.

Metadata:
- Claim Count in Document: 35.0
- Percentile: 91.0
- Lexical Diversity: 1.63441
- Patent Class: 717.0
- Transitional Phrase Type: open
- Component Type: 1
- Foreign Priority: False
- Related Applications: ['12606356', '14049112', '11477020', '11477043', '11477019']

Analysis Scores:
- 35 USC 101 Eligibility (BERT): 0.3572792364602989
- 35 USC 102 Novelty (BERT): 0.5101374803316637
- Combined Prediction Score: 0.3725650608474354
- Mean Citation Score: 175.278122
- Max Citation Score: 230.76555
- Similarity Product: 156.49213054280875

Labels:
- Claim Label 101: 1
- Claim Label 102: 1
- Claim Label 103: 1
- Claim Label 112: 1
- Combined Label: 1
- Label 101 Adjusted: 1

Dataset: test