Pattern Matching Formal Model Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development processes face challenges in ensuring high dependability and reliability, particularly in validating systems developed from natural language or graphical notations, as existing methods are costly, computationally intensive, and often result in unambiguous or uncontested results, leaving many execution paths unverified, and manual changes introduce errors and increase costs.

Innovation Solution

The system employs automated analysis, validation, and verification through pattern matching with set comprehensions to generate a formal model from an informal specification, allowing for automated code generation without the need for a theorem-prover, and includes an inference engine and pattern matcher to identify errors and inconsistencies, enabling the combination of multiple implementations into a single error-free model.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated analysis and validation through pattern matching is employed, then system development time is reduced and testing requirements are minimized, but the complexity of the verification system increases

Engineering Contradiction:
Improvesystem development timeVSAvoidverification system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces manual verification processes with automated pattern matching and set comprehension mechanisms. The system uses formal specification languages and automated reasoning engines to substitute human analysts, thereby reducing development time while managing complexity through systematic automation rather than ad-hoc manual inspection.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces formal specification languages and intermediate representation models as mediators between natural language requirements and implemented systems. These intermediaries enable automated analysis by translating informal requirements into structured formats that can be processed by verification algorithms, reducing the need for direct complex human analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If manual changes are made to the system, then adaptability is improved, but errors increase and development costs rise

Engineering Contradiction:
Improvesystem adaptabilityVSAvoiderror rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements automated feedback loops where the verification system continuously checks system changes against formal specifications. When manual changes are made, the system automatically validates them through pattern matching and set comprehension, providing immediate feedback on correctness. This maintains adaptability while reducing errors through systematic verification rather than manual checking.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary validation through formal specification before implementation changes are made. By establishing formal requirements and constraints in advance, the system can automatically check whether proposed changes meet specifications, preventing errors before they occur and enabling safe adaptability.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If domain-specific scenarios are used for validation, then measurement precision is improved, but the loss of information increases due to domain limitations

Engineering Contradiction:
Improvevalidation precisionVSAvoiddomain-specific information loss
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent creates a universal formal specification framework that can represent domain-specific scenarios while maintaining the ability to capture general system properties. The formal specification language is designed to be domain-agnostic, allowing the same verification mechanisms to work across different domains without losing critical information, thereby achieving both precision and completeness.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent transitions from domain-specific natural language scenarios to a formal specification dimension that preserves all essential information while enabling automated analysis. By lifting requirements into a formal mathematical dimension with set comprehensions and formal logic, the system maintains measurement precision for domain-specific validation while avoiding information loss through the richness of formal representation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7979848B2Systems, methods and apparatus for pattern matching in procedure development and verification
Publication Date: 2011.07.12 UNITED STATES OF AMERICA AS REPRESENTED BY THE ADMINISTRATOR NAT AERONAUTICS & SPACE ADMINISTRATION
  • US7979848B2 patent drawing
  • US7979848B2 patent drawing
  • US7979848B2 patent drawing

AI summary

Systems, methods and apparatus are provided through which, in some embodiments, a formal specification is pattern-matched from scenarios, the formal specification is analyzed, and flaws in the formal specification are corrected. The systems, methods and apparatus may include pattern-matching an equivalent formal model from an informal specification. Such a model can be analyzed for contradictions, conflicts, use of resources before the resources are available, competition for resources, and so forth. From such a formal model, an implementation can be automatically generated in a variety of notations. The approach can improve the resulting implementation, which, in some embodiments, is provably equivalent to the procedures described at the outset, which in turn can improve confidence that the system reflects the requirements, and in turn reduces system development time and reduces the amount of testing required of a new system. Moreover, in some embodiments, two or more implementations can be “reversed” to appropriate formal models, the models can be combined, and the resulting combination checked for conflicts. Then, the combined, error-free model can be used to generate a new (single) implementation that combines the functionality of the original separate implementations, and may be more likely to be correct.