Specification Validation Using Tabular Notation and Binary Tokens

Solution Overview

Problem

Current specification notations for automating test oracles in reactive systems, such as automotive applications, are not user-friendly and fail to effectively capture behavioral requirements, making it challenging to relate specifications to the system's behavior, especially when they require formal state-based or stream-based paradigms.

Innovation Solution

A method and system that receive specifications in a tabular notation, convert them into a binary data structure, and validate expected behavior by generating tokens and parsing them into a data structure, allowing for the merging of specifications and automatic test case generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If formal specification notations (Statecharts, SCR, timing diagrams, I/O Stream-based tables) are used to automate test oracles, then automation capability is improved, but user-friendliness and ease of capturing behavioral requirements deteriorate

Engineering Contradiction:
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The patent introduces an intermediary system that translates natural language behavioral requirements into formal specification notations. This intermediary layer allows users to express requirements in their native language while the system automatically converts them into machine-executable formal specifications, thus maintaining automation capability while improving ease of use.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by automatically generating formal specifications and test oracles from natural language inputs without requiring users to manually learn or apply complex formal notation syntax. The automated translation and validation processes eliminate the need for users to directly interact with difficult formal specification languages.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If state-based or stream-based paradigms are used to specify behavioral requirements, then formal precision is improved, but relatability to system behavior and user understanding deteriorate

Engineering Contradiction:
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent transforms the parameter of specification language from formal state-based or stream-based notations to natural language. This parameter change maintains the precision of behavioral requirements through automated translation while dramatically improving relatability and user understanding by using everyday language that directly describes system behavior.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If manual verification of test results is performed, then flexibility in understanding requirements is maintained, but productivity and time efficiency deteriorate

Engineering Contradiction:
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs preliminary action by automatically generating test oracles and validation logic before actual testing begins. This preliminary automated preparation maintains the flexibility of natural language requirement specification while dramatically improving productivity by eliminating the need for manual test result verification during the testing phase.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If existing specification notations are used, then formal specification capability is improved, but feasibility of relating specifications to system requirements deteriorates

Engineering Contradiction:
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent creates a universal system that handles multiple specification paradigms (state-based, stream-based, natural language) through a single translation and validation framework. This multi-functional approach maintains formal specification capability while improving feasibility by providing a unified interface that automatically relates all specification types to system requirements without requiring separate toolchains or expert knowledge for each notation.

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

Data Source

PatentUS9223685B2Validating a specification associated with a software application and/or a hardware
Publication Date: 2015.12.29
  • US9223685B2 patent drawing
  • US9223685B2 patent drawing
  • US9223685B2 patent drawing

AI summary

System and method for validating a specification associated with a software application and/or a hardware is disclosed. The specification comprising expected behavior requirements specified in a specification language and the semantics in the tabular notation is received. In order to validate the specification, a string may be identified for the specification. The string may indicate characters conforming to the specification language. Upon identifying the string, a token may be generated using the string. The token may be a binary representation of the string. The token may be arranged into a data structure. The specification is checked to conform to the specification language. Two or more specifications specified in the specification language are merged. A test case is generated from the validated specification. The expected behavior with the actual behavior of the specification is validated.