Hardware-Software Interface Specification Execution via Intermediate Representation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing process of generating device driver software for hardware devices is labor-intensive and requires manual effort, as it involves understanding programming guides and separately compiling and linking code, necessitating a system that can directly execute hardware-software interface specifications.

Innovation Solution

A method and system for operating a hardware-software interface executable specification unit, which includes a hardware-software interface analyzer, skeletal drivers, and an interpreter, capable of capturing, analyzing, parsing, and interpreting hardware-software interface specifications to directly execute device programming specifications without generating explicit driver code, enabling interaction between protocol/middleware software and underlying hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If device driver software is manually created by understanding programming guides, then the device can be controlled, but the process is labor-intensive and time-consuming

Engineering Contradiction:
Improvedevice driver development speedVSAvoidmanual work effort
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent uses an intermediate representation (IR) as a copyable, language-agnostic form of the hardware specification. This IR can be automatically transformed into driver code for different programming languages and platforms, eliminating manual recreation of driver logic and significantly improving development productivity while reducing manual effort

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediate representation (IR) as a mediator between the hardware specification and the target programming language. This IR serves as a common intermediate form that can be automatically translated to multiple programming languages, eliminating the need for manual driver creation and reducing both time and effort

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If code generator tools automatically generate device driver software from DSL specifications, then manual work is reduced, but separate compilation and linking steps are still required

Engineering Contradiction:
Improvemanual work effortVSAvoidprocess complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges the code generation, compilation, and execution steps into a unified process. The intermediate representation (IR) is designed to be directly executable or easily compilable, combining multiple separate steps into one integrated workflow that reduces process complexity while maintaining automation benefits

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If device driver software is generated automatically from DSL specifications, then productivity improves, but the system complexity increases due to additional tools and processes

Engineering Contradiction:
Improvedevice driver development speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The intermediate representation (IR) acts as a universal mediator that simplifies the system architecture. By defining a single, language-agnostic intermediate form, the patent reduces system complexity compared to having separate code generation paths for each programming language, while still enabling automated high-productivity driver generation

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11169783B2System and method for generating an executable hardware-software interface specification
Publication Date: 2021.11.09 VAYAVYA LABS
  • US11169783B2 patent drawing
  • US11169783B2 patent drawing
  • US11169783B2 patent drawing

AI summary

A method for operating a hardware-software interface (HSI) executable specification unit by means of an executable hardware-software interface (HSI) specification for a computing device is provided. The executable HSI specification is a form of a Device Programming Specification (DPS). The HSI executable specification unit includes a HSI analyser, at least one skeletal driver and a HSI executable specification interpreter. The method includes (i) capturing at least one HSI for generating the executable HSI specification, (ii) analyzing at least one section of the DPS to determine sequences that are required for executing the executable HSI specification, (iii) parsing, using the HSI analyzer, the DPS into an intermediate form, (iv) verifying if an intermediate representation (IR) for each of the sequences to be invoked in at least one skeletal driver Application Programming Interface (API) is present and (v) translating the sequences of the DPS into at least one hardware-software interface (HSI) intermediate representation (IR).