Layered Software Architecture for Image Forming Apparatus Maintainability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Image forming apparatuses face challenges in ensuring maintainability, expandability, safety, and development productivity due to insufficient function division and aggregation in existing embedded software designs, particularly in handling various device configurations and environments.

Innovation Solution

The system is logically divided into a presentation layer for user interface functions, a device service layer for controlling devices, and a base layer for facilitating cooperation between the two, with a controller executing programs to manage interactions and services, allowing for modular design and improved maintainability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If functions are aggregated in a single embedded software system, then service integration and user interaction quality improve, but maintainability and development productivity deteriorate

Engineering Contradiction:
Improveservice integrationVSAvoidmaintainability
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The embedded software is divided into three distinct layers: presentation layer for user interface functions, device service layer for device control and service logic, and base layer for common functions. This segmentation allows each layer to be developed, maintained, and modified independently, resolving the contradiction between service integration and maintainability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The base layer acts as an intermediary between the presentation layer and device service layer, providing standardized interfaces and common functions. This mediator enables service integration across layers while maintaining clear boundaries that facilitate independent maintenance and development.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of repair

If functions are divided into separate modules, then maintainability and expandability improve, but system complexity increases

Engineering Contradiction:
ImprovemaintainabilityVSAvoidsystem structure
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

The base layer provides universal common functions and standardized interfaces that serve both the presentation layer and device service layer. This multi-functionality reduces the need for duplicate code and simplifies the overall system structure despite the modular division, thereby improving maintainability without proportionally increasing complexity.

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

3Adaptability or versatility

If runtime information is shared across library functions, then service integration improves, but function division becomes insufficient

Engineering Contradiction:
Improveservice cooperationVSAvoidfunction division
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Each layer is designed with specific local qualities and responsibilities: the presentation layer handles user interface logic, the device service layer manages device control, and the base layer provides common infrastructure. Runtime information is shared through standardized interfaces defined at layer boundaries, enabling service cooperation while maintaining clear functional division and avoiding unnecessary complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10437613B2Image forming apparatus and non-transitory computer readable medium
Publication Date: 2019.10.08 FUJIFILM BUSINESS INNOVATION CORP
  • US10437613B2 patent drawing
  • US10437613B2 patent drawing
  • US10437613B2 patent drawing

AI summary

An image forming apparatus includes a non-transitory computer readable medium storing a program, the program being logically divided into a presentation layer that implements a user interface function of realizing a response from a user, a device service layer that controls a device in response to a call from the presentation layer and makes a notification to the presentation layer, and a base layer that makes the presentation layer and the device service layer cooperate with each other; and a controller that executes the program.